chrono::fea::ChMaterialShellReissner Class Referenceabstract

Description

Base class for all materials to be used for 6-field Reissner-Mindlin shells (kinematically-exact shell theory) as in Witkowski et al.

Inherited materials do not define any thickness, which should be a property of the element or its layer(s) using this material.

#include <ChMaterialShellReissner.h>

Inheritance diagram for chrono::fea::ChMaterialShellReissner:

Public Member Functions

 ChMaterialShellReissner ()
 Construct an isotropic material.
 
double Get_rho () const
 Return the material density.
 
virtual void ComputeStress (ChVector<> &n_u, ChVector<> &n_v, ChVector<> &m_u, ChVector<> &m_v, const ChVector<> &eps_u, const ChVector<> &eps_v, const ChVector<> &kur_u, const ChVector<> &kur_v, const double z_inf, const double z_sup, const double angle)=0
 The FE code will evaluate this function to compute u,v stresses/torques given the u,v strains/curvatures. More...
 
virtual void ComputeTangentC (ChMatrix<> &mC, const ChVector<> &eps_u, const ChVector<> &eps_v, const ChVector<> &kur_u, const ChVector<> &kur_v, const double z_inf, const double z_sup, const double angle)
 Compute [C] , that is [ds/de], the tangent of the constitutive relation stresses/strains. More...
 

Protected Attributes

double m_rho
 density
 

Member Function Documentation

virtual void chrono::fea::ChMaterialShellReissner::ComputeStress ( ChVector<> &  n_u,
ChVector<> &  n_v,
ChVector<> &  m_u,
ChVector<> &  m_v,
const ChVector<> &  eps_u,
const ChVector<> &  eps_v,
const ChVector<> &  kur_u,
const ChVector<> &  kur_v,
const double  z_inf,
const double  z_sup,
const double  angle 
)
pure virtual

The FE code will evaluate this function to compute u,v stresses/torques given the u,v strains/curvatures.

Inherited classes MUST implement this.

Parameters
n_uforces along u direction (per unit length)
n_vforces along v direction (per unit length)
m_utorques along u direction (per unit length)
m_vtorques along v direction (per unit length)
eps_ustrains along u direction
eps_vstrains along v direction
kur_ucurvature along u direction
kur_vcurvature along v direction
z_inflayer lower z value (along thickness coord)
z_suplayer upper z value (along thickness coord)
anglelayer angle respect to x (if needed)

Implemented in chrono::fea::ChMaterialShellReissnerOrthotropic, and chrono::fea::ChMaterialShellReissnerIsothropic.

void chrono::fea::ChMaterialShellReissner::ComputeTangentC ( ChMatrix<> &  mC,
const ChVector<> &  eps_u,
const ChVector<> &  eps_v,
const ChVector<> &  kur_u,
const ChVector<> &  kur_v,
const double  z_inf,
const double  z_sup,
const double  angle 
)
virtual

Compute [C] , that is [ds/de], the tangent of the constitutive relation stresses/strains.

In many cases this is a constant matrix, but it could change for instance in case of hardening or softening materials, etc. By default, it is computed by backward differentiation from the ComputeStress() function, but inherited classes should better provide an analytical form, if possible.

Parameters
mCtangent matrix
eps_ustrains along u direction
eps_vstrains along v direction
kur_ucurvature along u direction
kur_vcurvature along v direction
z_inflayer lower z value (along thickness coord)
z_suplayer upper z value (along thickness coord)
anglelayer angle respect to x (if needed)

Reimplemented in chrono::fea::ChMaterialShellReissnerOrthotropic, and chrono::fea::ChMaterialShellReissnerIsothropic.