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.