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

Fluid body uses smoothing length to particle spacing 1.3 and carry out particle sorting every 100 iterations. More...

#include <fluid_body.h>

Inherits SPH::RealBody.

Public Member Functions

 FluidBody (SPHSystem &system, SharedPtr< Shape > shape_ptr)
 
virtual void updateCellLinkedList () override
 
virtual FluidBodyThisObjectPtr () override
 
- Public Member Functions inherited from SPH::RealBody
 RealBody (SPHSystem &sph_system, SharedPtr< Shape > shape_ptr)
 
void setUseSplitCellLists ()
 
bool getUseSplitCellLists ()
 
SplitCellListsgetSplitCellLists ()
 
virtual void assignBaseParticles (BaseParticles *base_particles) override
 
virtual void sortParticleWithCellLinkedList ()
 
template<class AdaptationType , typename... ConstructorArgs>
void defineAdaptation (ConstructorArgs &&...args)
 
- Public Member Functions inherited from SPH::SPHBody
 SPHBody (SPHSystem &sph_system, SharedPtr< Shape > shape_ptr)
 
std::string getBodyName ()
 
SPHSystemgetSPHSystem ()
 
Real getSPHBodyResolutionRef ()
 
void setNewlyUpdated ()
 
void setNotNewlyUpdated ()
 
bool checkNewlyUpdated ()
 
void setBodyDomainBounds (const BoundingBox &body_domain_bounds)
 
BoundingBox getBodyDomainBounds ()
 
BoundingBox getSPHSystemBounds ()
 
template<typename... ConstructorArgs>
LevelSetShapedefineComponentLevelSetShape (const std::string &shape_name, ConstructorArgs &&...args)
 
template<typename... ConstructorArgs>
LevelSetShapedefineBodyLevelSetShape (ConstructorArgs &&...args)
 
template<class ParticleType = BaseParticles, class MaterialType = BaseMaterial>
void defineParticlesWithMaterial (MaterialType *material)
 
template<class ParticleType = BaseParticles, class MaterialType = BaseMaterial, typename... ConstructorArgs>
void defineParticlesAndMaterial (ConstructorArgs &&...args)
 
template<class ParticleGeneratorType , typename... ConstructorArgs>
void generateParticles (ConstructorArgs &&...args)
 
void allocateConfigurationMemoriesForBufferParticles ()
 
template<typename VariableType >
void addBodyStateForRecording (const std::string &variable_name)
 
template<class DerivedVariableMethod >
void addDerivedBodyStateForRecording ()
 
virtual void writeParticlesToVtuFile (std::ostream &output_file)
 
virtual void writeParticlesToVtpFile (std::ofstream &output_file)
 
virtual void writeParticlesToPltFile (std::ofstream &output_file)
 
virtual void writeSurfaceParticlesToVtuFile (std::ofstream &output_file, BodySurface &surface_particles)
 
virtual void writeParticlesToXmlForRestart (std::string &filefullpath)
 
virtual void readParticlesFromXmlForRestart (std::string &filefullpath)
 
virtual void writeToXmlForReloadParticle (std::string &filefullpath)
 
virtual void readFromXmlForReloadParticle (std::string &filefullpath)
 

Protected Attributes

size_t iteration_count_
 
- Protected Attributes inherited from SPH::SPHBody
UniquePtrKeeper< SPHAdaptationsph_adaptation_ptr_keeper_
 
SPHSystemsph_system_
 
std::string body_name_
 
bool newly_updated_
 
BoundingBox body_domain_bounds_
 
bool is_domain_bounds_determined_
 

Additional Inherited Members

- Public Attributes inherited from SPH::RealBody
ParticleSorting particle_sorting_
 
BaseCellLinkedListcell_linked_list_
 
- Public Attributes inherited from SPH::SPHBody
Shapebody_shape_
 
SPHAdaptationsph_adaptation_
 
BaseMaterialbase_material_
 
BaseParticlesbase_particles_
 
StdVec< SPHBodyRelation * > body_relations_
 

Detailed Description

Fluid body uses smoothing length to particle spacing 1.3 and carry out particle sorting every 100 iterations.

Member Function Documentation

◆ updateCellLinkedList()

void SPH::FluidBody::updateCellLinkedList ( )
overridevirtual

Update cell linked list with particle sorting.

Reimplemented from SPH::RealBody.


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