|
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.