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

A group of particles with solid body particle data. More...

#include <solid_particles.h>

Inherits SPH::BaseParticles.

Inherited by SPH::DiffusionReactionParticles< SolidParticles >, and SPH::ElasticSolidParticles.

Public Member Functions

 SolidParticles (SPHBody &sph_body, Solid *solid)
 
virtual Vecd getKernelGradient (size_t index_i, size_t index_j, Real dW_ij, Vecd &e_ij) override
 
virtual StdLargeVec< Vecd > * AverageVelocity ()
 
virtual StdLargeVec< Vecd > * AverageAcceleration ()
 
virtual void initializeOtherVariables () override
 
virtual SolidParticlesThisObjectPtr () 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)
 
SPHBodygetSPHBody ()
 
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)
 
XmlEnginegetReloadXmlEngine ()
 
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< 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_tunsorted_id_
 
StdLargeVec< size_tsorted_id_
 
StdLargeVec< size_tsequence_
 
ParticleData sortable_data_
 
ParticleDataMap sortable_variable_maps_
 

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)
 
- Protected Attributes inherited from SPH::BaseParticles
SPHBodysph_body_
 
std::string body_name_
 
XmlEngine restart_xml_engine_
 
XmlEngine reload_xml_engine_
 
ParticleVariableList variables_to_restart_
 
ParticleVariableList variables_to_reload_
 
DataAssembleOperation< resizeParticleDataresize_particle_data_
 
DataAssembleOperation< addAParticleDataValueadd_a_particle_value_
 
DataAssembleOperation< copyAParticleDataValuecopy_a_particle_value_
 

Detailed Description

A group of particles with solid body particle data.

Member Function Documentation

◆ AverageAcceleration()

virtual StdLargeVec<Vecd>* SPH::SolidParticles::AverageAcceleration ( )
inlinevirtual

Get wall average acceleration when interacting with fluid.

Reimplemented in SPH::ElasticSolidParticles.

◆ AverageVelocity()

virtual StdLargeVec<Vecd>* SPH::SolidParticles::AverageVelocity ( )
inlinevirtual

Get wall average velocity when interacting with fluid.

Reimplemented in SPH::ElasticSolidParticles.

◆ getKernelGradient()

Vecd SPH::SolidParticles::getKernelGradient ( size_t  index_i,
size_t  index_j,
Real  dW_ij,
Vecd &  e_ij 
)
overridevirtual

Get the kernel gradient in weak form.

Reimplemented from SPH::BaseParticles.

Reimplemented in SPH::ElectroPhysiologyReducedParticles.

◆ initializeOtherVariables()

void SPH::SolidParticles::initializeOtherVariables ( )
overridevirtual

initialize other variables based one geometric variables and material

Reimplemented from SPH::BaseParticles.

Reimplemented in SPH::ShellParticles, and SPH::ElasticSolidParticles.

Member Data Documentation

◆ B_

StdLargeVec<Matd> SPH::SolidParticles::B_

configuration correction for linear reproducing

◆ n0_

StdLargeVec<Vecd> SPH::SolidParticles::n0_

initial normal direction

◆ n_

StdLargeVec<Vecd> SPH::SolidParticles::n_

normal direction

◆ pos0_

StdLargeVec<Vecd> SPH::SolidParticles::pos0_

initial position


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