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

#include <MPMTransfer.h>

Public Member Functions

 TMPMTransfer ()
 
 TMPMTransfer (TMPMGrid< T > &_Grid)
 
 TMPMTransfer (TMPMGrid< T > &_Grid, const int32 NumParticles)
 
void InitialP2G (const TDynamicParticles< T, 3 > &InParticles, TArray< T > &GridData)
 
void P2GApplyHelper (const TDynamicParticles< T, 3 > &InParticles, const int32 CellIndex, TArray< T > &GridData)
 
void APICP2G (const int32 p, const int32 GlobIndex, const T mip, const TDynamicParticles< T, 3 > &Particles, TArray< T > &GridData)
 
void ComputeElementMetaData (const TArray< TVector< int32, 4 > > &InMesh)
 
void ComputeGridPositions (const TArray< T > &GridData, const T Dt, TArray< TVector< T, 3 > > &GridPositions)
 
TVec4< TVector< T, 3 > > SparseG2P (const TArray< TVector< T, 3 > > &GridPositions, const int32 ElementIndex)
 
void ComputeAArray (const TArray< T > &GridData, const TDynamicParticles< T, 3 > &Particles)
 
void GridPositionsToGridData (const TArray< TVector< T, 3 > > &GridPositions, const T Dt, TArray< T > &GridData)
 
void G2P (const TArray< T > &GridData, TDynamicParticles< T, 3 > &Particles)
 
TArray< TVector< T, 3 > > SparseP2G (const TVec4< TVector< T, 3 > > &InGradient, const int32 ElementIndex)
 

Static Public Member Functions

static void ComputeIncidentElements (const TArray< int32 > &ArrayIn, TArray< TArray< int32 > > &IncidentElements)
 

Public Attributes

uint32 NPerSec = 2 * 2
 
uint32 NPerEle = 2 * 2 * 2
 
uint32 NTransfer = 3
 
int32 NumCells
 
TMPMGrid< T > & Grid
 
TArray< TVector< T, 3 > > Weights
 
TArray< TVector< int32, 3 > > Indices
 
TArray< TArray< int32 > > CellData
 
TArray< TArray< int32 > > ElementGridNodes
 
TArray< TArray< T > > ElementGridNodeWeights
 
TArray< TArray< TArray< int32 > > > ElementGridNodeIncidentElements
 
TArray< TArray< int32 > > ElementGridNodesSet
 
TArray< T > AArray
 
uint32 NumModes = 3
 

Constructor & Destructor Documentation

◆ TMPMTransfer() [1/3]

template<class T >
Chaos::TMPMTransfer< T >::TMPMTransfer ( )
inline

◆ TMPMTransfer() [2/3]

template<class T >
Chaos::TMPMTransfer< T >::TMPMTransfer ( TMPMGrid< T > &  _Grid)
inline

◆ TMPMTransfer() [3/3]

template<class T >
Chaos::TMPMTransfer< T >::TMPMTransfer ( TMPMGrid< T > &  _Grid,
const int32  NumParticles 
)
inline

Member Function Documentation

◆ APICP2G()

template<class T >
void Chaos::TMPMTransfer< T >::APICP2G ( const int32  p,
const int32  GlobIndex,
const T  mip,
const TDynamicParticles< T, 3 > &  Particles,
TArray< T > &  GridData 
)
inline

◆ ComputeAArray()

template<class T >
void Chaos::TMPMTransfer< T >::ComputeAArray ( const TArray< T > &  GridData,
const TDynamicParticles< T, 3 > &  Particles 
)
inline

◆ ComputeElementMetaData()

template<class T >
void Chaos::TMPMTransfer< T >::ComputeElementMetaData ( const TArray< TVector< int32, 4 > > &  InMesh)
inline

◆ ComputeGridPositions()

template<class T >
void Chaos::TMPMTransfer< T >::ComputeGridPositions ( const TArray< T > &  GridData,
const T  Dt,
TArray< TVector< T, 3 > > &  GridPositions 
)
inline

◆ ComputeIncidentElements()

template<class T >
static void Chaos::TMPMTransfer< T >::ComputeIncidentElements ( const TArray< int32 > &  ArrayIn,
TArray< TArray< int32 > > &  IncidentElements 
)
inlinestatic

◆ G2P()

template<class T >
void Chaos::TMPMTransfer< T >::G2P ( const TArray< T > &  GridData,
TDynamicParticles< T, 3 > &  Particles 
)
inline

◆ GridPositionsToGridData()

template<class T >
void Chaos::TMPMTransfer< T >::GridPositionsToGridData ( const TArray< TVector< T, 3 > > &  GridPositions,
const T  Dt,
TArray< T > &  GridData 
)
inline

◆ InitialP2G()

template<class T >
void Chaos::TMPMTransfer< T >::InitialP2G ( const TDynamicParticles< T, 3 > &  InParticles,
TArray< T > &  GridData 
)
inline

◆ P2GApplyHelper()

template<class T >
void Chaos::TMPMTransfer< T >::P2GApplyHelper ( const TDynamicParticles< T, 3 > &  InParticles,
const int32  CellIndex,
TArray< T > &  GridData 
)
inline

◆ SparseG2P()

template<class T >
TVec4< TVector< T, 3 > > Chaos::TMPMTransfer< T >::SparseG2P ( const TArray< TVector< T, 3 > > &  GridPositions,
const int32  ElementIndex 
)
inline

◆ SparseP2G()

template<class T >
TArray< TVector< T, 3 > > Chaos::TMPMTransfer< T >::SparseP2G ( const TVec4< TVector< T, 3 > > &  InGradient,
const int32  ElementIndex 
)
inline

Member Data Documentation

◆ AArray

template<class T >
TArray<T> Chaos::TMPMTransfer< T >::AArray

◆ CellData

template<class T >
TArray<TArray<int32> > Chaos::TMPMTransfer< T >::CellData

◆ ElementGridNodeIncidentElements

template<class T >
TArray<TArray<TArray<int32> > > Chaos::TMPMTransfer< T >::ElementGridNodeIncidentElements

◆ ElementGridNodes

template<class T >
TArray<TArray<int32> > Chaos::TMPMTransfer< T >::ElementGridNodes

◆ ElementGridNodesSet

template<class T >
TArray<TArray<int32> > Chaos::TMPMTransfer< T >::ElementGridNodesSet

◆ ElementGridNodeWeights

template<class T >
TArray<TArray<T> > Chaos::TMPMTransfer< T >::ElementGridNodeWeights

◆ Grid

template<class T >
TMPMGrid<T>& Chaos::TMPMTransfer< T >::Grid

◆ Indices

template<class T >
TArray<TVector<int32, 3> > Chaos::TMPMTransfer< T >::Indices

◆ NPerEle

template<class T >
uint32 Chaos::TMPMTransfer< T >::NPerEle = 2 * 2 * 2

◆ NPerSec

template<class T >
uint32 Chaos::TMPMTransfer< T >::NPerSec = 2 * 2

◆ NTransfer

template<class T >
uint32 Chaos::TMPMTransfer< T >::NTransfer = 3

◆ NumCells

template<class T >
int32 Chaos::TMPMTransfer< T >::NumCells

◆ NumModes

template<class T >
uint32 Chaos::TMPMTransfer< T >::NumModes = 3

◆ Weights

template<class T >
TArray<TVector<T, 3> > Chaos::TMPMTransfer< T >::Weights

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