template<
short_t d, class T, bool bending>
class gismo::gsThinShellAssembler< d, T, bending >
Assembles the system matrix and vectors for 2D and 3D shell problems, including geometric nonlinearities and loading nonlinearities. The material nonlinearities are handled by the gsMaterialMatrixIntegrate class. 
- Template Parameters
- 
  
    | d | The dimension (2 = planar, 3 = surface) |  | T | Real type |  | bending | True: Assemble bending terms; False: Do not assemble bending terms |  
 
|  | 
| ThinShellAssemblerStatus | assemble () | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | assemble (const gsFunctionSet< T > &deformed, const bool matrix=true, const bool homogenize=true) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | assemble (const gsMatrix< T > &solVector, const bool matrix=true, const bool homogenize=true) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | assembleFoundation () | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | assembleFoundationVector (const gsFunction< T > &foundFun, const gsFunctionSet< T > &deformed) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | assembleFoundationVector (const gsFunctionSet< T > &deformed) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | assembleMass (const bool lumped=false) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | assembleMatrix (const gsFunctionSet< T > &deformed) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | assembleMatrix (const gsFunctionSet< T > &deformed, const gsFunctionSet< T > &previous, gsMatrix< T > &update) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | assembleMatrix (const gsMatrix< T > &solVector) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | assembleMatrix (const gsMatrix< T > &solVector, const gsMatrix< T > &prevVector) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | assemblePressureMatrix (const gsFunction< T > &pressFun) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | assemblePressureMatrix (const gsFunction< T > &pressFun, const gsFunctionSet< T > &deformed) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | assemblePressureMatrix (const T pressure) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | assemblePressureMatrix (const T pressure, const gsFunctionSet< T > &deformed) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | assemblePressureVector (const gsFunction< T > &pressFun) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | assemblePressureVector (const gsFunction< T > &pressFun, const gsFunctionSet< T > &deformed) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | assemblePressureVector (const gsFunctionSet< T > &deformed) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | assemblePressureVector (const T pressure) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | assemblePressureVector (const T pressure, const gsFunctionSet< T > &deformed) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| gsExprAssembler< T > | assembler () | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | assembleVector (const gsFunctionSet< T > &deformed, const bool homogenize=true) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | assembleVector (const gsMatrix< T > &solVector, const bool homogenize=true) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| const gsMultiBasis< T > & | basis () const | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| gsMatrix< T > | boundaryForce (const gsFunctionSet< T > &deformed, const patchSide &ps) const | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| gsMatrix< T > | boundaryForce (const gsFunctionSet< T > &deformed, const std::vector< patchSide > &patchSides) const | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| gsMatrix< T > | computePrincipalStresses (const gsMatrix< T > &points, const gsFunctionSet< T > &deformed, const T z=0) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| gsMatrix< T > | computePrincipalStretches (const gsMatrix< T > &points, const gsFunctionSet< T > &deformed, const T z=0) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| gsMultiPatch< T > | constructDisplacement (const gsMatrix< T > &solVector) const | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| void | constructDisplacement (const gsMatrix< T > &solVector, gsMultiPatch< T > &deformed) const | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| gsMultiPatch< T > | constructMultiPatch (const gsMatrix< T > &solVector) const | 
|  | Construct solution field from computed solution vector solVector and returns a multipatch. 
 | 
|  | 
| gsMultiPatch< T > | constructSolution (const gsMatrix< T > &solVector) const | 
|  | Construct deformed shell geometry from computed solution vector solVector and returns a multipatch. 
 | 
|  | 
| void | constructSolution (const gsMatrix< T > &solVector, gsMultiPatch< T > &deformed) const | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| gsVector< T > | constructSolutionVector (const gsMultiPatch< T > &deformed) const | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| void | constructStress (const gsFunctionSet< T > &deformed, gsPiecewiseFunction< T > &result, stress_type::type type) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| void | constructStress (const gsFunctionSet< T > &original, const gsFunctionSet< T > &deformed, gsPiecewiseFunction< T > &result, stress_type::type type) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| T | deformationNorm (const gsMultiPatch< T > &deformed, const gsMultiPatch< T > &original) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| gsMatrix< T > | fullSolutionVector (const gsMatrix< T > &vector) const | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| const gsMultiPatch< T > & | geometry () const | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| T | getArea (const gsFunctionSet< T > &geometry) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| gsMultiBasis< T > & | getBasis () | 
|  | Gets the basis. 
 | 
