29 #ifndef SOLID_PARTICLES_H 30 #define SOLID_PARTICLES_H 61 virtual Vecd
getKernelGradient(
size_t index_i,
size_t index_j, Real dW_ij, Vecd &e_ij)
override;
102 Real getVonMisesStrainMax(std::string strain_measure =
"static");
103 Real getPrincipalStrainMax();
106 Matd getStressCauchy(
size_t particle_i);
116 Real getVonMisesStressMax();
120 Vecd displacement(
size_t particle_i);
125 Vecd normal(
size_t particle_i);
140 ElasticSolid *elastic_solid_;
180 virtual Real ParticleVolume(
size_t index_i) {
return Vol_[index_i] *
thickness_[index_i]; }
181 virtual Real ParticleMass(
size_t index_i) {
return mass_[index_i] *
thickness_[index_i]; }
184 virtual ShellParticles *ThisObjectPtr()
override {
return this; };
187 #endif // SOLID_PARTICLES_H StdLargeVec< Vecd > vel_ave_
Definition: solid_particles.h:87
StdLargeVec< Real > getVonMisesStressVector()
Definition: solid_particles.cpp:187
Particles with essential (geometric and kinematic) data. There are three types of particles, all par...
Definition: base_particles.h:81
A group of particles with elastic body particle data.
Definition: solid_particles.h:76
Vecd getPrincipalStrains(size_t particle_i)
Definition: solid_particles.cpp:82
StdLargeVec< Vecd > pos0_
Definition: solid_particles.h:53
StdLargeVec< Vecd > dpseudo_n_d2t_
Definition: solid_particles.h:161
Real getVonMisesStress(size_t particle_i)
Definition: solid_particles.cpp:114
StdLargeVec< Matd > dF_bending_dt_
Definition: solid_particles.h:172
StdLargeVec< Vecd > rotation_
Definition: solid_particles.h:165
StdLargeVec< Real > mass_
Definition: base_particles.h:97
Base class of all solid materials.
Definition: base_material.h:113
StdLargeVec< Vecd > dangular_vel_dt_
Definition: solid_particles.h:167
virtual StdLargeVec< Vecd > * AverageAcceleration()
Definition: solid_particles.h:65
virtual Vecd getKernelGradient(size_t index_i, size_t index_j, Real dW_ij, Vecd &e_ij) override
Definition: solid_particles.cpp:36
StdLargeVec< Vecd > global_shear_stress_
Definition: solid_particles.h:176
virtual StdLargeVec< Vecd > * AverageAcceleration()
Definition: solid_particles.h:134
virtual void initializeOtherVariables() override
Definition: solid_particles.cpp:20
StdLargeVec< Real > thickness_
Definition: solid_particles.h:155
Real getPrincipalStressMax()
Definition: solid_particles.cpp:175
Real getVonMisesStrain(size_t particle_i)
Definition: solid_particles_supplementary.cpp:13
A group of particles with solid body particle data.
Definition: solid_particles.h:49
StdLargeVec< Vecd > vel_
Definition: base_particles.h:91
Vecd getPrincipalStresses(size_t particle_i)
Definition: solid_particles.cpp:100
StdLargeVec< Real > getVonMisesStrainVector(std::string strain_measure="static")
Definition: solid_particles.cpp:128
StdLargeVec< Matd > F_
Definition: solid_particles.h:80
virtual void initializeOtherVariables() override
Definition: solid_particles.cpp:267
virtual void initializeOtherVariables() override
Definition: solid_particles.cpp:46
A group of particles with shell particle data.
Definition: solid_particles.h:147
StdLargeVec< Matd > B_
Definition: solid_particles.h:58
StdLargeVec< Matd > transformation_matrix_
Definition: solid_particles.h:154
StdLargeVec< Vecd > acc_ave_
Definition: solid_particles.h:88
StdLargeVec< Real > Vol_
Definition: base_particles.h:95
Abstract class for a generalized elastic solid.
Definition: elastic_solid.h:44
StdLargeVec< Vecd > n_
Definition: solid_particles.h:56
StdLargeVec< Matd > dF_dt_
Definition: solid_particles.h:83
StdLargeVec< Vecd > acc_
Definition: base_particles.h:92
virtual StdLargeVec< Vecd > * AverageVelocity()
Definition: solid_particles.h:63
Matd getGreenLagrangeStrain(size_t particle_i)
Definition: solid_particles.cpp:76
StdLargeVec< Vecd > angular_vel_
Definition: solid_particles.h:166
StdLargeVec< Vecd > dpseudo_n_dt_
Definition: solid_particles.h:160
This is the base class of SPH particles. The basic data of the particles is saved in separated large ...
StdLargeVec< Matd > global_stress_
Definition: solid_particles.h:177
Real getMaxDisplacement()
Definition: solid_particles.cpp:230
This is the implementation of the template functions in base_particles.h.
SPHBody is a base body with basic data and functions. Its derived class can be a real fluid body...
Definition: base_body.h:61
This is the base class of particle generator, which generates particles with given positions and volu...
std::string stress_measure_
Definition: solid_particles.h:129
virtual StdLargeVec< Vecd > * AverageVelocity()
Definition: solid_particles.h:132
Real getVonMisesStrainDynamic(size_t particle_i, Real poisson)
Definition: solid_particles_supplementary.cpp:31
These are classes for define properties of elastic solid materials. These classes are based on isotro...
StdLargeVec< Vecd > pseudo_n_
Definition: solid_particles.h:159
StdLargeVec< Matd > F_bending_
Definition: solid_particles.h:171
StdLargeVec< Vecd > n0_
Definition: solid_particles.h:57
Matd getStressPK2(size_t particle_i)
Definition: solid_particles.cpp:95
StdLargeVec< Matd > global_moment_
Definition: solid_particles.h:178
Definition: solid_body_supplementary.cpp:9