MOOSE - Multiscale Object Oriented Simulation Environment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Enz Class Reference

#include <Enz.h>

+ Inheritance diagram for Enz:
+ Collaboration diagram for Enz:

Public Member Functions

 Enz ()
 
void setKmK1 (double Km, double k1)
 
void vCplx (double n)
 
void vEnz (double n)
 
double vGetConcK1 (const Eref &e) const
 
double vGetK1 (const Eref &e) const
 
double vGetK2 (const Eref &e) const
 
double vGetKcat (const Eref &e) const
 
double vGetKm (const Eref &e) const
 
double vGetNumKm (const Eref &e) const
 
double vGetRatio (const Eref &e) const
 
void vPrd (double n)
 
void vProcess (const Eref &e, ProcPtr p)
 
void vReinit (const Eref &e, ProcPtr p)
 
void vRemesh (const Eref &e)
 
void vSetConcK1 (const Eref &e, double v)
 
void vSetK1 (const Eref &e, double v)
 
void vSetK2 (const Eref &e, double v)
 
void vSetKcat (const Eref &e, double v)
 
void vSetKm (const Eref &e, double v)
 
void vSetNumKm (const Eref &e, double v)
 
void vSetRatio (const Eref &e, double v)
 
void vSub (double n)
 
 ~Enz ()
 
- Public Member Functions inherited from CplxEnzBase
void cplx (double n)
 
 CplxEnzBase ()
 
double getConcK1 (const Eref &e) const
 
double getK1 (const Eref &e) const
 
double getK2 (const Eref &e) const
 
double getRatio (const Eref &e) const
 
void setConcK1 (const Eref &e, double v)
 
void setK1 (const Eref &e, double v)
 
void setK2 (const Eref &e, double v)
 
void setRatio (const Eref &e, double v)
 
virtual ~CplxEnzBase ()
 
- Public Member Functions inherited from EnzBase
void enz (double n)
 
 EnzBase ()
 
double getKcat (const Eref &e) const
 
double getKm (const Eref &e) const
 
double getNumKm (const Eref &e) const
 
unsigned int getNumPrd (const Eref &e) const
 
unsigned int getNumSub (const Eref &e) const
 
void prd (double n)
 
void process (const Eref &e, ProcPtr p)
 
void reinit (const Eref &e, ProcPtr p)
 
void remesh (const Eref &e)
 
void setKcat (const Eref &e, double v)
 
void setKm (const Eref &e, double v)
 
void setNumKm (const Eref &e, double v)
 
virtual void setSolver (Id solver, Id orig)
 Assign solver info. More...
 
void sub (double n)
 
virtual ~EnzBase ()
 

Static Public Member Functions

static const CinfoinitCinfo ()
 
- Static Public Member Functions inherited from CplxEnzBase
static const CinfoinitCinfo ()
 
static void zombify (Element *original, const Cinfo *zClass, Id solver)
 
- Static Public Member Functions inherited from EnzBase
static const CinfoinitCinfo ()
 
static void zombify (Element *original, const Cinfo *zClass, Id solver)
 

Private Attributes

double k1_
 Km in concentration units: millimolar. More...
 
double k2_
 in # and time units More...
 
double k3_
 in time More...
 
double Km_
 
double r1_
 in time More...
 
double r2_
 
double r3_
 

Detailed Description

Definition at line 13 of file Enz.h.

Constructor & Destructor Documentation

Enz::Enz ( )

Definition at line 75 of file Enz.cpp.

76  : Km_(5.0e-3), k1_( 0.1 ), k2_( 0.4 ), k3_( 0.1 )
77 {
78  ;
79 }
double Km_
Definition: Enz.h:62
double k2_
in # and time units
Definition: Enz.h:64
double k3_
in time
Definition: Enz.h:65
double k1_
Km in concentration units: millimolar.
Definition: Enz.h:63
Enz::~Enz ( )

Definition at line 81 of file Enz.cpp.

