Composite system representing the Convection term for all components.
More...
#include <convectionSystem.h>
|
dvec & | x |
| The coordinates of the grid points [m].
|
|
dvec & | r |
| "radius" at x[j].
|
|
dvec & | rphalf |
| "radius" at x[j+1/2].
|
|
dvec & | hh |
| Grid spacing between x[j] and x[j+1].
|
|
dvec & | dlj |
| Average of left and right grid spacing.
|
|
dvec & | cfm |
| Coefficient for y[j-1] in first centered difference.
|
|
dvec & | cf |
| Coefficient for y[j] in first centered difference.
|
|
dvec & | cfp |
| Coefficient for y[j+1] in first centered difference.
|
|
int & | alpha |
| curved grid exponent.
|
|
int & | beta |
| curved grid exponent.
|
|
size_t & | nPoints |
| number of grid point
|
|
size_t & | jj |
| index of last grid point (== nPoints-1 )
|
|
Composite system representing the Convection term for all components.
System which combines a ConvectionSystemUTW object and several ConvectionSystemY objects that together represent the complete convection term for all components.
◆ ConvectionSystemSplit()
ConvectionSystemSplit::ConvectionSystemSplit |
( |
| ) |
|
◆ setGrid()
void ConvectionSystemSplit::setGrid |
( |
const OneDimGrid & |
grid | ) |
|
|
virtual |
Copy the specified grid to this object.
Reimplemented from GridBased.
◆ setTolerances()
void ConvectionSystemSplit::setTolerances |
( |
const ConfigOptions & |
options | ) |
|
Set tolerances for the CVODE solvers.
◆ setGas()
void ConvectionSystemSplit::setGas |
( |
CanteraGas & |
gas | ) |
|
Set the Cantera object used for property evaluations.
◆ resize()
void ConvectionSystemSplit::resize |
( |
const size_t |
nPoints, |
|
|
const size_t |
nSpec, |
|
|
dmatrix & |
state |
|
) |
| |
Set the problem size and provide values for the current state variables.
◆ setState()
void ConvectionSystemSplit::setState |
( |
double |
tInitial | ) |
|
Set the state of the internal solvers from the state of the composite solver.
◆ setLeftBC()
void ConvectionSystemSplit::setLeftBC |
( |
const double |
Tleft, |
|
|
const dvec & |
Yleft |
|
) |
| |
◆ set_rVzero()
void ConvectionSystemSplit::set_rVzero |
( |
const double |
rVzero | ) |
|
Set the mass flux boundary value at j=0.
◆ evaluate()
void ConvectionSystemSplit::evaluate |
( |
| ) |
|
Evaluate time derivatives for each state variable and the normal mass flux at the current state.
◆ setDensityDerivative()
void ConvectionSystemSplit::setDensityDerivative |
( |
const dvec & |
drhodt | ) |
|
Set the time derivative of the density.
Time derivatives of species and temperature from the other split terms are needed to correctly compute the density derivative appearing in the continuity equation.
◆ updateContinuityBoundaryCondition()
◆ setSplitConstants()
void ConvectionSystemSplit::setSplitConstants |
( |
const dmatrix & |
splitConst | ) |
|
Set the constants introduced by the splitting method.
◆ resetSplitConstants()
void ConvectionSystemSplit::resetSplitConstants |
( |
| ) |
|
Set the constants introduced by the splitting method to zero.
◆ integrateToTime()
void ConvectionSystemSplit::integrateToTime |
( |
const double |
tf | ) |
|
Integrate the the split convection equations to tf.
◆ integrateSpeciesTerms()
void ConvectionSystemSplit::integrateSpeciesTerms |
( |
size_t |
k1, |
|
|
size_t |
k2 |
|
) |
| |
Integrate the species terms in the range [k1, k2)
◆ unroll_y()
void ConvectionSystemSplit::unroll_y |
( |
| ) |
|
convert the solver's solution vectors to the full U, Y, and T.
◆ getNumSteps()
int ConvectionSystemSplit::getNumSteps |
( |
| ) |
|
Compute the total number of timesteps taken by the solvers for the individual components.
◆ setupQuasi2D()
Set the velocity field data used in the Quasi2D case.
◆ configureSolver()
void ConvectionSystemSplit::configureSolver |
( |
SundialsCvode & |
solver, |
|
|
const size_t |
k |
|
) |
| |
|
private |
VecMap ConvectionSystemSplit::U |
normalized tangential velocity (u*a/u_inf) [1/s]
VecMap ConvectionSystemSplit::T |
species mass fractions, Y(k,j) [-]
◆ Wmx
dvec ConvectionSystemSplit::Wmx |
Mixture molecular weight [kg/kmol].
dvec ConvectionSystemSplit::V |
mass flux normal to the flame [kg/m^2*s]
◆ dUdt
dvec ConvectionSystemSplit::dUdt |
Time derivative of U [1/s^2].
◆ dTdt
dvec ConvectionSystemSplit::dTdt |
Time derivative of T [K/s].
◆ dWdt
dvec ConvectionSystemSplit::dWdt |
Time derivative of Wmx [kg/kmol*s].
◆ dYdt
dmatrix ConvectionSystemSplit::dYdt |
Time derivative of Y [1/s].
◆ utwSystem
System used to solve for U, T, and Wmx.
◆ vInterp
Interpolation data for V, used for the species solvers.
◆ utwTimer
◆ speciesTimer
PerfTimer ConvectionSystemSplit::speciesTimer |
◆ reltol
double ConvectionSystemSplit::reltol |
|
private |
CVODE integration tolerances.
relative integrator tolerance
◆ abstolU
double ConvectionSystemSplit::abstolU |
|
private |
velocity absolute tolerance
◆ abstolT
double ConvectionSystemSplit::abstolT |
|
private |
temperature absolute tolerance
◆ abstolW
double ConvectionSystemSplit::abstolW |
|
private |
molecular weight absolute tolerance
◆ abstolY
double ConvectionSystemSplit::abstolY |
|
private |
mass fraction absolute tolerance
◆ utwSolver
◆ speciesSystems
Systems used to solve the convection term for each species.
◆ speciesSolvers
boost::ptr_vector<SundialsCvode> ConvectionSystemSplit::speciesSolvers |
|
private |
◆ Yleft
dvec ConvectionSystemSplit::Yleft |
|
private |
dvec ConvectionSystemSplit::W |
|
private |
Molecular weight of each species [kg/kmol].
◆ nSpec
size_t ConvectionSystemSplit::nSpec |
|
private |
◆ nVars
size_t ConvectionSystemSplit::nVars |
|
private |
Number of state variables in the UTW system (==3
)
◆ gas
Cantera object used for computing Wmx.
◆ quasi2d
bool ConvectionSystemSplit::quasi2d |
|
private |
true
when solving the quasi-2d problem; false
otherwise.
◆ tStageStop
double ConvectionSystemSplit::tStageStop |
|
private |
end time of the current integration stage
◆ sunContext
The documentation for this class was generated from the following files: