SPHinXsys
alpha version
SPHINXsys
src
shared
materials
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>
26
void
ActiveMuscle<MuscleType>::initializeContractionStress
()
27
{
28
this->base_particles_->registerVariable(active_contraction_stress_,
"ActiveContractionStress"
);
29
}
30
//=============================================================================================//
31
template
<
class
MuscleType>
32
void
ActiveMuscle<MuscleType>::assignBaseParticles
(
BaseParticles
*base_particles)
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
}
SPH::BaseParticles
Particles with essential (geometric and kinematic) data. There are three types of particles, all par...
Definition:
base_particles.h:81
SPH::ActiveMuscle::initializeContractionStress
void initializeContractionStress()
Definition:
complex_solid.hpp:26
std
SPH::ActiveMuscle::StressPK2
virtual Matd StressPK2(Matd &deformation, size_t index_i) override
Definition:
complex_solid.hpp:39
MuscleType
complex_solid.h
These are classes for define complex solid materials.
base_particles.hpp
This is the implementation of the template functions in base_particles.h.
SPH::ActiveMuscle
Here, the active reponse is considered.
Definition:
complex_solid.h:39
SPH
Definition:
solid_body_supplementary.cpp:9
Generated by
1.8.14