SkillAgentSearch skills...

GsKLShell

Module for Kirchhoff-Love shells inside G+Smo. The implementation includes geometric, material and loading non-linearities, as well as multi-patch implementations.

Install / Use

/learn @gismo/GsKLShell
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

GitHub commits since latest release GitHub commit activity

gsKLShell

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|GitHub License| |DOI|DOI| |OS support|Linux, Windows, macOS| |Build status|ci| |Developers/maintainers| Static Badge Static Badge|

Dependencies

No dependencies

Installation

cd path/to/build/dir
cmake . -DGISMO_OPTIONAL="<other submodules>;gsKLShell"
make

Overview of the gsKLShell module

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

Use of the gsKLShell module

The gsKLShell module consists of the classes

  • gsThinShellAssembler: class that resolves the kinematics of the Kirchhoff-Love shells
  • gsThinShellAssemblerDWR: same as the above, but contains extra functions for the Dual Weighted Residual (DWR) method
  • gsMaterialMatrixLinear: 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).

View on GitHub
GitHub Stars10
CategoryDevelopment
Updated1mo ago
Forks4

Languages

C++

Security Score

90/100

Audited on Mar 3, 2026

No findings