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

#include <GaussSeidelCorotatedCodimensionalConstraints.h>

Public Member Functions

 FGaussSeidelCorotatedCodimensionalConstraints (const ParticleType &InParticles, const TArray< TVector< int32, 3 > > &InMesh, const bool bRecordMetricIn=true, const T &EMesh=(T) 10.0, const T &NuMesh=(T).3)
 
 FGaussSeidelCorotatedCodimensionalConstraints (const ParticleType &InParticles, const TArray< TVector< int32, 3 > > &InMesh, const TArray< T > &EMeshArray, const T &NuMesh=(T).3)
 
virtual ~FGaussSeidelCorotatedCodimensionalConstraints ()
 
PMatrix< T, 3, 3 > DsInit (const int32 E, const ParticleType &InParticles)
 
PMatrix< T, 3, 2 > Ds (const int32 E, const ParticleType &InParticles) const
 
PMatrix< T, 3, 2 > F (const int32 E, const ParticleType &InParticles) const
 
TArray< TArray< int32 > > GetConstraintsArray () const
 
void ComputeNodalMass (const T InDensity, const int32 NumParticles, TArray< T > &NodalMass) const
 
void AddHyperelasticResidualAndHessian (const ParticleType &Particles, const int32 ElementIndex, const int32 ElementIndexLocal, const T Dt, TVec3< T > &ParticleResidual, Chaos::PMatrix< T, 3, 3 > &ParticleHessian)
 

Protected Member Functions

void InitializeCodimensionData (const ParticleType &Particles)
 

Static Protected Member Functions

staticSafeRecip (const T Len, const T Fallback)
 
static void SymSchur2D (const T Aqq, const T App, const T Apq, T &c, T &s)
 
static void Jacobi (const PMatrix< T, 2, 2 > &B, PMatrix< T, 2, 2 > &D, PMatrix< T, 2, 2 > &V)
 
static PMatrix< T, 3, 2 > ComputeR (const PMatrix< T, 3, 2 > &Fe)
 
static PMatrix< T, 3, 2 > ComputeRSimple (const PMatrix< T, 3, 2 > &InputMatrix)
 
static Chaos::PMatrix< T, 3, 2 > GramSchmidt (const Chaos::PMatrix< T, 3, 2 > &InputMatrix)
 
static PMatrix< T, 2, 2 > ComputeFTF (const PMatrix< T, 3, 2 > &InputMatrix)
 
static void dJdF32 (const PMatrix< T, 3, 2 > &F, PMatrix< T, 3, 2 > &dJ)
 

Protected Attributes

TArray< FSolverMatrix22DmInverse
 
Mu
 
Lambda
 
TArray< T > MuElementArray
 
TArray< T > LambdaElementArray
 
TArray< T > AlphaJArray
 
bool bRecordMetric
 
TArray< TVector< int32, 3 > > MeshConstraints
 
TArray< T > Measure
 

Constructor & Destructor Documentation

◆ FGaussSeidelCorotatedCodimensionalConstraints() [1/2]

template<typename T , typename ParticleType >
Chaos::Softs::FGaussSeidelCorotatedCodimensionalConstraints< T, ParticleType >::FGaussSeidelCorotatedCodimensionalConstraints ( const ParticleType &  InParticles,
const TArray< TVector< int32, 3 > > &  InMesh,
const bool  bRecordMetricIn = true,
const T &  EMesh = (T)10.0,
const T &  NuMesh = (T).3 
)
inline

◆ FGaussSeidelCorotatedCodimensionalConstraints() [2/2]

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

◆ ~FGaussSeidelCorotatedCodimensionalConstraints()

Member Function Documentation

◆ AddHyperelasticResidualAndHessian()

template<typename T , typename ParticleType >
void Chaos::Softs::FGaussSeidelCorotatedCodimensionalConstraints< T, ParticleType >::AddHyperelasticResidualAndHessian ( const ParticleType &  Particles,
const int32  ElementIndex,
const int32  ElementIndexLocal,
const T  Dt,
TVec3< T > &  ParticleResidual,
Chaos::PMatrix< T, 3, 3 > &  ParticleHessian 
)
inline

◆ ComputeFTF()

