chrono::fea::ChElasticityReissner Class Referenceabstract

Description

Base interface for elasticity of 6-field Reissner-Mindlin shells (kinematically-exact shell theory as in Witkowski et al.) to be used in a ChMaterialShellReissner.

Children classes must implement the ComputeStress function to get {n_u,n_v,m_u,m_v}=f({e_u,e_v,k_u,k_v}) 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::ChElasticityReissner:
Collaboration diagram for chrono::fea::ChElasticityReissner:

Public Member Functions

virtual void ComputeStress (ChVector3d &n_u, ChVector3d &n_v, ChVector3d &m_u, ChVector3d &m_v, const ChVector3d &eps_u, const ChVector3d &eps_v, const ChVector3d &kur_u, const ChVector3d &kur_v, const double z_inf, const double z_sup, const double angle)=0
 Compute the generalized force and torque, given actual deformation and curvature. More...
 
virtual void ComputeStiffnessMatrix (ChMatrixRef mC, const ChVector3d &eps_u, const ChVector3d &eps_v, const ChVector3d &kur_u, const ChVector3d &kur_v, const double z_inf, const double z_sup, const double angle)
 Compute the 12x12 stiffness matrix [Km] , that is [ds/de], the tangent of the constitutive relation stresses/strains. More...
 

Public Attributes

ChMaterialShellReissnersection
 

Member Function Documentation

◆ ComputeStiffnessMatrix()

void chrono::fea::ChElasticityReissner::ComputeStiffnessMatrix ( ChMatrixRef  mC,
const ChVector3d eps_u,
const ChVector3d eps_v,
const ChVector3d kur_u,
const ChVector3d kur_v,
const double  z_inf,
const double  z_sup,
const double  angle 
)
virtual

Compute the 12x12 stiffness matrix [Km] , that is [ds/de], the tangent of the constitutive relation stresses/strains.

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::ChElasticityReissnerGeneric, chrono::fea::ChElasticityReissnerOrthotropic, and chrono::fea::ChElasticityReissnerIsothropic.

◆ ComputeStress()

virtual void chrono::fea::ChElasticityReissner::ComputeStress ( ChVector3d n_u,
ChVector3d n_v,
ChVector3d m_u,
ChVector3d m_v,
const ChVector3d eps_u,
const ChVector3d eps_v,
const ChVector3d kur_u,
const ChVector3d kur_v,
const double  z_inf,
const double  z_sup,
const double  angle 
)
pure virtual

Compute the generalized force and torque, given actual deformation and curvature.

This MUST be implemented by subclasses.

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::ChElasticityReissnerGeneric, chrono::fea::ChElasticityReissnerOrthotropic, and chrono::fea::ChElasticityReissnerIsothropic.


The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono/fea/ChMaterialShellReissner.h
  • /builds/uwsbel/chrono/src/chrono/fea/ChMaterialShellReissner.cpp