Loading...
Searching...
No Matches
CubbyFlow::MPMFluidConstitutiveModel< N > Class Template Referencefinal

Weakly compressible fluid constitutive model for MPM. More...

#include <Core/Particle/MPM/MPMFluidConstitutiveModel.hpp>

Public Types

using MatrixType = Matrix< double, N, N >
 

Public Member Functions

 MPMFluidConstitutiveModel (double targetDensity=WATER_DENSITY, double speedOfSound=100.0, double eosExponent=7.0, double negativePressureScale=0.0)
 Constructs a weakly compressible MPM fluid model.
 
double GetTargetDensity () const
 Returns the target density.
 
double GetSpeedOfSound () const
 Returns the speed of sound.
 
double GetEosExponent () const
 Returns the equation-of-state exponent.
 
double GetNegativePressureScale () const
 Returns the negative-pressure scale.
 
double ComputeDensity (double mass, double currentVolume) const
 Computes density from particle mass and current volume.
 
double ComputePressure (double density) const
 Computes equation-of-state pressure for a density.
 
MatrixType ComputeCauchyStress (double pressure) const
 Converts pressure to the isotropic Cauchy stress -p I.
 

Detailed Description

template<size_t N>
class CubbyFlow::MPMFluidConstitutiveModel< N >

Weakly compressible fluid constitutive model for MPM.

Computes particle density, Murnaghan-Tait equation-of-state pressure, and the corresponding isotropic Cauchy stress in 2-D or 3-D.

Member Typedef Documentation

◆ MatrixType

Constructor & Destructor Documentation

◆ MPMFluidConstitutiveModel()

template<size_t N>
CubbyFlow::MPMFluidConstitutiveModel< N >::MPMFluidConstitutiveModel ( double  targetDensity = WATER_DENSITY,
double  speedOfSound = 100.0,
double  eosExponent = 7.0,
double  negativePressureScale = 0.0 
)
explicit

Constructs a weakly compressible MPM fluid model.

Parameters
[in]targetDensityPositive rest density.
[in]speedOfSoundPositive artificial speed of sound.
[in]eosExponentEquation-of-state exponent, at least one.
[in]negativePressureScaleExpansion-pressure scale in [0, 1].
Exceptions
std::invalid_argumentIf a parameter or the resulting equation-of-state scale is invalid.

Member Function Documentation

◆ ComputeCauchyStress()

template<size_t N>
MPMFluidConstitutiveModel< N >::MatrixType CubbyFlow::MPMFluidConstitutiveModel< N >::ComputeCauchyStress ( double  pressure) const

Converts pressure to the isotropic Cauchy stress -p I.

Exceptions
std::invalid_argumentIf the pressure is not finite.

◆ ComputeDensity()

template<size_t N>
double CubbyFlow::MPMFluidConstitutiveModel< N >::ComputeDensity ( double  mass,
double  currentVolume 
) const

Computes density from particle mass and current volume.

Exceptions
std::invalid_argumentIf either input or the resulting density is not finite and positive.

◆ ComputePressure()

template<size_t N>
double CubbyFlow::MPMFluidConstitutiveModel< N >::ComputePressure ( double  density) const

Computes equation-of-state pressure for a density.

Exceptions
std::invalid_argumentIf the density is not finite and positive or the resulting pressure is not finite.

◆ GetEosExponent()

template<size_t N>
double CubbyFlow::MPMFluidConstitutiveModel< N >::GetEosExponent ( ) const

Returns the equation-of-state exponent.

◆ GetNegativePressureScale()

template<size_t N>
double CubbyFlow::MPMFluidConstitutiveModel< N >::GetNegativePressureScale ( ) const

Returns the negative-pressure scale.

◆ GetSpeedOfSound()

template<size_t N>
double CubbyFlow::MPMFluidConstitutiveModel< N >::GetSpeedOfSound ( ) const

Returns the speed of sound.

◆ GetTargetDensity()

template<size_t N>
double CubbyFlow::MPMFluidConstitutiveModel< N >::GetTargetDensity ( ) const

Returns the target density.


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