UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType > Class Template Reference

#include <XPBDGridBasedCorotatedConstraints.h>

+ Inheritance diagram for Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >:

Public Member Functions

 FXPBDGridBasedCorotatedConstraints (const ParticleType &InParticles, const TArray< TVector< int32, 4 > > &InMesh, const T GridDx=(T).1, const bool bRecordMetricIn=true, const T MaxDtIn=(T).1, const T MinDtIn=(T).01, const T CFLCoeffIn=(T).4, const T &EMesh=(T) 1000.0, const T &NuMesh=(T).3)
 
void WriteGridNodes ()
 
void Init (const ParticleType &InParticles, const T Dt)
 
void TimeStepPostprocessing (ParticleType &InParticles, const T Dt)
 
ComputeCFLDt (const ParticleType &InParticles)
 
const TArray< TArray< int32 > > GetElementsPerColor () const
 
const TArray< TArray< int32 > > GetPreviousColoring () const
 
const TArray< TArray< TArray< int32 > > > GetElementsPerSubColors () const
 
const TMPMTransfer< T > GetMPMTransfer () const
 
void ApplyPolar (ParticleType &Particles, const T Dt, const int32 ElementIndex)
 
void ApplyDet (ParticleType &Particles, const T Dt, const int32 ElementIndex)
 
void ApplyInParallel (ParticleType &Particles, const T Dt)
 
- Public Member Functions inherited from Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >
 FXPBDCorotatedConstraints (const ParticleType &InParticles, const TArray< TVector< int32, 4 > > &InMesh, const bool bRecordMetricIn=true, const T &EMesh=(T) 10.0, const T &NuMesh=(T).3)
 
 FXPBDCorotatedConstraints (const ParticleType &InParticles, const TArray< TVector< int32, 4 > > &InMesh, const TArray< T > &EMeshArray, const T &NuMesh=(T).3, const bool bRecordMetricIn=false)
 
 FXPBDCorotatedConstraints (const ParticleType &InParticles, const TArray< TVector< int32, 4 > > &InMesh, const TArray< T > &EMeshArray, const TArray< T > &NuMeshArray, TArray< T > &&AlphaJMeshArray, const FDeformableXPBDCorotatedParams &InParams, const T &NuMesh=(T).3, const bool bRecordMetricIn=false, const bool bDoColoring=true)
 
 FXPBDCorotatedConstraints (const ParticleType &InParticles, const TArray< TVector< int32, 4 > > &InMesh, const T GridN=(T).1, const T &EMesh=(T) 10.0, const T &NuMesh=(T).3)
 
virtual ~FXPBDCorotatedConstraints ()
 
PMatrix< T, 3, 3 > DsInit (const int e, const ParticleType &InParticles) const
 
PMatrix< T, 3, 3 > Ds (const int e, const ParticleType &InParticles) const
 
PMatrix< T, 3, 3 > F (const int e, const ParticleType &InParticles) const
 
PMatrix< T, 3, 3 > ElementDmInv (const int e) const
 
PMatrix< T, 3, 3 > ElementDmInvSave (const int e) const
 
virtual void ApplyInSerial (ParticleType &Particles, const T Dt, const int32 ElementIndex) const
 
void ApplyInSerial (ParticleType &Particles, const T Dt) const
 
void ApplyInParallel (ParticleType &Particles, const T Dt) const
 
TVec4< TVector< T, 3 > > GetPolarGradient (const PMatrix< T, 3, 3 > &Fe, const PMatrix< T, 3, 3 > &Re, const PMatrix< T, 3, 3 > &DmInvT, const T C1) const
 
TVec4< TVector< T, 3 > > GetDeterminantGradient (const PMatrix< T, 3, 3 > &Fe, const PMatrix< T, 3, 3 > &DmInvT) const
 
void ModifyDmInverseFromMuscleLength (const int32 ElemIdx, const T FiberLengthRatio, const PMatrix< T, 3, 3 > &FiberDir, const T ContractionVolumeScale) const
 
void ModifyDmInverseSaveFromInflationVolumeScale (const int32 ElemIdx, const T InflationVolumeScale, const PMatrix< T, 3, 3 > &FiberDir)
 

Protected Attributes

MaxDt
 
MinDt
 
CFLCoeff
 
TMPMGrid< T > MPMGrid
 
TMPMTransfer< T > MPMTransfer
 
TArray< TArray< int32 > > ElementsPerColor
 
TArray< TArray< int32 > > * PreviousColoring = nullptr
 
TUniquePtr< TArray< TArray< int32 > > > PreviousColoringPtr
 
TArray< TArray< TArray< int32 > > > ElementsPerSubColors
 
TArray< T > GridData
 
TArray< TVector< T, 3 > > GridPositions
 
bool InitialGridDataWritten = false
 
- Protected Attributes inherited from Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >
TArray< T > LambdaArray
 
TArray< T > DmInverse
 
TArray< T > DmInverseSave
 
FDeformableXPBDCorotatedParams CorotatedParams
 
