Loading [MathJax]/extensions/TeX/newcommand.js
Reference documentation for deal.II version 9.6.0
\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}
\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}
\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}
\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}
Toggle main menu visibility
Main Page
Tutorial
Code gallery
Topics
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Variables
a
b
c
d
e
f
h
i
l
m
n
o
p
q
r
s
t
u
v
w
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
p
r
s
t
v
Enumerations
a
b
c
d
e
f
g
h
i
l
n
o
p
r
s
v
Enumerator
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerations
b
c
d
e
f
g
i
m
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Related Symbols
:
a
b
c
d
f
g
i
l
m
n
o
p
r
s
t
u
v
Related Pages
Files
File List
File Members
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
s
t
u
v
Variables
a
c
d
e
f
g
h
i
k
l
m
n
o
p
s
t
u
v
Typedefs
Enumerations
Enumerator
m
u
Macros
a
b
d
e
f
h
i
m
p
s
t
dealii.org
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Concepts
Loading...
Searching...
No Matches
source
lac
exceptions.cc
Go to the documentation of this file.
1
// ------------------------------------------------------------------------
2
//
3
// SPDX-License-Identifier: LGPL-2.1-or-later
4
// Copyright (C) 2016 - 2023 by the deal.II authors
5
//
6
// This file is part of the deal.II library.
7
//
8
// Part of the source code is dual licensed under Apache-2.0 WITH
9
// LLVM-exception OR LGPL-2.1-or-later. Detailed license information
10
// governing the source code and code contributions can be found in
11
// LICENSE.md and CONTRIBUTING.md at the top level directory of deal.II.
12
//
13
// ------------------------------------------------------------------------
14
15
#include <
deal.II/base/config.h
>
16
17
#include <
deal.II/lac/exceptions.h
>
18
19
#ifdef DEAL_II_WITH_PETSC
20
# include <petscsys.h>
21
#endif
// DEAL_II_WITH_PETSC
22
23
DEAL_II_NAMESPACE_OPEN
24
25
namespace
LACExceptions
26
{
27
ExcPETScError::ExcPETScError
(
const
int
error_code)
28
: error_code(error_code)
29
{}
27
ExcPETScError::ExcPETScError
(
const
int
error_code) {
…
}
30
31
void
32
ExcPETScError::print_info
(std::ostream &out)
const
33
{
34
out <<
"deal.II encountered an error while calling a PETSc function."
35
<< std::endl;
36
#ifdef DEAL_II_WITH_PETSC
37
// PetscErrorMessage changes the value in a pointer to refer to a
38
// statically allocated description of the current error message.
39
const
char
*petsc_message;
40
const
PetscErrorCode ierr =
41
PetscErrorMessage(
static_cast<
PetscErrorCode
>
(
error_code
),
42
&petsc_message,
43
/*specific=*/
nullptr
);
44
if
(ierr == 0 && petsc_message !=
nullptr
)
45
{
46
out <<
"The description of the error provided by PETSc is \""
47
<< petsc_message <<
"\"."
<< std::endl;
48
}
49
else
50
{
51
out
52
<<
"PETSc was not able to determine a description for this particular error code."
53
<< std::endl;
54
}
55
#endif
// DEAL_II_WITH_PETSC
56
out <<
"The numerical value of the original error code is "
<<
error_code
57
<<
'.'
<< std::endl;
58
}
32
ExcPETScError::print_info
(std::ostream &out)
const
{
…
}
59
}
// namespace LACExceptions
60
61
DEAL_II_NAMESPACE_CLOSE
LACExceptions::ExcPETScError::error_code
const int error_code
Definition
exceptions.h:73
LACExceptions::ExcPETScError::print_info
virtual void print_info(std::ostream &out) const override
Definition
exceptions.cc:32
LACExceptions::ExcPETScError::ExcPETScError
ExcPETScError(const int error_code)
Definition
exceptions.cc:27
config.h
DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_OPEN
Definition
config.h:503
DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_NAMESPACE_CLOSE
Definition
config.h:504
exceptions.h
LACExceptions
Definition
exceptions.h:25
Generated by
1.11.0