|
Mallard 0.8.0
Unstructured, GPU accelerated, high-order finite volume CFD solver
Mallard website |
Static-pattern sparse LU of the reactor's Newton matrix for large mechanisms, with the dense rank-one part of the Jacobian (third bodies and pressure-dependent rates) by Sherman-Morrison. More...
#include <algorithm>#include <array>#include <cstdint>#include <type_traits>#include <vector>#include <Kokkos_Core.hpp>#include "kinetics.h"#include "lanes.h"#include "mechanism.h"Go to the source code of this file.
Classes | |
| struct | chemistry::SparseLUPattern< MemorySpace > |
| The pattern of a reactor Jacobian in (Y_1 .. Y_Ns, T) without its rank-one part, an elimination order, the fill of its LU factors and the operations of a factorization without pivoting, on the device. More... | |
| struct | chemistry::SparseLU< MemorySpace > |
| The linear solver of integrate() for SparseLUPattern: factor() gathers diagonal I - J_s from the compact Jacobian and factors it, then z = A_s^-1 u and beta = 1 - v . z; solve() is A_s^-1 b plus the Sherman-Morrison correction z (v . A_s^-1 b) / beta. More... | |
Namespaces | |
| namespace | chemistry |
Functions | |
| template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space> | |
| SparseLUPattern< MemorySpace > | chemistry::make_sparse_lu_pattern (const Mechanism &mechanism) |
| Build the pattern for a mechanism's reactor Jacobian (see SparseLUPattern). | |
Static-pattern sparse LU of the reactor's Newton matrix for large mechanisms, with the dense rank-one part of the Jacobian (third bodies and pressure-dependent rates) by Sherman-Morrison.