SPHinXsys
alpha version
|
A group of particles with elastic body particle data. More...
#include <solid_particles.h>
Inherits SPH::SolidParticles.
Inherited by SPH::ShellParticles.
Public Member Functions | |
ElasticSolidParticles (SPHBody &sph_body, ElasticSolid *elastic_solid) | |
Matd | getGreenLagrangeStrain (size_t particle_i) |
Vecd | getPrincipalStrains (size_t particle_i) |
Real | getVonMisesStrain (size_t particle_i) |
Real | getVonMisesStrainDynamic (size_t particle_i, Real poisson) |
StdLargeVec< Real > | getVonMisesStrainVector (std::string strain_measure="static") |
Real | getVonMisesStrainMax (std::string strain_measure="static") |
Real | getPrincipalStrainMax () |
Matd | getStressCauchy (size_t particle_i) |
Matd | getStressPK2 (size_t particle_i) |
Vecd | getPrincipalStresses (size_t particle_i) |
Real | getVonMisesStress (size_t particle_i) |
StdLargeVec< Real > | getVonMisesStressVector () |
Real | getVonMisesStressMax () |
Real | getPrincipalStressMax () |
Vecd | displacement (size_t particle_i) |
StdLargeVec< Vecd > | getDisplacement () |
Real | getMaxDisplacement () |
Vecd | normal (size_t particle_i) |
StdLargeVec< Vecd > | getNormal () |
virtual StdLargeVec< Vecd > * | AverageVelocity () |
virtual StdLargeVec< Vecd > * | AverageAcceleration () |
virtual void | initializeOtherVariables () override |
virtual ElasticSolidParticles * | ThisObjectPtr () override |
Public Member Functions inherited from SPH::SolidParticles | |
SolidParticles (SPHBody &sph_body, Solid *solid) | |
virtual Vecd | getKernelGradient (size_t index_i, size_t index_j, Real dW_ij, Vecd &e_ij) override |
Public Member Functions inherited from SPH::BaseParticles | |
BaseParticles (SPHBody &sph_body, BaseMaterial *base_material) | |
template<typename VariableType > | |
void | registerVariable (StdLargeVec< VariableType > &variable_addrs, const std::string &variable_name, VariableType initial_value=VariableType(0)) |
template<typename VariableType , class InitializationFunction > | |
void | registerVariable (StdLargeVec< VariableType > &variable_addrs, const std::string &variable_name, const InitializationFunction &initialization) |
template<typename VariableType > | |
StdLargeVec< VariableType > * | getVariableByName (const std::string &variable_name) |
template<typename VariableType > | |
void | addVariableNameToList (ParticleVariableList &variable_name_list, const std::string &variable_name) |
template<typename VariableType > | |
void | addVariableToWrite (const std::string &variable_name) |
template<class DerivedVariableMethod > | |
void | addDerivedVariableToWrite () |
template<typename VariableType > | |
void | addVariableToRestart (const std::string &variable_name) |
template<typename VariableType > | |
void | addVariableToReload (const std::string &variable_name) |
template<typename VariableType > | |
void | registerSortableVariable (const std::string &variable_name) |
SPHBody * | getSPHBody () |
void | addBufferParticles (size_t buffer_size) |
void | copyFromAnotherParticle (size_t this_index, size_t another_index) |
void | updateFromAnotherParticle (size_t this_index, size_t another_index) |
size_t | insertAGhostParticle (size_t index_i) |
void | switchToBufferParticle (size_t index_i) |
template<typename OutStreamType > | |
void | writeParticlesToVtk (OutStreamType &output_stream) |
void | writeParticlesToPltFile (std::ofstream &output_file) |
virtual void | writeSurfaceParticlesToVtuFile (std::ostream &output_file, BodySurface &surface_particles) |
void | resizeXmlDocForParticles (XmlEngine &xml_engine) |
void | writeParticlesToXmlForRestart (std::string &filefullpath) |
void | readParticleFromXmlForRestart (std::string &filefullpath) |
XmlEngine * | getReloadXmlEngine () |
void | writeToXmlForReloadParticle (std::string &filefullpath) |
void | readFromXmlForReloadParticle (std::string &filefullpath) |
virtual Vecd | ParticleTotalAcceleration (size_t index_i) |
virtual Real | ParticleVolume (size_t index_i) |
virtual Real | ParticleMass (size_t index_i) |
template<typename StreamType > | |
void | writeParticlesToVtk (StreamType &output_stream) |
Public Attributes | |
StdLargeVec< Matd > | F_ |
StdLargeVec< Matd > | dF_dt_ |
StdLargeVec< Vecd > | vel_ave_ |
StdLargeVec< Vecd > | acc_ave_ |
std::string | stress_measure_ |
Public Attributes inherited from SPH::SolidParticles | |
StdLargeVec< Vecd > | pos0_ |
StdLargeVec< Vecd > | n_ |
StdLargeVec< Vecd > | n0_ |
StdLargeVec< Matd > | B_ |
Public Attributes inherited from SPH::BaseParticles | |
StdLargeVec< Vecd > | pos_ |
StdLargeVec< Vecd > | vel_ |
StdLargeVec< Vecd > | acc_ |
StdLargeVec< Vecd > | acc_prior_ |
StdLargeVec< Real > | Vol_ |
StdLargeVec< Real > | rho_ |
StdLargeVec< Real > | mass_ |
Real | rho0_ |
Real | sigma0_ |
Real | speed_max_ |
Real | signal_speed_max_ |
size_t | total_real_particles_ |
size_t | real_particles_bound_ |
size_t | total_ghost_particles_ |
ParticleData | all_particle_data_ |
ParticleDataMap | all_variable_maps_ |
StdVec< ParticleDynamics< void > * > | derived_variables_ |
ParticleVariableList | variables_to_write_ |
StdLargeVec< size_t > | unsorted_id_ |
StdLargeVec< size_t > | sorted_id_ |
StdLargeVec< size_t > | sequence_ |
ParticleData | sortable_data_ |
ParticleDataMap | sortable_variable_maps_ |
Protected Attributes | |
ElasticSolid * | elastic_solid_ |
Protected Attributes inherited from SPH::BaseParticles | |
SPHBody * | sph_body_ |
std::string | body_name_ |
XmlEngine | restart_xml_engine_ |
XmlEngine | reload_xml_engine_ |
ParticleVariableList | variables_to_restart_ |
ParticleVariableList | variables_to_reload_ |
DataAssembleOperation< resizeParticleData > | resize_particle_data_ |
DataAssembleOperation< addAParticleDataValue > | add_a_particle_value_ |
DataAssembleOperation< copyAParticleDataValue > | copy_a_particle_value_ |
Additional Inherited Members | |
Protected Member Functions inherited from SPH::BaseParticles | |
void | addAParticleEntry () |
virtual void | writePltFileHeader (std::ofstream &output_file) |
virtual void | writePltFileParticleData (std::ofstream &output_file, size_t index_i) |
A group of particles with elastic body particle data.
|
inlinevirtual |
Get wall average acceleration when interacting with fluid.
Reimplemented from SPH::SolidParticles.
|
inlinevirtual |
Get wall average velocity when interacting with fluid.
Reimplemented from SPH::SolidParticles.
Matd SPH::ElasticSolidParticles::getGreenLagrangeStrain | ( | size_t | particle_i | ) |
Computing principal strain - returns the principal strains in descending order (starting from the largest)
Real SPH::ElasticSolidParticles::getMaxDisplacement | ( | ) |
Computing normal vector.
Vecd SPH::ElasticSolidParticles::getPrincipalStrains | ( | size_t | particle_i | ) |
Computing von Mises equivalent strain from a static (constant) formulation.
Vecd SPH::ElasticSolidParticles::getPrincipalStresses | ( | size_t | particle_i | ) |
Computing von_Mises_stress - "Cauchy" or "PK2" decided based on the stress_measure_
Real SPH::ElasticSolidParticles::getPrincipalStressMax | ( | ) |
Computing displacement.
Matd SPH::ElasticSolidParticles::getStressPK2 | ( | size_t | particle_i | ) |
Computing principal_stresses - returns the principal stresses in descending order (starting from the largest)
Real SPH::ElasticSolidParticles::getVonMisesStrain | ( | size_t | particle_i | ) |
Computing von Mises equivalent strain from a "dynamic" formulation. This depends on the Poisson's ratio (from commercial FEM software Help).
Real SPH::ElasticSolidParticles::getVonMisesStrainDynamic | ( | size_t | particle_i, |
Real | poisson | ||
) |
Computing von Mises strain for all particles. - "static" or "dynamic"
StdLargeVec< Real > SPH::ElasticSolidParticles::getVonMisesStrainVector | ( | std::string | strain_measure = "static" | ) |
Computing maximum von Mises strain from all particles. - "static" or "dynamic"
Real SPH::ElasticSolidParticles::getVonMisesStress | ( | size_t | particle_i | ) |
Computing von Mises stress for all particles. - "Cauchy" or "PK2" decided based on the stress_measure_
StdLargeVec< Real > SPH::ElasticSolidParticles::getVonMisesStressVector | ( | ) |
Computing maximum von Mises stress from all particles. - "Cauchy" or "PK2" decided based on the stress_measure_
|
overridevirtual |
initialize other variables based one geometric variables and material
Reimplemented from SPH::SolidParticles.
Reimplemented in SPH::ShellParticles.
StdLargeVec<Vecd> SPH::ElasticSolidParticles::acc_ave_ |
fluid time-step averaged particle acceleration
StdLargeVec<Matd> SPH::ElasticSolidParticles::dF_dt_ |
deformation tensor change rate
StdLargeVec<Matd> SPH::ElasticSolidParticles::F_ |
deformation tensor
std::string SPH::ElasticSolidParticles::stress_measure_ |
relevant stress measure
StdLargeVec<Vecd> SPH::ElasticSolidParticles::vel_ave_ |
fluid time-step averaged particle velocity