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

#include <XPBDCorotatedConstraints.h>

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

Public Member Functions

 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 Init () 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 Member Functions

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
 

Protected Attributes

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
 

Constructor & Destructor Documentation

◆ FXPBDCorotatedConstraints() [1/4]

template<typename T , typename ParticleType >
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 
)
inline

◆ FXPBDCorotatedConstraints() [2/4]

template<typename T , typename ParticleType >
Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::FXPBDCorotatedConstraints ( const ParticleType &  InParticles,
const TArray< TVector< int32, 4 > > &  InMesh,
const TArray< T > &  EMeshArray,
const T &  NuMesh = (T).3,
const bool  bRecordMetricIn = false 
)
inline

◆ FXPBDCorotatedConstraints() [3/4]

template<typename T , typename ParticleType >
Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::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 
)
inline

◆ FXPBDCorotatedConstraints() [4/4]

template<typename T , typename ParticleType >
Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::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 
)
inline

◆ ~FXPBDCorotatedConstraints()

template<typename T , typename ParticleType >
virtual Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::~FXPBDCorotatedConstraints ( )
inlinevirtual

Member Function Documentation

◆ ApplyInParallel()

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

◆ ApplyInSerial() [1/2]

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

◆ ApplyInSerial() [2/2]

template<typename T , typename ParticleType >
virtual void Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::ApplyInSerial ( ParticleType &  Particles,
const T  Dt,
const int32  ElementIndex 
) const
inlinevirtual

◆ Ds()

template<typename T , typename ParticleType >
PMatrix< T, 3, 3 > Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::Ds ( const int  e,
const ParticleType &  InParticles 
) const
inline

◆ DsInit()

template<typename T , typename ParticleType >
PMatrix< T, 3, 3 > Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::DsInit ( const int  e,
const ParticleType &  InParticles 
) const
inline

◆ ElementDmInv()

template<typename T , typename ParticleType >
PMatrix< T, 3, 3 > Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::ElementDmInv ( const int  e) const
inline

◆ ElementDmInvSave()

template<typename T , typename ParticleType >
PMatrix< T, 3, 3 > Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::ElementDmInvSave ( const int  e) const
inline

◆ F()

template<typename T , typename ParticleType >
PMatrix< T, 3, 3 > Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::F ( const int  e,
const ParticleType &  InParticles 
) const
inline

◆ GetDeterminantDelta()

template<typename T , typename ParticleType >
virtual TVec4< TVector< T, 3 > > Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::GetDeterminantDelta ( const ParticleType &  Particles,
const T  Dt,
const int32  ElementIndex,
const T  Tol = (T)1e-3 
) const
inlineprotectedvirtual

◆ GetDeterminantGradient()

template<typename T , typename ParticleType >
TVec4< TVector< T, 3 > > Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::GetDeterminantGradient ( const PMatrix< T, 3, 3 > &  Fe,
const PMatrix< T, 3, 3 > &  DmInvT 
) const
inline

◆ GetPolarDelta()

template<typename T , typename ParticleType >
virtual TVec4< TVector< T, 3 > > Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::GetPolarDelta ( const ParticleType &  Particles,
const T  Dt,
const int32  ElementIndex,
const T  Tol = (T)1e-3 
) const
inlineprotectedvirtual

◆ GetPolarGradient()

template<typename T , typename ParticleType >
TVec4< TVector< T, 3 > > Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::GetPolarGradient ( const PMatrix< T, 3, 3 > &  Fe,
const PMatrix< T, 3, 3 > &  Re,
const PMatrix< T, 3, 3 > &  DmInvT,
const T  C1 
) const
inline

◆ Init()

◆ InitColor()

template<typename T , typename ParticleType >
void Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::InitColor ( const ParticleType &  Particles)
inlineprotected

◆ ModifyDmInverseFromMuscleLength()

template<typename T , typename ParticleType >
void Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::ModifyDmInverseFromMuscleLength ( const int32  ElemIdx,
const T  FiberLengthRatio,
const PMatrix< T, 3, 3 > &  FiberDir,
const T  ContractionVolumeScale 
) const
inline

◆ ModifyDmInverseSaveFromInflationVolumeScale()

template<typename T , typename ParticleType >
void Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::ModifyDmInverseSaveFromInflationVolumeScale ( const int32  ElemIdx,
const T  InflationVolumeScale,
const PMatrix< T, 3, 3 > &  FiberDir 
)
inline

Member Data Documentation

◆ AlphaJArray

template<typename T , typename ParticleType >
TArray<T> Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::AlphaJArray
protected

◆ bRecordMetric

template<typename T , typename ParticleType >
bool Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::bRecordMetric
protected

◆ ConstraintsPerColorStartIndex

template<typename T , typename ParticleType >
TArray<int32> Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::ConstraintsPerColorStartIndex
protected

◆ CorotatedParams

template<typename T , typename ParticleType >
FDeformableXPBDCorotatedParams Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::CorotatedParams
protected

◆ DmInverse

template<typename T , typename ParticleType >
TArray<T> Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::DmInverse
mutableprotected

◆ DmInverseSave

template<typename T , typename ParticleType >
TArray<T> Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::DmInverseSave
protected

◆ GError

template<typename T , typename ParticleType >
TArray<T> Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::GError
mutableprotected

◆ HError

template<typename T , typename ParticleType >
T Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::HError
mutableprotected

◆ HErrorArray

template<typename T , typename ParticleType >
TArray<T> Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::HErrorArray
mutableprotected

◆ Lambda

template<typename T , typename ParticleType >
T Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::Lambda
protected

◆ LambdaArray

template<typename T , typename ParticleType >
TArray<T> Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::LambdaArray
mutableprotected

◆ LambdaElementArray

template<typename T , typename ParticleType >
TArray<T> Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::LambdaElementArray
protected

◆ Measure

template<typename T , typename ParticleType >
TArray<T> Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::Measure
mutableprotected

◆ MeshConstraints

template<typename T , typename ParticleType >
TArray<TVector<int32, 4> > Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::MeshConstraints
protected

◆ Mu

template<typename T , typename ParticleType >
T Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::Mu
protected

◆ MuElementArray

template<typename T , typename ParticleType >
TArray<T> Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::MuElementArray
protected

◆ RestParticles

template<typename T , typename ParticleType >
ParticleType Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::RestParticles
protected

◆ VariableStiffness

template<typename T , typename ParticleType >
bool Chaos::Softs::FXPBDCorotatedConstraints< T, ParticleType >::VariableStiffness = false
protected

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