Module for the isogeometric Kirchhoff-Love shell element. The module is based on gismo
's Expression Assembler gsExprAssembler
.
CMake flags | -DGISMO_OPTIONAL="<other submodules>;gsKLShell" |
---|---|
License | MPL 2.0 |
OS support | Linux, Windows, macOS |
Build status | |
Repository | gismo/gismo |
Developer | Hugo Verhelst |
Maintainer | [email protected] |
No dependencies
cd path/to/build/dir
cmake . -DGISMO_OPTIONAL="<other submodules>;gsKLShell"
make
gsThinShellAssembler
- Linear and Non-Linear kinematics
- Follower pressures and elastic foundation stiffness
- Supports B-spline, NURBS, H-Spline and THB-Spline bases
- Membrane or shell elements via template parameters
gsThinShellAssemblerDWR
- Error estimation via the Dual-Weighted Residual method
gsMaterialMatrixBase
and derivatives
- Linear materials via Saint-Venant Kirchhoff model
- (In)Compressible non-linear materials: Neo-Hookean, Mooney-Rivlin and Ogden materials.
- Direct implementation for other material models possible
- Generalized formulations given the derivatives of the Strain Energy Density Function w.r.t components of the deformation tensor possible
- Stretch-based implementations given the derivatives of the Strain Energy Density Function w.r.t. the stretches
- Material and compressibility flags via template parameters
The gsKLShell
module consists of the classes
gsThinShellAssembler
: class that resolves the kinematics of the Kirchhoff-Love shellsgsThinShellAssemblerDWR
: same as the above, but contains extra functions for the Dual Weighted Residual (DWR) methodgsMaterialMatrixLinear
: class that handles the linear constitutive relations of the shells.gsMaterialMatrixNonlinear
: class that handles the non-linear constitutive relations of the shells.gsMaterialMatrixComposite
: class that handles constitutive relations for linear composites.gsMaterialMatrixTFT
: class that handles tension-field-theory-based constitutive models for membranes.
See the doxygen manuals for more information about the classes. (to do: add link)
To use the gsKLShell
module, one should always define a gsMaterialMatrixBase
and a gsThinShellAssembler
. The gsMaterialMatrixBase
object is used to compute the constitutive relations in the gsThinShellAssembler
and should therefore be defined upon initialisation of this class.
Additionally, the geometry and the deformed geometry (both gsMultiPatch
) together with a basis (gsMultiBasis
) and the boundary conditions (gsBoundaryConditions
) and a surface force (gsFunctionExpression
) should be provided in the definition of the class.
The template parameters of the class are the dimension of the geometry (dim
) which is 2D (planar) or 3D (surface) and a flag for the computation of bending stiffness term (bending
) which is only relevant if dim==3
. Other options that can be set are follower pressures (setPressure
), elastic foundation stiffness (setFoundation
) and point loads (setPointLoads
).