G+Smo
24.08.0
Geometry + Simulation Modules
|
This class defines hyperelastic material matrices.
dim | The dimension of the problem (2 = planar, 3 = surface) |
T | Real type |
matId | Encoded ID for material (see encodeMat_id) |
comp | Compressibility flag |
mat | Material flag (see Material) |
imp | Implementation flag (see Implementation) |
Public Types | |
typedef memory::shared_ptr < gsMaterialMatrixNonlinear > | Ptr |
Shared pointer for gsMaterialMatrixNonlinear. | |
typedef memory::unique_ptr < gsMaterialMatrixNonlinear > | uPtr |
Unique pointer for gsMaterialMatrixNonlinear. | |
Public Member Functions | |
void | _computeMetricDeformed (const index_t patch, const gsMatrix< T > &u) const |
Computes metric quantities on the deformed geometry. | |
void | _computeMetricUndeformed (const index_t patch, const gsMatrix< T > &u) const |
Computes metric quantities on the undeformed geometry. | |
void | _computePStrain (const gsMatrix< T > &C) const |
Computes the stretch given deformation tensor C, into class members m_stretches and m_stretchDirs. | |
void | _computePStress (const gsMatrix< T > &C) const |
Computes the principal stresses of a given stress tensor S, into class members m_pstress and m_pstressvec. | |
void | _computeStretch (const gsMatrix< T > &C, const gsMatrix< T > &gcon_ori) const |
Computes the stretch given deformation tensor C, into class members m_stretches and m_stretchDirs. | |
std::pair< gsVector< T > , gsMatrix< T > > | _evalPStrain (const gsMatrix< T > &C) const |
Computes the principal strain given deformation tensor C, into a pair. | |
std::pair< gsVector< T > , gsMatrix< T > > | _evalPStress (const gsMatrix< T > &S) const |
Computes the principal stress given stress tensor S, into a pair. | |
std::pair< gsVector< T > , gsMatrix< T > > | _evalStretch (const gsMatrix< T > &C, const gsMatrix< T > &gcon_ori) const |
Computes the stretch given deformation tensor C, into a pair. | |
gsMatrix< T > | _getAcon_def (index_t k, T z) const |
Returns the contravariant a tensor on the deformed geometry. | |
gsMatrix< T > | _getacon_def (index_t k, T z) const |
Returns the contravariant basis vector a on the deformed geometry. | |
gsMatrix< T > | _getAcon_ori (index_t k, T z) const |
Returns the contravariant a tensor on the original geometry. | |
gsMatrix< T > | _getacon_ori (index_t k, T z) const |
Returns the contravariant basis vector a on the original geometry. | |
gsMatrix< T > | _getAcov_def (index_t k, T z) const |
Returns the covariant a tensor on the deformed geometry. | |
gsMatrix< T > | _getacov_def (index_t k, T z) const |
Returns the covariant basis vector a on the deformed geometry. | |
gsMatrix< T > | _getAcov_ori (index_t k, T z) const |
Returns the covariant a tensor on the original geometry. | |
gsMatrix< T > | _getacov_ori (index_t k, T z) const |
Returns the covariant basis vector a on the original geometry. | |
gsMatrix< T > | _getBcov_def (index_t k, T z) const |
Returns the covariant b tensor on the deformed geometry. | |
gsMatrix< T > | _getBcov_ori (index_t k, T z) const |
Returns the covariant b tensor on the original geometry. | |
gsMatrix< T > | _getGcon_def (index_t k, T z) const |
Returns the contravariant metric tensor on the deformed geometry. | |
gsMatrix< T > | _getgcon_def (index_t k, T z) const |
Returns the contravariant basis vector g on the deformed geometry. | |
gsMatrix< T > | _getGcon_ori (index_t k, T z) const |
Returns the contravariant metric tensor on the original geometry. | |
gsMatrix< T > | _getgcon_ori (index_t k, T z) const |
Returns the contravariant basis vector g on the original geometry. | |
gsMatrix< T > | _getGcov_def (index_t k, T z) const |
Returns the covariant metric tensor on the deformed geometry. | |
gsMatrix< T > | _getgcov_def (index_t k, T z) const |
Returns the covariant basis vector g on the deformed geometry. | |
gsMatrix< T > | _getGcov_ori (index_t k, T z) const |
Returns the covariant metric tensor on the original geometry. | |
gsMatrix< T > | _getgcov_ori (index_t k, T z) const |
Returns the covariant basis vector g on the original geometry. | |
void | _getMetric (const index_t k, const T z) const |
Gets metric quantities on the deformed and undeformed geometries. | |
void | _getMetric (index_t k, T z, const gsMatrix< T > &C) const |
Gets metric quantities on the deformed and undeformed geometries. | |
void | _getMetricDeformed (const index_t k, const T z) const |
Gets metric quantities on the deformed geometry. | |
void | _getMetricUndeformed (const index_t k, const T z) const |
Gets metric quantities on the undeformed geometry. | |
gsMatrix< T > | _getncov_def (index_t k, T z) const |
Returns the covariant n tensor on the deformed geometry. | |
gsMatrix< T > | _getncov_ori (index_t k, T z) const |
Returns the covariant n tensor on the original geometry. | |
gsMatrix< T > | _transformation (const gsMatrix< T > &basis1, const gsMatrix< T > &basis2) const |
Computes the stretch given deformation tensor C, into class members m_stretches and m_stretchDirs. | |
void | defaultOptions () override |
See gsMaterialMatrixBase for details. | |
virtual void | density_into (const index_t patch, const gsMatrix< T > &u, gsMatrix< T > &result) const override |
See gsMaterialMatrixBase for details. | |
gsMatrix< T > | eval3D_CauchyPStress (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out=MaterialOutput::Generic) const override |
See gsMaterialMatrixBase for details. | |
gsMatrix< T > | eval3D_CauchyStress (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out) const override |
See gsMaterialMatrixBase for details. | |
gsMatrix< T > | eval3D_CauchyVector (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out=MaterialOutput::Generic) const override |
See gsMaterialMatrixBase for details. | |
virtual gsMatrix< T > | eval3D_con2cart (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const override |
See gsMaterialMatrixBase for details. | |
virtual gsMatrix< T > | eval3D_cov2cart (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const override |
See gsMaterialMatrixBase for details. | |
virtual gsMatrix< T > | eval3D_deformation (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const override |
See gsMaterialMatrixBase for details. | |
gsMatrix< T > | eval3D_detF (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out) const override |
See gsMaterialMatrixBase for details. | |
gsMatrix< T > | eval3D_dmatrix (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out=MaterialOutput::Generic) const override |
See gsMaterialMatrixBase for details. | |
gsMatrix< T > | eval3D_matrix (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out=MaterialOutput::Generic) const override |
See gsMaterialMatrixBase for details. | |
gsMatrix< T > | eval3D_matrix_C (const gsMatrix< T > &Cmat, const index_t patch, const gsVector< T > &u, const T z, enum MaterialOutput out=MaterialOutput::Generic) const override |
See gsMaterialMatrixBase for details. | |
virtual gsMatrix< T > | eval3D_pstrain (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const override |
See gsMaterialMatrixBase for details. | |
gsMatrix< T > | eval3D_pstress (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out=MaterialOutput::Generic) const override |
See gsMaterialMatrixBase for details. | |
gsMatrix< T > | eval3D_pstressDir (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out=MaterialOutput::Generic) const override |
See gsMaterialMatrixBase for details. | |
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 override |
See gsMaterialMatrixBase for details. | |
virtual gsMatrix< T > | eval3D_pstretchDir (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const override |
See gsMaterialMatrixBase for details. | |
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 override |
See gsMaterialMatrixBase for details. | |
virtual gsMatrix< T > | eval3D_spec2cov (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const override |
See gsMaterialMatrixBase for details. | |
virtual gsMatrix< T > | eval3D_strain (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const override |
See gsMaterialMatrixBase for details. | |
gsMatrix< T > | eval3D_stress (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out) const override |
See gsMaterialMatrixBase for details. | |
gsMatrix< T > | eval3D_stress_C (const gsMatrix< T > &Cmat, const index_t patch, const gsVector< T > &u, const T z, enum MaterialOutput out=MaterialOutput::Generic) const |
See gsMaterialMatrixBase for details. | |
virtual gsMatrix< T > | eval3D_tensionfield (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out) const override |
See gsMaterialMatrixBase for details. | |
gsMatrix< T > | eval3D_vector (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out=MaterialOutput::Generic) const override |
See gsMaterialMatrixBase for details. | |
gsMatrix< T > | eval3D_vector_C (const gsMatrix< T > &Cmat, const index_t patch, const gsVector< T > &u, const T z, enum MaterialOutput out=MaterialOutput::Generic) const override |
See gsMaterialMatrixBase for details. | |
const function_ptr | getAlpha (const index_t &i) const override |
Gets Alpha_i. | |
virtual const function_ptr | getDensity () const |
Gets the Density. | |
const function_ptr | getMu (const index_t &i) const override |
Gets Mu_i. | |
virtual const function_ptr | getParameter (const index_t i) const |
Gets parameter i. More... | |
const function_ptr | getPoissonsRatio () const override |
Gets the Poisson's Ratio. | |
const function_ptr | getRatio () const override |
Gets the Ratio for the MR material. | |
virtual const function_ptr | getThickness () const |
Gets the Density. | |
const function_ptr | getYoungsModulus () const override |
Gets the YoungsModulus. | |
gsMaterialMatrixNonlinear (const gsFunctionSet< T > &mp, const gsFunctionSet< T > &thickness) | |
Constructor without material parameters. More... | |
gsMaterialMatrixNonlinear (const gsFunctionSet< T > &mp, const gsFunctionSet< T > &thickness, const std::vector< gsFunctionSet< T > * > &pars) | |
General constructor without density. More... | |
gsMaterialMatrixNonlinear (const gsFunctionSet< T > &thickness, const std::vector< gsFunctionSet< T > * > &pars) | |
General constructor without density and multipatch. More... | |
gsMaterialMatrixNonlinear (const gsFunctionSet< T > &thickness, const std::vector< gsFunctionSet< T > * > &pars, const gsFunctionSet< T > &Density) | |
General constructor without multipatch. More... | |
gsMaterialMatrixNonlinear (const gsFunctionSet< T > &mp, const gsFunctionSet< T > &thickness, const std::vector< gsFunctionSet< T > * > &pars, const gsFunctionSet< T > &Density) | |
Full general constructor. More... | |
gsMaterialMatrixNonlinear () | |
Destructor. | |
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. | |
enum MatIntegration | isMatIntegrated () const override |
See gsMaterialMatrixBase for details. | |
enum MatIntegration | isVecIntegrated () const override |
See gsMaterialMatrixBase for details. | |
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 gsOptionList & | options () |
Returns the options. More... | |
virtual void | parameters_into (const index_t patch, const gsMatrix< T > &u, gsMatrix< T > &result) const override |
See gsMaterialMatrixBase for details. | |
std::ostream & | print (std::ostream &os) const override |
See gsMaterialMatrixBase for details. | |
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... | |
void | pstretch_into (const index_t patch, const gsMatrix< T > &u, gsMatrix< T > &result) const override |
See gsMaterialMatrixBase for details. | |
void | pstretchDir_into (const index_t patch, const gsMatrix< T > &u, gsMatrix< T > &result) const override |
See gsMaterialMatrixBase for details. | |
virtual void | resetParameters () |
See gsMaterialMatrixBase for details. | |
void | setAlpha (const index_t &i, const gsFunctionSet< T > &Alpha_i) override |
Sets Alpha_i. | |
virtual void | setDensity (function_ptr Density) |
Sets the density. | |
virtual void | setDensity (const gsFunctionSet< T > &Density) |
Sets the density. | |
void | setMu (const index_t &i, const gsFunctionSet< T > &Mu_i) override |
Sets Mu_i. | |
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... | |
void | setPoissonsRatio (const gsFunctionSet< T > &PoissonsRatio) override |
Sets the Poisson's Ratio. | |
void | setRatio (const gsFunctionSet< T > &Ratio) override |
Sets the Ratio for the MR material. | |
virtual void | setThickness (const function_ptr &thickness) |
Sets the thickness. | |
virtual void | setThickness (const gsFunctionSet< T > &thickness) |
Sets the thickness. | |
void | setYoungsModulus (const gsFunctionSet< T > &YoungsModulus) override |
Sets the YoungsModulus. | |
virtual void | thickness_into (const index_t patch, const gsMatrix< T > &u, gsMatrix< T > &result) const override |
See gsMaterialMatrixBase for details. | |
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... | |
Protected Member Functions | |
constexpr T | _Cabcd (const index_t a, const index_t b, const index_t c, const index_t d) const |
The material matrix for stretch-based implementations. More... | |
constexpr T | _Cijkl (const index_t i, const index_t j, const index_t k, const index_t l) const |
Returns an entry of the material tensor C for incompressible materials. More... | |
constexpr T | _Cijkl (const index_t i, const index_t j, const index_t k, const index_t l, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Returns an entry of the material tensor C for compressible materials, with static condensation included. More... | |
constexpr T | _Cijkl3D (const index_t i, const index_t j, const index_t k, const index_t l, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Returns an entry of the material tensor C for compressible materials without static condensation. More... | |
constexpr T | _d2J_dab (const index_t a, const index_t b) const |
First derivative of the compressibilty function \(\J\) w.r.t. the stretches \(\lambda_a\) and \(\lambda_b\). More... | |
constexpr T | _d2Psi (const index_t i, const index_t j, const index_t k, const index_t l) const |
Provides the second (mixed) derivative of the incompressible strain energy density function w.r.t. components C_{ij} and C_{kl} of the deformation tensor. More... | |
constexpr T | _d2Psi (const index_t i, const index_t j, const index_t k, const index_t l, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Provides the second (mixed) derivative of the compressible strain energy density function w.r.t. components C_{ij} and C_{kl} of the deformation tensor. More... | |
constexpr T | _d2Psi_dab (const index_t a, const index_t b) const |
Second derivative of a strain energy density function \(\Psi\) w.r.t. the stretches \(\lambda_a\) and \(\lambda_b\). More... | |
constexpr T | _d2Psi_dab_vol (const index_t a, const index_t b) const |
Second derivative of the volumetric part of a strain energy density function \(\Psi_{vol}\) w.r.t. the stretches \(\lambda_a\) and \(\lambda_b\). More... | |
constexpr T | _d2Psi_vol (const index_t i, const index_t j, const index_t k, const index_t l, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Provides the second (mixed) derivative of the volumetric part of the compressible strain energy density function w.r.t. components C_{ij} and C_{kl} of the deformation tensor. More... | |
constexpr T | _dI_1 (const index_t i, const index_t j) const |
Provides the derivative of the first invariant compressible materials w.r.t. component C_{ij} of the deformation tensor. More... | |
constexpr T | _dI_2 (const index_t i, const index_t j, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Provides the derivative of the second invariant for compressible materials w.r.t. component C_{ij} of the deformation tensor. More... | |
constexpr T | _dJ_da (const index_t a) const |
First derivative of the compressibilty function \(\J\) w.r.t. the stretche \(\lambda_a\). More... | |
constexpr T | _dp_da (const index_t a) const |
First derivative of the Lagrange multiplier for incompressible materials w.r.t. the stretch \(\lambda_a\). More... | |
constexpr T | _dPsi (const index_t i, const index_t j) const |
Provides the derivative of the incompressible strain energy density function w.r.t. component C_{ij} of the deformation tensor. More... | |
constexpr T | _dPsi (const index_t i, const index_t j, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Provides the derivative of the compressible strain energy density function w.r.t. component C_{ij} of the deformation tensor. More... | |
constexpr T | _dPsi_da (const index_t a) const |
First derivative of a strain energy density function \(\Psi\) w.r.t. the stretch \(\lambda_a\). More... | |
constexpr T | _dPsi_da_vol (const index_t a) const |
First derivative of the volumetric part of a strain energy density function \(\Psi_{vol}\) w.r.t. the stretch \(\lambda_a\). More... | |
constexpr T | _dPsi_vol (const index_t i, const index_t j, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Provides the derivative of the volumetric part of the compressible strain energy density function w.r.t. component C_{ij} of the deformation tensor. More... | |
constexpr T | _dSa_db (const index_t a, const index_t b) const |
First derivative of the \(a^{\text{th}\) component of the stress w.r.t. the stretch \(\lambda_b\). More... | |
gsMatrix< T > | _eval3D_Compressible_C33 (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const |
Evaluates the C33 (through thickness) component of the deformation tensor C for compressible materials. More... | |
gsMatrix< T > | _eval3D_Compressible_detF (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const |
Evaluates the jacobian determinant for compressible materials. More... | |
gsMatrix< T > | _eval3D_Compressible_matrix (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const |
Evalluates the compressible material matrix. More... | |
gsMatrix< T > | _eval3D_Compressible_stress (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const |
Evalluates the compressible stress vector. More... | |
gsMatrix< T > | _eval3D_Incompressible_detF (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const |
Evaluates the jacobian determinant for compressible materials. More... | |
gsMatrix< T > | _eval3D_Incompressible_matrix (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const |
Evalluates the incompressible material matrix. More... | |
gsMatrix< T > | _eval3D_Incompressible_stress (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const |
Evalluates the incompressible stress vector. More... | |
gsMatrix< T > | _eval_Compressible_CauchyVector (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const |
Equivalent to _eval_Compressible_vector but for the Cauchy Vector. | |
gsMatrix< T > | _eval_Incompressible_CauchyVector (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const |
Equivalent to _eval_Incompressible_vector but for the Cauchy Vector. | |
void | _initialize () |
Initializes the object. More... | |
constexpr T | _p () const |
Lagrange multiplier for incompressible materials. | |
constexpr T | _Sa (const index_t a) const |
Component \(a\) of the stress. More... | |
constexpr T | _Sii (const index_t i) const |
Returns an entry of the diagonal of the stress tensor S for incompressible materials. More... | |
constexpr T | _Sii (const index_t i, const gsMatrix< T > &c) const |
Returns an entry of the diagonal of the stress tensor S for incompressible materials. More... | |
constexpr T | _Sij (const index_t i, const index_t j) const |
Returns an entry of the stress tensor S for incompressible materials. More... | |
constexpr T | _Sij (const index_t i, const index_t j, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Returns an entry of the stress tensor S for compressible materials. More... | |
gsMaterialMatrixNonlinear (const gsFunctionSet< T > *mp, const gsFunctionSet< T > *thickness, const std::vector< gsFunctionSet< T > * > &pars, const gsFunctionSet< T > *Density) | |
Full general constructor. More... | |
Private Member Functions | |
template<bool _com> | |
constexpr std::enable_if< _com, T >::type | _Cabcd_impl (const index_t a, const index_t b, const index_t c, const index_t d) const |
Specialization of _Cabcd(a,b,c,d) for compressible materials. | |
template<bool _com> | |
constexpr std::enable_if<!_com, T >::type | _Cabcd_impl (const index_t a, const index_t b, const index_t c, const index_t d) const |
Specialization of _Cabcd(a,b,c,d) for incompressible materials. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _mat==Material::SvK &&_imp==Implementation::Analytical, T >::type | _Cijkl3D_impl (const index_t i, const index_t j, const index_t k, const index_t l, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Specialization for compressible Cijkl3D(i,j,k,l,c,cinv) for SvK materials implemented analytically. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _mat==Material::NH &&_imp==Implementation::Analytical, T >::type | _Cijkl3D_impl (const index_t i, const index_t j, const index_t k, const index_t l, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Specialization for compressible Cijkl3D(i,j,k,l,c,cinv) for NH materials implemented analytically. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _mat==Material::MR &&_imp==Implementation::Analytical, T >::type | _Cijkl3D_impl (const index_t i, const index_t j, const index_t k, const index_t l, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Specialization for compressible Cijkl3D(i,j,k,l,c,cinv) for MR materials implemented analytically. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _mat==Material::OG &&_imp==Implementation::Analytical, T >::type | _Cijkl3D_impl (const index_t i, const index_t j, const index_t k, const index_t l, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Specialization for compressible Cijkl3D(i,j,k,l,c,cinv) for OG materials implemented analytically (not implemented) | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _mat==Material::NH_ext &&_imp==Implementation::Analytical, T >::type | _Cijkl3D_impl (const index_t i, const index_t j, const index_t k, const index_t l, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Specialization for compressible Cijkl3D(i,j,k,l,c,cinv) for Extended NH materials implemented analytically. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _imp==Implementation::Spectral, T >::type | _Cijkl3D_impl (const index_t i, const index_t j, const index_t k, const index_t l, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Specialization for compressible Cijkl3D(i,j,k,l,c,cinv) for all materials implemented spectrally. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _imp==Implementation::Generalized, T >::type | _Cijkl3D_impl (const index_t i, const index_t j, const index_t k, const index_t l, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Specialization for compressible Cijkl3D(i,j,k,l,c,cinv) for all materials implemented generally. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _mat==Material::SvK &&_imp==Implementation::Analytical, T >::type | _Cijkl_impl (const index_t i, const index_t j, const index_t k, const index_t l) const |
Specialization for incompressible Cijkl(i,j,k,l) for SvK materials implemented analytically. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _mat==Material::NH &&_imp==Implementation::Analytical, T >::type | _Cijkl_impl (const index_t i, const index_t j, const index_t k, const index_t l) const |
Specialization for incompressible Cijkl(i,j,k,l) for NH materials implemented analytically. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _mat==Material::MR &&_imp==Implementation::Analytical, T >::type | _Cijkl_impl (const index_t i, const index_t j, const index_t k, const index_t l) const |
Specialization for incompressible Cijkl(i,j,k,l) for MR materials implemented analytically. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _mat==Material::OG &&_imp==Implementation::Analytical, T >::type | _Cijkl_impl (const index_t i, const index_t j, const index_t k, const index_t l) const |
Specialization for incompressible Cijkl(i,j,k,l) for OG materials implemented analytically (not implemented) | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _mat==Material::NH_ext &&_imp==Implementation::Analytical, T >::type | _Cijkl_impl (const index_t i, const index_t j, const index_t k, const index_t l) const |
Specialization for incompressible Cijkl(i,j,k,l) for Extended NH materials implemented analytically (not implemented) | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _imp==Implementation::Spectral, T >::type | _Cijkl_impl (const index_t i, const index_t j, const index_t k, const index_t l) const |
Specialization for incompressible Cijkl(i,j,k,l) for all materials implemented spectrally. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _imp==Implementation::Generalized, T >::type | _Cijkl_impl (const index_t i, const index_t j, const index_t k, const index_t l) const |
Specialization for incompressible Cijkl(i,j,k,l) for all materials implemented generally. | |
template<enum Implementation _imp> | |
constexpr std::enable_if< _imp==Implementation::Spectral, T >::type | _Cijkl_impl (const index_t i, const index_t j, const index_t k, const index_t l, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Specialization for compressible Cijkl(i,j,k,l,c,cinv) for all materials implemented generally. More... | |
template<enum Implementation _imp> | |
constexpr std::enable_if <!(_imp==Implementation::Spectral), T >::type | _Cijkl_impl (const index_t i, const index_t j, const index_t k, const index_t l, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Specialization for compressible Cijkl(i,j,k,l,c,cinv) for all materials implemented not spectrally. | |
template<enum Material _mat, bool _com> | |
constexpr std::enable_if< _com &&(_mat==Material::NH), T > ::type | _d2Psi_dab_impl (const index_t a, const index_t b) const |
Specialization of _d2Psi_dab(a,b) for compressible NH materials. | |
template<enum Material _mat, bool _com> | |
constexpr std::enable_if<!_com &&(_mat==Material::NH), T > ::type | _d2Psi_dab_impl (const index_t a, const index_t b) const |
Specialization of _d2Psi_dab(a,b) for incompressible NH materials. | |
template<enum Material _mat, bool _com> | |
constexpr std::enable_if< _com &&(_mat==Material::MR), T > ::type | _d2Psi_dab_impl (const index_t a, const index_t b) const |
Specialization of _d2Psi_dab(a,b) for compressible MR materials. | |
template<enum Material _mat, bool _com> | |
constexpr std::enable_if<!_com &&(_mat==Material::MR), T > ::type | _d2Psi_dab_impl (const index_t a, const index_t b) const |
Specialization of _d2Psi_dab(a,b) for incompressible MR materials. | |
template<enum Material _mat, bool _com> | |
constexpr std::enable_if< _com &&(_mat==Material::OG), T > ::type | _d2Psi_dab_impl (const index_t a, const index_t b) const |
Specialization of _d2Psi_dab(a,b) for compressible OG materials. | |
template<enum Material _mat, bool _com> | |
constexpr std::enable_if<!_com &&(_mat==Material::OG), T > ::type | _d2Psi_dab_impl (const index_t a, const index_t b) const |
Specialization of _d2Psi_dab(a,b) for incompressible OG materials. | |
template<enum Material _mat, bool _com> | |
constexpr std::enable_if< _com &&(_mat==Material::NH_ext), T > ::type | _d2Psi_dab_impl (const index_t a, const index_t b) const |
Specialization of _d2Psi_dab(a,b) for compressible Extended NH materials. | |
template<enum Material _mat, bool _com> | |
constexpr std::enable_if<!_com &&(_mat==Material::NH_ext), T > ::type | _d2Psi_dab_impl (const index_t a, const index_t b) const |
Specialization of _d2Psi_dab(a,b) for incompressible Extended NH materials (not implemented) | |
template<enum Material _mat> | |
constexpr std::enable_if< _mat==Material::NH, T >::type | _d2Psi_impl (const index_t i, const index_t j, const index_t k, const index_t l) const |
Implementation of _d2Psi(i,j) for NH materials. | |
template<enum Material _mat> | |
constexpr std::enable_if< _mat==Material::MR, T >::type | _d2Psi_impl (const index_t i, const index_t j, const index_t k, const index_t l) const |
Implementation of _d2Psi(i,j) for MR materials. | |
template<enum Material _mat> | |
constexpr std::enable_if< _mat==Material::NH, T >::type | _d2Psi_impl (const index_t i, const index_t j, const index_t k, const index_t l, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Implementation of _d2Psi(i,j,c,cinv) for NH materials. | |
template<enum Material _mat> | |
constexpr std::enable_if< _mat==Material::MR, T >::type | _d2Psi_impl (const index_t i, const index_t j, const index_t k, const index_t l, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Implementation of _d2Psi(i,j,c,cinv) for MR materials. | |
template<enum Material _mat> | |
constexpr std::enable_if< _mat==Material::NH_ext, T >::type | _d2Psi_impl (const index_t i, const index_t j, const index_t k, const index_t l, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Implementation of _d2Psi(i,j,c,cinv) for Extended NH materials. | |
template<enum Material _mat, bool _com> | |
constexpr std::enable_if< _com &&(_mat==Material::NH), T > ::type | _dPsi_da_impl (const index_t a) const |
Specialization of _dPsi_da(a) for compressible NH materials. | |
template<enum Material _mat, bool _com> | |
constexpr std::enable_if<!_com &&(_mat==Material::NH), T > ::type | _dPsi_da_impl (const index_t a) const |
Specialization of _dPsi_da(a) for incompressible NH materials. | |
template<enum Material _mat, bool _com> | |
constexpr std::enable_if< _com &&(_mat==Material::MR), T > ::type | _dPsi_da_impl (const index_t a) const |
Specialization of _dPsi_da(a) for compressible MR materials. | |
template<enum Material _mat, bool _com> | |
constexpr std::enable_if<!_com &&(_mat==Material::MR), T > ::type | _dPsi_da_impl (const index_t a) const |
Specialization of _dPsi_da(a) for incompressible MR materials. | |
template<enum Material _mat, bool _com> | |
constexpr std::enable_if< _com &&(_mat==Material::OG), T > ::type | _dPsi_da_impl (const index_t a) const |
Specialization of _dPsi_da(a) for compressible OG materials. | |
template<enum Material _mat, bool _com> | |
constexpr std::enable_if<!_com &&(_mat==Material::OG), T > ::type | _dPsi_da_impl (const index_t a) const |
Specialization of _dPsi_da(a) for incompressible OG materials. | |
template<enum Material _mat, bool _com> | |
constexpr std::enable_if< _com &&(_mat==Material::NH_ext), T > ::type | _dPsi_da_impl (const index_t a) const |
Specialization of _dPsi_da(a) for compressible Extended NH materials. | |
template<enum Material _mat, bool _com> | |
constexpr std::enable_if<!_com &&(_mat==Material::NH_ext), T > ::type | _dPsi_da_impl (const index_t a) const |
Specialization of _dPsi_da(a) for incompressible Extended NH materials (not implemented) | |
template<enum Material _mat> | |
constexpr std::enable_if< _mat==Material::NH, T >::type | _dPsi_impl (const index_t i, const index_t j) const |
Implementation of _dPsi(i,j) for NH materials. | |
template<enum Material _mat> | |
constexpr std::enable_if< _mat==Material::MR, T >::type | _dPsi_impl (const index_t i, const index_t j) const |
Implementation of _dPsi(i,j) for MR materials. | |
template<enum Material _mat> | |
constexpr std::enable_if< _mat==Material::NH, T >::type | _dPsi_impl (const index_t i, const index_t j, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Implementation of _dPsi(i,j,c,cinv) for NH materials. | |
template<enum Material _mat> | |
constexpr std::enable_if< _mat==Material::MR, T >::type | _dPsi_impl (const index_t i, const index_t j, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Implementation of _dPsi(i,j,c,cinv) for MR materials. | |
template<enum Material _mat> | |
constexpr std::enable_if< _mat==Material::NH_ext, T >::type | _dPsi_impl (const index_t i, const index_t j, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Implementation of _dPsi(i,j,c,cinv) for Extended NH materials. | |
template<bool _com> | |
constexpr std::enable_if< _com, T >::type | _dSa_db_impl (const index_t a, const index_t b) const |
Specialization of _dSa_db(a,b) for compressible materials. | |
template<bool _com> | |
constexpr std::enable_if<!_com, T >::type | _dSa_db_impl (const index_t a, const index_t b) const |
Specialization of _dSa_db(a,b) for incompressible materials. | |
template<enum Material _mat, bool _com> | |
std::enable_if< _mat==Material::SvK, gsMatrix< T > >::type | _eval3D_CauchyVector_impl (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const |
Same as _eval3D_vector_impl for the Cauchy stress. | |
template<enum Material _mat, bool _com> | |
std::enable_if< _com &&!(_mat==Material::SvK), gsMatrix< T > >::type | _eval3D_CauchyVector_impl (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const |
Same as _eval3D_vector_impl for the Cauchy stress. | |
template<enum Material _mat, bool _com> | |
std::enable_if<!_com &&!(_mat==Material::SvK), gsMatrix< T > >::type | _eval3D_CauchyVector_impl (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const |
Same as _eval3D_vector_impl for the Cauchy stress. | |
template<enum Material _mat, bool _com> | |
std::enable_if< _mat==Material::SvK, gsMatrix< T > >::type | _eval3D_detF_impl (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const |
Implementation of jacobina determinant (detF) More... | |
template<enum Material _mat, bool _comp> | |
std::enable_if<!(!_comp &&_mat==Material::NH), gsMatrix< T > >::type | _eval3D_dmatrix_impl (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z, enum MaterialOutput out) const |
{ function_description } More... | |
template<enum Material _mat, bool _com> | |
std::enable_if< _mat==Material::SvK, gsMatrix< T > >::type | _eval3D_matrix_impl (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const |
Implementation of the 3D (in-plane+thickness) evaluator of the material matrix, specialization for SvK material (incompressible) More... | |
template<enum Material _mat, bool _com> | |
std::enable_if< _com &&!(_mat==Material::SvK), gsMatrix< T > >::type | _eval3D_matrix_impl (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const |
Implementation of the 3D (in-plane+thickness) evaluator of the material matrix, specialization compressible models. More... | |
template<enum Material _mat, bool _com> | |
std::enable_if<!_com &&!(_mat==Material::SvK), gsMatrix< T > >::type | _eval3D_matrix_impl (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const |
Implementation of the 3D (in-plane+thickness) evaluator of the material matrix, specialization for incompressible models. More... | |
template<enum Material _mat, bool _com> | |
std::enable_if<!_com &&!(_mat==Material::SvK), gsMatrix< T > >::type | _eval3D_pstress_impl (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const |
Implementation of the 3D (in-plane+thickness) evaluator of the stress vector, specialization for compressible models. More... | |
template<enum Material _mat, bool _com> | |
std::enable_if< _mat==Material::SvK, gsMatrix< T > >::type | _eval3D_stress_impl (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const |
Implementation of the 3D (in-plane+thickness) evaluator of the stress vector, specialization for SvK material (incompressible) More... | |
template<enum Material _mat, bool _com> | |
std::enable_if< _com &&!(_mat==Material::SvK), gsMatrix< T > >::type | _eval3D_stress_impl (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const |
Implementation of the 3D (in-plane+thickness) evaluator of the stress vector, specialization for incompressible models. More... | |
template<enum Material _mat, bool _com> | |
std::enable_if<!_com &&!(_mat==Material::SvK), gsMatrix< T > >::type | _eval3D_stress_impl (const index_t patch, const gsMatrix< T > &u, const gsMatrix< T > &z) const |
Implementation of the 3D (in-plane+thickness) evaluator of the stress vector, specialization for compressible models. More... | |
template<bool _com> | |
std::enable_if< _com, void >::type | _pstretch_into_impl (const index_t patch, const gsMatrix< T > &u, gsMatrix< T > &result) const |
Implementation of pstretch_into, specialization for compressible materials. More... | |
template<bool _com> | |
std::enable_if<!_com, void >::type | _pstretch_into_impl (const index_t patch, const gsMatrix< T > &u, gsMatrix< T > &result) const |
Implementation of pstretch_into, specialization for incompressible materials. More... | |
template<bool _com> | |
std::enable_if< _com, void >::type | _pstretchDir_into_impl (const index_t patch, const gsMatrix< T > &u, gsMatrix< T > &result) const |
Implementation of stretchDir_into, specialization for compressible materials. More... | |
template<bool _com> | |
std::enable_if<!_com, void >::type | _pstretchDir_into_impl (const index_t patch, const gsMatrix< T > &u, gsMatrix< T > &result) const |
Implementation of stretchDir_into, specialization for incompressible materials. More... | |
template<bool _com> | |
constexpr std::enable_if< _com, T >::type | _Sa_impl (const index_t a) const |
Specialization of _Sa(a) for compressible materials. | |
template<bool _com> | |
constexpr std::enable_if<!_com, T >::type | _Sa_impl (const index_t a) const |
Specialization of _Sa(a) for incompressible materials. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _mat==Material::SvK &&_imp==Implementation::Analytical, T >::type | _Sij_impl (const index_t i, const index_t j) const |
Specialization for incompressible Sij(i,j) for SvK materials implemented analytically. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _mat==Material::NH &&_imp==Implementation::Analytical, T >::type | _Sij_impl (const index_t i, const index_t j) const |
Specialization for incompressible Sij(i,j) for NH materials implemented analytically. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _mat==Material::MR &&_imp==Implementation::Analytical, T >::type | _Sij_impl (const index_t i, const index_t j) const |
Specialization for incompressible Sij(i,j) for MR materials implemented analytically. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _mat==Material::OG &&_imp==Implementation::Analytical, T >::type | _Sij_impl (const index_t i, const index_t j) const |
Specialization for incompressible Sij(i,j) for OG materials implemented analytically (not implemented) | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _mat==Material::NH_ext &&_imp==Implementation::Analytical, T >::type | _Sij_impl (const index_t i, const index_t j) const |
Specialization for incompressible Sij(i,j) for Extended NH materials implemented analytically (not implemented) | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _imp==Implementation::Spectral, T >::type | _Sij_impl (const index_t i, const index_t j) const |
Specialization for incompressible Sij(i,j) for all materials implemented spectrally. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _imp==Implementation::Generalized, T >::type | _Sij_impl (const index_t i, const index_t j) const |
Specialization for incompressible Sij(i,j) for all materials implemented generally. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _mat==Material::SvK &&_imp==Implementation::Analytical, T >::type | _Sij_impl (const index_t i, const index_t j, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Specialization for compressible Sij(i,j,c,cinv) for SvK materials implemented analytically. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _mat==Material::NH &&_imp==Implementation::Analytical, T >::type | _Sij_impl (const index_t i, const index_t j, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Specialization for compressible Sij(i,j,c,cinv) for NH materials implemented analytically. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _mat==Material::MR &&_imp==Implementation::Analytical, T >::type | _Sij_impl (const index_t i, const index_t j, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Specialization for compressible Sij(i,j,c,cinv) for MR materials implemented analytically. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _mat==Material::OG &&_imp==Implementation::Analytical, T >::type | _Sij_impl (const index_t i, const index_t j, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Specialization for compressible Sij(i,j,c,cinv) for OG materials implemented analytically (not implemented) | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _mat==Material::NH_ext &&_imp==Implementation::Analytical, T >::type | _Sij_impl (const index_t i, const index_t j, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Specialization for compressible Sij(i,j,c,cinv) for Extended NH materials implemented analytically. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _imp==Implementation::Spectral, T >::type | _Sij_impl (const index_t i, const index_t j, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Specialization for compressible Sij(i,j,c,cinv) for all materials implemented spectrally. | |
template<enum Material _mat, enum Implementation _imp> | |
constexpr std::enable_if< _imp==Implementation::Generalized, T >::type | _Sij_impl (const index_t i, const index_t j, const gsMatrix< T > &c, const gsMatrix< T > &cinv) const |
Specialization for compressible Sij(i,j,c,cinv) for all materials implemented generally. | |
gsMaterialMatrixNonlinear | ( | const gsFunctionSet< T > & | mp, |
const gsFunctionSet< T > & | thickness | ||
) |
Constructor without material parameters.
[in] | mp | Original geometry |
[in] | thickness | Thickness function |
gsMaterialMatrixNonlinear | ( | const gsFunctionSet< T > & | mp, |
const gsFunctionSet< T > & | thickness, | ||
const std::vector< gsFunctionSet< T > * > & | pars | ||
) |
General constructor without density.
[in] | mp | Original geometry |
[in] | thickness | Thickness function |
[in] | pars | Vector with parameters (E, nu) |
gsMaterialMatrixNonlinear | ( | const gsFunctionSet< T > & | thickness, |
const std::vector< gsFunctionSet< T > * > & | pars | ||
) |
General constructor without density and multipatch.
[in] | thickness | Thickness function |
[in] | pars | Vector with parameters (E, nu) |
gsMaterialMatrixNonlinear | ( | const gsFunctionSet< T > & | thickness, |
const std::vector< gsFunctionSet< T > * > & | pars, | ||
const gsFunctionSet< T > & | Density | ||
) |
General constructor without multipatch.
[in] | thickness | Thickness function |
[in] | pars | Vector with parameters (E, nu) |
gsMaterialMatrixNonlinear | ( | const gsFunctionSet< T > & | mp, |
const gsFunctionSet< T > & | thickness, | ||
const std::vector< gsFunctionSet< T > * > & | pars, | ||
const gsFunctionSet< T > & | Density | ||
) |
Full general constructor.
[in] | mp | Original geometry |
[in] | thickness | Thickness function |
[in] | pars | Vector with parameters (E, nu) |
[in] | Density | Density function |
|
protected |
Full general constructor.
[in] | mp | Original geometry |
[in] | thickness | Thickness function |
[in] | pars | Vector with parameters (E, nu) |
[in] | Density | Density function |
|
protected |
The material matrix for stretch-based implementations.
[in] | a,b,c,d | The indices a,b,c,d |
|
protected |
Returns an entry of the material tensor C for incompressible materials.
[in] | i,j,k,l | The indices |
|
protected |
Returns an entry of the material tensor C for compressible materials, with static condensation included.
[in] | i,j,k,l | The indices |
[in] | c | The deformation tensor |
[in] | cinv | The inverse of the deformation tensor |
|
protected |
Returns an entry of the material tensor C for compressible materials without static condensation.
[in] | i,j,k,l | The indices |
[in] | c | The deformation tensor |
[in] | cinv | The inverse of the deformation tensor |
|
private |
Specialization for compressible Cijkl(i,j,k,l,c,cinv) for all materials implemented generally.
First derivative of the compressibilty function \(\J\) w.r.t. the stretches \(\lambda_a\) and \(\lambda_b\).
[in] | a,b | The indices a,b |
|
protected |
Provides the second (mixed) derivative of the incompressible strain energy density function w.r.t. components C_{ij} and C_{kl} of the deformation tensor.
[in] | i,j | The indices of C_{ij} |
[in] | k,l | The indices of C_{kl} |
|
protected |
Provides the second (mixed) derivative of the compressible strain energy density function w.r.t. components C_{ij} and C_{kl} of the deformation tensor.
[in] | i,j | The indices of C_{ij} |
[in] | k,l | The indices of C_{kl} |
[in] | c | The deformation tensor |
[in] | cinv | The inverse of the deformation tensor |
Second derivative of a strain energy density function \(\Psi\) w.r.t. the stretches \(\lambda_a\) and \(\lambda_b\).
[in] | a,b | The indices a,b |
Second derivative of the volumetric part of a strain energy density function \(\Psi_{vol}\) w.r.t. the stretches \(\lambda_a\) and \(\lambda_b\).
[in] | a,b | The indices a,b |
|
protected |
Provides the second (mixed) derivative of the volumetric part of the compressible strain energy density function w.r.t. components C_{ij} and C_{kl} of the deformation tensor.
[in] | i,j | The indices of C_{ij} |
[in] | k,l | The indices of C_{kl} |
[in] | c | The deformation tensor |
[in] | cinv | The inverse of the deformation tensor |
Provides the derivative of the first invariant compressible materials w.r.t. component C_{ij} of the deformation tensor.
[in] | i,j | The indices of C |
|
protected |
Provides the derivative of the second invariant for compressible materials w.r.t. component C_{ij} of the deformation tensor.
[in] | i,j | The indices of C |
[in] | c | The deformation tensor |
[in] | cinv | The inverse of the deformation tensor |
|
protected |
First derivative of the compressibilty function \(\J\) w.r.t. the stretche \(\lambda_a\).
[in] | a | The index a |
|
protected |
First derivative of the Lagrange multiplier for incompressible materials w.r.t. the stretch \(\lambda_a\).
[in] | a | The index a |
Provides the derivative of the incompressible strain energy density function w.r.t. component C_{ij} of the deformation tensor.
[in] | i,j | The indices of C |
|
protected |
Provides the derivative of the compressible strain energy density function w.r.t. component C_{ij} of the deformation tensor.
[in] | i,j | The indices of C |
[in] | c | The deformation tensor |
[in] | cinv | The inverse of the deformation tensor |
|
protected |
First derivative of a strain energy density function \(\Psi\) w.r.t. the stretch \(\lambda_a\).
[in] | a | The index a |
|
protected |
First derivative of the volumetric part of a strain energy density function \(\Psi_{vol}\) w.r.t. the stretch \(\lambda_a\).
[in] | a | The index a |
|
protected |
Provides the derivative of the volumetric part of the compressible strain energy density function w.r.t. component C_{ij} of the deformation tensor.
[in] | i,j | The indices of C |
[in] | c | The deformation tensor |
[in] | cinv | The inverse of the deformation tensor |
First derivative of the \(a^{\text{th}\) component of the stress w.r.t. the stretch \(\lambda_b\).
[in] | a,b | The indices a,b |
|
protected |
Evaluates the C33 (through thickness) component of the deformation tensor C for compressible materials.
[in] | patch | The patch index |
[in] | u | The in-plane coordinates to be evaluated on |
[in] | z | The through-thickness coordinate |
|
protected |
Evaluates the jacobian determinant for compressible materials.
[in] | patch | The patch index |
[in] | u | The in-plane coordinates to be evaluated on |
[in] | z | The through-thickness coordinate |
|
protected |
Evalluates the compressible material matrix.
[in] | patch | The patch index |
[in] | u | The in-plane coordinates to be evaluated on |
[in] | z | The through-thickness coordinate |
|
protected |
Evalluates the compressible stress vector.
[in] | patch | The patch index |
[in] | u | The in-plane coordinates to be evaluated on |
[in] | z | The through-thickness coordinate |
|
private |
Implementation of jacobina determinant (detF)
[in] | patch | The patch index |
[in] | u | The in-plane coordinates to be evaluated on |
[in] | z | The through-thickness coordinate |
_mat | The material model |
_com | Compressibility parameter (true: compressible, false: incompressible) |
|
private |
{ function_description }
[in] | patch | The patch |
[in] | u | { parameter_description } |
[in] | z | { parameter_description } |
[in] | out | The out |
_mat | { description } |
_comp | { description } |
|
protected |
Evaluates the jacobian determinant for compressible materials.
[in] | patch | The patch index |
[in] | u | The in-plane coordinates to be evaluated on |
[in] | z | The through-thickness coordinate |
|
protected |
Evalluates the incompressible material matrix.
[in] | patch | The patch index |
[in] | u | The in-plane coordinates to be evaluated on |
[in] | z | The through-thickness coordinate |
|
protected |
Evalluates the incompressible stress vector.
[in] | patch | The patch index |
[in] | u | The in-plane coordinates to be evaluated on |
[in] | z | The through-thickness coordinate |
|
private |
Implementation of the 3D (in-plane+thickness) evaluator of the material matrix, specialization for SvK material (incompressible)
[in] | patch | The patch index |
[in] | u | The in-plane coordinates to be evaluated on |
[in] | z | The through-thickness coordinate |
_mat | The material model |
_com | Compressibility parameter (true: compressible, false: incompressible) |
|
private |
Implementation of the 3D (in-plane+thickness) evaluator of the material matrix, specialization compressible models.
[in] | patch | The patch index |
[in] | u | The in-plane coordinates to be evaluated on |
[in] | z | The through-thickness coordinate |
_mat | The material model |
_com | Compressibility parameter (true: compressible, false: incompressible) |
|
private |
Implementation of the 3D (in-plane+thickness) evaluator of the material matrix, specialization for incompressible models.
[in] | patch | The patch index |
[in] | u | The in-plane coordinates to be evaluated on |
[in] | z | The through-thickness coordinate |
_mat | The material model |
_com | Compressibility parameter (true: compressible, false: incompressible) |
|
private |
Implementation of the 3D (in-plane+thickness) evaluator of the stress vector, specialization for compressible models.
[in] | patch | The patch index |
[in] | u | The in-plane coordinates to be evaluated on |
[in] | z | The through-thickness coordinate |
_mat | The material model |
_com | Compressibility parameter (true: compressible, false: incompressible) |
|
private |
Implementation of the 3D (in-plane+thickness) evaluator of the stress vector, specialization for SvK material (incompressible)
[in] | patch | The patch index |
[in] | u | The in-plane coordinates to be evaluated on |
[in] | z | The through-thickness coordinate |
_mat | The material model |
_com | Compressibility parameter (true: compressible, false: incompressible) |
|
private |
Implementation of the 3D (in-plane+thickness) evaluator of the stress vector, specialization for incompressible models.
[in] | patch | The patch index |
[in] | u | The in-plane coordinates to be evaluated on |
[in] | z | The through-thickness coordinate |
_mat | The material model |
_com | Compressibility parameter (true: compressible, false: incompressible) |
|
private |
Implementation of the 3D (in-plane+thickness) evaluator of the stress vector, specialization for compressible models.
[in] | patch | The patch index |
[in] | u | The in-plane coordinates to be evaluated on |
[in] | z | The through-thickness coordinate |
_mat | The material model |
_com | Compressibility parameter (true: compressible, false: incompressible) |
|
protected |
Initializes the object.
Initializes options, flags and defines the number of parameters
|
private |
Implementation of pstretch_into, specialization for compressible materials.
[in] | u | The in-plane coordinates to be evaluated on |
result | The result |
_com | Compressibility parameter (true: compressible, false: incompressible) |
|
private |
Implementation of pstretch_into, specialization for incompressible materials.
[in] | u | The in-plane coordinates to be evaluated on |
result | The result |
_com | Compressibility parameter (true: compressible, false: incompressible) |
|
private |
Implementation of stretchDir_into, specialization for compressible materials.
[in] | u | The in-plane coordinates to be evaluated on |
result | The result |
_com | Compressibility parameter (true: compressible, false: incompressible) |
|
private |
Implementation of stretchDir_into, specialization for incompressible materials.
[in] | u | The in-plane coordinates to be evaluated on |
result | The result |
_com | Compressibility parameter (true: compressible, false: incompressible) |
|
protected |
Component \(a\) of the stress.
[in] | a | The index a |
|
protected |
Returns an entry of the diagonal of the stress tensor S for incompressible materials.
[in] | i | The index |
Returns an entry of the diagonal of the stress tensor S for incompressible materials.
[in] | i | The index |
[in] | c | The deformation tensor |
Returns an entry of the stress tensor S for incompressible materials.
[in] | i,j | The indices |
|
protected |
Returns an entry of the stress tensor S for compressible materials.
[in] | i,j | The indices |
[in] | c | The deformation tensor |
[in] | cinv | The inverse of the deformation tensor |
|
inlinevirtualinherited |
Provides the transformation of the principle stresses.
[in] | patch | The patch to be evaluated on |
[in] | u | The in-plane shell coordinates to be eveluated on |
[in] | z | The point through-thickness coorinate |
|
inlinevirtualinherited |
Provides the transformation of the principle stretches.
[in] | patch | The patch to be evaluated on |
[in] | u | The in-plane shell coordinates to be eveluated on |
[in] | z | The point through-thickness coorinate |
|
inlinevirtualinherited |
Gets parameter i.
[in] | i | The parameter index |
|
inlinevirtualinherited |
|
inlinevirtualinherited |
Evaluates the priciple stresses in the shell (3x1 vector)
[in] | patch | The patch to be evaluated on |
[in] | u | The in-plane shell coordinates to be eveluated on |
result | The result |
Reimplemented in gsMaterialMatrixComposite< dim, T >.
|
inlinevirtualinherited |
Evaluates the directions of the priciple stresses in the shell (3x1 vector per direction)
[in] | patch | The patch to be evaluated on |
[in] | u | The in-plane shell coordinates to be eveluated on |
result | The result |
Reimplemented in gsMaterialMatrixComposite< dim, T >.
|
inlinevirtualinherited |
Sets the options.
[in] | opt | gsOptionList |
Reimplemented in gsMaterialMatrixComposite< dim, T >.
|
inlinevirtualinherited |
Sets the material parameters.
[in] | pars | Function pointers for the parameters in a container |
|
inlinevirtualinherited |
Sets the material parameters.
[in] | pars | Function pointers for the parameters in a container |
|
inlinevirtualinherited |
Sets the material parameters.
[in] | pars | Function pointers for the parameters in a container |
|
inlinevirtualinherited |
Sets the material parameters.
[in] | pars | Function pointers for the parameters in a container |
Reimplemented in gsMaterialMatrixTFT< dim, T, linear >, and gsMaterialMatrixTFT< 2, T >.
|
inlinevirtualinherited |
Constructs a transformation matrix that transforms a quantity (IN VOIGHT NOTATION) in the spectral basis to the (undeformed) convariant basis.
[in] | patch | The patch to be evaluated on |
[in] | u | The in-plane shell coordinates to be eveluated on |
result | The result |
Reimplemented in gsMaterialMatrixComposite< dim, T >.