|  | 
| T | getDisplacementNorm (const gsFunctionSet< T > &deformed) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| T | getElasticEnergy (const gsFunctionSet< T > &deformed) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| gsDofMapper | getMapper () | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| gsDofMapper | getMapper () const | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| const gsPointLoads< T > & | getPointLoads () | 
|  | Gets the registered point loads. 
 | 
|  | 
| const gsPointLoads< T > & | getPointMass () | 
|  | Gets the registered point masses. 
 | 
|  | 
| const gsFunctionSet< T > & | getSpaceBasis () | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
|  | gsThinShellAssembler () | 
|  | Constructor for te shell assembler. 
 | 
|  | 
|  | gsThinShellAssembler (const gsMultiPatch< T > &patches, const gsMultiBasis< T > &basis, const gsBoundaryConditions< T > &bconditions, const gsFunctionSet< T > &surface_force, const gsMaterialMatrixContainer< T > &materialmatrices) | 
|  | Constructor for the shell assembler. 
 | 
|  | 
|  | gsThinShellAssembler (const gsMultiPatch< T > &patches, const gsMultiBasis< T > &basis, const gsBoundaryConditions< T > &bconditions, const gsFunctionSet< T > &surface_force, gsMaterialMatrixBase< T > *materialmatrix) | 
|  | Constructor for the shell assembler. 
 | 
|  | 
|  | gsThinShellAssembler (const gsThinShellAssembler &other) | 
|  | Copy constructor (makes deep copy) 
 | 
|  | 
|  | gsThinShellAssembler (gsThinShellAssembler &&other) | 
|  | Move constructor. 
 | 
|  | 
| void | homogenizeDirichlet () | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| T | interfaceErrorC0 (const gsFunctionSet< T > &deformed) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| T | interfaceErrorG1 (const gsFunctionSet< T > &deformed) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| T | interfaceErrorGaussCurvature (const gsFunctionSet< T > &deformed) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| T | interfaceErrorMeanCurvature (const gsFunctionSet< T > &deformed) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| T | interfaceErrorNormal (const gsFunctionSet< T > &deformed) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| gsSparseMatrix< T > & | massMatrix () | 
|  | Returns a reference to the mass matrix that is assembled. 
 | 
|  | 
| gsMaterialMatrixBase< T > * | material (const index_t p) const | 
|  | Returns the material matrix on patch p used in the class. 
 | 
|  | 
| gsMaterialMatrixContainer< T > | materials () const | 
|  | Returns the material matrices used in the class. 
 | 
|  | 
| const gsSparseMatrix< T > & | matrix () const | 
|  | Returns a reference to the system matrix that is assembled. 
 | 
|  | 
| index_t | numDofs () const | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| gsThinShellAssembler & | operator= (const gsThinShellAssembler &other) | 
|  | Assignment operator. 
 | 
|  | 
| gsThinShellAssembler & | operator= (gsThinShellAssembler &&other) | 
|  | Move assignment operator. 
 | 
|  | 
| gsOptionList & | options () | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| void | plotSolution (std::string string, const gsMatrix< T > &solVector) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| gsMatrix< T > | projectL2 (const gsFunction< T > &fun) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| void | projectL2_into (const gsFunction< T > &fun, gsMatrix< T > &result) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| void | projectL2_into (const gsFunction< T > &fun, gsMultiPatch< T > &result) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| const gsMatrix< T > & | rhs () const | 
|  | Returns a reference to the right-hand side vector that is assembled. 
 | 
|  | 
| void | setBasis (const gsMultiBasis< T > &basis) | 
|  | Overwrites the basis. 
 | 
