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

#include <NewtonElasticFEM.h>

Public Member Functions

 ElasticFEM (const ParticleType &InParticles, const TArray< TVector< int32, 4 > > &InMesh, const TArray< TArray< TVector< int32, 2 > > > &IncidentElementsIn)
 
void ComputeNodalMass (const T Density)
 
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 > Ds (const int e, const TArray< TVector< T, 3 > > &InParticles) const
 
PMatrix< T, 3, 3 > F (const int e, const ParticleType &InParticles) const
 
PMatrix< T, 3, 3 > F (const int e, const TArray< TVector< T, 3 > > &InParticles) const
 
PMatrix< T, 3, 3 > ElementDmInv (const int e) const
 
template<typename Func >
void AddInternalElasticForce (const ParticleType &InParticles, Func P, TArray< TVector< T, 3 > > &Force, const TArray< TArray< TVector< int32, 2 > > > *IncidentElements=nullptr, T Scale=(T) 1., const TArray< T > *NodalMass=0)
 
template<typename Func >
void AddNegativeInternalElasticForceDifferential (const ParticleType &InParticles, Func dP, const TArray< TVector< T, 3 > > &DeltaParticles, TArray< TVector< T, 3 > > &ndf, const TArray< TArray< TVector< int32, 2 > > > *IncidentElements=nullptr)
 

Public Attributes

const TArray< TVector< int32, 4 > > & Mesh
 
TArray< T > DmInverse
 
TArray< T > Measure
 
TArray< TVector< T, 3 > > ElementForces
 
int32 Np
 
TArray< T > MNodalMass
 
TArray< TArray< TVector< int32, 2 > > > MIncidentElements
 

Constructor & Destructor Documentation

◆ ElasticFEM()

template<typename T , typename ParticleType >
Chaos::Softs::ElasticFEM< T, ParticleType >::ElasticFEM ( const ParticleType &  InParticles,
const TArray< TVector< int32, 4 > > &  InMesh,
const TArray< TArray< TVector< int32, 2 > > > &  IncidentElementsIn 
)
inline

Member Function Documentation

◆ AddInternalElasticForce()

template<typename T , typename ParticleType >
template<typename Func >
void Chaos::Softs::ElasticFEM< T, ParticleType >::AddInternalElasticForce ( const ParticleType &  InParticles,
Func  P,
TArray< TVector< T, 3 > > &  Force,
const TArray< TArray< TVector< int32, 2 > > > *  IncidentElements = nullptr,
Scale = (T)1.,
const TArray< T > *  NodalMass = 0 
)
inline

◆ AddNegativeInternalElasticForceDifferential()

template<typename T , typename ParticleType >
template<typename Func >
void Chaos::Softs::ElasticFEM< T, ParticleType >::AddNegativeInternalElasticForceDifferential ( const ParticleType &  InParticles,
Func  dP,
const TArray< TVector< T, 3 > > &  DeltaParticles,
TArray< TVector< T, 3 > > &  ndf,
const TArray< TArray< TVector< int32, 2 > > > *  IncidentElements = nullptr 
)
inline

◆ ComputeNodalMass()

template<typename T , typename ParticleType >
void Chaos::Softs::ElasticFEM< T, ParticleType >::ComputeNodalMass ( const T  Density)
inline

◆ Ds() [1/2]

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

◆ Ds() [2/2]

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

◆ DsInit()

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

◆ ElementDmInv()

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

◆ F() [1/2]

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

◆ F() [2/2]

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

Member Data Documentation

◆ DmInverse

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

◆ ElementForces

template<typename T , typename ParticleType >
TArray<TVector<T, 3> > Chaos::Softs::ElasticFEM< T, ParticleType >::ElementForces

◆ Measure

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

◆ Mesh

template<typename T , typename ParticleType >
const TArray<TVector<int32, 4> >& Chaos::Softs::ElasticFEM< T, ParticleType >::Mesh

◆ MIncidentElements

template<typename T , typename ParticleType >
TArray<TArray<TVector<int32, 2> > > Chaos::Softs::ElasticFEM< T, ParticleType >::MIncidentElements

◆ MNodalMass

template<typename T , typename ParticleType >
TArray<T> Chaos::Softs::ElasticFEM< T, ParticleType >::MNodalMass

◆ Np

template<typename T , typename ParticleType >
int32 Chaos::Softs::ElasticFEM< T, ParticleType >::Np

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