AdaptivePreconditioner.cpp Source File#
AdaptivePreconditioner.cpp
Go to the documentation of this file.
Declarations for the class AdaptivePreconditioner which is a child class of PreconditionerBase for pr...
Eigen::IncompleteLUT< double > m_solver
Solver used in solving the linear system.
Definition AdaptivePreconditioner.h:118
void setIlutDropTol(double droptol)
Set drop tolerance for ILUT.
Definition AdaptivePreconditioner.h:83
void solve(const size_t stateSize, double *rhs_vector, double *output) override
Solve a linear system Ax=b where A is the preconditioner.
Definition AdaptivePreconditioner.cpp:96
void setValue(size_t row, size_t col, double value) override
Set a value at the specified row and column of the jacobian triplet vector.
Definition AdaptivePreconditioner.cpp:17
double m_prune_precon
Bool set whether to prune the matrix or not.
Definition AdaptivePreconditioner.h:125
double m_threshold
Minimum value a non-diagonal element must be to be included in the preconditioner.
Definition AdaptivePreconditioner.h:122
void initialize(size_t networkSize) override
Called during setup for any processes that need to be completed prior to setup functions used in sund...
Definition AdaptivePreconditioner.cpp:29
vector< Eigen::Triplet< double > > m_jac_trips
Vector of triples representing the jacobian used in preconditioning.
Definition AdaptivePreconditioner.h:109
void setIlutFillFactor(int fillFactor)
Set the fill factor for ILUT solver.
Definition AdaptivePreconditioner.h:90
Eigen::SparseMatrix< double > m_identity
Storage of appropriately sized identity matrix for making the preconditioner.
Definition AdaptivePreconditioner.h:112
void printPreconditioner() override
Print preconditioner contents.
Definition AdaptivePreconditioner.cpp:110
void setup() override
Perform preconditioner specific post-reactor setup operations such as factorize.
Definition AdaptivePreconditioner.cpp:57
void stateAdjustment(vector< double > &state) override
Adjust the state vector based on the preconditioner, e.g., Adaptive preconditioning uses a strictly p...
Definition AdaptivePreconditioner.cpp:22
void updatePreconditioner() override
Transform Jacobian vector and write into preconditioner, P = (I - gamma * J)
Definition AdaptivePreconditioner.cpp:72
Eigen::SparseMatrix< double > m_precon_matrix
Container that is the sparse preconditioner.
Definition AdaptivePreconditioner.h:115
Base class for exceptions thrown by Cantera classes.
Definition ctexceptions.h:66
bool m_init
bool saying whether or not the preconditioner is initialized
Definition PreconditionerBase.h:123
This file contains definitions for utility functions and text for modules, inputfiles and logging,...
Eigen::SparseMatrix< double > jacobian()
Return semi-analytical Jacobian of an AdaptivePreconditioner object.
Definition AdaptivePreconditioner.h:53
void use_legacy_rate_constants(bool legacy)
Set definition used for rate constant calculation.
Definition global.cpp:102
void writelog(const string &fmt, const Args &... args)
Write a formatted message to the screen.
Definition global.h:175
Generated by