82 {;}

Member Function Documentation

const Cinfo * Enz::initCinfo ( )
static

Definition at line 18 of file Enz.cpp.

References enzCinfo, CplxEnzBase::initCinfo(), and setKmK1().

19 {
21  // Field Definitions: all inherited
24  // MsgDest Definitions
26  static DestFinfo setKmK1Dest( "setKmK1",
27  "Low-level function used when you wish to explicitly set "
28  "Km and k1, without doing any of the volume calculations."
29  "Needed by ReadKkit and other situations where the numbers "
30  "must be set before all the messaging is in place."
31  "Not relevant for zombie enzymes.",
33  );
35  // Shared Msg Definitions
37  static Dinfo< Enz > dinfo;
38  static Finfo* enzFinfos[] = {
39  &setKmK1Dest, // DestFinfo
40  };
41 
42  static Cinfo enzCinfo (
43  "Enz",
45  enzFinfos,
46  sizeof( enzFinfos ) / sizeof ( Finfo* ),
47  &dinfo
48  );
49 
50  return &enzCinfo;
51 }
void setKmK1(double Km, double k1)
Definition: Enz.cpp:88
Definition: Dinfo.h:60
static const Cinfo * enzCinfo
Definition: Enz.cpp:54
Definition: OpFunc.h:40
Definition: Cinfo.h:18
static const Cinfo * initCinfo()
Definition: CplxEnzBase.cpp:49
Definition: Finfo.h:12

+ Here is the call graph for this function:

void Enz::setKmK1 ( double  Km,
double  k1 
)

Definition at line 88 of file Enz.cpp.

References k1_, Km_, and r1_.

Referenced by initCinfo().

89 {
90  r1_ = k1_ = k1;
91  Km_ = Km;
92 }
double r1_
in time
Definition: Enz.h:66
double Km_
Definition: Enz.h:62
double k1_
Km in concentration units: millimolar.
Definition: Enz.h:63

+ Here is the caller graph for this function:

void Enz::vCplx ( double  n)
virtual

Reimplemented from CplxEnzBase.

Definition at line 104 of file Enz.cpp.

References k2_, k3_, r2_, and r3_.

105 {
106  r2_ = k2_ * n;
107  r3_ = k3_ * n;
108 }
double r3_
Definition: Enz.h:68
double r2_
Definition: Enz.h:67
double k2_
in # and time units
Definition: Enz.h:64
double k3_
in time
Definition: Enz.h:65
void Enz::vEnz ( double  n)
virtual

Reimplemented from EnzBase.

Definition at line 99 of file Enz.cpp.

References r1_.

100 {
101  r1_ *= n;
102 }
double r1_
in time
Definition: Enz.h:66
double Enz::vGetConcK1 ( const Eref e) const
virtual

Implements CplxEnzBase.

Definition at line 236 of file Enz.cpp.

References EPSILON, k2_, k3_, and Km_.

237 {
238  if ( Km_ < EPSILON ) {
239  cout << "Enz::vGetConcK1: Warning: Km_ too small\n";
240  return 1.0;
241  }
242  return ( k2_ + k3_ ) / Km_;
243 }
double Km_
Definition: Enz.h:62
double k2_
in # and time units
Definition: Enz.h:64
double k3_
in time
Definition: Enz.h:65
#define EPSILON
Definition: Enz.cpp:17
double Enz::vGetK1 ( const Eref e) const
virtual

Implements CplxEnzBase.

Definition at line 143 of file Enz.cpp.

References k1_, Km_, and vSetKm().

144 {
145  Enz* temp = const_cast< Enz* >( this );
146  temp->vSetKm( e, Km_ );
147  return k1_;
148 }
double Km_
Definition: Enz.h:62
Definition: Enz.h:13
void vSetKm(const Eref &e, double v)
Definition: Enz.cpp:185
double k1_
Km in concentration units: millimolar.
Definition: Enz.h:63

+ Here is the call graph for this function:

double Enz::vGetK2 ( const Eref e) const
virtual

Implements CplxEnzBase.

Definition at line 156 of file Enz.cpp.

References k2_.

157 {
158  return k2_;
159 }
double k2_
in # and time units
Definition: Enz.h:64
double Enz::vGetKcat ( const Eref e) const
virtual

Implements EnzBase.

Definition at line 173 of file Enz.cpp.

References k3_.

174 {
175  return k3_;
176 }
double k3_
in time
Definition: Enz.h:65
double Enz::vGetKm ( const Eref e) const
virtual

Implements EnzBase.

Definition at line 193 of file Enz.cpp.

References Km_.

194 {
195  return Km_;
196 }
double Km_
Definition: Enz.h:62
double Enz::vGetNumKm ( const Eref e) const
virtual

Implements EnzBase.

Definition at line 205 of file Enz.cpp.

References convertConcToNumRateUsingMesh(), and Km_.

206 {
207  double volScale = convertConcToNumRateUsingMesh( e, enzOut, 1 );
208  return Km_ * volScale;
209 }
double Km_
Definition: Enz.h:62
double convertConcToNumRateUsingMesh(const Eref &e, const SrcFinfo *pools, bool doPartialConversion)
static const SrcFinfo2< double, double > * enzOut
Definition: Enz.cpp:63

+ Here is the call graph for this function:

double Enz::vGetRatio ( const Eref e) const
virtual

Implements CplxEnzBase.

Definition at line 220 of file Enz.cpp.

References k2_, and k3_.

221 {
222  return k2_ / k3_;
223 }
double k2_
in # and time units
Definition: Enz.h:64
double k3_
in time
Definition: Enz.h:65
void Enz::vPrd ( double  n)
void Enz::vProcess ( const Eref e,
ProcPtr  p 
)
virtual

Reimplemented from EnzBase.

Definition at line 110 of file Enz.cpp.

References k1_, r1_, r2_, r3_, and SrcFinfo2< T1, T2 >::send().

111 {
112  subOut->send( e, r2_, r1_ );
113  prdOut->send( e, r3_, 0 );
114  enzOut->send( e, r3_ + r2_, r1_ );
115  cplxOut->send( e, r1_, r3_ + r2_ );
116 
117  // cout << " proc: " << r1_ << ", " << r2_ << ", " << r3_ << endl;
118 
119  r1_ = k1_;
120 }
double r1_
in time
Definition: Enz.h:66
static const SrcFinfo2< double, double > * subOut
Definition: Enz.cpp:55
static const SrcFinfo2< double, double > * prdOut
Definition: Enz.cpp:59
static const SrcFinfo2< double, double > * cplxOut
Definition: Enz.cpp:67
double r3_
Definition: Enz.h:68
static const SrcFinfo2< double, double > * enzOut
Definition: Enz.cpp:63
double r2_
Definition: Enz.h:67
double k1_
Km in concentration units: millimolar.
Definition: Enz.h:63

+ Here is the call graph for this function:

void Enz::vReinit ( const Eref e,
ProcPtr  p 
)
virtual

Reimplemented from EnzBase.

Definition at line 122 of file Enz.cpp.

References k1_, and r1_.

123 {
124  r1_ = k1_;
125 }
double r1_
in time
Definition: Enz.h:66
double k1_
Km in concentration units: millimolar.
Definition: Enz.h:63
void Enz::vRemesh ( const Eref e)
virtual

Reimplemented from EnzBase.

Definition at line 127 of file Enz.cpp.

References Km_, and EnzBase::setKm().

128 {
129  setKm( e, Km_ );
130 }
double Km_
Definition: Enz.h:62
void setKm(const Eref &e, double v)
Definition: EnzBase.cpp:230

+ Here is the call graph for this function:

void Enz::vSetConcK1 ( const Eref e,
double  v 
)
virtual

Implements CplxEnzBase.

Definition at line 225 of file Enz.cpp.

