Mallard 0.8.0
Unstructured, GPU accelerated, high-order finite volume CFD solver
Mallard website
Loading...
Searching...
No Matches
cell_chemistry.h File Reference

Finite-rate chemistry of the cells of a mesh: each cell that needs it is an adiabatic constant-volume reactor over a splitting step, integrated by one thread or by the vector lanes of a team. More...

#include <cstdint>
#include <memory>
#include <Kokkos_Core.hpp>
#include "kinetics.h"
#include "mixture.h"
#include "reactor.h"
#include "sparse_lu.h"
#include "state.h"

Go to the source code of this file.

Classes

struct  CellChemistryOptions
 Options of CellChemistry: the reactor's tolerances, the temperature below which cells are frozen, the vector lanes and threads of the team of each cell (0: automatic; lanes = 1: one thread per cell; automatic threads on GPUs: one, and several warps for the cells whose last call was expensive), whether a team keeps its factors and vectors in scratch (shared) memory where they fit (1; default no), and whether cells integrated by one thread are ordered by their last cost (binning; on GPUs only). More...
 
struct  ChemistryForcing
 A constant forcing of a chemistry call: the rates dU/dt of every conservative variable of each cell (rho, rho u, rho E, rho Y_k), e.g. the transport tendency of balanced splitting or of simplified spectral deferred corrections, and a state of the same size for scratch. More...
 
struct  ChemistryCells
 The per-cell views a chemistry call reads and writes: the state, the temperature seed, the last sub-step, the sub-steps of the step and of the last call, the optional multiplier of dt, and with a forcing its species rates and U + dt rate, whose partial densities receive the result instead of rhoY (all empty without one). More...
 
class  CellChemistry
 Work memory and kernels that advance the cells of a state as adiabatic constant-volume reactors at fixed (rho, e). More...
 
struct  CellChemistry::Statistics
 

Detailed Description

Finite-rate chemistry of the cells of a mesh: each cell that needs it is an adiabatic constant-volume reactor over a splitting step, integrated by one thread or by the vector lanes of a team.

Author
Matthew Bonanni (mbona.nosp@m.nni0.nosp@m.01@gm.nosp@m.ail..nosp@m.com)
Version
0.3
Date
2026-10-03