Solver of the Steklov Poincare problem in 2-D geometries using piecewie constant boundary elemen. More...
Public Member Functions | |
SteklovPoincare2DBE () | |
Default Constructor. | |
SteklovPoincare2DBE (Mesh &ms) | |
Constructor using mesh data. More... | |
SteklovPoincare2DBE (Mesh &ms, Vect< real_t > &u) | |
Constructor that solves the Steklov Poincare problem. More... | |
~SteklovPoincare2DBE () | |
Destructor. | |
void | setMesh (Mesh &ms) |
set Mesh instance More... | |
void | setExterior () |
Choose domain of the Laplace equation as exterior one. More... | |
int | run () |
Solve Setklov-Poincare problem. More... | |
Public Member Functions inherited from Equa | |
Equa () | |
Default constructor. | |
virtual | ~Equa () |
Destructor. | |
void | setMesh (Mesh &m) |
Define mesh and renumber DOFs after removing imposed ones. | |
Mesh & | getMesh () const |
Return reference to Mesh instance. More... | |
LinearSolver & | getLinearSolver () |
Return reference to linear solver instance. | |
Matrix< real_t > * | getMatrix () const |
Return pointer to matrix. | |
void | setSolver (Iteration ls, Preconditioner pc=IDENT_PREC) |
Choose solver for the linear system. More... | |
void | setMatrixType (int t) |
Choose type of matrix. More... | |
int | solveLinearSystem (Matrix< real_t > *A, Vect< real_t > &b, Vect< real_t > &x) |
Solve the linear system with given matrix and right-hand side. More... | |
int | solveLinearSystem (Vect< real_t > &b, Vect< real_t > &x) |
Solve the linear system with given right-hand side. More... | |
void | LinearSystemInfo () |
Print info on linear system solver. | |
Solver of the Steklov Poincare problem in 2-D geometries using piecewie constant boundary elemen.
SteklovPoincare2DBE solves the Steklov Poincare problem in 2-D: Given the trace of a harmonic function on the boundary of a given (inner or outer) domain, this class computes the normal derivative of the function. The normal is considered as oriented out of the bounded (inner) domain in both inner and outer configurations. The numerical approximation uses piecewise constant (P0
) approximation on edges of the boundary. Solution is obtained from the GMRES iterative solver without preconditioning. The given data is the vector (instance of class Vect) of piecewise constant values of the harmonic function on the boundary and the returned solution is piecewise constant value of the normal derivative considered either as a Vect instance.
SteklovPoincare2DBE | ( | Mesh & | ms | ) |
Constructor using mesh data.
[in] | ms | Reference to Mesh instance. |
SteklovPoincare2DBE | ( | Mesh & | ms, |
Vect< real_t > & | u | ||
) |
Constructor that solves the Steklov Poincare problem.
This constructor calls member function setMesh and Solve.
[in] | ms | Reference to mesh instance. |
[in] | u | Reference to solution vector. It contains the solution (normal derivative on boundary, once problem is solved |
int run | ( | ) |
Solve Setklov-Poincare problem.
This member function builds and solves the Steklov-Poincare equation.
void setExterior | ( | ) |
Choose domain of the Laplace equation as exterior one.
By default the domain where the Laplace equation is considered is the interior domain, i.e. bounded. This function chooses the exterior of a bounded domain