References convertConcToNumRateUsingMesh(), EPSILON, k1_, k2_, k3_, Km_, and r1_.

226 {
227  if ( v < EPSILON ) {
228  cout << "Enz::vSetConcK1: Warning: value " << v << " too small\n";
229  return;
230  }
231  double volScale = convertConcToNumRateUsingMesh( e, enzOut, 1 );
232  r1_ = k1_ = v * volScale;
233  Km_ = ( k2_ + k3_ ) / ( v );
234 }
double r1_
in time
Definition: Enz.h:66
double Km_
Definition: Enz.h:62
double convertConcToNumRateUsingMesh(const Eref &e, const SrcFinfo *pools, bool doPartialConversion)
static const SrcFinfo2< double, double > * enzOut
Definition: Enz.cpp:63
double k2_
in # and time units
Definition: Enz.h:64
double k3_
in time
Definition: Enz.h:65
#define EPSILON
Definition: Enz.cpp:17
double k1_
Km in concentration units: millimolar.
Definition: Enz.h:63

+ Here is the call graph for this function:

void Enz::vSetK1 ( const Eref e,
double  v 
)
virtual

Implements CplxEnzBase.

Definition at line 136 of file Enz.cpp.

References convertConcToNumRateUsingMesh(), k1_, k2_, k3_, Km_, and r1_.

137 {
138  r1_ = k1_ = v;
139  double volScale = convertConcToNumRateUsingMesh( e, enzOut, 1 );
140  Km_ = ( k2_ + k3_ ) / ( k1_ * volScale );
141 }
double r1_
in time
Definition: Enz.h:66
double Km_
Definition: Enz.h:62
double convertConcToNumRateUsingMesh(const Eref &e, const SrcFinfo *pools, bool doPartialConversion)
static const SrcFinfo2< double, double > * enzOut
Definition: Enz.cpp:63
double k2_
in # and time units
Definition: Enz.h:64
double k3_
in time
Definition: Enz.h:65
double k1_
Km in concentration units: millimolar.
Definition: Enz.h:63

+ Here is the call graph for this function:

void Enz::vSetK2 ( const Eref e,
double  v 
)
virtual

Implements CplxEnzBase.

Definition at line 150 of file Enz.cpp.

References k2_, Km_, and vSetKm().

151 {
152  k2_ = v; // Assume this overrides the default ratio.
153  vSetKm( e, Km_ ); // Update k1_ here as well.
154 }
double Km_
Definition: Enz.h:62
double k2_
in # and time units
Definition: Enz.h:64
void vSetKm(const Eref &e, double v)
Definition: Enz.cpp:185

+ Here is the call graph for this function:

void Enz::vSetKcat ( const Eref e,
double  v 
)
virtual

Implements EnzBase.

Definition at line 161 of file Enz.cpp.

References EPSILON, k2_, k3_, Km_, and vSetKm().

162 {
163  double ratio = 4.0;
164  if ( v < EPSILON )
165  v = EPSILON;
166  if (k3_ > EPSILON)
167  ratio = k2_ / k3_;
168  k3_ = v;
169  k2_ = v * ratio;
170  vSetKm( e, Km_ ); // Update k1_ here as well.
171 }
double Km_
Definition: Enz.h:62
double k2_
in # and time units
Definition: Enz.h:64
double k3_
in time
Definition: Enz.h:65
#define EPSILON
Definition: Enz.cpp:17
void vSetKm(const Eref &e, double v)
Definition: Enz.cpp:185

+ Here is the call graph for this function:

void Enz::vSetKm ( const Eref e,
double  v 
)
virtual

Implements EnzBase.

Definition at line 185 of file Enz.cpp.

References convertConcToNumRateUsingMesh(), k1_, k2_, k3_, and Km_.

Referenced by vGetK1(), vSetK2(), and vSetKcat().

