Equa_Laplace< T_, NEN_, NEE_, NSN_, NSE_ > Class Template Reference
Abstract class for classes about the Laplace equation. More...


Public Member Functions | |
Equa_Laplace () | |
Default constructor. More... | |
virtual | ~Equa_Laplace () |
Destructor. | |
virtual void | LHS () |
Add finite element matrix to left-hand side. | |
virtual void | BodyRHS (const Vect< real_t > &f) |
Add body source term to right-hand side. More... | |
virtual void | BoundaryRHS (const Vect< real_t > &h) |
Add boundary source term to right-hand side. More... | |
void | build () |
Build global matrix and right-hand side. More... | |
virtual void | buildEigen (int opt=0) |
Build matrices for an eigenvalue problem. | |
void | build (EigenProblemSolver &e) |
Build the linear system for an eigenvalue problem. More... | |
![]() | |
Equation () | |
Equation (Mesh &mesh) | |
Constructor with mesh instance. More... | |
Equation (Mesh &mesh, Vect< T_ > &u) | |
Constructor with mesh instance and solution vector. More... | |
Equation (Mesh &mesh, Vect< T_ > &u, real_t &init_time, real_t &final_time, real_t &time_step) | |
Constructor with mesh instance, matrix and right-hand side. More... | |
virtual | ~Equation () |
Destructor. | |
void | updateBC (const Element &el, const Vect< T_ > &bc) |
Update Right-Hand side by taking into account essential boundary conditions. More... | |
void | DiagBC (DOFSupport dof_type=NODE_DOF, int dof=0) |
Update element matrix to impose bc by diagonalization technique. More... | |
void | LocalNodeVector (Vect< T_ > &b) |
Localize Element Vector from a Vect instance. More... | |
void | ElementNodeVector (const Vect< T_ > &b, LocalVect< T_, NEE_ > &be) |
Localize Element Vector from a Vect instance. More... | |
void | SideNodeVector (const Vect< T_ > &b, LocalVect< T_, NSE_ > &bs) |
Localize Side Vector from a Vect instance. More... | |
void | SideSideVector (const Vect< T_ > &b, T_ *bs) |
Localize Side Vector from a Vect instance. More... | |
void | ElementNodeVectorSingleDOF (const Vect< T_ > &b, LocalVect< T_, NEN_ > &be) |
Localize Element Vector from a Vect instance. More... | |
void | ElementNodeVector (const Vect< T_ > &b, LocalVect< T_, NEN_ > &be, int dof) |
Localize Element Vector from a Vect instance. More... | |
void | ElementSideVector (const Vect< T_ > &b, LocalVect< T_, NSE_ > &be) |
Localize Element Vector from a Vect instance. More... | |
void | ElementVector (const Vect< T_ > &b, DOFSupport dof_type=NODE_DOF, int flag=0) |
Localize Element Vector. More... | |
void | SideVector (const Vect< T_ > &b, T_ *sb) |
Localize Side Vector. More... | |
void | ElementNodeCoordinates () |
Localize coordinates of element nodes. More... | |
void | SideNodeCoordinates () |
Localize coordinates of side nodes. More... | |
void | ElementAssembly (Matrix< T_ > *A) |
Assemble element matrix into global one. More... | |
void | ElementAssembly (BMatrix< T_ > &A) |
Assemble element matrix into global one. More... | |
void | ElementAssembly (SkSMatrix< T_ > &A) |
Assemble element matrix into global one. More... | |
void | ElementAssembly (SkMatrix< T_ > &A) |
Assemble element matrix into global one. More... | |
void | ElementAssembly (SpMatrix< T_ > &A) |
Assemble element matrix into global one. More... | |
void | ElementAssembly (TrMatrix< T_ > &A) |
Assemble element matrix into global one. More... | |
void | DGElementAssembly (Matrix< T_ > *A) |
Assemble element matrix into global one for the Discontinuous Galerkin approximation. More... | |
void | DGElementAssembly (SkSMatrix< T_ > &A) |
Assemble element matrix into global one for the Discontinuous Galerkin approximation. More... | |
void | DGElementAssembly (SkMatrix< T_ > &A) |
Assemble element matrix into global one for the Discontinuous Galerkin approximation. More... | |
void | DGElementAssembly (SpMatrix< T_ > &A) |
Assemble element matrix into global one for the Discontinuous Galerkin approximation. More... | |
void | DGElementAssembly (TrMatrix< T_ > &A) |
Assemble element matrix into global one for the Discontinuous Galerkin approximation. More... | |
void | SideAssembly (Matrix< T_ > *A) |
Assemble side (edge or face) matrix into global one. More... | |
void | SideAssembly (SkSMatrix< T_ > &A) |
Assemble side (edge or face) matrix into global one. More... | |
void | SideAssembly (SkMatrix< T_ > &A) |
Assemble side (edge or face) matrix into global one. More... | |
void | SideAssembly (SpMatrix< T_ > &A) |
Assemble side (edge or face) matrix into global one. More... | |
void | ElementAssembly (Vect< T_ > &v) |
Assemble element vector into global one. More... | |
void | SideAssembly (Vect< T_ > &v) |
Assemble side (edge or face) vector into global one. More... | |
void | AxbAssembly (const Element &el, const Vect< T_ > &x, Vect< T_ > &b) |
Assemble product of element matrix by element vector into global vector. More... | |
void | AxbAssembly (const Side &sd, const Vect< T_ > &x, Vect< T_ > &b) |
Assemble product of side matrix by side vector into global vector. More... | |
size_t | getNbNodes () const |
Return number of element nodes. | |
size_t | getNbEq () const |
Return number of element equations. | |
real_t | setMaterialProperty (const string &exp, const string &prop) |
Define a material property by an algebraic expression. More... | |
![]() | |
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< T_ > & | getLinearSolver () |
Return reference to linear solver instance. | |
Matrix< T_ > * | getMatrix () const |
Return pointer to matrix. | |
void | setSolver (Iteration ls, Preconditioner pc=IDENT_PREC) |
Choose solver for the linear system. More... | |
void | setLinearSolver (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< T_ > *A, Vect< T_ > &b, Vect< T_ > &x) |
Solve the linear system with given matrix and right-hand side. More... | |
int | solveLinearSystem (Vect< T_ > &b, Vect< T_ > &x) |
Solve the linear system with given right-hand side. More... | |
Detailed Description
template<class T_, size_t NEN_, size_t NEE_, size_t NSN_, size_t NSE_>
class OFELI::Equa_Laplace< T_, NEN_, NEE_, NSN_, NSE_ >
Abstract class for classes about the Laplace equation.
- Template Parameters
-
T_ Data type (real_t, float, complex<real_t>, ...) NEN_ Number of element nodes NEE_ Number of element equations NSN_ Number of side nodes NSE_ Number of side equations
- Author
- Rachid Touzani
- Copyright
- GNU Lesser Public License
Constructor & Destructor Documentation
Equa_Laplace | ( | ) |
Default constructor.
Constructs an empty equation.
Member Function Documentation
Add body source term to right-hand side.
- Parameters
-
[in] f Vector containing the source given function at mesh nodes
Reimplemented in Laplace2DT3, Laplace1DL2, Laplace1DL3, and Laplace2DT6.
Add boundary source term to right-hand side.
- Parameters
-
[in] h Vector containing the source given function at mesh nodes
Reimplemented in Laplace2DT3, Laplace1DL2, Laplace1DL3, and Laplace2DT6.
void build | ( | ) |
Build global matrix and right-hand side.
The problem matrix and right-hand side are the ones used in the constructor. They are updated in this member function.
void build | ( | EigenProblemSolver & | e | ) |
Build the linear system for an eigenvalue problem.
- Parameters
-
[in] e Reference to used EigenProblemSolver instance