UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::TBlockSparseSymmetricLinearSystem< T, BlockSize >::FPimpl< T, BlockSize > Struct Template Reference

Public Types

typedef Eigen::SparseMatrix< T, Eigen::RowMajor > SparseMatrixType
 
typedef Eigen::Triplet< T > MatrixTripletType
 
typedef Eigen::Matrix< T, Eigen::Dynamic, 1 > RealVectorType
 
typedef Eigen::Map< RealVectorTypeVectorType
 
typedef Eigen::Map< const RealVectorTypeConstVectorType
 

Public Member Functions

 FPimpl ()
 
void Reset (int32 NumRows)
 
void ReserveForParallelAdd (int32 NumDiagEntries, int32 NumOffDiagEntries)
 
void AddMatrixEntry (int32 Index0, int32 Index1, const Chaos::PMatrix< T, BlockSize, BlockSize > &AEntry)
 
void BuildMatrix ()
 
template<typename Preconditioner >
bool Solve (const TConstArrayView< TVector< T, BlockSize > > &RHS, const TArrayView< TVector< T, BlockSize > > &Result, const int32 MaxNumCGIterations, const T CGResidualTolerance, bool bCheckResidual, int32 *OutIterations, T *OutError)
 

Public Attributes

SparseMatrixType AMatrix
 
TArray< MatrixTripletTypeMatrixBuilderTriplets
 
std::atomic< int32TripletBuilderNum
 

Member Typedef Documentation

◆ ConstVectorType

template<typename T , int32 BlockSize>
template<typename T , int32 BlockSize>
typedef Eigen::Map<const RealVectorType> Chaos::TBlockSparseSymmetricLinearSystem< T, BlockSize >::FPimpl< T, BlockSize >::ConstVectorType

◆ MatrixTripletType

template<typename T , int32 BlockSize>
template<typename T , int32 BlockSize>
typedef Eigen::Triplet<T> Chaos::TBlockSparseSymmetricLinearSystem< T, BlockSize >::FPimpl< T, BlockSize >::MatrixTripletType

◆ RealVectorType

template<typename T , int32 BlockSize>
template<typename T , int32 BlockSize>
typedef Eigen::Matrix<T, Eigen::Dynamic, 1> Chaos::TBlockSparseSymmetricLinearSystem< T, BlockSize >::FPimpl< T, BlockSize >::RealVectorType

◆ SparseMatrixType

template<typename T , int32 BlockSize>
template<typename T , int32 BlockSize>
typedef Eigen::SparseMatrix<T, Eigen::RowMajor> Chaos::TBlockSparseSymmetricLinearSystem< T, BlockSize >::FPimpl< T, BlockSize >::SparseMatrixType

◆ VectorType

template<typename T , int32 BlockSize>
template<typename T , int32 BlockSize>
typedef Eigen::Map<RealVectorType> Chaos::TBlockSparseSymmetricLinearSystem< T, BlockSize >::FPimpl< T, BlockSize >::VectorType

Constructor & Destructor Documentation

◆ FPimpl()

template<typename T , int32 BlockSize>
template<typename T , int32 BlockSize>
Chaos::TBlockSparseSymmetricLinearSystem< T, BlockSize >::FPimpl< T, BlockSize >::FPimpl ( )
inline

Member Function Documentation

◆ AddMatrixEntry()

template<typename T , int32 BlockSize>
template<typename T , int32 BlockSize>
void Chaos::TBlockSparseSymmetricLinearSystem< T, BlockSize >::FPimpl< T, BlockSize >::AddMatrixEntry ( int32  Index0,
int32  Index1,
const Chaos::PMatrix< T, BlockSize, BlockSize > &  AEntry 
)
inline

◆ BuildMatrix()

template<typename T , int32 BlockSize>
template<typename T , int32 BlockSize>
void Chaos::TBlockSparseSymmetricLinearSystem< T, BlockSize >::FPimpl< T, BlockSize >::BuildMatrix ( )
inline

◆ ReserveForParallelAdd()

template<typename T , int32 BlockSize>
template<typename T , int32 BlockSize>
void Chaos::TBlockSparseSymmetricLinearSystem< T, BlockSize >::FPimpl< T, BlockSize >::ReserveForParallelAdd ( int32  NumDiagEntries,
int32  NumOffDiagEntries 
)
inline

◆ Reset()

template<typename T , int32 BlockSize>
template<typename T , int32 BlockSize>
void Chaos::TBlockSparseSymmetricLinearSystem< T, BlockSize >::FPimpl< T, BlockSize >::Reset ( int32  NumRows)
inline

◆ Solve()

template<typename T , int32 BlockSize>
template<typename T , int32 BlockSize>
bool Chaos::TBlockSparseSymmetricLinearSystem< T, BlockSize >::FPimpl< T, BlockSize >::Solve ( const TConstArrayView< TVector< T, BlockSize > > &  RHS,
const TArrayView< TVector< T, BlockSize > > &  Result,
const int32  MaxNumCGIterations,
const T  CGResidualTolerance,
bool  bCheckResidual,
int32 OutIterations,
T *  OutError 
)
inline

Member Data Documentation

◆ AMatrix

template<typename T , int32 BlockSize>
template<typename T , int32 BlockSize>
SparseMatrixType Chaos::TBlockSparseSymmetricLinearSystem< T, BlockSize >::FPimpl< T, BlockSize >::AMatrix

◆ MatrixBuilderTriplets

template<typename T , int32 BlockSize>
template<typename T , int32 BlockSize>
TArray<MatrixTripletType> Chaos::TBlockSparseSymmetricLinearSystem< T, BlockSize >::FPimpl< T, BlockSize >::MatrixBuilderTriplets

◆ TripletBuilderNum

template<typename T , int32 BlockSize>
template<typename T , int32 BlockSize>
std::atomic<int32> Chaos::TBlockSparseSymmetricLinearSystem< T, BlockSize >::FPimpl< T, BlockSize >::TripletBuilderNum

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