G+Smo  23.12.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gsMaterialMatrixBase< T > Class Template Reference

Detailed Description

template<class T>
class gismo::gsMaterialMatrixBase< T >

This class defines the base class for material matrices.

Template Parameters
TReal type
+ Inheritance diagram for gsMaterialMatrixBase< T >:
+ Collaboration diagram for gsMaterialMatrixBase< T >:

Public Types

typedef memory::shared_ptr
< gsMaterialMatrixBase
Ptr
 Shared pointer for gsGeometry.
 
typedef memory::unique_ptr
< gsMaterialMatrixBase
uPtr
 Unique pointer for gsGeometry.
 

Public Member Functions

virtual void defaultOptions ()
 Returns the options. More...
 
virtual void density_into (const index_t patch, const gsMatrix< T > &u, gsMatrix< T > &result) const
 Evaluates the density multiplied by the thickness of the shell (scalar) More...
 
virtual gsMatrix< T > eval3D_CauchyStress (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out) const
 { function_description } More...
 
virtual gsMatrix< T > eval3D_CauchyVector (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out) const
 Evaluates the Cauchy Stress vector on patch on in-plane points u with height z. More...
 
virtual gsMatrix< T > eval3D_con2cart (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const
 Provides the transformation from the contravariant basis to the local cartesian basis. More...
 
virtual gsMatrix< T > eval3D_cov2cart (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const
 Provides the transformation from the covariant basis to the local cartesian basis. More...
 
virtual gsMatrix< T > eval3D_deformation (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const
 Evaluates deformation tensor on patch on in-plane points u with height z. More...
 
virtual gsMatrix< T > eval3D_detF (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out) const
 { function_description } More...
 
virtual gsMatrix< T > eval3D_dmatrix (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out) const
 Evaluates the derivative of the matrix on patch on in-plane points u with height z. More...
 
virtual gsMatrix< T > eval3D_matrix (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out) const
 Evaluates the matrix on patch on in-plane points u with height z. More...
 
virtual gsMatrix< T > eval3D_pstrain (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const
 Evaluates the principal strain on patch on in-plane points u with height z. More...
 
virtual gsMatrix< T > eval3D_pstress (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out) const
 Evaluates the principal stress on patch on in-plane points u with height z. More...
 
virtual gsMatrix< T > eval3D_pstressDir (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out) const
 Evaluates the principal stress directions on patch on in-plane points u with height z. More...
 
virtual gsMatrix< T > eval3D_pstressTransform (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const
 Provides the transformation of the principle stresses. More...
 
virtual gsMatrix< T > eval3D_pstretch (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const
 Evaluates the principal stretch on patch on in-plane points u with height z. More...
 
virtual gsMatrix< T > eval3D_pstretchDir (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const
 Evaluates the principal stretch directions on patch on in-plane points u with height z. More...
 
virtual gsMatrix< T > eval3D_pstretchTransform (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const
 Provides the transformation of the principle stretches. More...
 
virtual gsMatrix< T > eval3D_spec2con (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const
 Provides the transformation from the spectral basis to the contravariant basis. More...
 
virtual gsMatrix< T > eval3D_spec2cov (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const
 Provides the transformation from the spectral basis to the covariant basis. More...
 
virtual gsMatrix< T > eval3D_strain (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const
 { function_description } More...
 
virtual gsMatrix< T > eval3D_stress (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out) const
 { function_description } More...
 
virtual gsMatrix< T > eval3D_tensionfield (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out) const
 to do More...
 
virtual gsMatrix< T > eval3D_vector (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out) const
 Evaluates the vector on patch on in-plane points u with height z. More...
 
virtual const function_ptr getDensity () const
 Gets the Density.
 
virtual const function_ptr getParameter (const index_t i) const
 Gets parameter i. More...
 
virtual const function_ptr getThickness () const
 Gets the Density.
 
 gsMaterialMatrixBase (const gsMaterialMatrixBase< T > &other)
 Copy constructor (makes deep copy)
 
 gsMaterialMatrixBase (gsMaterialMatrixBase< T > &&other)
 Move constructor.
 
virtual bool hasDensity () const
 Returns true if a density is assigned.
 
virtual bool hasThickness () const
 Returns true if a thickness is assigned.
 
virtual void info () const
 Prints info.
 
virtual enum MatIntegration isMatIntegrated () const
 Specifies how the matrix is integrated. More...
 
virtual enum MatIntegration isVecIntegrated () const
 Specifies how the vector is integrated. More...
 
virtual const
gsMaterialMatrixBase< T > * 
material () const
 Returns this.
 
virtual gsMaterialMatrixBase< T > * material ()
 Returns this.
 
virtual index_t numParameters () const
 Gets the number of parameters.
 
virtual gsOptionListoptions ()
 Returns the options. More...
 
virtual void parameters_into (const index_t patch, const gsMatrix< T > &u, gsMatrix< T > &result) const
 Evaluates the parameters of the shell. More...
 
virtual std::ostream & print (std::ostream &os) const
 Prints the object as a string.
 
virtual void pstress_into (const index_t patch, const gsMatrix< T > &u, gsMatrix< T > &result) const
 Evaluates the priciple stresses in the shell (3x1 vector) More...
 
virtual void pstressDir_into (const index_t patch, const gsMatrix< T > &u, gsMatrix< T > &result) const
 Evaluates the directions of the priciple stresses in the shell (3x1 vector per direction) More...
 
virtual void pstretch_into (const index_t patch, const gsMatrix< T > &u, gsMatrix< T > &result) const
 Evaluates the stretches in the shell (3x1 vector) More...
 
virtual void pstretchDir_into (const index_t patch, const gsMatrix< T > &u, gsMatrix< T > &result) const
 Evaluates the directions of the stretches in the shell (3x1 vector per direction) More...
 
virtual void resetParameters ()
 See gsMaterialMatrixBase for details.
 
virtual void setDensity (function_ptr Density)
 Sets the density.
 
virtual void setDensity (const gsFunctionSet< T > &Density)
 Sets the density.
 
virtual void setOptions (gsOptionList opt)
 Sets the options. More...
 
virtual void setParameter (const index_t i, const function_ptr &par)
 Sets the material parameters. More...
 
virtual void setParameter (const index_t i, const gsFunctionSet< T > &par)
 Sets the material parameters. More...
 
virtual void setParameters (const std::vector< function_ptr > &pars)
 Sets the material parameters. More...
 
virtual void setParameters (const std::vector< gsFunctionSet< T > * > &pars)
 Sets the material parameters. More...
 
virtual void setThickness (const function_ptr &thickness)
 Sets the thickness.
 
virtual void setThickness (const gsFunctionSet< T > &thickness)
 Sets the thickness.
 
virtual void thickness_into (const index_t patch, const gsMatrix< T > &u, gsMatrix< T > &result) const
 Evaluates the thickness of the shell (scalar) More...
 
virtual void transform_into (const index_t patch, const gsMatrix< T > &u, gsMatrix< T > &result) const
 Constructs a transformation matrix that transforms a quantity (IN VOIGHT NOTATION) in the spectral basis to the (undeformed) convariant basis. More...
 
virtual ~gsMaterialMatrixBase ()
 Destructor.
 

Member Function Documentation

virtual void defaultOptions ( )
inlinevirtual
virtual void density_into ( const index_t  patch,
const gsMatrix< T > &  u,
gsMatrix< T > &  result 
) const
inlinevirtual

Evaluates the density multiplied by the thickness of the shell (scalar)

Parameters
[in]patchThe patch to be evaluated on
[in]uThe in-plane shell coordinates to be eveluated on
resultThe result

Reimplemented in gsMaterialMatrixTFT< dim, T, linear >, gsMaterialMatrixTFT< 2, T >, gsMaterialMatrixBaseDim< dim, T >, and gsMaterialMatrixComposite< dim, T >.

virtual gsMatrix<T> eval3D_CauchyStress ( const index_t  patch,
const gsMatrix< T > &  u,
const gsMatrix< T > &  z,
enum MaterialOutput  out 
) const
inlinevirtual

{ function_description }

Parameters
[in]patchThe patch
[in]u{ parameter_description }
[in]z{ parameter_description }
[in]outThe out
Returns
{ description_of_the_return_value }

Reimplemented in gsMaterialMatrixLinear< dim, T >, gsMaterialMatrixNonlinear< dim, T, matId, comp, mat, imp >, gsMaterialMatrixTFT< dim, T, linear >, and gsMaterialMatrixTFT< 2, T >.

virtual gsMatrix<T> eval3D_CauchyVector ( const index_t  patch,
const gsMatrix< T > &  u,
const gsMatrix< T > &  z,
enum MaterialOutput  out 
) const
inlinevirtual

Evaluates the Cauchy Stress vector on patch on in-plane points u with height z.

note: the Cauchy stress vector is returned in the actual basis

Parameters
[in]patchThe patch
[in]uThe in-plane shell coordinates to be eveluated on
[in]zThe point through-thickness coorinate
[in]out(for classes with MatIntegration==Integrated, more details about MaterialOutput can be found in gsMaterialMatrixUtils)
Returns
Matrix with the result (vector) ordered per z coordinate per point [(u1,z1) (u2,z1) .. (un,z1), (u1,z2) .. (un,z2), .., (u1,zm) .. (un,zm)]

Reimplemented in gsMaterialMatrixLinear< dim, T >, and gsMaterialMatrixNonlinear< dim, T, matId, comp, mat, imp >.

virtual gsMatrix<T> eval3D_con2cart ( const index_t  patch,
const gsMatrix< T > &  u,
const gsMatrix< T > &  z 
) const
inlinevirtual

Provides the transformation from the contravariant basis to the local cartesian basis.

Parameters
[in]patchThe patch to be evaluated on
[in]uThe in-plane shell coordinates to be eveluated on
[in]zThe point through-thickness coorinate
Returns
Matrix with the result (deformation tensor) ordered per z coordinate per point [(u1,z1) (u2,z1) .. (un,z1), (u1,z2) .. (un,z2), .., (u1,zm) .. (un,zm)]

Reimplemented in gsMaterialMatrixBaseDim< dim, T >.

virtual gsMatrix<T> eval3D_cov2cart ( const index_t  patch,
const gsMatrix< T > &  u,
const gsMatrix< T > &  z 
) const
inlinevirtual

Provides the transformation from the covariant basis to the local cartesian basis.

Parameters
[in]patchThe patch to be evaluated on
[in]uThe in-plane shell coordinates to be eveluated on
[in]zThe point through-thickness coorinate
resultThe result
Returns
Matrix with the result (deformation tensor) ordered per z coordinate per point [(u1,z1) (u2,z1) .. (un,z1), (u1,z2) .. (un,z2), .., (u1,zm) .. (un,zm)]

Reimplemented in gsMaterialMatrixBaseDim< dim, T >.

virtual gsMatrix<T> eval3D_deformation ( const index_t  patch,
const gsMatrix< T > &  u,
const gsMatrix< T > &  z 
) const
inlinevirtual

Evaluates deformation tensor on patch on in-plane points u with height z.

Parameters
[in]patchThe patch
[in]uThe in-plane shell coordinates to be eveluated on
[in]zThe point through-thickness coorinate
[in]out(for classes with MatIntegration==Integrated, more details about MaterialOutput can be found in gsMaterialMatrixUtils)
Returns
Matrix with the result (deformation tensor) ordered per z coordinate per point [(u1,z1) (u2,z1) .. (un,z1), (u1,z2) .. (un,z2), .., (u1,zm) .. (un,zm)]

Reimplemented in gsMaterialMatrixBaseDim< dim, T >.

virtual gsMatrix<T> eval3D_detF ( const index_t  patch,
const gsMatrix< T > &  u,
const gsMatrix< T > &  z,
enum MaterialOutput  out 
) const
inlinevirtual

{ function_description }

Parameters
[in]patchThe patch
[in]u{ parameter_description }
[in]z{ parameter_description }
[in]outThe out
Returns
{ description_of_the_return_value }

Reimplemented in gsMaterialMatrixLinear< dim, T >, and gsMaterialMatrixNonlinear< dim, T, matId, comp, mat, imp >.

virtual gsMatrix<T> eval3D_dmatrix ( const index_t  patch,
const gsMatrix< T > &  u,
const gsMatrix< T > &  z,
enum MaterialOutput  out 
) const
inlinevirtual

Evaluates the derivative of the matrix on patch on in-plane points u with height z.

Parameters
[in]patchThe patch
[in]uThe in-plane shell coordinates to be eveluated on
[in]zThe point through-thickness coorinate
[in]out(for classes with MatIntegration==Integrated, more details about MaterialOutput can be found in gsMaterialMatrixUtils)
Returns
Matrix with the result (matrix) ordered per z coordinate per point [(u1,z1) (u2,z1) .. (un,z1), (u1,z2) .. (un,z2), .., (u1,zm) .. (un,zm)] every column has 9*3=27 entries. To obtain the derivatives of C, one can do the following

dC = eval.reshapeCol(k,9,3); dCd11 = dC.reshapeCol(0,3,3); dCd22 = dC.reshapeCol(1,3,3); dCd11 = dC.reshapeCol(2,3,3);

Reimplemented in gsMaterialMatrixLinear< dim, T >, and gsMaterialMatrixNonlinear< dim, T, matId, comp, mat, imp >.

virtual gsMatrix<T> eval3D_matrix ( const index_t  patch,
const gsMatrix< T > &  u,
const gsMatrix< T > &  z,
enum MaterialOutput  out 
) const
inlinevirtual

Evaluates the matrix on patch on in-plane points u with height z.

Parameters
[in]patchThe patch
[in]uThe in-plane shell coordinates to be eveluated on
[in]zThe point through-thickness coorinate
[in]out(for classes with MatIntegration==Integrated, more details about MaterialOutput can be found in gsMaterialMatrixUtils)
Returns
Matrix with the result (matrix) ordered per z coordinate per point [(u1,z1) (u2,z1) .. (un,z1), (u1,z2) .. (un,z2), .., (u1,zm) .. (un,zm)]

Reimplemented in gsMaterialMatrixLinear< dim, T >, gsMaterialMatrixNonlinear< dim, T, matId, comp, mat, imp >, gsMaterialMatrixTFT< dim, T, linear >, gsMaterialMatrixTFT< 2, T >, and gsMaterialMatrixComposite< dim, T >.

virtual gsMatrix<T> eval3D_pstrain ( const index_t  patch,
const gsMatrix< T > &  u,
const gsMatrix< T > &  z 
) const
inlinevirtual

Evaluates the principal strain on patch on in-plane points u with height z.

Parameters
[in]patchThe patch
[in]uThe in-plane shell coordinates to be eveluated on
[in]zThe point through-thickness coorinate
[in]out(for classes with MatIntegration==Integrated, more details about MaterialOutput can be found in gsMaterialMatrixUtils)
Returns
Matrix with the result (principal strain) ordered per z coordinate per point [(u1,z1) (u2,z1) .. (un,z1), (u1,z2) .. (un,z2), .., (u1,zm) .. (un,zm)]

Reimplemented in gsMaterialMatrixTFT< dim, T, linear >, gsMaterialMatrixTFT< 2, T >, and gsMaterialMatrixBaseDim< dim, T >.

virtual gsMatrix<T> eval3D_pstress ( const index_t  patch,
const gsMatrix< T > &  u,
const gsMatrix< T > &  z,
enum MaterialOutput  out 
) const
inlinevirtual

Evaluates the principal stress on patch on in-plane points u with height z.

Parameters
[in]patchThe patch
[in]uThe in-plane shell coordinates to be eveluated on
[in]zThe point through-thickness coorinate
[in]out(for classes with MatIntegration==Integrated, more details about MaterialOutput can be found in gsMaterialMatrixUtils)
Returns
Matrix with the result (principal stress) ordered per z coordinate per point [(u1,z1) (u2,z1) .. (un,z1), (u1,z2) .. (un,z2), .., (u1,zm) .. (un,zm)]

Reimplemented in gsMaterialMatrixLinear< dim, T >, gsMaterialMatrixNonlinear< dim, T, matId, comp, mat, imp >, gsMaterialMatrixTFT< dim, T, linear >, and gsMaterialMatrixTFT< 2, T >.

virtual gsMatrix<T> eval3D_pstressDir ( const index_t  patch,
const gsMatrix< T > &  u,
const gsMatrix< T > &  z,
enum MaterialOutput  out 
) const
inlinevirtual

Evaluates the principal stress directions on patch on in-plane points u with height z.

Parameters
[in]patchThe patch
[in]uThe in-plane shell coordinates to be eveluated on
[in]zThe point through-thickness coorinate
[in]out(for classes with MatIntegration==Integrated, more details about MaterialOutput can be found in gsMaterialMatrixUtils)
Returns
Matrix with the result (principal stress directions) ordered per z coordinate per point [(u1,z1) (u2,z1) .. (un,z1), (u1,z2) .. (un,z2), .., (u1,zm) .. (un,zm)]

Reimplemented in gsMaterialMatrixLinear< dim, T >, and gsMaterialMatrixNonlinear< dim, T, matId, comp, mat, imp >.

virtual gsMatrix<T> eval3D_pstressTransform ( const index_t  patch,
const gsMatrix< T > &  u,
const gsMatrix< T > &  z 
) const
inlinevirtual

Provides the transformation of the principle stresses.

Parameters
[in]patchThe patch to be evaluated on
[in]uThe in-plane shell coordinates to be eveluated on
[in]zThe point through-thickness coorinate
Returns
Matrix with the result (deformation tensor) ordered per z coordinate per point [(u1,z1) (u2,z1) .. (un,z1), (u1,z2) .. (un,z2), .., (u1,zm) .. (un,zm)]
virtual gsMatrix<T> eval3D_pstretch ( const index_t  patch,
const gsMatrix< T > &  u,
const gsMatrix< T > &  z 
) const
inlinevirtual

Evaluates the principal stretch on patch on in-plane points u with height z.

Parameters
[in]patchThe patch
[in]uThe in-plane shell coordinates to be eveluated on
[in]zThe point through-thickness coorinate
[in]out(for classes with MatIntegration==Integrated, more details about MaterialOutput can be found in gsMaterialMatrixUtils)
Returns
Matrix with the result (principal stretch) ordered per z coordinate per point [(u1,z1) (u2,z1) .. (un,z1), (u1,z2) .. (un,z2), .., (u1,zm) .. (un,zm)]

Reimplemented in gsMaterialMatrixTFT< dim, T, linear >, gsMaterialMatrixTFT< 2, T >, and gsMaterialMatrixBaseDim< dim, T >.

virtual gsMatrix<T> eval3D_pstretchDir ( const index_t  patch,
const gsMatrix< T > &  u,
const gsMatrix< T > &  z 
) const
inlinevirtual

Evaluates the principal stretch directions on patch on in-plane points u with height z.

Parameters
[in]patchThe patch
[in]uThe in-plane shell coordinates to be eveluated on
[in]zThe point through-thickness coorinate
[in]out(for classes with MatIntegration==Integrated, more details about MaterialOutput can be found in gsMaterialMatrixUtils)
Returns
Matrix with the result (principal stretch directions) ordered per z coordinate per point [(u1,z1) (u2,z1) .. (un,z1), (u1,z2) .. (un,z2), .., (u1,zm) .. (un,zm)]

Reimplemented in gsMaterialMatrixTFT< dim, T, linear >, gsMaterialMatrixTFT< 2, T >, and gsMaterialMatrixBaseDim< dim, T >.

virtual gsMatrix<T> eval3D_pstretchTransform ( const index_t  patch,
const gsMatrix< T > &  u,
const gsMatrix< T > &  z 
) const
inlinevirtual

Provides the transformation of the principle stretches.

Parameters
[in]patchThe patch to be evaluated on
[in]uThe in-plane shell coordinates to be eveluated on
[in]zThe point through-thickness coorinate
Returns
Matrix with the result (deformation tensor) ordered per z coordinate per point [(u1,z1) (u2,z1) .. (un,z1), (u1,z2) .. (un,z2), .., (u1,zm) .. (un,zm)]
virtual gsMatrix<T> eval3D_spec2con ( const index_t  patch,
const gsMatrix< T > &  u,
const gsMatrix< T > &  z 
) const
inlinevirtual

Provides the transformation from the spectral basis to the contravariant basis.

Parameters
[in]patchThe patch to be evaluated on
[in]uThe in-plane shell coordinates to be eveluated on
[in]zThe point through-thickness coorinate
Returns
Matrix with the result (deformation tensor) ordered per z coordinate per point [(u1,z1) (u2,z1) .. (un,z1), (u1,z2) .. (un,z2), .., (u1,zm) .. (un,zm)]

Reimplemented in gsMaterialMatrixBaseDim< dim, T >.

virtual gsMatrix<T> eval3D_spec2cov ( const index_t  patch,
const gsMatrix< T > &  u,
const gsMatrix< T > &  z 
) const
inlinevirtual

Provides the transformation from the spectral basis to the covariant basis.

Parameters
[in]patchThe patch to be evaluated on
[in]uThe in-plane shell coordinates to be eveluated on
[in]zThe point through-thickness coorinate
resultThe result
Returns
Matrix with the result (deformation tensor) ordered per z coordinate per point [(u1,z1) (u2,z1) .. (un,z1), (u1,z2) .. (un,z2), .., (u1,zm) .. (un,zm)]

Reimplemented in gsMaterialMatrixBaseDim< dim, T >.

virtual gsMatrix<T> eval3D_strain ( const index_t  patch,
const gsMatrix< T > &  u,
const gsMatrix< T > &  z 
) const
inlinevirtual

{ function_description }

Parameters
[in]patchThe patch
[in]u{ parameter_description }
[in]z{ parameter_description }
[in]outThe out
Returns
{ description_of_the_return_value }

Reimplemented in gsMaterialMatrixTFT< dim, T, linear >, gsMaterialMatrixTFT< 2, T >, and gsMaterialMatrixBaseDim< dim, T >.

virtual gsMatrix<T> eval3D_stress ( const index_t  patch,
const gsMatrix< T > &  u,
const gsMatrix< T > &  z,
enum MaterialOutput  out 
) const
inlinevirtual

{ function_description }

Parameters
[in]patchThe patch
[in]u{ parameter_description }
[in]z{ parameter_description }
[in]outThe out
Returns
{ description_of_the_return_value }

Reimplemented in gsMaterialMatrixLinear< dim, T >, gsMaterialMatrixNonlinear< dim, T, matId, comp, mat, imp >, gsMaterialMatrixTFT< dim, T, linear >, and gsMaterialMatrixTFT< 2, T >.

virtual gsMatrix<T> eval3D_tensionfield ( const index_t  patch,
const gsMatrix< T > &  u,
const gsMatrix< T > &  z,
enum MaterialOutput  out 
) const
inlinevirtual

to do

Parameters
[in]patchThe patch
[in]uThe in-plane shell coordinates to be eveluated on
[in]zThe point through-thickness coorinate
[in]out(for classes with MatIntegration==Integrated, more details about MaterialOutput can be found in gsMaterialMatrixUtils)
Returns
Matrix with the result (principal strain) ordered per z coordinate per point [(u1,z1) (u2,z1) .. (un,z1), (u1,z2) .. (un,z2), .., (u1,zm) .. (un,zm)]

Reimplemented in gsMaterialMatrixTFT< dim, T, linear >, gsMaterialMatrixTFT< 2, T >, and gsMaterialMatrixBaseDim< dim, T >.

virtual gsMatrix<T> eval3D_vector ( const index_t  patch,
const gsMatrix< T > &  u,
const gsMatrix< T > &  z,
enum MaterialOutput  out 
) const
inlinevirtual

Evaluates the vector on patch on in-plane points u with height z.

Parameters
[in]patchThe patch
[in]uThe in-plane shell coordinates to be eveluated on
[in]zThe point through-thickness coorinate
[in]out(for classes with MatIntegration==Integrated, more details about MaterialOutput can be found in gsMaterialMatrixUtils)
Returns
Matrix with the result (vector) ordered per z coordinate per point [(u1,z1) (u2,z1) .. (un,z1), (u1,z2) .. (un,z2), .., (u1,zm) .. (un,zm)]

Reimplemented in gsMaterialMatrixLinear< dim, T >, gsMaterialMatrixNonlinear< dim, T, matId, comp, mat, imp >, gsMaterialMatrixTFT< dim, T, linear >, gsMaterialMatrixTFT< 2, T >, and gsMaterialMatrixComposite< dim, T >.

virtual const function_ptr getParameter ( const index_t  i) const
inlinevirtual

Gets parameter i.

Parameters
[in]iThe parameter index
Returns
The parameter.
virtual enum MatIntegration isMatIntegrated ( ) const
inlinevirtual

Specifies how the matrix is integrated.

Possible options to specify the integration of the matrix (see enum MatIntegration)

  • NotIntegrated The matrix is not integrated, hence the values of eval3D_matrix provide the through-thickness value for each z coordinate
  • Integrated The matrix is already integrated; the integrated values are returned for any z coordinate
  • Constant The matrix is constant over the thickness, but not yet integrated
  • Linear The matrix is linearly dependent of the thickness value, say a*z+b, hence the 0th moment w.r.t. z is a*t, the 1st moment is 1/2*b*t^2, etc.
Returns
Return MatIntegration enumeration

Reimplemented in gsMaterialMatrixLinear< dim, T >, gsMaterialMatrixNonlinear< dim, T, matId, comp, mat, imp >, gsMaterialMatrixTFT< dim, T, linear >, gsMaterialMatrixTFT< 2, T >, and gsMaterialMatrixComposite< dim, T >.

virtual enum MatIntegration isVecIntegrated ( ) const
inlinevirtual

Specifies how the vector is integrated.

Possible options to specify the integration of the vector (see enum MatIntegration)

  • NotIntegrated The vector is not integrated, hence the values of eval3D_matrix provide the through-thickness value for each z coordinate
  • Integrated The vector is already integrated; the integrated values are returned for any z coordinate
  • Constant The vector is constant over the thickness, but not yet integrated
  • Linear The vector is linearly dependent of the thickness value, say a*z+b, hence the 0th moment w.r.t. z is a*t, the 1st moment is 1/2*b*t^2, etc.
Returns
Return MatIntegration enumeration

Reimplemented in gsMaterialMatrixLinear< dim, T >, gsMaterialMatrixNonlinear< dim, T, matId, comp, mat, imp >, gsMaterialMatrixTFT< dim, T, linear >, gsMaterialMatrixTFT< 2, T >, and gsMaterialMatrixComposite< dim, T >.

virtual gsOptionList& options ( )
inlinevirtual

Returns the options.

Returns
gsOptionList

Reimplemented in gsMaterialMatrixComposite< dim, T >.

virtual void parameters_into ( const index_t  patch,
const gsMatrix< T > &  u,
gsMatrix< T > &  result 
) const
inlinevirtual

Evaluates the parameters of the shell.

Parameters
[in]patchThe patch to be evaluated on
[in]uThe in-plane shell coordinates to be eveluated on
resultThe result

Reimplemented in gsMaterialMatrixBaseDim< dim, T >, and gsMaterialMatrixComposite< dim, T >.

virtual void pstress_into ( const index_t  patch,
const gsMatrix< T > &  u,
gsMatrix< T > &  result 
) const
inlinevirtual

Evaluates the priciple stresses in the shell (3x1 vector)

Parameters
[in]patchThe patch to be evaluated on
[in]uThe in-plane shell coordinates to be eveluated on
resultThe result

Reimplemented in gsMaterialMatrixComposite< dim, T >.

virtual void pstressDir_into ( const index_t  patch,
const gsMatrix< T > &  u,
gsMatrix< T > &  result 
) const
inlinevirtual

Evaluates the directions of the priciple stresses in the shell (3x1 vector per direction)

Parameters
[in]patchThe patch to be evaluated on
[in]uThe in-plane shell coordinates to be eveluated on
resultThe result

Reimplemented in gsMaterialMatrixComposite< dim, T >.

virtual void pstretch_into ( const index_t  patch,
const gsMatrix< T > &  u,
gsMatrix< T > &  result 
) const
inlinevirtual

Evaluates the stretches in the shell (3x1 vector)

Parameters
[in]patchThe patch to be evaluated on
[in]uThe in-plane shell coordinates to be eveluated on
resultThe result

Reimplemented in gsMaterialMatrixNonlinear< dim, T, matId, comp, mat, imp >, and gsMaterialMatrixComposite< dim, T >.

virtual void pstretchDir_into ( const index_t  patch,
const gsMatrix< T > &  u,
gsMatrix< T > &  result 
) const
inlinevirtual

Evaluates the directions of the stretches in the shell (3x1 vector per direction)

Parameters
[in]patchThe patch to be evaluated on
[in]uThe in-plane shell coordinates to be eveluated on
resultThe result

Reimplemented in gsMaterialMatrixNonlinear< dim, T, matId, comp, mat, imp >, and gsMaterialMatrixComposite< dim, T >.

virtual void setOptions ( gsOptionList  opt)
inlinevirtual

Sets the options.

Parameters
[in]optgsOptionList

Reimplemented in gsMaterialMatrixComposite< dim, T >.

virtual void setParameter ( const index_t  i,
const function_ptr &  par 
)
inlinevirtual

Sets the material parameters.

Parameters
[in]parsFunction pointers for the parameters in a container
virtual void setParameter ( const index_t  i,
const gsFunctionSet< T > &  par 
)
inlinevirtual

Sets the material parameters.

Parameters
[in]parsFunction pointers for the parameters in a container
virtual void setParameters ( const std::vector< function_ptr > &  pars)
inlinevirtual

Sets the material parameters.

Parameters
[in]parsFunction pointers for the parameters in a container
virtual void setParameters ( const std::vector< gsFunctionSet< T > * > &  pars)
inlinevirtual

Sets the material parameters.

Parameters
[in]parsFunction pointers for the parameters in a container

Reimplemented in gsMaterialMatrixTFT< dim, T, linear >, and gsMaterialMatrixTFT< 2, T >.

virtual void thickness_into ( const index_t  patch,
const gsMatrix< T > &  u,
gsMatrix< T > &  result 
) const
inlinevirtual

Evaluates the thickness of the shell (scalar)

Parameters
[in]patchThe patch to be evaluated on
[in]uThe in-plane shell coordinates to be eveluated on
resultThe result

Reimplemented in gsMaterialMatrixTFT< dim, T, linear >, gsMaterialMatrixTFT< 2, T >, gsMaterialMatrixBaseDim< dim, T >, and gsMaterialMatrixComposite< dim, T >.

virtual void transform_into ( const index_t  patch,
const gsMatrix< T > &  u,
gsMatrix< T > &  result 
) const
inlinevirtual

Constructs a transformation matrix that transforms a quantity (IN VOIGHT NOTATION) in the spectral basis to the (undeformed) convariant basis.

Parameters
[in]patchThe patch to be evaluated on
[in]uThe in-plane shell coordinates to be eveluated on
resultThe result

Reimplemented in gsMaterialMatrixComposite< dim, T >.