Cantera  3.1.0a1
ReactorDelegator< R > Class Template Reference

Delegate methods of the Reactor class to external functions. More...

#include <ReactorDelegator.h>

Inheritance diagram for ReactorDelegator< R >:
[legend]

Detailed Description

template<class R>
class Cantera::ReactorDelegator< R >

Delegate methods of the Reactor class to external functions.

Definition at line 59 of file ReactorDelegator.h.

Public Member Functions

void initialize (double t0) override
 
void syncState () override
 
void getState (double *y) override
 
void updateState (double *y) override
 
void updateSurfaceState (double *y) override
 
void getSurfaceInitialConditions (double *y) override
 
void updateConnected (bool updatePressure) override
 
void eval (double t, double *LHS, double *RHS) override
 
void evalWalls (double t) override
 
void evalSurfaces (double *LHS, double *RHS, double *sdot) override
 
string componentName (size_t k) override
 
size_t componentIndex (const string &nm) const override
 
size_t speciesIndex (const string &nm) const override
 
void setNEq (size_t n) override
 Set the number of equations represented by this reactor. More...
 
double expansionRate () const override
 Get the net rate of volume change (for example, from moving walls) [m^3/s]. More...
 
void setExpansionRate (double v) override
 Set the net rate of volume change (for example, from moving walls) [m^3/s]. More...
 
double heatRate () const override
 Get the net heat transfer rate (for example, through walls) into the reactor [W]. More...
 
void setHeatRate (double q) override
 Set the net heat transfer rate (for example, through walls) into the reactor [W]. More...
 
void restoreThermoState () override
 Set the state of the thermo object to correspond to the state of the reactor. More...
 
void restoreSurfaceState (size_t n) override
 Set the state of the thermo object for surface n to correspond to the state of that surface. More...
 
- Public Member Functions inherited from Delegator
string delegatorName () const
 Get the name of the user-defined class in the extension language. More...
 
void setDelegatorName (const string &delegatorName)
 Set the name of the user-defined class in the extension language. More...
 
void setDelegate (const string &name, const function< void()> &func, const string &when)
 Set delegates for member functions with the signature void(). More...
 
void setDelegate (const string &name, const function< void(bool)> &func, const string &when)
 set delegates for member functions with the signature void(bool) More...
 
void setDelegate (const string &name, const function< void(double)> &func, const string &when)
 set delegates for member functions with the signature void(double) More...
 
void setDelegate (const string &name, const function< void(AnyMap &)> &func, const string &when)
 set delegates for member functions with the signature void(AnyMap&) More...
 
void setDelegate (const string &name, const function< void(const AnyMap &, const UnitStack &)> &func, const string &when)
 set delegates for member functions with the signature void(AnyMap&, UnitStack&) More...
 
void setDelegate (const string &name, const function< void(const string &, void *)> &func, const string &when)
 set delegates for member functions with the signature void(const string&, void*) More...
 
void setDelegate (const string &name, const function< void(std::array< size_t, 1 >, double *)> &func, const string &when)
 Set delegates for member functions with the signature void(double*) More...
 
void setDelegate (const string &name, const function< void(std::array< size_t, 1 >, double, double *)> &func, const string &when)
 Set delegates for member functions with the signature void(double, double*) More...
 
void setDelegate (const string &name, const function< void(std::array< size_t, 2 >, double, double *, double *)> &func, const string &when)
 Set delegates for member functions with the signature void(double, double*, double*) More...
 
void setDelegate (const string &name, const function< void(std::array< size_t, 3 >, double *, double *, double *)> &func, const string &when)
 Set delegates for member functions with the signature void(double*, double*, double*) More...
 
void setDelegate (const string &name, const function< int(double &, void *)> &func, const string &when)
 set delegates for member functions with the signature double(void*) More...
 
void setDelegate (const string &name, const function< int(string &, size_t)> &func, const string &when)
 Set delegates for member functions with the signature string(size_t) More...
 
