Laplace1DL2 Class Reference
To build element equation for a 1-D elliptic equation using the 2-Node line element (P1
).
More...
#include <Laplace1DL2.h>

Public Member Functions | |
Laplace1DL2 () | |
Default constructor. | |
Laplace1DL2 (Mesh &ms, Vect< real_t > &u) | |
Laplace1DL2 (Mesh &ms) | |
~Laplace1DL2 () | |
Destructor. | |
void | LHS () |
Add finite element matrix to left hand side. | |
void | buildEigen (int opt=0) |
Build global stiffness and mass matrices for the eigen system. More... | |
void | BodyRHS (const Vect< real_t > &f) |
Add Right-Hand Side Contribution. More... | |
void | BoundaryRHS (const Vect< real_t > &f) |
Add Neumann contribution to Right-Hand Side. More... | |
void | setBoundaryCondition (real_t f, int lr) |
Set Dirichlet boundary data. More... | |
void | setTraction (real_t f, int lr) |
Set Traction data. More... | |
![]() | |
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... | |
void | build (EigenProblemSolver &e) |
Build the linear system for an eigenvalue problem. More... | |
virtual void | buildEigen (int opt=0) |
Build matrices for an eigenvalue problem. | |
![]() | |
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... | |
~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 | 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, std::valarray< 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 | ElementNodeVector (const Vect< real_t > &b, LocalVect< real_t, NEN_ > &be, int dof) |
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, std::valarray< 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 | 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 | ElementAssembly (Vect< real_t > &v) |
Assemble element vector 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... | |
![]() | |
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. | |
Detailed Description
To build element equation for a 1-D elliptic equation using the 2-Node line element (P1
).
- Copyright
- GNU Lesser Public License
Constructor & Destructor Documentation
◆ Laplace1DL2() [1/2]
Laplace1DL2 | ( | Mesh & | ms, |
Vect< real_t > & | u | ||
) |
◆ Laplace1DL2() [2/2]
Laplace1DL2 | ( | Mesh & | ms | ) |
Constructor using mesh instance
- Parameters
-
[in] ms Mesh instance
Member Function Documentation
◆ BodyRHS()
Add Right-Hand Side Contribution.
- Parameters
-
[in] f Vector containing the source given function at mesh nodes
Reimplemented from Equa_Laplace< 2, 2, 1, 1 >.
◆ BoundaryRHS()
Add Neumann contribution to Right-Hand Side.
- Parameters
-
[in] f Vector with size the total number of nodes. The first entry stands for the force at the first node (Neumann condition) and the last entry is the force at the last node (Neumann condition)
Reimplemented from Equa_Laplace< 2, 2, 1, 1 >.
◆ buildEigen()
|
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< 2, 2, 1, 1 >.
◆ setBoundaryCondition()
void setBoundaryCondition | ( | real_t | f, |
int | lr | ||
) |
Set Dirichlet boundary data.
- Parameters
-
[in] f Value to assign [in] lr Option to choose location of the value ( -1
: Left end,1
: Right end)
◆ setTraction()
void setTraction | ( | real_t | f, |
int | lr | ||
) |
Set Traction data.
- Parameters
-
[in] f Value of traction (Neumann boundary condition) [in] lr Option to choose location of the traction ( -1
: Left end,1
: Right end)