template<typename T , typename ParticleType >
static PMatrix< T, 2, 2 > Chaos::Softs::FGaussSeidelCorotatedCodimensionalConstraints< T, ParticleType >::ComputeFTF ( const PMatrix< T, 3, 2 > &  InputMatrix)
inlinestaticprotected

◆ ComputeNodalMass()

template<typename T , typename ParticleType >
void Chaos::Softs::FGaussSeidelCorotatedCodimensionalConstraints< T, ParticleType >::ComputeNodalMass ( const T  InDensity,
const int32  NumParticles,
TArray< T > &  NodalMass 
) const
inline

◆ ComputeR()

template<typename T , typename ParticleType >
static PMatrix< T, 3, 2 > Chaos::Softs::FGaussSeidelCorotatedCodimensionalConstraints< T, ParticleType >::ComputeR ( const PMatrix< T, 3, 2 > &  Fe)
inlinestaticprotected

◆ ComputeRSimple()

template<typename T , typename ParticleType >
static PMatrix< T, 3, 2 > Chaos::Softs::FGaussSeidelCorotatedCodimensionalConstraints< T, ParticleType >::ComputeRSimple ( const PMatrix< T, 3, 2 > &  InputMatrix)
inlinestaticprotected

◆ dJdF32()

template<typename T , typename ParticleType >
static void Chaos::Softs::FGaussSeidelCorotatedCodimensionalConstraints< T, ParticleType >::dJdF32 ( const PMatrix< T, 3, 2 > &  F,
PMatrix< T, 3, 2 > &  dJ 
)
inlinestaticprotected

◆ Ds()

template<typename T , typename ParticleType >
PMatrix< T, 3, 2 > Chaos::Softs::FGaussSeidelCorotatedCodimensionalConstraints< T, ParticleType >::Ds ( const int32  E,
const ParticleType &  InParticles 
) const
inline

◆ DsInit()

template<typename T , typename ParticleType >
PMatrix< T, 3, 3 > Chaos::Softs::FGaussSeidelCorotatedCodimensionalConstraints< T, ParticleType >::DsInit ( const int32  E,
const ParticleType &  InParticles 
)
inline

◆ F()

template<typename T , typename ParticleType >
PMatrix< T, 3, 2 > Chaos::Softs::FGaussSeidelCorotatedCodimensionalConstraints< T, ParticleType >::F ( const int32  E,
const ParticleType &  InParticles 
) const
inline

◆ GetConstraintsArray()

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

◆ GramSchmidt()

template<typename T , typename ParticleType >
static Chaos::PMatrix< T, 3, 2 > Chaos::Softs::FGaussSeidelCorotatedCodimensionalConstraints< T, ParticleType >::GramSchmidt ( const Chaos::PMatrix< T, 3, 2 > &  InputMatrix)
inlinestaticprotected

◆ InitializeCodimensionData()

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

◆ Jacobi()

template<typename T , typename ParticleType >
static void Chaos::Softs::FGaussSeidelCorotatedCodimensionalConstraints< T, ParticleType >::Jacobi ( const PMatrix< T, 2, 2 > &  B,
PMatrix< T, 2, 2 > &  D,
PMatrix< T, 2, 2 > &  V 
)
inlinestaticprotected

◆ SafeRecip()

template<typename T , typename ParticleType >
static T Chaos::Softs::FGaussSeidelCorotatedCodimensionalConstraints< T, ParticleType >::SafeRecip ( const T  Len,
const T  Fallback 
)
inlinestaticprotected

◆ SymSchur2D()

template<typename T , typename ParticleType >
static void Chaos::Softs::FGaussSeidelCorotatedCodimensionalConstraints< T, ParticleType >::SymSchur2D ( const T  Aqq,
const T  App,
const T  Apq,
T &  c,
T &  s 
)
inlinestaticprotected

Member Data Documentation

◆ AlphaJArray

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

◆ bRecordMetric

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

◆ DmInverse

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

◆ Lambda

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

◆ LambdaElementArray

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

◆ Measure

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

◆ MeshConstraints

template<typename T , typename ParticleType >
TArray<TVector<int32, 3> > Chaos::Softs::FGaussSeidelCorotatedCodimensionalConstraints< T, ParticleType >::MeshConstraints
protected

◆ Mu

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

◆ MuElementArray

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

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