Reaktoro
A unified framework for modeling chemically reactive systems
TridiagonalMatrix Class Reference

A class that defines a Tridiagonal Matrix used on TransportSolver. More...

#include <TransportSolver.hpp>

Public Member Functions

 TridiagonalMatrix (Index size)
 
auto size () const -> Index
 
auto data () -> VectorRef
 
auto data () const -> VectorConstRef
 
auto row (Index index) -> VectorRef
 
auto row (Index index) const -> VectorConstRef
 
auto a () -> VectorStridedRef
 
auto a () const -> VectorConstRef
 
auto b () -> VectorStridedRef
 
auto b () const -> VectorConstRef
 
auto c () -> VectorStridedRef
 
auto c () const -> VectorConstRef
 
auto resize (Index size) -> void
 
auto factorize () -> void
 Factorize the tridiagonal matrix to help with linear system A x = b.
 
auto solve (VectorRef x, VectorConstRef b) const -> void
 Solve a linear system Ax = b with LU decomposition.
 
auto solve (VectorRef x) const -> void
 Solve a linear system Ax = b with LU decomposition, using x as the unknown and it's. More...
 
 operator Matrix () const
 

Detailed Description

A class that defines a Tridiagonal Matrix used on TransportSolver.

it stores data in a Eigen::VectorXd like, M = {a[0][0], a[0][1], a[0][2], a[1][0], a[1][1], a[1][2], a[2][0], a[2][1], a[2][2]}

Member Function Documentation

◆ solve()

auto solve ( VectorRef  x) const -> void

Solve a linear system Ax = b with LU decomposition, using x as the unknown and it's.

old values as the vector b.


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