Loading...
Searching...
No Matches
MPMSystemData-Impl.hpp
Go to the documentation of this file.
Tensor-product cubic B-spline interpolation kernel.
Definition MPMSystemData.hpp:28
static double Weight(double x)
Definition MPMSystemData-Impl.hpp:25
static Stencil GetStencil(const Vector< double, N > &position, const Vector< double, N > &gridSpacing, const Vector< double, N > &dataOrigin)
Definition MPMSystemData-Impl.hpp:138
static double Gradient(double x)
Definition MPMSystemData-Impl.hpp:44
std::array< Entry, STENCIL_SIZE > Stencil
Definition MPMSystemData.hpp:41
ConstArrayView1< DeformationState > DeformationStates() const
Returns per-particle deformation states.
Definition MPMSystemData-Impl.hpp:600
void Set(const ParticleSystemData< N > &other) override
Copies inherited particle state and resets deformation state.
Definition MPMSystemData-Impl.hpp:592
MPMSystemData(const Vector< size_t, N > &resolution=Vector< size_t, N >::MakeConstant(1), const Vector< double, N > &gridSpacing=Vector< double, N >::MakeConstant(1.0), const Vector< double, N > &gridOrigin=Vector< double, N >{}, size_t numberOfParticles=0)
Constructs snow MPM state with a vertex-centered background grid.
Definition MPMSystemData-Impl.hpp:567
void Deserialize(const std::vector< uint8_t > &buffer) override
Deserializes inherited particle state and resets deformation state.
Definition MPMSystemData-Impl.hpp:585
void Resize(size_t newNumberOfParticles) override
Resizes particle state, initializing new deformation states.
Definition MPMSystemData-Impl.hpp:578
Shared N-D material point method particle-grid transfer state.
Definition MPMSystemData.hpp:72
const VertexCenteredVectorGrid< N > & GridVelocitiesBeforeUpdate() const
Returns grid velocities before the grid update.
Definition MPMSystemData-Impl.hpp:258
ConstArrayView1< double > ParticleMasses() const
Returns per-particle masses.
Definition MPMSystemData-Impl.hpp:208
void ValidateGridState() const
Definition MPMSystemData-Impl.hpp:532
const VertexCenteredVectorGrid< N > & GridVelocities() const
Returns current grid velocities.
Definition MPMSystemData-Impl.hpp:244
ConstArrayView1< double > InitialVolumes() const
Returns per-particle initial volumes.
Definition MPMSystemData-Impl.hpp:220
void Resize(size_t newNumberOfParticles) override
Resizes particle state, initializing new transfer attributes.
Definition MPMSystemData-Impl.hpp:173
void TransferFromGridToParticlesUnchecked()
Definition MPMSystemData-Impl.hpp:400
void SetFLIPBlendingFactor(double factor)
Sets the FLIP fraction used for grid-to-particle transfer.
Definition MPMSystemData-Impl.hpp:277
const VertexCenteredScalarGrid< N > & GridMass() const
Returns grid mass.
Definition MPMSystemData-Impl.hpp:232
static void ValidateGridParameters(const Vector< size_t, N > &resolution, const Vector< double, N > &gridSpacing, const Vector< double, N > &gridOrigin)
Definition MPMSystemData-Impl.hpp:515
void TransferFromParticlesToGrid()
Definition MPMSystemData-Impl.hpp:288
Matrix< double, N, N > ComputeVelocityGradient(size_t particleIndex) const
Definition MPMSystemData-Impl.hpp:451
double FLIPBlendingFactor() const
Returns the FLIP fraction used for grid-to-particle transfer.
Definition MPMSystemData-Impl.hpp:271
void TransferFromGridToParticles()
Definition MPMSystemData-Impl.hpp:367
void ValidateGridToParticleState() const
Definition MPMSystemData-Impl.hpp:374
void Set(const ParticleSystemData< N > &other) override
Copies inherited particle state and resets transfer state.
Definition MPMSystemData-Impl.hpp:189
void Deserialize(const std::vector< uint8_t > &buffer) override
Deserializes inherited particle state and resets transfer state.
Definition MPMSystemData-Impl.hpp:182
static Vector< size_t, N > ClampIndex(const Vector< ssize_t, N > &index, const Vector< size_t, N > &dataSize)
Definition MPMSystemData-Impl.hpp:484
void ResizeGrid(const Vector< size_t, N > &resolution, const Vector< double, N > &gridSpacing, const Vector< double, N > &gridOrigin)
Resizes the background grid without changing particle state.
Definition MPMSystemData-Impl.hpp:196
MPMTransferSystemData(const Vector< size_t, N > &resolution=Vector< size_t, N >::MakeConstant(1), const Vector< double, N > &gridSpacing=Vector< double, N >::MakeConstant(1.0), const Vector< double, N > &gridOrigin=Vector< double, N >{}, size_t numberOfParticles=0)
Constructs transfer state with a vertex-centered background grid.
Definition MPMSystemData-Impl.hpp:162
static bool IsFinite(const Vector< double, N > &value)
Definition MPMSystemData-Impl.hpp:501
Definition Matrix.hpp:30
Definition pybind11Utils.hpp:22
void ForEachIndex(const Vector< IndexType, N > &begin, const Vector< IndexType, N > &end, const Func &func)
Definition IterationUtils-Impl.hpp:51
1.9.8