void setDelegate (const string &name, const function< int(size_t &, const string &)> &func, const string &when)
 Set delegates for member functions with the signature size_t(string) More...
 
void holdExternalHandle (const string &name, const shared_ptr< ExternalHandle > &handle)
 Store a handle to a wrapper for the delegate from an external language interface. More...
 
shared_ptr< ExternalHandlegetExternalHandle (const string &name) const
 Get the handle for a wrapper for the delegate from the external language interface specified by name. More...
 

Private Attributes

function< void(double)> m_initialize
 
function< void()> m_syncState
 
function< void(std::array< size_t, 1 >, double *)> m_getState
 
function< void(std::array< size_t, 1 >, double *)> m_updateState
 
function< void(std::array< size_t, 1 >, double *)> m_updateSurfaceState
 
function< void(std::array< size_t, 1 >, double *)> m_getSurfaceInitialConditions
 
function< void(bool)> m_updateConnected
 
function< void(std::array< size_t, 2 >, double, double *, double *)> m_eval
 
function< void(double)> m_evalWalls
 
function< void(std::array< size_t, 3 >, double *, double *, double *)> m_evalSurfaces
 
function< string(size_t)> m_componentName
 
function< size_t(const string &)> m_componentIndex
 
function< size_t(const string &)> m_speciesIndex
 

Additional Inherited Members

- Protected Member Functions inherited from Delegator
void install (const string &name, function< void()> &target, const function< void()> &func)
 Install a function with the signature void() as being delegatable. More...
 
void install (const string &name, function< void(bool)> &target, const function< void(bool)> &func)
 Install a function with the signature void(bool) as being delegatable. More...
 
void install (const string &name, function< void(double)> &target, const function< void(double)> &func)
 Install a function with the signature void(double) as being delegatable. More...
 
void install (const string &name, function< void(AnyMap &)> &target, const function< void(AnyMap &)> &func)
 Install a function with the signature void(AnyMap&) as being delegatable. More...
 
void install (const string &name, function< void(const AnyMap &, const UnitStack &)> &target, const function< void(const AnyMap &, const UnitStack &)> &func)
 Install a function with the signature void(const AnyMap&, const UnitStack&) as being delegatable. More...
 
