Marine systems simulation
CoRiBoDynamics::SparseMatrixBuilder::TridiagonalSubSolverTask Class Reference

#include <SparseMatrixBuilder.h>

+ Inheritance diagram for CoRiBoDynamics::SparseMatrixBuilder::TridiagonalSubSolverTask:
+ Collaboration diagram for CoRiBoDynamics::SparseMatrixBuilder::TridiagonalSubSolverTask:

Public Member Functions

void SetMemoryRoot (mat6 *U0_root, mat6 *U1_root)
 
void InvertSubDomain (int start_index, int end_index, mat6 *A0, mat6 *A1)
 
void SolveSubDomain (const Vector *b, Vector *x)
 
double GetAccumulator ()
 
virtual void Execute ()=0
 

Protected Types

enum  State { COMPUTE , SOLVE }
 

Protected Member Functions

void Compute ()
 
void Solve ()
 
void Execute ()
 

Protected Attributes

int m_ix0
 
int m_ix1
 start index
 
int m_num
 end index
 
mat6 * m_A0
 
mat6 * m_A1
 main diagonal;
 
const Vector * m_b
 neighbor diagonal;
 
Vector * m_x
 
mat6 * m_U1
 
mat6 * m_U0
 
State m_state
 
mat6 * m_U1_root
 
mat6 * m_U0_root
 
double m_accumulator
 

Detailed Description

Perform part of the block-tridiagonal cholesky decomposition and back substitution for the subdomain defined by start_index - end_index.

Member Function Documentation

◆ Execute()

void CoRiBoDynamics::SparseMatrixBuilder::TridiagonalSubSolverTask::Execute ( )
protectedvirtual

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