MOOSE - Multiscale Object Oriented Simulation Environment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
DifBufferBase.h
Go to the documentation of this file.
1 /**********************************************************************
2  ** This program is part of 'MOOSE', the
3  ** Multiscale Object Oriented Simulation Environment.
4  ** copyright (C) 2003-2008
5  ** Upinder S. Bhalla, Niraj Dudani and NCBS
6  ** It is made available under the terms of the
7  ** GNU Lesser General Public License version 2.1
8  ** See the file COPYING.LIB for the full notice.
9  **********************************************************************/
10 
11 #ifndef _DIFBUFFER_BASE_H
12 #define _DIFBUFFER_BASE_H
13 /*This is base class for DifBuffer*/
15 {
16 public:
17  DifBufferBase();
18 
19  void buffer(const Eref& e,double C);
20  void reinit( const Eref & e, ProcPtr p );
21  void process(const Eref & e, ProcPtr p );
22  void fluxFromOut(const Eref& e,double outerC, double outerThickness );
23  void fluxFromIn( const Eref& e,double innerC, double innerThickness );
24  virtual void vBuffer(const Eref& e,double C) = 0;
25  virtual void vReinit( const Eref & e, ProcPtr p ) = 0;
26  virtual void vProcess(const Eref & e, ProcPtr p ) = 0;
27  virtual void vFluxFromOut(const Eref& e,double outerC, double outerThickness ) = 0;
28  virtual void vFluxFromIn( const Eref& e,double innerC, double innerThickness ) = 0;
29 
30 
31  double getActivation(const Eref& e) const;
32  void setActivation(const Eref& e,double value);
33 
34  double getBFree(const Eref& e) const;
35  void setBFree(const Eref& e,double value);
36 
37  double getBBound(const Eref& e) const;
38  void setBBound(const Eref& e,double value);
39 
40  double getBTot(const Eref& e) const; // total buffer concentration in mM (free + bound)
41  void setBTot(const Eref& e,double value);
42 
43  double getKf(const Eref& e) const; // forward rate constant in 1/(mM*sec)
44  void setKf(const Eref& e,double value);
45 
46  double getKb(const Eref& e) const; // backward rate constant in 1/sec
47  void setKb(const Eref& e,double value);
48 
49  double getD(const Eref& e) const; // diffusion constant of buffer molecules, m^2/sec
50  void setD(const Eref& e,double value);
51 
52 
53  unsigned int getShapeMode(const Eref& e) const;
54  void setShapeMode(const Eref& e,unsigned int value); // variables SHELL=0, SLICE=SLAB=1, USERDEF=3.
55 
56  double getLength(const Eref& e) const; // shell length
57  void setLength(const Eref& e,double value);
58 
59  double getDiameter(const Eref& e) const; // shell diameter
60  void setDiameter(const Eref& e,double value);
61 
62  double getThickness(const Eref& e) const; // shell thickness
63  void setThickness(const Eref& e,double value);
64 
65  void setOuterArea( const Eref& e,double outerArea );
66  double getOuterArea(const Eref& e) const; // area of upper (outer) shell surface
67 
68  void setInnerArea( const Eref& e,double innerArea );
69  double getInnerArea(const Eref& e) const; // area of lower (inner) shell surface
70 
71  double getVolume(const Eref& e) const; // shell volume
72  void setVolume(const Eref& e,double volume); //
73 
74 
75  virtual double vGetActivation(const Eref& e) const = 0;
76  virtual void vSetActivation(const Eref& e,double value) = 0;
77 
78  virtual double vGetBFree(const Eref& e) const = 0;
79  virtual void vSetBFree(const Eref& e,double value) = 0;
80 
81  virtual double vGetBBound(const Eref& e) const = 0;
82  virtual void vSetBBound(const Eref& e,double value) = 0;
83 
84 
85  virtual double vGetBTot(const Eref& e) const = 0; // total buffer concentration in mM (free + bound)
86  virtual void vSetBTot(const Eref& e,double value) = 0;
87 
88  virtual double vGetKf(const Eref& e) const = 0; // forward rate constant in 1/(mM*sec)
89  virtual void vSetKf(const Eref& e,double value) = 0;
90 
91  virtual double vGetKb(const Eref& e) const = 0; // backward rate constant in 1/sec
92  virtual void vSetKb(const Eref& e,double value) = 0;
93 
94  virtual double vGetD(const Eref& e) const = 0; // diffusion constant of buffer molecules, m^2/sec
95  virtual void vSetD(const Eref& e,double value) = 0;
96 
97  virtual void vSetShapeMode(const Eref& e, unsigned int shapeMode ) = 0;
98  virtual unsigned int vGetShapeMode(const Eref& e) const = 0;
99 
100  virtual void vSetLength(const Eref& e, double length ) = 0;
101  virtual double vGetLength(const Eref& e) const = 0;
102 
103  virtual void vSetDiameter(const Eref& e, double diameter ) = 0;
104  virtual double vGetDiameter(const Eref& e) const = 0;
105 
106  virtual void vSetThickness(const Eref& e, double thickness ) = 0;
107  virtual double vGetThickness(const Eref& e) const = 0;
108 
109  virtual void vSetVolume(const Eref& e, double volume ) = 0;
110  virtual double vGetVolume(const Eref& e) const = 0;
111 
112  virtual void vSetOuterArea(const Eref& e, double outerArea ) = 0;
113  virtual double vGetOuterArea(const Eref& e) const = 0;
114 
115  virtual void vSetInnerArea(const Eref& e, double innerArea ) = 0;
116  virtual double vGetInnerArea(const Eref& e) const = 0;
117 
121  static const Cinfo * initCinfo();
122 
123 private:
124 
125 
126 
127 };
128 
129 
130 
131 
132 #endif //_DIFBUFFER_BASE_H
virtual double vGetActivation(const Eref &e) const =0
static const Cinfo * initCinfo()
virtual void vReinit(const Eref &e, ProcPtr p)=0
uint32_t value
Definition: moosemodule.h:42
void setBBound(const Eref &e, double value)
void fluxFromOut(const Eref &e, double outerC, double outerThickness)
virtual void vSetKb(const Eref &e, double value)=0
double getVolume(const Eref &e) const
virtual double vGetD(const Eref &e) const =0
virtual void vSetThickness(const Eref &e, double thickness)=0
double getD(const Eref &e) const
virtual void vSetActivation(const Eref &e, double value)=0
double getThickness(const Eref &e) const
double getKb(const Eref &e) const
void setDiameter(const Eref &e, double value)
virtual double vGetBFree(const Eref &e) const =0
void fluxFromIn(const Eref &e, double innerC, double innerThickness)
virtual double vGetKf(const Eref &e) const =0
static SrcFinfo4< double, double, double, double > * reactionOut()
virtual double vGetInnerArea(const Eref &e) const =0
void setKf(const Eref &e, double value)
virtual double vGetOuterArea(const Eref &e) const =0
double getLength(const Eref &e) const
virtual void vSetBFree(const Eref &e, double value)=0
virtual double vGetBTot(const Eref &e) const =0
virtual void vFluxFromOut(const Eref &e, double outerC, double outerThickness)=0
static SrcFinfo2< double, double > * outerDifSourceOut()
virtual void vSetOuterArea(const Eref &e, double outerArea)=0
virtual void vSetBBound(const Eref &e, double value)=0
virtual double vGetKb(const Eref &e) const =0
void setShapeMode(const Eref &e, unsigned int value)
void setInnerArea(const Eref &e, double innerArea)
virtual void vBuffer(const Eref &e, double C)=0
double getBFree(const Eref &e) const
double getInnerArea(const Eref &e) const
virtual void vSetBTot(const Eref &e, double value)=0
virtual void vSetVolume(const Eref &e, double volume)=0
virtual double vGetThickness(const Eref &e) const =0
virtual void vProcess(const Eref &e, ProcPtr p)=0
void setVolume(const Eref &e, double volume)
unsigned int getShapeMode(const Eref &e) const
virtual void vFluxFromIn(const Eref &e, double innerC, double innerThickness)=0
virtual void vSetKf(const Eref &e, double value)=0
virtual double vGetDiameter(const Eref &e) const =0
Definition: Eref.h:26
void process(const Eref &e, ProcPtr p)
double getOuterArea(const Eref &e) const
virtual double vGetVolume(const Eref &e) const =0
void setOuterArea(const Eref &e, double outerArea)
virtual void vSetDiameter(const Eref &e, double diameter)=0
void reinit(const Eref &e, ProcPtr p)
double getBTot(const Eref &e) const
void setThickness(const Eref &e, double value)
void setD(const Eref &e, double value)
void setActivation(const Eref &e, double value)
void setKb(const Eref &e, double value)
double getBBound(const Eref &e) const
virtual double vGetLength(const Eref &e) const =0
double getActivation(const Eref &e) const
double getDiameter(const Eref &e) const
static SrcFinfo2< double, double > * innerDifSourceOut()
virtual double vGetBBound(const Eref &e) const =0
virtual void vSetShapeMode(const Eref &e, unsigned int shapeMode)=0
virtual void vSetInnerArea(const Eref &e, double innerArea)=0
virtual void vSetD(const Eref &e, double value)=0
virtual void vSetLength(const Eref &e, double length)=0
void buffer(const Eref &e, double C)
void setLength(const Eref &e, double value)
double getKf(const Eref &e) const
Definition: Cinfo.h:18
void setBTot(const Eref &e, double value)
void setBFree(const Eref &e, double value)
virtual unsigned int vGetShapeMode(const Eref &e) const =0