void install (const string &name, function< void(const string &, void *)> &target, const function< void(const string &, void *)> &func)
 Install a function with the signature `void(const string&, void*) as being delegatable. More...
 
void install (const string &name, function< void(std::array< size_t, 1 >, double *)> &target, const function< void(std::array< size_t, 1 >, double *)> &func)
 Install a function with the signature void(double*) as being delegatable. More...
 
void install (const string &name, function< void(std::array< size_t, 1 >, double, double *)> &target, const function< void(std::array< size_t, 1 >, double, double *)> &func)
 Install a function with the signature void(double, double*) as being delegatable. More...
 
void install (const string &name, function< void(std::array< size_t, 2 >, double, double *, double *)> &target, const function< void(std::array< size_t, 2 >, double, double *, double *)> &func)
 Install a function with the signature void(double, double*, double*) as being delegatable. More...
 
void install (const string &name, function< void(std::array< size_t, 3 >, double *, double *, double *)> &target, const function< void(std::array< size_t, 3 >, double *, double *, double *)> &base)
 Install a function with the signature void(double*, double*, double*) as being delegatable. More...
 
void install (const string &name, function< double(void *)> &target, const function< double(void *)> &func)
 Install a function with the signature double(void*) as being delegatable. More...
 
void install (const string &name, function< string(size_t)> &target, const function< string(size_t)> &base)
 Install a function with the signature string(size_t) as being delegatable. More...
 
void install (const string &name, function< size_t(const string &)> &target, const function< size_t(const string &)> &base)
 Install a function with the signature size_t(string) as being delegatable. More...
 
template<typename BaseFunc , class ... Args>
function< void(Args ...)> makeDelegate (const function< void(Args ...)> &func, const string &when, BaseFunc base)
 Create a delegate for a function with no return value. More...
 
template<typename ReturnType , class ... Args>
function< ReturnType(Args ...)> makeDelegate (const string &name, const function< int(ReturnType &, Args ...)> &func, const string &when, const function< ReturnType(Args ...)> &base)
 Create a delegate for a function with a return value. More...
 
- Protected Attributes inherited from Delegator
map< string, shared_ptr< ExternalHandle > > m_handles
 Handles to wrappers for the delegated object in external language interfaces. More...
 
string m_delegatorName
 Name of the class in the extension language. More...
 
map< string, function< void()> * > m_funcs_v
 
map< string, function< void(bool)> * > m_funcs_v_b
 
map< string, function< void(double)> * > m_funcs_v_d
 
map< string, function< void(AnyMap &)> * > m_funcs_v_AMr
 
map< string, function< void(const AnyMap &, const UnitStack &)> * > m_funcs_v_cAMr_cUSr
 
map< string, function< void(const string &, void *)> * > m_funcs_v_csr_vp
 
map< string, function< void(std::array< size_t, 1 >, double *)> * > m_funcs_v_dp
 
map< string, function< void(std::array< size_t, 1 >, double, double *)> * > m_funcs_v_d_dp
 
map< string, function< void(std::array< size_t, 2 >, double, double *, double *)> * > m_funcs_v_d_dp_dp
 
map< string, function< void(std::array< size_t, 3 >, double *, double *, double *)> * > m_funcs_v_dp_dp_dp
 
map< string, function< double(void *)> > m_base_d_vp
 
map< string, function< double(void *)> * > m_funcs_d_vp
 
map< string, function< string(size_t)> > m_base_s_sz
 
map< string, function< string(size_t)> * > m_funcs_s_sz
 
map< string, function< size_t(const string &)> > m_base_sz_csr
 
map< string, function< size_t(const string &)> * > m_funcs_sz_csr
 

Member Function Documentation

◆ setNEq()

void setNEq ( size_t  n)
inlineoverridevirtual

Set the number of equations represented by this reactor.

Implements ReactorAccessor.

Definition at line 159 of file ReactorDelegator.h.

◆ expansionRate()

double expansionRate ( ) const
inlineoverridevirtual

Get the net rate of volume change (for example, from moving walls) [m^3/s].

Implements ReactorAccessor.

Definition at line 163 of file ReactorDelegator.h.

◆ setExpansionRate()

void setExpansionRate ( double  v)
inlineoverridevirtual

Set the net rate of volume change (for example, from moving walls) [m^3/s].

Implements ReactorAccessor.

Definition at line 167 of file ReactorDelegator.h.

◆ heatRate()

double heatRate ( ) const
inlineoverridevirtual

Get the net heat transfer rate (for example, through walls) into the reactor [W].

This value is initialized and calculated as part of Reactor::evalWalls().

Implements ReactorAccessor.

Definition at line 171 of file ReactorDelegator.h.

◆ setHeatRate()

void setHeatRate ( double  q)
inlineoverridevirtual

Set the net heat transfer rate (for example, through walls) into the reactor [W].

For a value set using this method to affect the calculations done by Reactor::eval, this method should be called in either a "replace" or "after" delegate for Reactor::evalWalls().

Implements ReactorAccessor.

Definition at line 175 of file ReactorDelegator.h.

◆ restoreThermoState()

void restoreThermoState ( )
inlineoverridevirtual

Set the state of the thermo object to correspond to the state of the reactor.

Implements ReactorAccessor.

Definition at line 179 of file ReactorDelegator.h.

◆ restoreSurfaceState()

void restoreSurfaceState ( size_t  n)
inlineoverridevirtual

Set the state of the thermo object for surface n to correspond to the state of that surface.

Implements ReactorAccessor.

Definition at line 183 of file ReactorDelegator.h.


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