Abstract class for all equation classes. More...
Public Member Functions | |
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, vector< 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, vector< 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... | |
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. | |
Abstract class for all equation classes.
Template Arguments:
Equation | ( | ) |
Default constructor. Constructs an "empty" equation
Assemble element matrix into global one for the Discontinuous Galerkin approximation.
A | Global matrix stored as an SkSMatrix instance |
theElement
Assemble element matrix into global one for the Discontinuous Galerkin approximation.
[in] | A | Global matrix stored as an SkMatrix instance |
theElement
Assemble element matrix into global one for the Discontinuous Galerkin approximation.
[in] | A | Global matrix stored as an SpMatrix instance |
theElement
Assemble element matrix into global one for the Discontinuous Galerkin approximation.
[in] | A | Global matrix stored as an TrMatrix instance |
theElement
void DiagBC | ( | DOFSupport | dof_type = NODE_DOF , |
int | dof = 0 |
||
) |
Update element matrix to impose bc by diagonalization technique.
[in] | dof_type | DOF type option. To choose among the enumerated values:
|
[in] | dof | DOF setting:
|
Assemble element matrix into global one.
A | Global matrix stored as a BMatrix instance |
theElement
Assemble element matrix into global one.
A | Global matrix stored as an SkSMatrix instance |
theElement
Assemble element matrix into global one.
[in] | A | Global matrix stored as an SkMatrix instance |
theElement
Assemble element matrix into global one.
[in] | A | Global matrix stored as an SpMatrix instance |
theElement
Assemble element matrix into global one.
[in] | A | Global matrix stored as an TrMatrix instance |
theElement
Assemble element vector into global one.
[in] | v | Global vector (Vect instance) |
theElement
void ElementNodeCoordinates | ( | ) |
Localize coordinates of element nodes.
Coordinates are stored in array _x[0], _x[1], ...
which are instances of class Point<real_t>
_theSide
Localize element vector from a Vect instance.
[in] | b | Global vector to be localized. |
[out] | be | Local vector, the length of which is the total number of element equations. |
void ElementVector | ( | const Vect< real_t > & | b, |
DOFSupport | dof_type = NODE_DOF , |
||
int | flag = 0 |
||
) |
Localize element vector.
[in] | b | Global vector to be localized |
[in] | dof_type | DOF type option. To choose among the enumerated values:
|
[in] | flag | Option to set:
ePrev . |
real_t setMaterialProperty | ( | const string & | exp, |
const string & | prop | ||
) |
Define a material property by an algebraic expression.
[in] | exp | Algebraic expression |
[in] | prop | Property name |
=0
, Normal evaluation !=0
, An error message is displayed Assemble side (edge or face) matrix into global one.
[in] | A | Global matrix stored as an SkSMatrix instance |
theSide
Assemble side (edge or face) matrix into global one.
[in] | A | Global matrix stored as an SkMatrix instance |
theSide
Assemble side (edge or face) matrix into global one.
[in] | A | Global matrix stored as an SpMatrix instance |
theSide
Assemble side (edge or face) vector into global one.
[in] | v | Global vector (Vect instance) |
theSide
void SideNodeCoordinates | ( | ) |
Localize coordinates of side nodes.
Coordinates are stored in array _x[0], _x[1], ...
which are instances of class Point<real_t>
_theElement
Localize side vector from a Vect instance.
[in] | b | Global vector to be localized. |
[out] | bs | Local vector, the length of which is the total number of side equations. |
Localize side vector from a Vect instance.
[in] | b | Global vector to be localized. |
[out] | bs | Local constant value of vector at given side. |
Localize side vector.
[in] | b | Global vector to be localized
|
[out] | sb | Array in which local vector is stored The resulting local vector can be accessed by attribute ePrev . |