Ember
|
Base class used to integrate the chemical source term at a single point. More...
#include <sourceSystem.h>
Public Member Functions | |
SourceSystem () | |
virtual | ~SourceSystem () |
virtual void | setState (double tInitial, double uu, double tt, const dvec &yy)=0 |
Set the initial condition for integrator. | |
virtual int | integrateToTime (double tf)=0 |
Take as many steps as needed to reach tf . | |
virtual int | integrateOneStep (double tf)=0 |
Take one step toward tf without stepping past it. | |
virtual double | time () const =0 |
Current integrator time, relative to tInitial . | |
virtual void | unroll_y ()=0 |
Extract current internal integrator state into U, T, and Y. | |
virtual void | setDebug (bool debug_) |
virtual std::string | getStats ()=0 |
Return a string indicating the number of internal timesteps taken. | |
void | updateThermo () |
Compute thermodynamic properties (density, enthalpies, heat capacities) from the current state variables. | |
double | getQdotIgniter (double t) |
Calculate the heat release rate associated with a possible external ignition source. | |
void | setGas (CanteraGas *_gas) |
Set the CanteraGas object to use for thermodynamic and kinetic property calculations. | |
virtual void | initialize (size_t nSpec) |
Resize internal arrays for a problem of the specified size (nSpec+2 ) | |
virtual void | setOptions (ConfigOptions &options_) |
Set integrator tolerances and other parameters. | |
void | setTimers (PerfTimer *reactionRates, PerfTimer *thermo, PerfTimer *jacobian) |
void | setPosition (size_t j, double x) |
Set the index j and position x that are represented by this system. | |
void | setStrainFunction (ScalarFunction *f) |
Set the function used to compute the strain rate as a function of time. | |
void | setRateMultiplierFunction (ScalarFunction *f) |
Set the function used to compute the reaction rate multiplier. | |
void | setHeatLossFunction (IntegratorCallback *f) |
Set the function used to compute the heat loss rate to the environment. | |
void | setRhou (double _rhou) |
Set the density of the unburned mixture. | |
void | resetSplitConstants () |
Set all the balanced splitting constants to zero. | |
void | setupQuasi2d (std::shared_ptr< BilinearInterpolator > vzInterp, std::shared_ptr< BilinearInterpolator > TInterp) |
Assign the interpolators used for solving quasi-2D problems. | |
virtual void | writeState (std::ostream &out, bool init) |
Write the current values of the state variables, formatted to be read by Python, to the specified stream. | |
virtual void | writeJacobian (std::ostream &out) |
Public Attributes | |
double | U |
tangential velocity | |
double | T |
temperature | |
dvec | Y |
species mass fraction | |
dvec | splitConst |
Extra constant term introduced by splitting. | |
Protected Attributes | |
bool | debug |
ConfigOptions * | options |
CanteraGas * | gas |
Cantera data. | |
PerfTimer * | reactionRatesTimer |
Timer for time spent evaluating reaction rates. | |
PerfTimer * | thermoTimer |
Timer for time spent evaluating thermodynamic properties. | |
PerfTimer * | jacobianTimer |
Timer for time spent evaluating and factorizing the Jacobian. | |
ScalarFunction * | strainFunction |
A class that provides the strain rate and its time derivative. | |
ScalarFunction * | rateMultiplierFunction |
Provides a multiplier (optional) for the production terms. | |
IntegratorCallback * | heatLoss |
Heat loss rate. | |
size_t | nSpec |
number of species | |
int | j |
grid index for this system | |
double | x |
grid position for this system | |
double | rhou |
density of the unburned gas | |
double | qDot |
heat release rate per unit volume [W/m^3] | |
double | qLoss |
heat loss to the environment [W/m^3] | |
double | rho |
density [kg/m^3] | |
double | cp |
specific heat capacity (average) [J/kg*K] | |
dvec | cpSpec |
species specific heat capacity [J/mol*K] | |
double | Wmx |
mixture molecular weight [kg/mol] | |
dvec | W |
species molecular weights [kg/kmol] | |
dvec | hk |
species enthalpies [J/kmol] | |
bool | quasi2d |
Flag set to 'true' when solving a quasi-2D problem with prescribed velocity and temperature fields. | |
std::shared_ptr< BilinearInterpolator > | vzInterp |
An interpolator for computing the axial (z) velocity when solving a quasi-2D problem. | |
std::shared_ptr< BilinearInterpolator > | TInterp |
An interpolator for computing the temperature when solving a quasi-2D problem. | |
Base class used to integrate the chemical source term at a single point.
SourceSystem::SourceSystem | ( | ) |
|
inlinevirtual |
|
pure virtual |
Set the initial condition for integrator.
tInitial | integrator start time |
uu | tangential velocity |
tt | temperature |
yy | vector of species mass fractions |
Implemented in SourceSystemCVODE, and SourceSystemQSS.
|
pure virtual |
Take as many steps as needed to reach tf
.
tf
is relative to tInitial
.
Implemented in SourceSystemCVODE, and SourceSystemQSS.
|
pure virtual |
Take one step toward tf
without stepping past it.
tf
is relative to tInitial
.
Implemented in SourceSystemCVODE, and SourceSystemQSS.
|
pure virtual |
Current integrator time, relative to tInitial
.
Implemented in SourceSystemCVODE, and SourceSystemQSS.
|
pure virtual |
Extract current internal integrator state into U, T, and Y.
Implemented in SourceSystemCVODE, and SourceSystemQSS.
|
inlinevirtual |
|
pure virtual |
Return a string indicating the number of internal timesteps taken.
Implemented in SourceSystemCVODE, and SourceSystemQSS.
void SourceSystem::updateThermo | ( | ) |
Compute thermodynamic properties (density, enthalpies, heat capacities) from the current state variables.
double SourceSystem::getQdotIgniter | ( | double | t | ) |
Calculate the heat release rate associated with a possible external ignition source.
|
inline |
Set the CanteraGas object to use for thermodynamic and kinetic property calculations.
|
virtual |
Resize internal arrays for a problem of the specified size (nSpec+2
)
Reimplemented in SourceSystemCVODE, and SourceSystemQSS.
|
virtual |
Set integrator tolerances and other parameters.
Reimplemented in SourceSystemCVODE, and SourceSystemQSS.
void SourceSystem::setTimers | ( | PerfTimer * | reactionRates, |
PerfTimer * | thermo, | ||
PerfTimer * | jacobian | ||
) |
void SourceSystem::setPosition | ( | size_t | j, |
double | x | ||
) |
Set the index j and position x that are represented by this system.
|
inline |
Set the function used to compute the strain rate as a function of time.
|
inline |
Set the function used to compute the reaction rate multiplier.
|
inline |
Set the function used to compute the heat loss rate to the environment.
|
inline |
Set the density of the unburned mixture.
This value appears in the source term of the momentum equation.
|
inline |
Set all the balanced splitting constants to zero.
void SourceSystem::setupQuasi2d | ( | std::shared_ptr< BilinearInterpolator > | vzInterp, |
std::shared_ptr< BilinearInterpolator > | TInterp | ||
) |
Assign the interpolators used for solving quasi-2D problems.
|
virtual |
Write the current values of the state variables, formatted to be read by Python, to the specified stream.
Call with init=true
when first called to include initializers for the variables.
Reimplemented in SourceSystemCVODE.
|
inlinevirtual |
Reimplemented in SourceSystemCVODE.
double SourceSystem::U |
tangential velocity
double SourceSystem::T |
temperature
dvec SourceSystem::Y |
species mass fraction
dvec SourceSystem::splitConst |
Extra constant term introduced by splitting.
|
protected |
|
protected |
|
protected |
Cantera data.
|
protected |
Timer for time spent evaluating reaction rates.
|
protected |
Timer for time spent evaluating thermodynamic properties.
|
protected |
Timer for time spent evaluating and factorizing the Jacobian.
|
protected |
A class that provides the strain rate and its time derivative.
|
protected |
Provides a multiplier (optional) for the production terms.
|
protected |
Heat loss rate.
|
protected |
number of species
|
protected |
grid index for this system
|
protected |
grid position for this system
|
protected |
density of the unburned gas
|
protected |
heat release rate per unit volume [W/m^3]
|
protected |
heat loss to the environment [W/m^3]
|
protected |
density [kg/m^3]
|
protected |
specific heat capacity (average) [J/kg*K]
|
protected |
species specific heat capacity [J/mol*K]
|
protected |
mixture molecular weight [kg/mol]
|
protected |
species molecular weights [kg/kmol]
|
protected |
species enthalpies [J/kmol]
|
protected |
Flag set to 'true' when solving a quasi-2D problem with prescribed velocity and temperature fields.
|
protected |
An interpolator for computing the axial (z) velocity when solving a quasi-2D problem.
|
protected |
An interpolator for computing the temperature when solving a quasi-2D problem.