| Cantera 3.0.0

Loading...
Searching...
No Matches
Public Member Functions | List of all members
Empty1D Class Reference
One-Dimensional Reacting Flows » Boundaries

A terminator that does nothing. More...

`#include <Boundary1D.h>`

Inheritance diagram for Empty1D:
[legend]

## Detailed Description

A terminator that does nothing.

Definition at line 183 of file Boundary1D.h.

## Public Member Functions
| Empty1D (shared_ptr< Solution > solution, const string &id="")
string | type () const override
| String indicating the domain implemented.
void | show (const double *x) override
| Print the solution.
void | init () override
| Initialize.
void | eval (size_t jg, double *xg, double *rg, integer *diagg, double rdt) override
| Evaluate the residual function at point j.
shared_ptr< SolutionArray > | asArray (const double *soln) const override
| Save the state of this domain as a SolutionArray.
Public Member Functions inherited from Boundary1D
bool | isConnector () override
| True if the domain is a connector domain.
virtual void | setTemperature (double t)
| Set the temperature.
virtual double | temperature ()
| Temperature [K].
virtual size_t | nSpecies ()
virtual void | setMoleFractions (const string &xin)
| Set the mole fractions by specifying a string.
virtual void | setMoleFractions (const double *xin)
| Set the mole fractions by specifying an array.
virtual double | massFraction (size_t k)
| Mass fraction of species k.
virtual void | setMdot (double mdot)
| Set the total mass flow rate.
virtual void | setSpreadRate (double V0)
| Set tangential velocity gradient [1/s] at this boundary.
virtual double | spreadRate ()
| Tangential velocity gradient [1/s] at this boundary.
virtual double | mdot ()
| The total mass flow rate [kg/m2/s].
void | setupGrid (size_t n, const double *z) override
| called to set up initial grid, and after grid refinement
void | fromArray (SolutionArray &arr, double *soln) override
| Restore the solution for this domain from a SolutionArray.
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
int | domainType ()
| Domain type flag.
size_t | domainIndex ()
| The left-to-right location of this 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 | 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 the nth component. May be overloaded.
void | setComponentName (size_t n, const string &name)
virtual size_t | componentIndex (const string &name) const
| index of component with name name.
void | setBounds (size_t n, double lower, double upper)
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)
| Prepare to do time stepping with time step dt.
void | setSteadyMode ()
| Prepare to solve the steady-state problem.
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.
size_t | index (size_t n, size_t j) const
double | value (const double *x, size_t n, size_t j) const
virtual void | setJac (MultiJac *jac)
AnyMap | serialize (const double *soln) const
| Save the state of this domain as an AnyMap.
shared_ptr< SolutionArray > | toArray (bool normalize=false) const
| Save the state of this domain to a SolutionArray.
void | restore (const AnyMap &state, double *soln, int loglevel)
| Restore the solution for this domain from an AnyMap.
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
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
virtual void | showSolution_s (std::ostream &s, const double *x)
virtual void | showSolution (const double *x)
| Print the solution.
virtual void | show (std::ostream &s, const double *x)
| Print the solution.
double | z (size_t jlocal) const
double | zmin () const
double | zmax () const
void | setProfile (const string &name, double *values, double *soln)
vector< double > & | grid ()
const vector< double > & | grid () const
double | grid (size_t point) const
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.

## Additional Inherited Members
Protected Member Functions inherited from Boundary1D
void | _init (size_t n)
Protected Member Functions inherited from Domain1D
virtual AnyMap | getMeta () const
| Retrieve meta data.
virtual void | setMeta (const AnyMap &meta)
| Retrieve meta data.
Protected Attributes inherited from Boundary1D
StFlow * | m_flow_left = nullptr
StFlow * | m_flow_right = nullptr
size_t | m_ilr = 0
size_t | m_left_nv = 0
size_t | m_right_nv = 0
size_t | m_left_loc = 0
size_t | m_right_loc = 0
size_t | m_left_points = 0
size_t | m_left_nsp = 0
size_t | m_right_nsp = 0
size_t | m_sp_left = 0
size_t | m_sp_right = 0
size_t | m_start_left = 0
size_t | m_start_right = 0
ThermoPhase * | m_phase_left = nullptr
ThermoPhase * | m_phase_right = nullptr
double | m_temp = 0.0
double | m_mdot = 0.0
Protected Attributes inherited from Domain1D
shared_ptr< vector< double > > | m_state
| data pointer shared from OneDim
double | m_rdt = 0.0
size_t | m_nv = 0
size_t | m_points
| Number of grid points.
vector< double > | m_slast
vector< double > | m_max
vector< double > | m_min
vector< double > | m_rtol_ss
vector< double > | m_rtol_ts
vector< double > | m_atol_ss
vector< double > | m_atol_ts
vector< double > | m_z
OneDim * | m_container = nullptr
size_t | m_index
int | m_type = 0
size_t | m_iloc = 0
| Starting location within the solution vector for unknowns that correspond to this domain.
size_t | m_jstart = 0
Domain1D * | m_left = nullptr
Domain1D * | m_right = nullptr
string | m_id
| Identity tag for the domain.
unique_ptr< Refiner > | m_refiner
vector< string > | m_name
int | m_bw = -1
bool | m_force_full_update = false
shared_ptr< Solution > | m_solution
| Composite thermo/kinetics/transport handler.

## Constructor & Destructor Documentation

## ◆ Empty1D() [1/2]

Empty1D | ( |  | ) |
| inline

Definition at line 186 of file Boundary1D.h.

## ◆ Empty1D() [2/2]

Empty1D | ( | shared_ptr< Solution > | solution,
|  | const string & | id = `""`
| ) |  |
| inline

Definition at line 190 of file Boundary1D.h.

## Member Function Documentation

## ◆ type()

string type | ( |  | ) | const
| inline override virtual

String indicating the domain implemented.

Since
  New in Cantera 3.0.

Todo:
  Transition back to domainType after Cantera 3.0

Reimplemented from Boundary1D.

Definition at line 195 of file Boundary1D.h.

## ◆ show()

void show | ( | const double * | x | ) |
| inline override virtual

Print the solution.

Reimplemented from Domain1D.

Definition at line 199 of file Boundary1D.h.

## ◆ init()

void init | ( |  | ) |
| override virtual

Initialize.

This method is called by OneDim::init() for each domain once at the beginning of a simulation. Base class method does nothing, but may be overloaded.

Reimplemented from Boundary1D.

Definition at line 279 of file Boundary1D.cpp.

## ◆ eval()

void eval | ( | size_t | j,
|  | double * | x,
|  | double * | r,
|  | integer * | mask,
|  | double | rdt
| ) |  |
| override virtual

Evaluate the residual function at point j.

If j == npos, evaluate the residual function at all points.

This function must be implemented in classes derived from Domain1D.

Parameters

  | j | Grid point at which to update the residual
  [in] | x | State vector
  [out] | r | residual vector
  [out] | mask | 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 Domain1D.

Definition at line 284 of file Boundary1D.cpp.

## ◆ asArray()

shared_ptr< SolutionArray > asArray | ( | const double * | soln | ) | const
| override virtual

Save the state of this domain as a SolutionArray.

Parameters

  soln | local solution vector for this domain

Todo:
  Despite the method's name, data are copied; the intent is to access data directly in future revisions, where a non-const version will be implemented.

Since
  New in Cantera 3.0.

Reimplemented from Domain1D.

Definition at line 289 of file Boundary1D.cpp.

The documentation for this class was generated from the following files:

- Boundary1D.h
- Boundary1D.cpp