Navigation
API > API/Runtime > API/Runtime/Chaos
Assemble and solve the linear system generated by the force based solver in FEvolution. Currently just supports using CG to solve the linear system generated by using newton's method with backward euler. The matrix format and CG is controlled by BlockSparseLinearSystem.
| Name | FEvolutionLinearSystem |
| Type | class |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/SoftsEvolutionLinearSystem.h |
| Include Path | #include "Chaos/SoftsEvolutionLinearSystem.h" |
Syntax
class FEvolutionLinearSystem
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Chaos/SoftsEvolutionLinearSystem.h | |||
FEvolutionLinearSystem
(
const FSolverParticlesRange& Particles |
Chaos/SoftsEvolutionLinearSystem.h | ||
FEvolutionLinearSystem
(
const FEvolutionLinearSystem& |
Chaos/SoftsEvolutionLinearSystem.h | ||
FEvolutionLinearSystem
(
FEvolutionLinearSystem&& Other |
Chaos/SoftsEvolutionLinearSystem.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FEvolutionLinearSystem() |
Chaos/SoftsEvolutionLinearSystem.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bDfDxTimesVTerm | bool | Chaos/SoftsEvolutionLinearSystem.h | ||
| CompactifiedIndices | TArray< int32 > | Chaos/SoftsEvolutionLinearSystem.h | ||
| LastSolveError | FSolverReal | Chaos/SoftsEvolutionLinearSystem.h | ||
| LastSolveIterations | int32 | Debug reporting. | Chaos/SoftsEvolutionLinearSystem.h | |
| Matrix | TBlockSparseSymmetricLinearSystem< FSolverReal, 3 > | Chaos/SoftsEvolutionLinearSystem.h | ||
| NumCompactIndices | int32 | Chaos/SoftsEvolutionLinearSystem.h | ||
| Parameters | const FEvolutionLinearSystemSolverParameters * | Chaos/SoftsEvolutionLinearSystem.h | ||
| RHS | TArray< FSolverVec3 > | Chaos/SoftsEvolutionLinearSystem.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddForce
(
const FSolverParticlesRange& Particles, |
Chaos/SoftsEvolutionLinearSystem.h | ||
void AddSymmetricForceDerivative
(
const FSolverParticlesRange& Particles, |
Df1Dx2 is Derivative of F for ParticleIndex1 with respect to X of Particle2. | Chaos/SoftsEvolutionLinearSystem.h | |
FSolverReal GetLastSolveError() |
Chaos/SoftsEvolutionLinearSystem.h | ||
int32 GetLastSolveIterations() |
Chaos/SoftsEvolutionLinearSystem.h | ||
void Init
(
const FSolverParticlesRange& Particles, |
Chaos/SoftsEvolutionLinearSystem.h | ||
bool RequiresSPDForceDerivatives() |
Chaos/SoftsEvolutionLinearSystem.h | ||
void ReserveForParallelAdd
(
const int32 NumDiagonalEntries, |
Chaos/SoftsEvolutionLinearSystem.h | ||
bool Solve
(
FSolverParticlesRange& Particles, |
Chaos/SoftsEvolutionLinearSystem.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FEvolutionLinearSystem & operator=
(
const FEvolutionLinearSystem& |
Chaos/SoftsEvolutionLinearSystem.h | ||
FEvolutionLinearSystem & operator=
(
FEvolutionLinearSystem&& Other |
Chaos/SoftsEvolutionLinearSystem.h |