SPHinXsys
alpha version
|
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< BaseCellLinkedList > | createCellLinkedList (const BoundingBox &domain_bounds, RealBody &real_body) override |
virtual UniquePtr< BaseLevelSet > | createLevelSet (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 () |
Kernel * | getKernel () |
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< Kernel > | kernel_ptr_ |
Real | spacing_min_ |
Real | h_ratio_max_ |
Real | number_density_min_ |
Real | number_density_max_ |
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.
StdLargeVec<Real> SPH::ParticleWithLocalRefinement::h_ratio_ |
the ratio between reference smoothing length to variable smoothing length