G+Smo
24.08.0
Geometry + Simulation Modules
|
This module contains algorithms for structural analysis. The module is versatile in its use with the elasticity elements from Elasticity module and Kirchhoff-Love shell module. The module is enhanced by the gsSpectra class for eigenvalue computations.
The routines in the structural analysis module are typically based on different operators:
Where \(\mathbf{u}_h\) is the discrete solution. All types for the operators used in the Structural Analysis Module module are defined by gsStructuralAnalysisOps
The force vector ( \(\mathbf{F}_{\text{ext}}\)) is the vector that contains the external force contributions on the object. These could be due to body forces, point loads, etc. It is defined as a gsVector throughout the module.
The linear stiffness matrix ( \(K_L\)) is the matrix that has to be assembled given the undeformed configuration of the object. In fact, it is similar to assembling the tangential stiffness matrix around the zero vector ( \(K(\mathbf{0}_h)\)). The linear stiffness matrix should always be provided as a gsSparseMatrix.
The residual vector is the vector that represents the difference between the internal and external forces inside the body:
\begin{align*} \mathbf{R}(\mathbf{u}_h) = \mathbf{F}_{\text{ext}} - \mathbf{F}_{\text{int}}(\mathbf{u}_h) \end{align*}
Since the residual depends on the solution vector \(\mathbf{u}_h\), it has to be an object that takes the solution vector as an input. In the module, the residual vector has the following type:
When using the Structural Analysis module in practice, one can define the residual vector as a lambda function:
For some applications, the use of arc-length methods for continuation, the external force is scaled with an unknown load factor \(\lambda\). In this case, the definition of the residual is
\begin{align*} \mathbf{R}(\mathbf{u}_h,\lambda) = \lambda\mathbf{F}_{\text{ext}} - \mathbf{F}_{\text{int}}(\mathbf{u}_h) \end{align*}
In this case, the residual can be defined as follows, using the external load vector as input as well:
The tangential stiffness matrix is the matrix that follows from linearizing the linear stiffness matrix with respect to the deformations collected a discrete vector ( \(\mathbf{u}_h\)). Therefore, the tangential stiffness matrix is an object that takes the solution vector as an input. In the module, the tangential stiffness matrix has the following type:
When using the Structural Analysis module in practice, one can define the tangential stiffness matrix as a lambda function:
In the folder gsStructuralAnalysis/tutorials
, some tutorials are provided, explaining the use of the Structural Analysis Module module. These tutorials follow-up on the tutorials provided in the gsKLShell module, see Tutorials. The tutorials can be compiled using the target gsStructuralAnalysis-tutorials
. The available tutorials are:
Modules | |
Arc-length methods | |
Dynamic solvers | |
Eigenproblem solvers | |
Static solvers | |
Classes | |
class | gsALMBase< T > |
Performs the arc length method to solve a nonlinear system of equations. More... | |
class | gsContinuationBase< T > |
Base class for simple continuation schemes. More... | |
class | gsControlDisplacement< T > |
Simple class for displacement control given a static solver. More... | |
class | gsDynamicBase< T > |
Performs the arc length method to solve a nonlinear system of equations. More... | |
class | gsDynamicBathe< T, _NL > |
Performs the arc length method to solve a nonlinear system of equations. More... | |
class | gsDynamicExplicitEuler< T, _NL > |
Performs the arc length method to solve a nonlinear system of equations. More... | |
class | gsDynamicImplicitEuler< T, _NL > |
Performs the arc length method to solve a nonlinear system of equations. More... | |
class | gsDynamicNewmark< T, _NL > |
Performs the arc length method to solve a nonlinear system of equations. More... | |
class | gsDynamicRK4< T, _NL > |
Performs the arc length method to solve a nonlinear system of equations. More... | |
class | gsDynamicWilson< T, _NL > |
Performs the arc length method to solve a nonlinear system of equations. More... | |
class | gsDynamicXBraid< T > |
Performs the arc length method to solve a nonlinear system of equations. More... | |
class | gsEigenProblemBase< T > |
Base class for buckling and modal analyses. More... | |
class | gsStaticComposite< T > |
Static solver using a newton method. More... | |
class | gsStaticNewton< T > |
Static solver using a newton method. More... | |