|
| LinearPDE2D () |
| Default Constructor. Constructs an empty equation.
|
|
| LinearPDE2D (Mesh &ms) |
| Constructor using Mesh data. More...
|
|
| LinearPDE2D (Mesh &ms, Vect< real_t > &u) |
| Constructor using Mesh and initial condition. More...
|
|
| ~LinearPDE2D () |
| Destructor.
|
|
void | Mat_00 (real_t coef=1.0) |
| Add 0th order term, in time and space, to left-hand side coef More...
|
|
void | Mat_10 (real_t coef=1.0) |
| Add 1st order term in time, 0th in space to left-hand side. More...
|
|
void | Mat_01 (real_t coef=1.0) |
| Add Oth order term in time, 1st in space to left-hand side. More...
|
|
void | Mat_20 (real_t coef=1.0) |
| Add 2nd order term in time, 0th in space to left-hand side. More...
|
|
void | Mat_02 (real_t coef=1.0) |
| Add 0th order term in time, 2nd in space to left-hand side. More...
|
|
void | BodyRHS (const Vect< real_t > &f) |
| Add body right-hand side term to right hand side. More...
|
|
void | BodyRHS (real_t f) |
| Add body right-hand side term to right hand side. More...
|
|
void | BoundaryRHS (real_t flux) |
| Add boundary right-hand side flux to right hand side. More...
|
|
void | BoundaryRHS (const Vect< real_t > &f) |
| Add boundary right-hand side term to right hand side after multiplying it by coefficient coef More...
|
|
Point< real_t > & | Flux () const |
| Return (constant) heat flux in element.
|
|
void | Grad (Vect< Point< real_t > > &g) |
| Compute gradient of solution. More...
|
|
Point< real_t > & | Grad (const Vect< real_t > &u) const |
| Return gradient of a vector in element. More...
|
|
void | setInput (EType opt, Vect< real_t > &u) |
| Set equation input data. More...
|
|
| Equa_LinearPDE () |
| Default constructor. More...
|
|
virtual | ~Equa_LinearPDE () |
| Destructor.
|
|
void | setNoLumping () |
| Set no lumping. More...
|
|
void | setStab () |
| Set stabilization for convection term. More...
|
|
void | set_00 (real_t a=1.0) |
| Set coefficient for term (0,0): 0th order in time and space. More...
|
|
void | set_00 (Fct &f) |
| Set coefficient for term (0,0): 0th order in time and space. More...
|
|
void | set_00 (const string &f) |
| Set coefficient for term (0,0): 0th order in time and space. More...
|
|
void | set_10 (real_t a=1.0) |
| Set coefficient for term (1,0): 1st order in time, 0th order in space. More...
|
|
void | set_10 (Fct &f) |
| Set coefficient for term (1,0): 1st order in time, 0th order in space. More...
|
|
void | set_20 (real_t a=1.0) |
| Set coefficient for term (2,0): 2nd order in time, 0th order in space. More...
|
|
void | set_20 (Fct &f) |
| Set coefficient for term (2,0): 2nd order in time, 0th order in space. More...
|
|
void | set_01 (real_t a=1.0) |
| Set coefficient for term (0,1): 0th order in time, 1st order in space. More...
|
|
void | set_01 (Point< real_t > &a) |
| Set coefficient for term (0,1): 0th order in time, 1st order in space. More...
|
|
void | set_01 (Fct &f) |
| Set coefficient for term (0,1): 0th order in time, 1st order in time and space. More...
|
|
void | set_01 (Vect< real_t > &a) |
| Set coefficient for term (0,1): 0th order in time, 1st order in space. More...
|
|
void | set_02 (real_t a=1.0) |
| Set coefficient for term (0,2): 0th order in time, 2nd order in space. More...
|
|
void | set_02 (Fct &f) |
| Set coefficient for term (0,2): 0th order in time, 2nd order in time and space. More...
|
|
void | build () |
| Build the linear system of equations for the steady state case.
|
|
void | build (TimeStepping &s) |
| Build the linear system of equations. More...
|
|
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< 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 | 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, 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 | 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 | 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...
|
|
| 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.
|
|
Solves a generic linear PDE in 2-D using 3-Node triangular finite elements.
This class handles the scalar linear equation: a d^2u/dt^2 + b du/dt - div(c Grad u) + d.Grad u + eu = f in a given interval, with Dirichlet and/or Neumann boundary conditions. The coefficients a, b, c, d, e can be constants or given functions of space and time
Numerical solution uses the P1 finite element method for space discretization. For transient (time-dependent) problems, the class TimeStepping must be used. For eigenproblems, the class EigenProblemSolver must be used.