SPHinXsys  alpha version
complex_solid.hpp
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #include "complex_solid.h"
9 
10 #include "base_particles.hpp"
11 
12 using namespace std;
13 
14 namespace SPH
15 {
16  //=============================================================================================//
17  template <class MuscleType>
18  template <typename... ConstructorArgs>
19  ActiveMuscle<MuscleType>::ActiveMuscle(ConstructorArgs &&...args)
20  : MuscleType(std::forward<ConstructorArgs>(args)...)
21  {
22  MuscleType::material_type_name_ = "ActiveMuscle";
23  }
24  //=============================================================================================//
25  template <class MuscleType>
27  {
28  this->base_particles_->registerVariable(active_contraction_stress_, "ActiveContractionStress");
29  }
30  //=============================================================================================//
31  template <class MuscleType>
33  {
34  MuscleType::assignBaseParticles(base_particles);
35  initializeContractionStress();
36  }
37  //=============================================================================================//
38  template <class MuscleType>
39  Matd ActiveMuscle<MuscleType>::StressPK2(Matd &deformation, size_t index_i)
40  {
41  return MuscleType::StressPK2(deformation, index_i) +
42  active_contraction_stress_[index_i] * MuscleType::MuscleFiberDirection(index_i);
43  }
44  //=============================================================================================//
45 }
Particles with essential (geometric and kinematic) data. There are three types of particles, all par...
Definition: base_particles.h:81
void initializeContractionStress()
Definition: complex_solid.hpp:26
virtual Matd StressPK2(Matd &deformation, size_t index_i) override
Definition: complex_solid.hpp:39
These are classes for define complex solid materials.
This is the implementation of the template functions in base_particles.h.
Here, the active reponse is considered.
Definition: complex_solid.h:39
Definition: solid_body_supplementary.cpp:9