To build element equation for the Laplace equation using the 2-D triangle element (P1).
More...
Inheritance diagram for Laplace2DT3:
Public Member Functions | |
| Laplace2DT3 () | |
| Default constructor. | |
| Laplace2DT3 (Mesh &ms) | |
| Constructor with mesh. More... | |
| Laplace2DT3 (Mesh &ms, Vect< real_t > &u) | |
| Constructor using mesh and solution vector. More... | |
| Laplace2DT3 (Mesh &ms, Vect< real_t > &b, Vect< real_t > &Dbc, Vect< real_t > &Nbc, Vect< real_t > &u) | |
| Constructor that initializes a standard Poisson equation. More... | |
| ~Laplace2DT3 () | |
| Destructor. | |
| void | LHS () |
| Add finite element matrix to left-hand side. | |
| void | BodyRHS (const Vect< real_t > &f) |
| Add body source term to right-hand side. More... | |
| void | BoundaryRHS (const Vect< real_t > &h) |
| Add boundary source term to right-hand side. More... | |
| void | buildEigen (int opt=0) |
| Build global stiffness and mass matrices for the eigen system. More... | |
| void | Post (const Vect< real_t > &u, Vect< Point< real_t > > &p) |
| Perform post calculations. More... | |
Public Member Functions inherited from Equa_Laplace< real_t, 3, 3, 2, 2 > | |
| Equa_Laplace () | |
| Default constructor. More... | |
| virtual | ~Equa_Laplace () |
| Destructor. | |
| void | build () |
| Build global matrix and right-hand side. More... | |
| void | build (EigenProblemSolver &e) |
| Build the linear system for an eigenvalue problem. More... | |
Public Member Functions inherited from Equation< real_t, NEN_, NEE_, NSN_, NSE_ > | |
| Equation () | |
| Equation (Mesh &mesh) | |
| Constructor with mesh instance. More... | |
| Equation (Mesh &mesh, Vect< real_t > &u) | |
| Constructor with mesh instance and solution vector. More... | |
| Equation (Mesh &mesh, Vect< real_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< real_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< real_t > &b) |
| Localize Element Vector from a Vect instance. More... | |
| void | ElementNodeVector (const Vect< real_t > &b, LocalVect< real_t, NEE_ > &be) |
| Localize Element Vector from a Vect instance. More... | |
| void | ElementNodeVector (const Vect< real_t > &b, LocalVect< real_t, NEN_ > &be, int dof) |
| Localize Element Vector from a Vect instance. More... | |
| void | SideNodeVector (const Vect< real_t > &b, LocalVect< real_t, NSE_ > &bs) |
| Localize Side Vector from a Vect instance. More... | |
| void | SideSideVector (const Vect< real_t > &b, real_t *bs) |
| Localize Side Vector from a Vect instance. More... | |
| void | ElementNodeVectorSingleDOF (const Vect< real_t > &b, LocalVect< real_t, NEN_ > &be) |
| Localize Element Vector from a Vect instance. More... | |
| void | ElementSideVector (const Vect< real_t > &b, LocalVect< real_t, NSE_ > &be) |
| Localize Element Vector from a Vect instance. More... | |
| void | ElementVector (const Vect< real_t > &b, DOFSupport dof_type=NODE_DOF, int flag=0) |
| Localize Element Vector. More... | |
| void | SideVector (const Vect< real_t > &b, real_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< real_t > *A) |
| Assemble element matrix into global one. More... | |
| void | ElementAssembly (BMatrix< real_t > &A) |
| Assemble element matrix into global one. More... | |
| void | ElementAssembly (SkSMatrix< real_t > &A) |
| Assemble element matrix into global one. More... | |
| void | ElementAssembly (SkMatrix< real_t > &A) |
| Assemble element matrix into global one. More... | |
| void | ElementAssembly (SpMatrix< real_t > &A) |
| Assemble element matrix into global one. More... | |
| void | ElementAssembly (TrMatrix< real_t > &A) |
| Assemble element matrix into global one. More... | |
| void | ElementAssembly (Vect< real_t > &v) |
| Assemble element vector into global one. More... | |
| void | DGElementAssembly (Matrix< real_t > *A) |
| Assemble element matrix into global one for the Discontinuous Galerkin approximation. More... | |
| void | DGElementAssembly (SkSMatrix< real_t > &A) |
| Assemble element matrix into global one for the Discontinuous Galerkin approximation. More... | |
| void | DGElementAssembly (SkMatrix< real_t > &A) |
| Assemble element matrix into global one for the Discontinuous Galerkin approximation. More... | |
| void | DGElementAssembly (SpMatrix< real_t > &A) |
| Assemble element matrix into global one for the Discontinuous Galerkin approximation. More... | |
| void | DGElementAssembly (TrMatrix< real_t > &A) |
| Assemble element matrix into global one for the Discontinuous Galerkin approximation. More... | |
| void | SideAssembly (Matrix< real_t > *A) |
| Assemble side (edge or face) matrix into global one. More... | |
| void | SideAssembly (SkSMatrix< real_t > &A) |
| Assemble side (edge or face) matrix into global one. More... | |
| void | SideAssembly (SkMatrix< real_t > &A) |
| Assemble side (edge or face) matrix into global one. More... | |
| void | SideAssembly (SpMatrix< real_t > &A) |
| Assemble side (edge or face) matrix into global one. More... | |
| void | SideAssembly (Vect< real_t > &v) |
| Assemble side (edge or face) vector into global one. More... | |
| void | AxbAssembly (const Element &el, const Vect< real_t > &x, Vect< real_t > &b) |
| Assemble product of element matrix by element vector into global vector. More... | |
| void | AxbAssembly (const Side &sd, const Vect< real_t > &x, Vect< real_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... | |
Public Member Functions inherited from Equa< real_t > | |
| 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< real_t > & | 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 | 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< 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... | |
Detailed Description
To build element equation for the Laplace equation using the 2-D triangle element (P1).
To build element equation for the Laplace equation using the 3-D tetrahedral element (P1).
- Author
- Rachid Touzani
- Copyright
- GNU Lesser Public License
Constructor & Destructor Documentation
| Laplace2DT3 | ( | Mesh & | ms | ) |
Constructor with mesh.
- Parameters
-
[in] ms Mesh instance
| Laplace2DT3 | ( | Mesh & | ms, |
| Vect< real_t > & | u | ||
| ) |
Constructor using mesh and solution vector.
- Parameters
-
[in] ms Mesh instance [in] u Problem right-hand side
| Laplace2DT3 | ( | Mesh & | ms, |
| Vect< real_t > & | b, | ||
| Vect< real_t > & | Dbc, | ||
| Vect< real_t > & | Nbc, | ||
| Vect< real_t > & | u | ||
| ) |
Constructor that initializes a standard Poisson equation.
This constructor sets data for the Poisson equation with mixed (Dirichlet and Neumann) boundary conditions.
- Parameters
-
[in] ms Mesh instance [in] b Vector containing the source term (right-hand side of the equation) at mesh nodes [in] Dbc Vector containing prescribed values of the solution (Dirichlet boundary condition) at nodes with positive code. Its size is the total number of nodes [in] Nbc Vector containing prescribed fluxes (Neumann boundary conditions) at sides, its size is the total number of sides [in] u Vector to contain the finite element solution at nodes once the member function run() is called.
Member Function Documentation
Add body source term to right-hand side.
- Parameters
-
[in] f Vector containing the source given function at mesh nodes
Reimplemented from Equa_Laplace< real_t, 3, 3, 2, 2 >.
Add boundary source term to right-hand side.
- Parameters
-
[in] h Vector containing the source given function at mesh nodes
Reimplemented from Equa_Laplace< real_t, 3, 3, 2, 2 >.
|
virtual |
Build global stiffness and mass matrices for the eigen system.
- Parameters
-
[in] opt Flag to choose a lumped mass matrix (0) or consistent (1) [Default: 0]
Reimplemented from Equa_Laplace< real_t, 3, 3, 2, 2 >.