Cantera
Install
User Guide
Examples
Reference
Develop
Community
4.0.0a2
Toggle main menu visibility
Loading...
Searching...
No Matches
EigenSparseDirectJacobian.h
Go to the documentation of this file.
1
//! @file EigenSparseDirectJacobian.h
2
3
// This file is part of Cantera. See License.txt in the top-level directory or
4
// at https://cantera.org/license.txt for license and copyright information.
5
6
#ifndef EIGENSPARSEDIRECTJACOBIAN_H
7
#define EIGENSPARSEDIRECTJACOBIAN_H
8
9
#include "
cantera/numerics/EigenSparseJacobian.h
"
10
11
namespace
Cantera
12
{
13
14
//! A system matrix solver that uses Eigen's sparse direct (LU) algorithm
15
class
EigenSparseDirectJacobian :
public
EigenSparseJacobian
16
{
17
public
:
18
EigenSparseDirectJacobian() =
default
;
19
const
string
type
()
const override
{
return
"eigen-sparse-direct"
; }
20
void
factorize
()
override
;
21
void
solve
(span<const double> rhs_vector, span<double> output)
override
;
22
23
protected
:
24
Eigen::SparseLU<Eigen::SparseMatrix<double>> m_solver;
25
};
26
27
}
28
29
#endif
EigenSparseJacobian.h
Cantera::EigenSparseDirectJacobian::factorize
void factorize() override
Factorize the system matrix.
Definition
EigenSparseDirectJacobian.cpp:12
Cantera::EigenSparseDirectJacobian::solve
void solve(span< const double > rhs_vector, span< double > output) override
Solve a linear system using the system matrix M.
Definition
EigenSparseDirectJacobian.cpp:24
Cantera::EigenSparseDirectJacobian::type
const string type() const override
Derived type, corresponding to names registered with SystemJacobianFactory.
Definition
EigenSparseDirectJacobian.h:19
Cantera
Namespace for the Cantera kernel.
Definition
AnyMap.cpp:595
include
cantera
numerics
EigenSparseDirectJacobian.h
Generated by
1.17.0