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)
|
|