Mu
 
Lambda
 
TArray< T > MuElementArray
 
TArray< T > LambdaElementArray
 
TArray< T > AlphaJArray
 
HError
 
TArray< T > HErrorArray
 
bool bRecordMetric
 
bool VariableStiffness = false
 
TArray< TVector< int32, 4 > > MeshConstraints
 
TArray< T > Measure
 
ParticleType RestParticles
 
TArray< int32ConstraintsPerColorStartIndex
 
TArray< T > GError
 

Additional Inherited Members

- Protected Member Functions inherited from Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >
void InitColor (const ParticleType &Particles)
 
virtual TVec4< TVector< T, 3 > > GetDeterminantDelta (const ParticleType &Particles, const T Dt, const int32 ElementIndex, const T Tol=(T) 1e-3) const
 
virtual TVec4< TVector< T, 3 > > GetPolarDelta (const ParticleType &Particles, const T Dt, const int32 ElementIndex, const T Tol=(T) 1e-3) const
 

Constructor & Destructor Documentation

◆ FXPBDGridBasedCorotatedConstraints()

template<typename T , typename ParticleType >
Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::FXPBDGridBasedCorotatedConstraints ( const ParticleType &  InParticles,
const TArray< TVector< int32, 4 > > &  InMesh,
const T  GridDx = (T).1,
const bool  bRecordMetricIn = true,
const T  MaxDtIn = (T).1,
const T  MinDtIn = (T).01,
const T  CFLCoeffIn = (T).4,
const T &  EMesh = (T)1000.0,
const T &  NuMesh = (T).3 
)
inline

Member Function Documentation

◆ ApplyDet()

template<typename T , typename ParticleType >
void Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::ApplyDet ( ParticleType &  Particles,
const T  Dt,
const int32  ElementIndex 
)
inline

◆ ApplyInParallel()

template<typename T , typename ParticleType >
void Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::ApplyInParallel ( ParticleType &  Particles,
const T  Dt 
)
inline

◆ ApplyPolar()

template<typename T , typename ParticleType >
void Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::ApplyPolar ( ParticleType &  Particles,
const T  Dt,
const int32  ElementIndex 
)
inline

◆ ComputeCFLDt()

template<typename T , typename ParticleType >
T Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::ComputeCFLDt ( const ParticleType &  InParticles)
inline

◆ GetElementsPerColor()

template<typename T , typename ParticleType >
const TArray< TArray< int32 > > Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::GetElementsPerColor ( ) const
inline

◆ GetElementsPerSubColors()

template<typename T , typename ParticleType >
const TArray< TArray< TArray< int32 > > > Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::GetElementsPerSubColors ( ) const
inline

◆ GetMPMTransfer()

template<typename T , typename ParticleType >
const TMPMTransfer< T > Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::GetMPMTransfer ( ) const
inline

◆ GetPreviousColoring()

template<typename T , typename ParticleType >
const TArray< TArray< int32 > > Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::GetPreviousColoring ( ) const
inline

◆ Init()

template<typename T , typename ParticleType >
void Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::Init ( const ParticleType &  InParticles,
const T  Dt 
)
inline

◆ TimeStepPostprocessing()

template<typename T , typename ParticleType >
void Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::TimeStepPostprocessing ( ParticleType &  InParticles,
const T  Dt 
)
inline

◆ WriteGridNodes()

template<typename T , typename ParticleType >
void Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::WriteGridNodes ( )
inline

Member Data Documentation

◆ CFLCoeff

template<typename T , typename ParticleType >
T Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::CFLCoeff
protected

◆ ElementsPerColor

template<typename T , typename ParticleType >
TArray<TArray<int32> > Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::ElementsPerColor
protected

◆ ElementsPerSubColors

template<typename T , typename ParticleType >
TArray<TArray<TArray<int32> > > Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::ElementsPerSubColors
protected

◆ GridData

template<typename T , typename ParticleType >
TArray<T> Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::GridData
protected

◆ GridPositions

template<typename T , typename ParticleType >
TArray<TVector<T, 3> > Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::GridPositions
protected

◆ InitialGridDataWritten

template<typename T , typename ParticleType >
bool Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::InitialGridDataWritten = false
protected

◆ MaxDt

template<typename T , typename ParticleType >
T Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::MaxDt
protected

◆ MinDt

template<typename T , typename ParticleType >
T Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::MinDt
protected

◆ MPMGrid

template<typename T , typename ParticleType >
TMPMGrid<T> Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::MPMGrid
protected

◆ MPMTransfer

template<typename T , typename ParticleType >
TMPMTransfer<T> Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::MPMTransfer
protected

◆ PreviousColoring

template<typename T , typename ParticleType >
TArray<TArray<int32> >* Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::PreviousColoring = nullptr
protected

◆ PreviousColoringPtr

template<typename T , typename ParticleType >
TUniquePtr<TArray<TArray<int32> > > Chaos::Softs::FXPBDGridBasedCorotatedConstraints< T, ParticleType >::PreviousColoringPtr
protected

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