SPHinXsys  alpha version
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
SPH::ElasticSolid Class Referenceabstract

Abstract class for a generalized elastic solid. More...

#include <elastic_solid.h>

Inherits SPH::Solid.

Inherited by SPH::LinearElasticSolid.

Public Member Functions

 ElasticSolid (Real rho0)
 
Real ReferenceSoundSpeed ()
 
Real TensileWaveSpeed ()
 
Real ShearWaveSpeed ()
 
Real YoungsModulus ()
 
Real ShearModulus ()
 
Real BulkModulus ()
 
Real PoissonRatio ()
 
virtual Matd StressPK2 (Matd &deformation, size_t particle_index_i)=0
 
virtual Matd StressCauchy (Matd &almansi_strain, Matd &F, size_t particle_index_i)=0
 
virtual Matd NumericalDampingRightCauchy (Matd &deformation, Matd &deformation_rate, Real smoothing_length, size_t particle_index_i)
 
virtual Matd NumericalDampingLeftCauchy (Matd &deformation, Matd &deformation_rate, Real smoothing_length, size_t particle_index_i)
 
virtual Real PairNumericalDamping (Real dE_dt_ij, Real smoothing_length)
 
virtual Matd DeviatoricKirchhoff (const Matd &deviatoric_be)
 
virtual Real VolumetricKirchhoff (Real J)=0
 
virtual std::string getRelevantStressMeasureName ()=0
 
virtual ElasticSolidThisObjectPtr () override
 
- Public Member Functions inherited from SPH::Solid
 Solid (Real rho0, Real contact_stiffness, Real contact_friction=0.0)
 
 Solid (Real rho0)
 
Real ContactFriction ()
 
Real ContactStiffness ()
 
- Public Member Functions inherited from SPH::BaseMaterial
 BaseMaterial (Real rho0)
 
virtual void assignBaseParticles (BaseParticles *base_particles)
 
std::string MaterialType ()
 
std::string LocalParametersName ()
 
Real ReferenceDensity ()
 
virtual void writeToXmlForReloadLocalParameters (const std::string &filefullpath)
 
virtual void readFromXmlForLocalParameters (const std::string &filefullpath)
 

Protected Member Functions

void setSoundSpeeds ()
 
- Protected Member Functions inherited from SPH::Solid
void setContactStiffness (Real c0)
 

Protected Attributes

Real E0_
 
Real G0_
 
Real K0_
 
Real nu_
 
Real c0_
 
Real ct0_
 
Real cs0_
 
- Protected Attributes inherited from SPH::Solid
Real contact_stiffness_
 
Real contact_friction_
 
- Protected Attributes inherited from SPH::BaseMaterial
std::string material_type_name_
 
std::string parameters_name_
 
Real rho0_
 
BaseParticlesbase_particles_
 
XmlEngine reload_material_xml_engine_
 
ParticleVariableList reload_local_parameters_
 

Detailed Description

Abstract class for a generalized elastic solid.

Member Function Documentation

◆ DeviatoricKirchhoff()

Matd SPH::ElasticSolid::DeviatoricKirchhoff ( const Matd &  deviatoric_be)
virtual

Deviatoric Kirchhoff stress related with the deviatoric part of left Cauchy-Green deformation tensor. Note that, dependent of the normalization of the later, the returned stress can be normalized or non-normalized.

◆ getRelevantStressMeasureName()

virtual std::string SPH::ElasticSolid::getRelevantStressMeasureName ( )
pure virtual

Define the calculation of the stress matrix for postprocessing

Implemented in SPH::LocallyOrthotropicMuscle, SPH::Muscle, SPH::FeneNeoHookeanSolid, SPH::NeoHookeanSolid, and SPH::LinearElasticSolid.

◆ NumericalDampingLeftCauchy()

Matd SPH::ElasticSolid::NumericalDampingLeftCauchy ( Matd &  deformation,
Matd &  deformation_rate,
Real  smoothing_length,
size_t  particle_index_i 
)
virtual

Numerical damping stress using left Cauchy tensor.

◆ NumericalDampingRightCauchy()

Matd SPH::ElasticSolid::NumericalDampingRightCauchy ( Matd &  deformation,
Matd &  deformation_rate,
Real  smoothing_length,
size_t  particle_index_i 
)
virtual

Numerical damping stress using right Cauchy tensor.

◆ PairNumericalDamping()

Real SPH::ElasticSolid::PairNumericalDamping ( Real  dE_dt_ij,
Real  smoothing_length 
)
virtual

Numerical damping is computed between particles i and j

◆ StressCauchy()

virtual Matd SPH::ElasticSolid::StressCauchy ( Matd &  almansi_strain,
Matd &  F,
size_t  particle_index_i 
)
pure virtual

Cauchy stress through Eulerian Almansi strain tensor.

Implemented in SPH::NeoHookeanSolidIncompressible, SPH::NeoHookeanSolid, and SPH::LinearElasticSolid.

◆ StressPK2()

virtual Matd SPH::ElasticSolid::StressPK2 ( Matd &  deformation,
size_t  particle_index_i 
)
pure virtual

◆ VolumetricKirchhoff()

virtual Real SPH::ElasticSolid::VolumetricKirchhoff ( Real  J)
pure virtual

Volumetric Kirchhoff stress from determinate

Implemented in SPH::Muscle, SPH::OrthotropicSolid, SPH::NeoHookeanSolidIncompressible, SPH::NeoHookeanSolid, and SPH::LinearElasticSolid.


The documentation for this class was generated from the following files: