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

muscle model is a anisotropic material in which there are local fiber direction and cross-fiber sheet direction. the model here is from Holzapfel and Ogden, 2009, Phil. Trans. R. Soc. 367:3445-3475 we consider a neo-Hookean model for the background isotropic contribution. More...

#include <elastic_solid.h>

Inherits SPH::Muscle.

Public Member Functions

 LocallyOrthotropicMuscle (Real rho0, Real bulk_modulus, const Vecd &f0, const Vecd &s0, const Real(&a0)[4], const Real(&b0)[4])
 
virtual void assignBaseParticles (BaseParticles *base_particles) override
 
virtual Matd MuscleFiberDirection (size_t particle_index_i) override
 
virtual Matd StressPK2 (Matd &deformation, size_t particle_index_i) override
 
virtual void readFromXmlForLocalParameters (const std::string &filefullpath) override
 
virtual std::string getRelevantStressMeasureName () override
 
- Public Member Functions inherited from SPH::Muscle
 Muscle (Real rho0, Real bulk_modulus, const Vecd &f0, const Vecd &s0, const Real(&a0)[4], const Real(&b0)[4])
 
virtual Real VolumetricKirchhoff (Real J) override
 
virtual MuscleThisObjectPtr () override
 
- Public Member Functions inherited from SPH::NeoHookeanSolid
 NeoHookeanSolid (Real rho0, Real youngs_modulus, Real poisson_ratio)
 
virtual Matd StressCauchy (Matd &almansi_strain, Matd &F, size_t particle_index_i) override
 
- Public Member Functions inherited from SPH::LinearElasticSolid
 LinearElasticSolid (Real rho0, Real youngs_modulus, Real poisson_ratio)
 
Real getYoungsModulus ()
 
Real getPoissonRatio ()
 
Real getDensity ()
 
- Public Member Functions inherited from SPH::ElasticSolid
 ElasticSolid (Real rho0)
 
Real ReferenceSoundSpeed ()
 
Real TensileWaveSpeed ()
 
Real ShearWaveSpeed ()
 
Real YoungsModulus ()
 
Real ShearModulus ()
 
Real BulkModulus ()
 
Real PoissonRatio ()
 
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)
 
- 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)
 
std::string MaterialType ()
 
std::string LocalParametersName ()
 
Real ReferenceDensity ()
 
virtual void writeToXmlForReloadLocalParameters (const std::string &filefullpath)
 

Public Attributes

StdLargeVec< Vecd > local_f0_
 
StdLargeVec< Vecd > local_s0_
 

Protected Member Functions

virtual void initializeFiberAndSheet ()
 
void initializeFiberAndSheetTensors ()
 
- Protected Member Functions inherited from SPH::LinearElasticSolid
Real getBulkModulus (Real youngs_modulus, Real poisson_ratio)
 
Real getShearModulus (Real youngs_modulus, Real poisson_ratio)
 
Real getLambda (Real youngs_modulus, Real poisson_ratio)
 
- Protected Member Functions inherited from SPH::ElasticSolid
void setSoundSpeeds ()
 
- Protected Member Functions inherited from SPH::Solid
void setContactStiffness (Real c0)
 

Protected Attributes

StdLargeVec< Matd > local_f0f0_
 
StdLargeVec< Matd > local_s0s0_
 
StdLargeVec< Matd > local_f0s0_
 
- Protected Attributes inherited from SPH::Muscle
Vecd f0_
 
Vecd s0_
 
Matd f0f0_
 
Matd s0s0_
 
Matd f0s0_
 
Real a0_ [4]
 
Real b0_ [4]
 
- Protected Attributes inherited from SPH::LinearElasticSolid
Real lambda0_
 
- Protected Attributes inherited from SPH::ElasticSolid
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

muscle model is a anisotropic material in which there are local fiber direction and cross-fiber sheet direction. the model here is from Holzapfel and Ogden, 2009, Phil. Trans. R. Soc. 367:3445-3475 we consider a neo-Hookean model for the background isotropic contribution.

Member Function Documentation

◆ assignBaseParticles()

void SPH::LocallyOrthotropicMuscle::assignBaseParticles ( BaseParticles base_particles)
overridevirtual

This will be called in BaseParticle constructor and is important because particles are not defined in SPHBody constructor. For a composite material, i.e. there is a material pointer with another material, one need assign the base particle to that material too.

Reimplemented from SPH::BaseMaterial.

◆ getRelevantStressMeasureName()

virtual std::string SPH::LocallyOrthotropicMuscle::getRelevantStressMeasureName ( )
inlineoverridevirtual

Define the calculation of the stress matrix for postprocessing

Reimplemented from SPH::Muscle.

◆ initializeFiberAndSheet()

void SPH::LocallyOrthotropicMuscle::initializeFiberAndSheet ( )
protectedvirtual

Default initialization of the fiber and sheet directions

◆ StressPK2()

Matd SPH::LocallyOrthotropicMuscle::StressPK2 ( Matd &  deformation,
size_t  particle_index_i 
)
overridevirtual

Compute the stress through Constitutive relation.

Reimplemented from SPH::Muscle.

Member Data Documentation

◆ local_f0_

StdLargeVec<Vecd> SPH::LocallyOrthotropicMuscle::local_f0_

local fiber direction.

◆ local_f0s0_

StdLargeVec<Matd> SPH::LocallyOrthotropicMuscle::local_f0s0_
protected

Sheet direction.

◆ local_s0_

StdLargeVec<Vecd> SPH::LocallyOrthotropicMuscle::local_s0_

local sheet direction.


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