|  | 
| void | setFoundation (const gsFunction< T > &foundation) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| void | setOptions (gsOptionList &options) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| void | setPointLoads (const gsPointLoads< T > &pLoads) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| void | setPointMass (const gsPointLoads< T > &pMass) | 
|  | Registers a gsPointLoads object for a point mass acting on the shell. The point masss must be 1-dimensional. 
 | 
|  | 
| void | setPressure (const gsFunction< T > &pressure) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| void | setSpaceBasis (const gsFunctionSet< T > &spaceBasis) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| void | setUndeformed (const gsMultiPatch< T > &patches) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| ThinShellAssemblerStatus | status () const | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
| void | updateBCs (const gsBoundaryConditions< T > &bconditions) | 
|  | See gsThinShellAssemblerBase for details. 
 | 
|  | 
|  | 
| template<short_t _d, bool _bending> | 
| std::enable_if<(_d==3)&&_bending, ThinShellAssemblerStatus >::type | assemble_impl () | 
|  | Specialisation of assemble() for surfaces (3D) 
 | 
|  | 
| template<short_t _d, bool _bending> | 
| std::enable_if<!(_d==3 &&_bending), ThinShellAssemblerStatus >::type | assemble_impl () | 
|  | Specialisation of assemble() for planar geometries (2D) 
 | 
|  | 
| template<short_t _d, bool _bending> | 
| std::enable_if<!(_d==3 &&_bending), ThinShellAssemblerStatus >::type | assembleMatrix_impl (const gsFunctionSet< T > &, const gsFunctionSet< T > &, gsMatrix< T > &) | 
|  | Implementation of assembleMatrix for planar geometries (2D) 
 | 
|  | 
| template<short_t _d, bool _bending> | 
| std::enable_if<(_d==3)&&_bending, ThinShellAssemblerStatus >::type | assembleMatrix_impl (const gsFunctionSet< T > &deformed) | 
|  | Implementation of assembleMatrix for surfaces (3D) 
 | 
|  | 
| template<short_t _d, bool _bending> | 
| std::enable_if<!(_d==3 &&_bending), ThinShellAssemblerStatus >::type | assembleMatrix_impl (const gsFunctionSet< T > &deformed) | 
|  | Implementation of assembleMatrix for planar geometries (2D) 
 | 
|  | 
| template<short_t _d, bool _bending> | 
| std::enable_if<(_d==3)&&_bending, ThinShellAssemblerStatus >::type | assembleMatrix_impl (const gsFunctionSet< T > &deformed, const gsFunctionSet< T > &previous, gsMatrix< T > &update) | 
|  | Implementation of assembleMatrix for surfaces (3D) 
 | 
|  | 
| template<short_t _d, bool _bending> | 
| std::enable_if<(_d==3)&&_bending, ThinShellAssemblerStatus >::type | assembleVector_impl (const gsFunctionSet< T > &deformed, const bool homogenize) | 
|  | Implementation of assembleVector for surfaces (3D) 
 | 
|  | 
| template<short_t _d, bool _bending> | 
| std::enable_if<!(_d==3 &&_bending), ThinShellAssemblerStatus >::type | assembleVector_impl (const gsFunctionSet< T > &deformed, const bool homogenize) | 
|  | Implementation of assembleVector for planar geometries (2D) 
 | 
|  | 
| template<short_t _d, bool _bending> | 
| std::enable_if<(_d==3)&&_bending, gsMatrix< T > >::type | boundaryForce_impl (const gsFunctionSet< T > &deformed, const std::vector< patchSide > &patchSides) const | 
|  | Implementation of the boundary force vector for surfaces (3D) 
 | 
|  | 
| template<short_t _d, bool _bending> | 
| std::enable_if<!(_d==3 &&_bending), gsMatrix< T > >::type | boundaryForce_impl (const gsFunctionSet< T > &deformed, const std::vector< patchSide > &patchSides) const | 
|  | Implementation of the boundary force vector for planar geometries (2D) 
 | 
|  |