To build element equations for 2-D linearized elasticity using 3-node triangles. More...
#include <Elas2DT3.h>
Public Member Functions | |
| Elas2DT3 () | |
| Default Constructor. | |
| Elas2DT3 (Mesh &ms) | |
| Constructor using Mesh data. | |
| Elas2DT3 (Mesh &ms, Vect< real_t > &u) | |
| Constructor using Mesh data and solution vector. | |
| ~Elas2DT3 () | |
| Destructor. | |
| void | Media (real_t E, real_t nu, real_t rho) |
| Set media properties. | |
| void | PlaneStrain () |
| Set plane strain hypothesis. | |
| void | PlaneStrain (real_t E, real_t nu) |
Set plane strain hypothesis by giving values of Young's modulus E and Poisson ratio nu | |
| void | PlaneStress () |
| Set plane stress hypothesis. | |
| void | PlaneStress (real_t E, real_t nu) |
Set plane stress hypothesis by giving values of Young's modulus E and Poisson ratio nu | |
| void | LMass (real_t coef=1.) |
Add element lumped mass contribution to element matrix after multiplication by coef | |
| void | Mass (real_t coef=1.) |
Add element consistent mass contribution to element matrix after multiplication by coef | |
| void | Deviator (real_t coef=1.) |
Add element deviatoric matrix to element matrix after multiplication by coef | |
| void | Dilatation (real_t coef=1.) |
Add element dilatational contribution to element matrix after multiplication by coef | |
| void | BodyRHS (const Vect< real_t > &f) |
| Add body right-hand side term to right hand side. | |
| void | BodyRHS () |
| Add body right-hand side term to right hand side. | |
| void | BoundaryRHS (const Vect< real_t > &f) |
| Add boundary right-hand side term to right hand side. | |
| void | BoundaryRHS () |
| Add boundary right-hand side term to right hand side. | |
| int | Contact (real_t coef=1.e07) |
| Penalty Signorini contact side contribution to matrix and right-hand side. | |
| void | Reaction (Vect< real_t > &r) |
| Calculate reactions. | |
| void | ContactPressure (const Vect< real_t > &f, real_t penal, Point< real_t > &p) |
| Calculate contact pressure. | |
| void | Strain (Vect< real_t > &eps) |
| Calculate strains in element. | |
| void | Stress (Vect< real_t > &s, Vect< real_t > &vm) |
| Calculate principal stresses and Von-Mises stress in element. | |
| void | Periodic (real_t coef=1.e20) |
| Add contribution of periodic boundary condition (by a penalty technique). | |
Public Member Functions inherited from Equa_Solid< 3, 6, 2, 4 > | |
| Equa_Solid () | |
| Default constructor. | |
| virtual | ~Equa_Solid () |
| Destructor. | |
| virtual void | Stiffness (real_t coef=1) |
Add stiffness matrix to left-hand side taking into account time integration scheme, after multiplication by coef [Default: 1]. | |
| void | setInput (EType opt, Vect< real_t > &u) |
| Set specific input data to solid mechanics. | |
Public Member Functions inherited from Equation< NEN_, NEE_, NSN_, NSE_ > | |
| Equation () | |
| Equation (Mesh &mesh) | |
| Constructor with mesh instance. | |
| Equation (Mesh &mesh, Vect< real_t > &u) | |
| Constructor with mesh instance and solution vector. | |
| 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. | |
| ~Equation () | |
| Destructor. | |
| void | updateBC (const Element &el, const Vect< real_t > &bc) |
| Update Right-Hand side by taking into account essential boundary conditions. | |
| void | DiagBC (DOFSupport dof_type=NODE_DOF, int dof=0) |
| Update element matrix to impose bc by diagonalization technique. | |
| void | LocalNodeVector (Vect< real_t > &b) |
| Localize element vector from a Vect instance. | |
| void | ElementNodeVector (const Vect< real_t > &b, LocalVect< real_t, NEE_ > &be) |
| Localize element vector from a Vect instance. | |
| void | SideNodeVector (const Vect< real_t > &b, LocalVect< real_t, NSE_ > &bs) |
| Localize side vector from a Vect instance. | |
| void | SideSideVector (const Vect< real_t > &b, vector< real_t > &bs) |
| Localize side vector from a Vect instance. | |
| void | ElementNodeVectorSingleDOF (const Vect< real_t > &b, LocalVect< real_t, NEN_ > &be) |
| Localize Element Vector from a Vect instance. | |
| void | ElementNodeVector (const Vect< real_t > &b, LocalVect< real_t, NEN_ > &be, int dof) |
| Localize Element Vector from a Vect instance. | |
| void | ElementSideVector (const Vect< real_t > &b, LocalVect< real_t, NSE_ > &be) |
| Localize Element Vector from a Vect instance. | |
| void | ElementVector (const Vect< real_t > &b, DOFSupport dof_type=NODE_DOF, int flag=0) |
| Localize element vector. | |
| void | SideVector (const Vect< real_t > &b, vector< real_t > &sb) |
| Localize side vector. | |
| void | ElementNodeCoordinates () |
| Localize coordinates of element nodes. | |
| void | SideNodeCoordinates () |
| Localize coordinates of side nodes. | |
| void | ElementAssembly (Matrix< real_t > *A) |
| Assemble element matrix into global one. | |
| void | ElementAssembly (BMatrix< real_t > &A) |
| Assemble element matrix into global one. | |
| void | ElementAssembly (SkSMatrix< real_t > &A) |
| Assemble element matrix into global one. | |
| void | ElementAssembly (SkMatrix< real_t > &A) |
| Assemble element matrix into global one. | |
| void | ElementAssembly (SpMatrix< real_t > &A) |
| Assemble element matrix into global one. | |
| void | ElementAssembly (TrMatrix< real_t > &A) |
| Assemble element matrix into global one. | |
| void | DGElementAssembly (Matrix< real_t > *A) |
| Assemble element matrix into global one for the Discontinuous Galerkin approximation. | |
| void | DGElementAssembly (SkSMatrix< real_t > &A) |
| Assemble element matrix into global one for the Discontinuous Galerkin approximation. | |
| void | DGElementAssembly (SkMatrix< real_t > &A) |
| Assemble element matrix into global one for the Discontinuous Galerkin approximation. | |
| void | DGElementAssembly (SpMatrix< real_t > &A) |
| Assemble element matrix into global one for the Discontinuous Galerkin approximation. | |
| void | DGElementAssembly (TrMatrix< real_t > &A) |
| Assemble element matrix into global one for the Discontinuous Galerkin approximation. | |
| void | SideAssembly (Matrix< real_t > *A) |
| Assemble side (edge or face) matrix into global one. | |
| void | SideAssembly (SkSMatrix< real_t > &A) |
| Assemble side (edge or face) matrix into global one. | |
| void | SideAssembly (SkMatrix< real_t > &A) |
| Assemble side (edge or face) matrix into global one. | |
| void | SideAssembly (SpMatrix< real_t > &A) |
| Assemble side (edge or face) matrix into global one. | |
| void | ElementAssembly (Vect< real_t > &v) |
| Assemble element vector into global one. | |
| void | SideAssembly (Vect< real_t > &v) |
| Assemble side (edge or face) vector into global one. | |
| 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. | |
| 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. | |
| 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. | |
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. | |
| 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. | |
| void | setMatrixType (int t) |
| Choose type of matrix. | |
| 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. | |
| int | solveLinearSystem (Vect< real_t > &b, Vect< real_t > &x) |
| Solve the linear system with given right-hand side. | |
| void | LinearSystemInfo () |
| Print info on linear system solver. | |
Additional Inherited Members | |
Protected Member Functions inherited from Equa_Solid< 3, 6, 2, 4 > | |
| void | Young (const real_t &E) |
| Set (constant) Young modulus. | |
| void | Young (const string &exp) |
| Set Young modulus given by an algebraic expression. | |
| void | Poisson (const real_t &nu) |
| Set (constant) Poisson ratio. | |
| void | Poisson (const string &exp) |
| Set Poisson ratio given by an algebraic expression. | |
| void | Density (const real_t &rho) |
| Set (constant) density. | |
| void | Density (const string &exp) |
| Set density given by an algebraic expression. | |
| void | setMaterial () |
| Set material properties. | |
To build element equations for 2-D linearized elasticity using 3-node triangles.
This class enables building finite element arrays for linearized isotropic elasticity problem in 2-D domains using 3-Node triangles.
Unilateral contact is handled using a penalty function. Note that members calculating element arrays have as an argument a real coef that is multiplied by the contribution of the current element. This makes possible testing different algorithms.
| Elas2DT3 | ( | ) |
Default Constructor.
Constructs an empty equation.
Add body right-hand side term to right hand side.
| [in] | f | Vector containing source at nodes (DOF by DOF) |
Add boundary right-hand side term to right hand side.
| [in] | f | Vect instance that contains constant traction to impose to side. |
| int Contact | ( | real_t | coef = 1.e07 | ) |
Penalty Signorini contact side contribution to matrix and right-hand side.
| [in] | coef | Penalty value by which the added term is multiplied [Default: 1.e07] |
0 if no contact is achieved on this side, 1 otherwise Calculate contact pressure.
This function can be invoked in postprocessing
| [in] | f | |
| [in] | penal | Penalty parameter that was used to impose contact condition |
| [out] | p | Contact pressure |
|
virtual |
Add element deviatoric matrix to element matrix after multiplication by coef
| [in] | coef | Coefficient to multiply by added term [Default: 1]. |
Reimplemented from Equa_Solid< 3, 6, 2, 4 >.
|
virtual |
Add element dilatational contribution to element matrix after multiplication by coef
| [in] | coef | Coefficient to multiply by added term [Default: 1]. |
Reimplemented from Equa_Solid< 3, 6, 2, 4 >.
|
virtual |
Add element lumped mass contribution to element matrix after multiplication by coef
| [in] | coef | Coefficient to multiply by added term [Default: 1]. |
Reimplemented from Equa_Solid< 3, 6, 2, 4 >.
|
virtual |
Add element consistent mass contribution to element matrix after multiplication by coef
| [in] | coef | Coefficient to multiply by added term [Default: 1]. |
Reimplemented from Equa_Solid< 3, 6, 2, 4 >.
Set media properties.
Useful to override material properties deduced from mesh file.
| void Periodic | ( | real_t | coef = 1.e20 | ) |
Add contribution of periodic boundary condition (by a penalty technique).
Boundary nodes where periodic boundary conditions are to be imposed must have codes equal to PERIODIC_A on one side and PERIODIC_B on the opposite side.
| [in] | coef | Value of penalty parameter [Default: 1.e20] |
Calculate reactions.
This function can be invoked in postprocessing
| [in] | r | Reaction on the side |
Calculate strains in element.
This function can be invoked in postprocessing.
| [out] | eps | vector of strains in elements |