rizer.cantera_ext
C++ Cantera 1-D plasma extension (custom Domain1D models and solvers)
Loading...
Searching...
No Matches
TransientPlasmaChannelSolver.h
Go to the documentation of this file.
1// TransientPlasmaChannelSolver: assembles [Empty1D, PlasmaChannel1D, Empty1D]
2// into a Sim1D and advances it with implicit Backward-Euler, recording the
3// radial profiles at a chosen cadence. Returns flat numeric arrays.
4
5#ifndef RIZER_TRANSIENT_PLASMA_CHANNEL_SOLVER_H
6#define RIZER_TRANSIENT_PLASMA_CHANNEL_SOLVER_H
7
8#include "PlasmaChannel1D.h"
9
10#include <string>
11#include <vector>
12#include <cstddef>
13
14namespace rizer {
15
18 double dt = 1.0e-9;
19 std::size_t n_steps = 1000;
21 std::size_t record_every = 1;
22 int loglevel = 0;
30 std::string integrator = "newton";
31};
32
34 std::vector<double> t;
35 std::vector<double> r;
36 std::vector<double> Tg;
38 std::vector<double> Te;
40 std::vector<double> ne;
42 std::vector<double> Y;
44 std::vector<std::string> species;
46 std::size_t nframes = 0;
47 std::size_t npts = 0;
48 std::size_t nsp = 0;
49};
50
60
61} // namespace rizer
62
63#endif
ChannelHistory solveChannelTransient(const ChannelOptions &opts)
Build a PlasmaChannel1D from opts.cfg, advance it from t=0 to [s] with the requested backend (opts....
std::vector< double > ne
Electron number density [1/m^3], row-major [nframes, npts].
std::size_t npts
Number of radial grid points [-].
std::vector< double > t
Recorded times [s], length nframes.
std::vector< std::string > species
Species names, length nsp (order matches the Y axis).
std::size_t nsp
Number of species [-].
std::vector< double > Y
Species mass fractions [-], row-major [nframes, npts, nsp].
std::vector< double > r
Radial grid [m], length npts.
std::size_t nframes
Number of recorded time frames [-].
std::vector< double > Tg
Gas temperature [K], row-major [nframes, npts].
std::vector< double > Te
Electron temperature [K], row-major [nframes, npts].
int loglevel
Diagnostic verbosity [-] (0 = silent; >0 prints progress).
std::string integrator
Time-integration backend:
std::size_t n_steps
Number of output steps [-] (dt*n_steps = total time [s]).
PlasmaChannelConfig cfg
Domain physics + initial/boundary state.
double dt
Output cadence / initial step [s].
std::size_t record_every
Record a frame every N output steps [-].