20 "Sends out increment of molecules on product each timestep"
28 "Sends out increment of molecules on product each timestep"
40 "Forward rate constant, in # units",
47 "Reverse rate constant, in # units",
54 "Forward rate constant, in concentration units",
61 "Reverse rate constant, in concentration units",
68 "Number of substrates of reaction",
74 "Number of products of reaction",
82 "Handles process call",
85 "Handles reinit call",
93 "Handles # of molecules of substrate",
96 "Handles # of molecules of product",
98 static Finfo* subShared[] = {
101 static Finfo* prdShared[] = {
105 "Connects to substrate pool",
106 subShared,
sizeof( subShared ) /
sizeof(
const Finfo* )
109 "Connects to substrate pool",
110 prdShared,
sizeof( prdShared ) /
sizeof(
const Finfo* )
112 static Finfo* procShared[] = {
116 "Shared message for process and reinit",
117 procShared,
sizeof( procShared ) /
sizeof(
const Finfo* )
121 static Finfo* reacFinfos[] = {
133 static string doc[] =
136 "Author",
"Upinder S. Bhalla, 2012, NCBS",
137 "Description",
"Base class for reactions. Provides the MOOSE API"
138 "functions, but ruthlessly refers almost all of them to derived"
139 "classes, which have to provide the man page output."
147 sizeof( reacFinfos ) /
sizeof (
Finfo* ),
150 sizeof( doc ) /
sizeof(
string ),
165 : concKf_( 0.1 ), concKb_( 0.2 )
280 const vector< MsgFuncBinding >* mfb =
283 return ( mfb->size() );
288 const vector< MsgFuncBinding >* mfb =
291 return ( mfb->size() );
301 if ( orig->
cinfo() == zClass )
307 vector< double > concKf( num, 0.0 );
308 vector< double > concKb( num, 0.0 );
309 for (
unsigned int i = 0; i < num; ++i ) {
310 Eref er( orig, i + start );
317 for (
unsigned int i = 0; i < num; ++i ) {
318 Eref er( orig, i + start );
unsigned int getNumSub(const Eref &e) const
Get number of substrates.
virtual double vGetConcKf(const Eref &e) const =0
void setNumKb(const Eref &e, double v)
double getNumKb(const Eref &e) const
virtual double vGetNumKf(const Eref &e) const =0
void reinit(const Eref &e, ProcPtr p)
static void zombify(Element *original, const Cinfo *zClass, Id solver)
void remesh(const Eref &e)
virtual void vSub(double v)
virtual void zombieSwap(const Cinfo *zCinfo)
virtual func, this base version must be called by all derived classes
Element * element() const
static SrcFinfo2< double, double > * subOut()
void setConcKf(const Eref &e, double v)
set Kf in concentration units
virtual void vSetConcKf(const Eref &e, double v)=0
double getNumKf(const Eref &e) const
virtual void vProcess(const Eref &e, ProcPtr p)
void setConcKb(const Eref &e, double v)
set Kb in concentration units
virtual double vGetNumKb(const Eref &e) const =0
unsigned int getNumPrd(const Eref &e) const
Get number of products.
static const Cinfo * initCinfo()
virtual void vReinit(const Eref &e, ProcPtr p)
virtual void vRemesh(const Eref &e)
virtual void vSetConcKb(const Eref &e, double v)=0
const vector< MsgFuncBinding > * getMsgAndFunc(BindIndex b) const
const Cinfo * cinfo() const
double getConcKf(const Eref &e) const
get Kf in concentration units
virtual void vPrd(double v)
virtual unsigned int localDataStart() const =0
Returns index of first data entry on this node.
virtual unsigned int numLocalData() const =0
Returns number of local data entries on this node.
virtual void setSolver(Id solver, Id orig)
Assign solver info.
double getConcKb(const Eref &e) const
get Kb in concentration units
virtual void vSetNumKb(const Eref &e, double v)=0
static const Cinfo * initCinfo()
static const Cinfo * reacBaseCinfo
void process(const Eref &e, ProcPtr p)
virtual double vGetConcKb(const Eref &e) const =0
static SrcFinfo2< double, double > * prdOut()
virtual void vSetNumKf(const Eref &e, double v)=0
void setNumKf(const Eref &e, double v)