Loading...
Searching...
No Matches
MPMFluidSolver-Impl.hpp
Go to the documentation of this file.
static Stencil GetStencil(const Vector< double, N > &position, const Vector< double, N > &gridSpacing, const Vector< double, N > &dataOrigin)
Definition MPMSystemData-Impl.hpp:138
Front-end to create MPMFluidSolver objects step by step.
Definition MPMFluidSolver.hpp:124
N-D explicit weakly compressible material point method solver.
Definition MPMFluidSolver.hpp:41
int GetClosedDomainBoundaryFlag() const
Returns the closed domain boundary flag.
Definition MPMFluidSolver-Impl.hpp:81
void SetTimeStepLimitScale(double newScale)
Sets the adaptive time-step scale in (0, 1].
Definition MPMFluidSolver-Impl.hpp:68
void OnBeginAdvanceTimeStep(double timeStepInSeconds) override
Advances particle-grid fluid state before base particle integration.
Definition MPMFluidSolver-Impl.hpp:167
const MPMFluidConstitutiveModel< N > & GetConstitutiveModel() const
Returns the immutable weakly compressible constitutive model.
Definition MPMFluidSolver-Impl.hpp:55
double GetTimeStepLimitScale() const
Returns the scale applied to adaptive time-step limits.
Definition MPMFluidSolver-Impl.hpp:62
static Builder GetBuilder()
Returns a builder for MPMFluidSolver.
Definition MPMFluidSolver-Impl.hpp:93
std::shared_ptr< MPMFluidSystemData< N > > GetMPMSystemData() const
Returns the owned MPM fluid particle and grid state.
Definition MPMFluidSolver-Impl.hpp:48
MPMFluidSolver(const SizeType &resolution=SizeType::MakeConstant(32), const VectorType &gridSpacing=VectorType::MakeConstant(1.0), const VectorType &gridOrigin=VectorType{}, double radius=1e-3, double mass=1e-3, double targetDensity=WATER_DENSITY, double speedOfSound=100.0, double eosExponent=7.0, double negativePressureScale=0.0)
Constructs an empty weakly compressible MPM fluid solver.
Definition MPMFluidSolver-Impl.hpp:23
unsigned int GetNumberOfSubTimeSteps(double timeIntervalInSeconds) const override
Returns the number of adaptive sub-time-steps.
Definition MPMFluidSolver-Impl.hpp:107
void OnEndAdvanceTimeStep(double timeStepInSeconds) override
Projects particles back into selected closed domain boundaries.
Definition MPMFluidSolver-Impl.hpp:179
void SetClosedDomainBoundaryFlag(int flag)
Sets the closed domain boundary flag.
Definition MPMFluidSolver-Impl.hpp:87
void OnInitialize() override
Initializes particle-grid state before the first adaptive step query.
Definition MPMFluidSolver-Impl.hpp:99
void AccumulateForces(double timeStepInSeconds) override
Fluid forces are integrated on the background grid.
Definition MPMFluidSolver-Impl.hpp:161
std::conditional_t< N==2, ParticleSystemSolver2, ParticleSystemSolver3 > Base
Definition MPMFluidSolver.hpp:47
N-D weakly compressible MPM fluid transfer state.
Definition MPMFluidSystemData.hpp:26
Definition Matrix.hpp:30
Definition pybind11Utils.hpp:22
void ParallelFor(IndexType beginIndex, IndexType endIndex, const Function &function, ExecutionPolicy policy)
Makes a for-loop from beginIndex to endIndex in parallel.
Definition Parallel-Impl.hpp:203
1.9.8