Beam3DL2 Class Reference
To build element equations for 3-D beam equations using 2-node lines. More...
#include <Beam3DL2.h>

Public Member Functions | |
Beam3DL2 () | |
Default Constructor. | |
Beam3DL2 (Mesh &ms, real_t A, real_t I1, real_t I2) | |
Constructor using mesh and constant beam properties. More... | |
Beam3DL2 (Mesh &ms) | |
Constructor using a Mesh instance. More... | |
Beam3DL2 (Mesh &ms, Vect< real_t > &u) | |
Constructor using a Mesh instance and solution vector. More... | |
~Beam3DL2 () | |
Destructor. | |
void | set (real_t A, real_t I1, real_t I2) |
Set constant beam properties. More... | |
void | set (const Vect< real_t > &A, const Vect< real_t > &I1, const Vect< real_t > &I2) |
Set nonconstant beam properties. More... | |
void | getDisp (Vect< real_t > &d) |
Get vector of displacements at nodes. More... | |
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 RHS after multiplication by coef (not implemented) | |
void | Stiffness (real_t coef=1.) |
Add element stiffness to element matrix. | |
void | Load (const Vect< real_t > &f) |
Add contributions for loads. | |
void | setBending () |
Set bending contribution to stiffness. | |
void | setAxial () |
Set axial contribution to stiffness. | |
void | setShear () |
Set shear contribution to stiffness. | |
void | setTorsion () |
Set torsion contribution to stiffness. | |
void | setNoBending () |
Set no bending contribution. | |
void | setNoAxial () |
Set no axial contribution. | |
void | setNoShear () |
Set no shear contribution. | |
void | setNoTorsion () |
Set no torsion contribution. | |
void | setReducedIntegration () |
Set reduced integration. | |
void | AxialForce (Vect< real_t > &f) |
Return axial force in element. More... | |
void | ShearForce (Vect< real_t > &sh) |
Return shear force in element. More... | |
void | BendingMoment (Vect< real_t > &m) |
Return bending moment in element. More... | |
void | TwistingMoment (Vect< real_t > &m) |
Return twisting moments. More... | |
void | build () |
Build the linear system of equations. | |
void | buildEigen (SkSMatrix< real_t > &K, Vect< real_t > &M) |
Build global stiffness and mass matrices for the eigen system. More... | |
![]() | |
Equa_Solid () | |
Default constructor. More... | |
virtual | ~Equa_Solid () |
Destructor. | |
virtual void | LMass (real_t coef=1) |
Add lumped mass contribution to left-hand side. More... | |
virtual void | Mass (real_t coef=1) |
Add consistent mass contribution to left-hand side. More... | |
virtual void | Deviator (real_t coef=1) |
Add deviator matrix to left-hand side taking into account time integration scheme, after multiplication by coef [Default: 1 ]. | |
virtual void | Dilatation (real_t coef=1) |
Add dilatation matrix to left-hand side taking into account time integration scheme, after multiplication by coef [Default: 1 ]. | |
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 (EqDataType opt, Vect< real_t > &u) |
Set specific input data to solid mechanics. | |
![]() | |
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. | |
Additional Inherited Members | |
![]() | |
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. | |
Detailed Description
To build element equations for 3-D beam equations using 2-node lines.
This class enables building finite element arrays for 3-D beam elements using 6 degrees of freedom per node and 2-Node line elements.
Constructor & Destructor Documentation
◆ Beam3DL2() [1/3]
Constructor using mesh and constant beam properties.
- Parameters
-
[in] ms Mesh instance [in] A Section area of the beam [in] I1 first (x) momentum of inertia [in] I2 second (y) momentum of inertia
◆ Beam3DL2() [2/3]
◆ Beam3DL2() [3/3]
Member Function Documentation
◆ AxialForce()
Return axial force in element.
- Parameters
-
[out] f Vector containing axial force in each element. This vector is resized in the function
◆ BendingMoment()
Return bending moment in element.
- Parameters
-
[out] m Vector containing bending moments (2 components) in each element. This vector is resized in the function
◆ buildEigen()
Build global stiffness and mass matrices for the eigen system.
Case where the mass matrix is lumped
- Parameters
-
[in] K Stiffness matrix [in] M Vector containing diagonal mass matrix
◆ getDisp()
Get vector of displacements at nodes.
- Parameters
-
[out] d Vector containing three components for each node that are x
,y
andz
displacements.
◆ set() [1/2]
Set nonconstant beam properties.
- Parameters
-
[in] A Vector containing section areas of the beam (for each element) [in] I1 Vector containing first (x) momentum of inertia (for each element) [in] I2 Vector containing second (y) momentum of inertia (for each element)
◆ set() [2/2]
Set constant beam properties.
- Parameters
-
[in] A Section area of the beam [in] I1 first (x) momentum of inertia [in] I2 second (y) momentum of inertia
◆ ShearForce()
Return shear force in element.
- Parameters
-
[out] sh Vector containing shear forces (2 components) in each element. This vector is resized in the function