186 {
187  Km_ = v;
188  double volScale =
190  k1_ = ( k2_ + k3_ ) / ( v * volScale );
191 }
double Km_
Definition: Enz.h:62
double convertConcToNumRateUsingMesh(const Eref &e, const SrcFinfo *pools, bool doPartialConversion)
static const SrcFinfo2< double, double > * enzOut
Definition: Enz.cpp:63
double k2_
in # and time units
Definition: Enz.h:64
double k3_
in time
Definition: Enz.h:65
double k1_
Km in concentration units: millimolar.
Definition: Enz.h:63

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Enz::vSetNumKm ( const Eref e,
double  v 
)
virtual

Implements EnzBase.

Definition at line 198 of file Enz.cpp.

References convertConcToNumRateUsingMesh(), k1_, k2_, k3_, and Km_.

199 {
200  double volScale = convertConcToNumRateUsingMesh( e, enzOut, 1 );
201  k1_ = ( k2_ + k3_ ) / v;
202  Km_ = v / volScale;
203 }
double Km_
Definition: Enz.h:62
double convertConcToNumRateUsingMesh(const Eref &e, const SrcFinfo *pools, bool doPartialConversion)
static const SrcFinfo2< double, double > * enzOut
Definition: Enz.cpp:63
double k2_
in # and time units
Definition: Enz.h:64
double k3_
in time
Definition: Enz.h:65
double k1_
Km in concentration units: millimolar.
Definition: Enz.h:63

+ Here is the call graph for this function:

void Enz::vSetRatio ( const Eref e,
double  v 
)
virtual

Implements CplxEnzBase.

Definition at line 211 of file Enz.cpp.

References convertConcToNumRateUsingMesh(), k1_, k2_, k3_, and Km_.

212 {
213  k2_ = v * k3_;
214  double volScale =
216 
217  k1_ = ( k2_ + k3_ ) / ( Km_ * volScale );
218 }
double Km_
Definition: Enz.h:62
double convertConcToNumRateUsingMesh(const Eref &e, const SrcFinfo *pools, bool doPartialConversion)
static const SrcFinfo2< double, double > * enzOut
Definition: Enz.cpp:63
double k2_
in # and time units
Definition: Enz.h:64
double k3_
in time
Definition: Enz.h:65
double k1_
Km in concentration units: millimolar.
Definition: Enz.h:63

+ Here is the call graph for this function:

void Enz::vSub ( double  n)
virtual

Reimplemented from EnzBase.

Definition at line 94 of file Enz.cpp.

References r1_.

95 {
96  r1_ *= n;
97 }
double r1_
in time
Definition: Enz.h:66

Member Data Documentation

double Enz::k1_
private

Km in concentration units: millimolar.

Definition at line 63 of file Enz.h.

Referenced by setKmK1(), vGetK1(), vProcess(), vReinit(), vSetConcK1(), vSetK1(), vSetKm(), vSetNumKm(), and vSetRatio().

double Enz::k2_
private

in # and time units

Definition at line 64 of file Enz.h.

Referenced by vCplx(), vGetConcK1(), vGetK2(), vGetRatio(), vSetConcK1(), vSetK1(), vSetK2(), vSetKcat(), vSetKm(), vSetNumKm(), and vSetRatio().

double Enz::k3_
private

in time

Definition at line 65 of file Enz.h.

Referenced by vCplx(), vGetConcK1(), vGetKcat(), vGetRatio(), vSetConcK1(), vSetK1(), vSetKcat(), vSetKm(), vSetNumKm(), and vSetRatio().

double Enz::Km_
private
double Enz::r1_
private

in time

Definition at line 66 of file Enz.h.

Referenced by setKmK1(), vEnz(), vProcess(), vReinit(), vSetConcK1(), vSetK1(), and vSub().

double Enz::r2_
private

Definition at line 67 of file Enz.h.

Referenced by vCplx(), and vProcess().

double Enz::r3_
private

Definition at line 68 of file Enz.h.

Referenced by vCplx(), and vProcess().


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