This class represents 1D flow domains that satisfy the one-dimensional similarity solution for chemically-reacting, axisymmetric flows. More...
#include <StFlow.h>
This class represents 1D flow domains that satisfy the one-dimensional similarity solution for chemically-reacting, axisymmetric flows.
Public Member Functions | |
StFlow (ThermoPhase *ph=0, size_t nsp=1, size_t points=1) | |
Create a new flow domain. | |
StFlow (shared_ptr< ThermoPhase > th, size_t nsp=1, size_t points=1) | |
Delegating constructor. | |
StFlow (shared_ptr< Solution > sol, const string &id="", size_t points=1) | |
Create a new flow domain. | |
void | eval (size_t j, double *x, double *r, integer *mask, double rdt) override |
Evaluate the residual functions for axisymmetric stagnation flow. | |
virtual void | evalRightBoundary (double *x, double *res, int *diag, double rdt) |
Evaluate all residual components at the right boundary. | |
void | evalContinuity (size_t j, double *x, double *r, int *diag, double rdt) override |
Alternate version of evalContinuity with legacy signature. | |
Public Member Functions inherited from Flow1D | |
Flow1D (ThermoPhase *ph=0, size_t nsp=1, size_t points=1) | |
Create a new flow domain. | |
Flow1D (shared_ptr< ThermoPhase > th, size_t nsp=1, size_t points=1) | |
Delegating constructor. | |
Flow1D (shared_ptr< Solution > sol, const string &id="", size_t points=1) | |
Create a new flow domain. | |
string | domainType () const override |
Domain type flag. | |
string | componentName (size_t n) const override |
Name of component n . May be overloaded. | |
size_t | componentIndex (const string &name) const override |
index of component with name name . | |
virtual bool | componentActive (size_t n) const |
Returns true if the specified component is an active part of the solver state. | |
void | show (const double *x) override |
Print the solution. | |
shared_ptr< SolutionArray > | asArray (const double *soln) const override |
Save the state of this domain as a SolutionArray. | |
void | fromArray (SolutionArray &arr, double *soln) override |
Restore the solution for this domain from a SolutionArray. | |
void | setFreeFlow () |
Set flow configuration for freely-propagating flames, using an internal point with a fixed temperature as the condition to determine the inlet mass flux. | |
void | setAxisymmetricFlow () |
Set flow configuration for axisymmetric counterflow flames, using specified inlet mass fluxes. | |
void | setUnstrainedFlow () |
Set flow configuration for burner-stabilized flames, using specified inlet mass fluxes. | |
void | solveEnergyEqn (size_t j=npos) |
Specify that the energy equation should be solved at point j . | |
virtual size_t | getSolvingStage () const |
Get the solving stage (used by IonFlow specialization) | |
virtual void | setSolvingStage (const size_t stage) |
Solving stage mode for handling ionized species (used by IonFlow specialization) | |
virtual void | solveElectricField (size_t j=npos) |
Set to solve electric field in a point (used by IonFlow specialization) | |
virtual void | fixElectricField (size_t j=npos) |
Set to fix voltage in a point (used by IonFlow specialization) | |
virtual bool | doElectricField (size_t j) const |
Retrieve flag indicating whether electric field is solved or not (used by IonFlow specialization) | |
void | enableRadiation (bool doRadiation) |
Turn radiation on / off. | |
bool | radiationEnabled () const |
Returns true if the radiation term in the energy equation is enabled. | |
double | radiativeHeatLoss (size_t j) const |
Return radiative heat loss at grid point j. | |
void | setBoundaryEmissivities (double e_left, double e_right) |
Set the emissivities for the boundary values. | |
double | leftEmissivity () const |
Return emissivity at left boundary. | |
double | rightEmissivity () const |
Return emissivity at right boundary. | |
void | fixTemperature (size_t j=npos) |
Specify that the the temperature should be held fixed at point j . | |
bool | doEnergy (size_t j) |
true if the energy equation is solved at point j or false if a fixed temperature condition is imposed. | |
void | resize (size_t components, size_t points) override |
Change the grid size. Called after grid refinement. | |
void | setGas (const double *x, size_t j) |
Set the gas object state to be consistent with the solution at point j. | |
void | setGasAtMidpoint (const double *x, size_t j) |
Set the gas state to be consistent with the solution at the midpoint between j and j + 1. | |
double | density (size_t j) const |
Get the density [kg/m³] at point j | |
bool | isFree () const |
Retrieve flag indicating whether flow is freely propagating. | |
bool | isStrained () const |
Retrieve flag indicating whether flow uses radial momentum. | |
void | setViscosityFlag (bool dovisc) |
Specify if the viscosity term should be included in the momentum equation. | |
void | eval (size_t jGlobal, double *xGlobal, double *rsdGlobal, integer *diagGlobal, double rdt) override |
Evaluate the residual functions for axisymmetric stagnation flow. | |
size_t | leftExcessSpecies () const |
Index of the species on the left boundary with the largest mass fraction. | |
size_t | rightExcessSpecies () const |
Index of the species on the right boundary with the largest mass fraction. | |
void | setupGrid (size_t n, const double *z) override |
called to set up initial grid, and after grid refinement | |
void | resetBadValues (double *xg) override |
When called, this function should reset "bad" values in the state vector such as negative species concentrations. | |
ThermoPhase & | phase () |
Access the phase object used to compute thermodynamic properties for points in this domain. | |
Kinetics & | kinetics () |
Access the Kinetics object used to compute reaction rates for points in this domain. | |
void | setKinetics (shared_ptr< Kinetics > kin) override |
Set the Kinetics object used for reaction rate calculations. | |
void | setTransport (shared_ptr< Transport > trans) override |
Set the transport manager used for transport property calculations. | |
void | setTransportModel (const string &trans) |
Set the transport model. | |
string | transportModel () const |
Retrieve transport model. | |
void | enableSoret (bool withSoret) |
Enable thermal diffusion, also known as Soret diffusion. | |
bool | withSoret () const |
Indicates if thermal diffusion (Soret effect) term is being calculated. | |
void | setFluxGradientBasis (ThermoBasis fluxGradientBasis) |
Compute species diffusive fluxes with respect to their mass fraction gradients (fluxGradientBasis = ThermoBasis::mass) or mole fraction gradients (fluxGradientBasis = ThermoBasis::molar, default) when using the mixture-averaged transport model. | |
ThermoBasis | fluxGradientBasis () const |
Compute species diffusive fluxes with respect to their mass fraction gradients (fluxGradientBasis = ThermoBasis::mass) or mole fraction gradients (fluxGradientBasis = ThermoBasis::molar, default) when using the mixture-averaged transport model. | |
void | setPressure (double p) |
Set the pressure. | |
double | pressure () const |
The current pressure [Pa]. | |
void | _getInitialSoln (double *x) override |
Write the initial solution estimate into array x. | |
void | _finalize (const double *x) override |
In some cases, a domain may need to set parameters that depend on the initial solution estimate. | |
void | setFixedTempProfile (vector< double > &zfixed, vector< double > &tfixed) |
Sometimes it is desired to carry out the simulation using a specified temperature profile, rather than computing it by solving the energy equation. | |
void | setTemperature (size_t j, double t) |
Set the temperature fixed point at grid point j, and disable the energy equation so that the solution will be held to this value. | |
double | T_fixed (size_t j) const |
The fixed temperature value at point j. | |
double | leftControlPointTemperature () const |
Returns the temperature at the left control point. | |
double | leftControlPointCoordinate () const |
Returns the z-coordinate of the left control point. | |
void | setLeftControlPointTemperature (double temperature) |
Sets the temperature of the left control point. | |
void | setLeftControlPointCoordinate (double z_left) |
Sets the coordinate of the left control point. | |
double | rightControlPointTemperature () const |
Returns the temperature at the right control point. | |
double | rightControlPointCoordinate () const |
Returns the z-coordinate of the right control point. | |
void | setRightControlPointTemperature (double temperature) |
Sets the temperature of the right control point. | |
void | setRightControlPointCoordinate (double z_right) |
Sets the coordinate of the right control point. | |
void | enableTwoPointControl (bool twoPointControl) |
Sets the status of the two-point control. | |
bool | twoPointControlEnabled () const |
Returns the status of the two-point control. | |
Public Member Functions inherited from Domain1D | |
Domain1D (size_t nv=1, size_t points=1, double time=0.0) | |
Constructor. | |
Domain1D (const Domain1D &)=delete | |
Domain1D & | operator= (const Domain1D &)=delete |
virtual string | domainType () const |
Domain type flag. | |
string | type () const |
String indicating the domain implemented. | |
size_t | domainIndex () |
The left-to-right location of this domain. | |
virtual bool | isConnector () |
True if the domain is a connector domain. | |
void | setSolution (shared_ptr< Solution > sol) |
Set the solution manager. | |
virtual void | setKinetics (shared_ptr< Kinetics > kin) |
Set the kinetics manager. | |
virtual void | setTransport (shared_ptr< Transport > trans) |
Set transport model to existing instance. | |
const OneDim & | container () const |
The container holding this domain. | |
void | setContainer (OneDim *c, size_t index) |
Specify the container object for this domain, and the position of this domain in the list. | |
void | setBandwidth (int bw=-1) |
Set the Jacobian bandwidth. See the discussion of method bandwidth(). | |
size_t | bandwidth () |
Set the Jacobian bandwidth for this domain. | |
virtual void | init () |
Initialize. | |
virtual void | setInitialState (double *xlocal=0) |
virtual void | setState (size_t point, const double *state, double *x) |
virtual void | resetBadValues (double *xg) |
When called, this function should reset "bad" values in the state vector such as negative species concentrations. | |
virtual void | resize (size_t nv, size_t np) |
Resize the domain to have nv components and np grid points. | |
Refiner & | refiner () |
Return a reference to the grid refiner. | |
size_t | nComponents () const |
Number of components at each grid point. | |
void | checkComponentIndex (size_t n) const |
Check that the specified component index is in range. | |
void | checkComponentArraySize (size_t nn) const |
Check that an array size is at least nComponents(). | |
size_t | nPoints () const |
Number of grid points in this domain. | |
void | checkPointIndex (size_t n) const |
Check that the specified point index is in range. | |
void | checkPointArraySize (size_t nn) const |
Check that an array size is at least nPoints(). | |
virtual string | componentName (size_t n) const |
Name of component n . May be overloaded. | |
void | setComponentName (size_t n, const string &name) |
Set the name of the component n to name . | |
virtual size_t | componentIndex (const string &name) const |
index of component with name name . | |
void | setBounds (size_t n, double lower, double upper) |
Set the upper and lower bounds for a solution component, n. | |
void | setTransientTolerances (double rtol, double atol, size_t n=npos) |
Set tolerances for time-stepping mode. | |
void | setSteadyTolerances (double rtol, double atol, size_t n=npos) |
Set tolerances for steady-state mode. | |
double | rtol (size_t n) |
Relative tolerance of the nth component. | |
double | atol (size_t n) |
Absolute tolerance of the nth component. | |
double | steady_rtol (size_t n) |
Steady relative tolerance of the nth component. | |
double | steady_atol (size_t n) |
Steady absolute tolerance of the nth component. | |
double | transient_rtol (size_t n) |
Transient relative tolerance of the nth component. | |
double | transient_atol (size_t n) |
Transient absolute tolerance of the nth component. | |
double | upperBound (size_t n) const |
Upper bound on the nth component. | |
double | lowerBound (size_t n) const |
Lower bound on the nth component. | |
void | initTimeInteg (double dt, const double *x0) |
Performs the setup required before starting a time-stepping solution. | |
void | setSteadyMode () |
Set the internally-stored reciprocal of the time step to 0.0, which is used to indicate that the problem is in steady-state mode. | |
bool | steady () |
True if in steady-state mode. | |
bool | transient () |
True if not in steady-state mode. | |
void | needJacUpdate () |
Set this if something has changed in the governing equations (for example, the value of a constant has been changed, so that the last-computed Jacobian is no longer valid. | |
virtual void | eval (size_t j, double *x, double *r, integer *mask, double rdt=0.0) |
Evaluate the residual function at point j. | |
size_t | index (size_t n, size_t j) const |
Returns the index of the solution vector, which corresponds to component n at grid point j. | |
double | value (const double *x, size_t n, size_t j) const |
Returns the value of solution component n at grid point j of the solution vector x. | |
virtual void | setJac (MultiJac *jac) |
virtual shared_ptr< SolutionArray > | asArray (const double *soln) const |
Save the state of this domain as a SolutionArray. | |
shared_ptr< SolutionArray > | toArray (bool normalize=false) const |
Save the state of this domain to a SolutionArray. | |
virtual void | fromArray (SolutionArray &arr, double *soln) |
Restore the solution for this domain from a SolutionArray. | |
void | fromArray (const shared_ptr< SolutionArray > &arr) |
Restore the solution for this domain from a SolutionArray. | |
shared_ptr< Solution > | solution () const |
Return thermo/kinetics/transport manager used in the domain. | |
size_t | size () const |
Return the size of the solution vector (the product of m_nv and m_points). | |
void | locate () |
Find the index of the first grid point in this domain, and the start of its variables in the global solution vector. | |
virtual size_t | loc (size_t j=0) const |
Location of the start of the local solution vector in the global solution vector. | |
size_t | firstPoint () const |
The index of the first (that is, left-most) grid point belonging to this domain. | |
size_t | lastPoint () const |
The index of the last (that is, right-most) grid point belonging to this domain. | |
void | linkLeft (Domain1D *left) |
Set the left neighbor to domain 'left. | |
void | linkRight (Domain1D *right) |
Set the right neighbor to domain 'right.'. | |
void | append (Domain1D *right) |
Append domain 'right' to this one, and update all links. | |
Domain1D * | left () const |
Return a pointer to the left neighbor. | |
Domain1D * | right () const |
Return a pointer to the right neighbor. | |
double | prevSoln (size_t n, size_t j) const |
Value of component n at point j in the previous solution. | |
void | setID (const string &s) |
Specify an identifying tag for this domain. | |
string | id () const |
Returns the identifying tag for this domain. | |
virtual void | show (std::ostream &s, const double *x) |
Print the solution. | |
virtual void | show (const double *x) |
Print the solution. | |
double | z (size_t jlocal) const |
Get the coordinate [m] of the point with local index jlocal | |
double | zmin () const |
Get the coordinate [m] of the first (leftmost) grid point in this domain. | |
double | zmax () const |
Get the coordinate [m] of the last (rightmost) grid point in this domain. | |
void | setProfile (const string &name, double *values, double *soln) |
Set initial values for a component at each grid point. | |
vector< double > & | grid () |
Access the array of grid coordinates [m]. | |
const vector< double > & | grid () const |
Access the array of grid coordinates [m]. | |
double | grid (size_t point) const |
virtual void | setupGrid (size_t n, const double *z) |
called to set up initial grid, and after grid refinement | |
virtual void | _getInitialSoln (double *x) |
Writes some or all initial solution values into the global solution array, beginning at the location pointed to by x. | |
virtual double | initialValue (size_t n, size_t j) |
Initial value of solution component n at grid point j. | |
virtual void | _finalize (const double *x) |
In some cases, a domain may need to set parameters that depend on the initial solution estimate. | |
void | forceFullUpdate (bool update) |
In some cases, for computational efficiency some properties (such as transport coefficients) may not be updated during Jacobian evaluations. | |
void | setData (shared_ptr< vector< double > > &data) |
Set shared data pointer. | |
Protected Member Functions | |
double | wdot (size_t k, size_t j) const |
void | getWdot (double *x, size_t j) |
Write the net production rates at point j into array m_wdot | |
virtual void | evalResidual (double *x, double *rsd, int *diag, double rdt, size_t jmin, size_t jmax) |
Evaluate the residual function. | |
Protected Member Functions inherited from Flow1D | |
AnyMap | getMeta () const override |
Retrieve meta data. | |
void | setMeta (const AnyMap &state) override |
Retrieve meta data. | |
virtual void | evalContinuity (size_t j, double *x, double *r, int *diag, double rdt) |
Alternate version of evalContinuity with legacy signature. | |
virtual void | evalUo (double *x, double *rsd, int *diag, double rdt, size_t jmin, size_t jmax) |
Evaluate the oxidizer axial velocity equation residual. | |
double | shear (const double *x, size_t j) const |
Compute the shear term from the momentum equation using a central three-point differencing scheme. | |
double | conduction (const double *x, size_t j) const |
Compute the conduction term from the energy equation using a central three-point differencing scheme. | |
size_t | mindex (size_t k, size_t j, size_t m) |
Array access mapping for a 3D array stored in a 1D vector. | |
virtual void | grad_hk (const double *x, size_t j) |
Compute the spatial derivative of species specific molar enthalpies using upwind differencing. | |
void | updateThermo (const double *x, size_t j0, size_t j1) |
Update the thermodynamic properties from point j0 to point j1 (inclusive), based on solution x. | |
virtual void | updateTransport (double *x, size_t j0, size_t j1) |
Update the transport properties at grid points in the range from j0 to j1 , based on solution x . | |
virtual void | updateDiffFluxes (const double *x, size_t j0, size_t j1) |
Update the diffusive mass fluxes. | |
virtual void | updateProperties (size_t jg, double *x, size_t jmin, size_t jmax) |
Update the properties (thermo, transport, and diffusion flux). | |
void | computeRadiation (double *x, size_t jmin, size_t jmax) |
Computes the radiative heat loss vector over points jmin to jmax and stores the data in the qdotRadiation variable. | |
virtual void | evalContinuity (double *x, double *rsd, int *diag, double rdt, size_t jmin, size_t jmax) |
Evaluate the continuity equation residual. | |
virtual void | evalMomentum (double *x, double *rsd, int *diag, double rdt, size_t jmin, size_t jmax) |
Evaluate the momentum equation residual. | |
virtual void | evalLambda (double *x, double *rsd, int *diag, double rdt, size_t jmin, size_t jmax) |
Evaluate the lambda equation residual. | |
virtual void | evalEnergy (double *x, double *rsd, int *diag, double rdt, size_t jmin, size_t jmax) |
Evaluate the energy equation residual. | |
virtual void | evalSpecies (double *x, double *rsd, int *diag, double rdt, size_t jmin, size_t jmax) |
Evaluate the species equations' residuals. | |
virtual void | evalElectricField (double *x, double *rsd, int *diag, double rdt, size_t jmin, size_t jmax) |
Evaluate the electric field equation residual to be zero everywhere. | |
double | T (const double *x, size_t j) const |
Get the temperature at point j from the local state vector x . | |
double & | T (double *x, size_t j) |
Get the temperature at point j from the local state vector x . | |
double | T_prev (size_t j) const |
Get the temperature at point j from the previous time step. | |
double | rho_u (const double *x, size_t j) const |
Get the axial mass flux [kg/m²/s] at point j from the local state vector x . | |
double | u (const double *x, size_t j) const |
Get the axial velocity [m/s] at point j from the local state vector x . | |
double | V (const double *x, size_t j) const |
Get the spread rate (tangential velocity gradient) [1/s] at point j from the local state vector x . | |
double | V_prev (size_t j) const |
Get the spread rate [1/s] at point j from the previous time step. | |
double | lambda (const double *x, size_t j) const |
Get the radial pressure gradient [N/m⁴] at point j from the local state vector x | |
double | Uo (const double *x, size_t j) const |
Get the oxidizer inlet velocity [m/s] linked to point j from the local state vector x . | |
double | Y (const double *x, size_t k, size_t j) const |
Get the mass fraction of species k at point j from the local state vector x . | |
double & | Y (double *x, size_t k, size_t j) |
Get the mass fraction of species k at point j from the local state vector x . | |
double | Y_prev (size_t k, size_t j) const |
Get the mass fraction of species k at point j from the previous time step. | |
double | X (const double *x, size_t k, size_t j) const |
Get the mole fraction of species k at point j from the local state vector x . | |
double | flux (size_t k, size_t j) const |
Get the diffusive mass flux [kg/m²/s] of species k at point j | |
double | dVdz (const double *x, size_t j) const |
Calculates the spatial derivative of velocity V with respect to z at point j using upwind differencing. | |
double | dYdz (const double *x, size_t k, size_t j) const |
Calculates the spatial derivative of the species mass fraction \( Y_k \) with respect to z for species k at point j using upwind differencing. | |
double | dTdz (const double *x, size_t j) const |
Calculates the spatial derivative of temperature T with respect to z at point j using upwind differencing. | |
virtual AnyMap | getMeta () const |
Retrieve meta data. | |
virtual void | setMeta (const AnyMap &meta) |
Retrieve meta data. | |
Additional Inherited Members | |
Public Attributes inherited from Flow1D | |
double | m_zfixed = Undef |
Location of the point where temperature is fixed. | |
double | m_tfixed = -1.0 |
Temperature at the point used to fix the flame location. | |
Protected Attributes inherited from Flow1D | |
double | m_press = -1.0 |
pressure [Pa] | |
vector< double > | m_dz |
Grid spacing. Element j holds the value of z(j+1) - z(j) . | |
vector< double > | m_rho |
Density at each grid point. | |
vector< double > | m_wtm |
Mean molecular weight at each grid point. | |
vector< double > | m_wt |
Molecular weight of each species. | |
vector< double > | m_cp |
Specific heat capacity at each grid point. | |
vector< double > | m_visc |
Dynamic viscosity at each grid point [Pa∙s]. | |
vector< double > | m_tcon |
Thermal conductivity at each grid point [W/m/K]. | |
vector< double > | m_diff |
Coefficient used in diffusion calculations for each species at each grid point. | |
vector< double > | m_multidiff |
Vector of size m_nsp × m_nsp × m_points for saving multicomponent diffusion coefficients. | |
Array2D | m_dthermal |
Array of size m_nsp by m_points for saving thermal diffusion coefficients. | |
Array2D | m_flux |
Array of size m_nsp by m_points for saving diffusive mass fluxes. | |
Array2D | m_hk |
Array of size m_nsp by m_points for saving molar enthalpies. | |
Array2D | m_dhk_dz |
Array of size m_nsp by m_points-1 for saving enthalpy fluxes. | |
Array2D | m_wdot |
Array of size m_nsp by m_points for saving species production rates. | |
size_t | m_nsp |
Number of species in the mechanism. | |
ThermoPhase * | m_thermo = nullptr |
Phase object used for calculating thermodynamic properties. | |
Kinetics * | m_kin = nullptr |
Kinetics object used for calculating species production rates. | |
Transport * | m_trans = nullptr |
Transport object used for calculating transport properties. | |
double | m_epsilon_left = 0.0 |
Emissivity of the surface to the left of the domain. | |
double | m_epsilon_right = 0.0 |
Emissivity of the surface to the right of the domain. | |
vector< size_t > | m_kRadiating |
Indices within the ThermoPhase of the radiating species. | |
vector< double > | m_qdotRadiation |
radiative heat loss vector | |
vector< double > | m_fixedtemp |
Fixed values of the temperature at each grid point that are used when solving with the energy equation disabled. | |
vector< double > | m_zfix |
Relative coordinates used to specify a fixed temperature profile. | |
vector< double > | m_tfix |
Fixed temperature values at the relative coordinates specified in m_zfix. | |
size_t | m_kExcessLeft = 0 |
Index of species with a large mass fraction at the left boundary, for which the mass fraction may be calculated as 1 minus the sum of the other mass fractions. | |
size_t | m_kExcessRight = 0 |
Index of species with a large mass fraction at the right boundary, for which the mass fraction may be calculated as 1 minus the sum of the other mass fractions. | |
double | m_zLeft = Undef |
Location of the left control point when two-point control is enabled. | |
double | m_tLeft = Undef |
Temperature of the left control point when two-point control is enabled. | |
double | m_zRight = Undef |
Location of the right control point when two-point control is enabled. | |
double | m_tRight = Undef |
Temperature of the right control point when two-point control is enabled. | |
vector< bool > | m_do_energy |
For each point in the domain, true if energy equation is solved or false if temperature is held constant. | |
bool | m_do_soret = false |
true if the Soret diffusion term should be calculated. | |
ThermoBasis | m_fluxGradientBasis = ThermoBasis::molar |
Determines whether diffusive fluxes are computed using gradients of mass fraction or mole fraction. | |
bool | m_do_multicomponent = false |
true if transport fluxes are computed using the multicomponent diffusion coefficients, or false if mixture-averaged diffusion coefficients are used. | |
bool | m_do_radiation = false |
Determines whether radiative heat loss is calculated. | |
bool | m_dovisc |
Determines whether the viscosity term in the momentum equation is calculated. | |
bool | m_isFree |
Flag that is true for freely propagating flames anchored by a temperature fixed point. | |
bool | m_usesLambda |
Flag that is true for counterflow configurations that use the pressure eigenvalue \( \Lambda \) in the radial momentum equation. | |
bool | m_twoPointControl = false |
Flag for activating two-point flame control. | |
Protected Attributes inherited from Domain1D | |
shared_ptr< vector< double > > | m_state |
data pointer shared from OneDim | |
double | m_rdt = 0.0 |
Reciprocal of the time step. | |
size_t | m_nv = 0 |
Number of solution components. | |
size_t | m_points |
Number of grid points. | |
vector< double > | m_slast |
Solution vector at the last time step. | |
vector< double > | m_max |
Upper bounds on solution components. | |
vector< double > | m_min |
Lower bounds on solution components. | |
vector< double > | m_rtol_ss |
Relative tolerances for steady mode. | |
vector< double > | m_rtol_ts |
Relative tolerances for transient mode. | |
vector< double > | m_atol_ss |
Absolute tolerances for steady mode. | |
vector< double > | m_atol_ts |
Absolute tolerances for transient mode. | |
vector< double > | m_z |
1D spatial grid coordinates | |
OneDim * | m_container = nullptr |
Parent OneDim simulation containing this and adjacent domains. | |
size_t | m_index |
Left-to-right location of this domain. | |
size_t | m_iloc = 0 |
Starting location within the solution vector for unknowns that correspond to this domain. | |
size_t | m_jstart = 0 |
Index of the first point in this domain in the global point list. | |
Domain1D * | m_left = nullptr |
Pointer to the domain to the left. | |
Domain1D * | m_right = nullptr |
Pointer to the domain to the right. | |
string | m_id |
Identity tag for the domain. | |
unique_ptr< Refiner > | m_refiner |
Refiner object used for placing grid points. | |
vector< string > | m_name |
Names of solution components. | |
int | m_bw = -1 |
See bandwidth() | |
bool | m_force_full_update = false |
see forceFullUpdate() | |
shared_ptr< Solution > | m_solution |
Composite thermo/kinetics/transport handler. | |
StFlow | ( | ThermoPhase * | ph = 0 , |
size_t | nsp = 1 , |
||
size_t | points = 1 |
||
) |
Create a new flow domain.
ph | Object representing the gas phase. This object will be used to evaluate all thermodynamic, kinetic, and transport properties. |
nsp | Number of species. |
points | Initial number of grid points |
Definition at line 14 of file StFlow.cpp.
StFlow | ( | shared_ptr< ThermoPhase > | th, |
size_t | nsp = 1 , |
||
size_t | points = 1 |
||
) |
Delegating constructor.
Definition at line 21 of file StFlow.cpp.
Create a new flow domain.
sol | Solution object used to evaluate all thermodynamic, kinetic, and transport properties |
id | name of flow domain |
points | initial number of grid points |
Definition at line 28 of file StFlow.cpp.
|
overridevirtual |
Evaluate the residual functions for axisymmetric stagnation flow.
If jGlobal == npos, the residual function is evaluated at all grid points. Otherwise, the residual function is only evaluated at grid points j-1, j, and j+1. This option is used to efficiently evaluate the Jacobian numerically.
These residuals at all the boundary grid points are evaluated using a default boundary condition that may be modified by a boundary object that is attached to the domain. The boundary object connected will modify these equations by subtracting the boundary object's values for V, T, mdot, etc. As a result, these residual equations will force the solution variables to the values of the connected boundary object.
jGlobal | Global grid point at which to update the residual | |
[in] | xGlobal | Global state vector |
[out] | rsdGlobal | Global residual vector |
[out] | diagGlobal | Global boolean mask indicating whether each solution component has a time derivative (1) or not (0). |
[in] | rdt | Reciprocal of the timestep (rdt=0 implies steady-state.) |
Reimplemented from Flow1D.
Definition at line 35 of file StFlow.cpp.
|
virtual |
Evaluate all residual components at the right boundary.
Definition at line 247 of file StFlow.cpp.
|
overridevirtual |
Alternate version of evalContinuity with legacy signature.
Implemented by StFlow; included here to prevent compiler warnings about shadowed virtual functions.
Reimplemented from Flow1D.
Definition at line 277 of file StFlow.cpp.
|
inlineprotected |
|
protectedvirtual |
Evaluate the residual function.
This function is called in eval after updateProperties is called.
Definition at line 63 of file StFlow.cpp.