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

Base class for particle with local refinement. More...

#include <adaptation.h>

Inherits SPH::SPHAdaptation.

Inherited by SPH::ParticleSpacingByBodyShape.

Public Member Functions

 ParticleWithLocalRefinement (SPHBody *sph_body, Real h_spacing_ratio_, Real system_refinement_ratio, int local_refinement_level)
 
size_t getCellLinkedListTotalLevel ()
 
size_t getLevelSetTotalLevel ()
 
virtual Real SmoothingLengthRatio (size_t particle_index_i) override
 
StdLargeVec< Real > & registerSmoothingLengthRatio (BaseParticles *base_particles)
 
virtual UniquePtr< BaseCellLinkedListcreateCellLinkedList (const BoundingBox &domain_bounds, RealBody &real_body) override
 
virtual UniquePtr< BaseLevelSetcreateLevelSet (Shape &shape, Real refinement_ratio) override
 
- Public Member Functions inherited from SPH::SPHAdaptation
 SPHAdaptation (SPHBody *sph_body, Real h_spacing_ratio=1.3, Real system_refinement_ratio=1.0)
 
int LocalRefinementLevel ()
 
Real ReferenceSpacing ()
 
Real ReferenceSmoothingLength ()
 
KernelgetKernel ()
 
void resetAdaptationRatios (Real h_spacing_ratio, Real new_system_refinement_ratio=1.0)
 
template<class KernelType , typename... ConstructorArgs>
void resetKernel (ConstructorArgs &&...args)
 
Real MinimumSpacing ()
 
Real computeReferenceNumberDensity (Vec2d zero, Real h_ratio)
 
Real computeReferenceNumberDensity (Vec3d zero, Real h_ratio)
 
Real ReferenceNumberDensity ()
 

Public Attributes

StdLargeVec< Real > h_ratio_
 

Additional Inherited Members

- Protected Member Functions inherited from SPH::SPHAdaptation
Real RefinedSpacing (Real coarse_particle_spacing, int refinement_level)
 
- Protected Attributes inherited from SPH::SPHAdaptation
Real h_spacing_ratio_
 
Real system_refinement_ratio_
 
int local_refinement_level_
 
Real spacing_ref_
 
Real h_ref_
 
UniquePtr< Kernelkernel_ptr_
 
Real spacing_min_
 
Real h_ratio_max_
 
Real number_density_min_
 
Real number_density_max_
 

Detailed Description

Base class for particle with local refinement.

Different refinement strategies will be used in derived classes. TODO: I should justify whether define h_ratio_ in this class is proper or not.

Member Data Documentation

◆ h_ratio_

StdLargeVec<Real> SPH::ParticleWithLocalRefinement::h_ratio_

the ratio between reference smoothing length to variable smoothing length


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