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

#include <DifBuffer.h>

+ Inheritance diagram for DifBuffer:
+ Collaboration diagram for DifBuffer:

Public Member Functions

void calculateVolumeArea (const Eref &e)
 
 DifBuffer ()
 
void vBuffer (const Eref &e, double C)
 
void vFluxFromIn (const Eref &e, double innerC, double innerThickness)
 
void vFluxFromOut (const Eref &e, double outerC, double outerThickness)
 
double vGetActivation (const Eref &e) const
 
double vGetBBound (const Eref &e) const
 
double vGetBFree (const Eref &e) const
 
double vGetBTot (const Eref &e) const
 
double vGetD (const Eref &e) const
 
double vGetDiameter (const Eref &e) const
 
double vGetInnerArea (const Eref &e) const
 
double vGetKb (const Eref &e) const
 
double vGetKf (const Eref &e) const
 
double vGetLength (const Eref &e) const
 
double vGetOuterArea (const Eref &e) const
 
unsigned int vGetShapeMode (const Eref &e) const
 
double vGetThickness (const Eref &e) const
 
double vGetVolume (const Eref &e) const
 
void vProcess (const Eref &e, ProcPtr p)
 
void vReinit (const Eref &e, ProcPtr p)
 
void vSetActivation (const Eref &e, double value)
 
void vSetBBound (const Eref &e, double value)
 
void vSetBFree (const Eref &e, double value)
 
void vSetBTot (const Eref &e, double value)
 
void vSetD (const Eref &e, double value)
 
void vSetDiameter (const Eref &e, double diameter)
 
void vSetInnerArea (const Eref &e, double innerArea)
 
void vSetKb (const Eref &e, double value)
 
void vSetKf (const Eref &e, double value)
 
void vSetLength (const Eref &e, double length)
 
void vSetOuterArea (const Eref &e, double outerArea)
 
void vSetShapeMode (const Eref &e, unsigned int shapeMode)
 
void vSetThickness (const Eref &e, double thickness)
 
void vSetVolume (const Eref &e, double volume)
 
- Public Member Functions inherited from DifBufferBase
void buffer (const Eref &e, double C)
 
 DifBufferBase ()
 
void fluxFromIn (const Eref &e, double innerC, double innerThickness)
 
void fluxFromOut (const Eref &e, double outerC, double outerThickness)
 
double getActivation (const Eref &e) const
 
double getBBound (const Eref &e) const
 
double getBFree (const Eref &e) const
 
double getBTot (const Eref &e) const
 
double getD (const Eref &e) const
 
double getDiameter (const Eref &e) const
 
double getInnerArea (const Eref &e) const
 
double getKb (const Eref &e) const
 
double getKf (const Eref &e) const
 
double getLength (const Eref &e) const
 
double getOuterArea (const Eref &e) const
 
unsigned int getShapeMode (const Eref &e) const
 
double getThickness (const Eref &e) const
 
double getVolume (const Eref &e) const
 
void process (const Eref &e, ProcPtr p)
 
void reinit (const Eref &e, ProcPtr p)
 
void setActivation (const Eref &e, double value)
 
void setBBound (const Eref &e, double value)
 
void setBFree (const Eref &e, double value)
 
void setBTot (const Eref &e, double value)
 
void setD (const Eref &e, double value)
 
void setDiameter (const Eref &e, double value)
 
void setInnerArea (const Eref &e, double innerArea)
 
void setKb (const Eref &e, double value)
 
void setKf (const Eref &e, double value)
 
void setLength (const Eref &e, double value)
 
void setOuterArea (const Eref &e, double outerArea)
 
void setShapeMode (const Eref &e, unsigned int value)
 
void setThickness (const Eref &e, double value)
 
void setVolume (const Eref &e, double volume)
 

Static Public Member Functions

static const CinfoinitCinfo ()
 
- Static Public Member Functions inherited from DifBufferBase
static const CinfoinitCinfo ()
 
static SrcFinfo2< double,
double > * 
innerDifSourceOut ()
 
static SrcFinfo2< double,
double > * 
outerDifSourceOut ()
 
static SrcFinfo4< double,
double, double, double > * 
reactionOut ()
 

Private Member Functions

double integrate (double state, double dt, double A, double B)
 

Private Attributes

double activation_
 
double Af_
 
double bBound_
 
double Bf_
 
double bFree_
 
double bTot_
 
double D_
 
double diameter_
 
double innerArea_
 
double kb_
 
double kf_
 
double length_
 
double outerArea_
 
double prevBound_
 
double prevFree_
 
unsigned int shapeMode_
 
double thickness_
 
double volume_
 

Static Private Attributes

static const double EPSILON = 1.0e-10
 

Detailed Description

Definition at line 13 of file DifBuffer.h.

Constructor & Destructor Documentation

DifBuffer::DifBuffer ( )

Definition at line 86 of file DifBuffer.cpp.

86  :
87  activation_(0),
88  Af_(0),
89  Bf_(0),
90  bFree_(0),
91  bBound_(0),
92  prevFree_(0),
93  prevBound_(0),
94  bTot_(0),
95  kf_(0),
96  kb_(0),
97  D_(0),
98  shapeMode_(0),
99  length_(0),
100  diameter_(0),
101  thickness_(0),
102  volume_(0),
103  outerArea_(0),
104  innerArea_(0)
105 
106 {}
double kf_
Definition: DifBuffer.h:83
double prevBound_
Definition: DifBuffer.h:79
double activation_
Definition: DifBuffer.h:73
double innerArea_
Definition: DifBuffer.h:92
double length_
Definition: DifBuffer.h:87
double D_
Definition: DifBuffer.h:85
double kb_
Definition: DifBuffer.h:84
double prevFree_
Definition: DifBuffer.h:78
double Bf_
Definition: DifBuffer.h:75
double volume_
Definition: DifBuffer.h:90
double Af_
Definition: DifBuffer.h:74
double bBound_
Definition: DifBuffer.h:77
double diameter_
Definition: DifBuffer.h:88
double bTot_
Definition: DifBuffer.h:82
unsigned int shapeMode_
Definition: DifBuffer.h:86
double outerArea_
Definition: DifBuffer.h:91
double thickness_
Definition: DifBuffer.h:89
double bFree_
Definition: DifBuffer.h:76

Member Function Documentation

void DifBuffer::calculateVolumeArea ( const Eref e)

Definition at line 367 of file DifBuffer.cpp.

References diameter_, innerArea_, length_, M_PI, outerArea_, shapeMode_, thickness_, and volume_.

Referenced by vSetDiameter(), vSetLength(), vSetShapeMode(), and vSetThickness().

368 {
369 double rOut = diameter_/2.;
370 
371  double rIn = rOut - thickness_;
372 
373  if (rIn <0)
374  rIn = 0.;
375 
376  switch ( shapeMode_ )
377  {
378  /*
379  * Onion Shell
380  */
381  case 0:
382  if ( length_ == 0.0 ) { // Spherical shell
383  volume_ = 4./3.* M_PI * ( rOut * rOut * rOut - rIn * rIn * rIn );
384  outerArea_ = 4*M_PI * rOut * rOut;
385  innerArea_ = 4*M_PI * rIn * rIn;
386  } else { // Cylindrical shell
387  volume_ = ( M_PI * length_ ) * ( rOut * rOut - rIn * rIn );
388  outerArea_ = 2*M_PI * rOut * length_;
389  innerArea_ = 2*M_PI * rIn * length_;
390  }
391 
392  break;
393 
394  /*
395  * Cylindrical Slice
396  */
397  case 1:
398  volume_ = M_PI * diameter_ * diameter_ * thickness_ / 4.0;
399  outerArea_ = M_PI * diameter_ * diameter_ / 4.0;
401  break;
402 
403  /*
404  * User defined
405  */
406  case 3:
407  // Nothing to be done here. Volume and inner-, outer areas specified by
408  // user.
409  break;
410 
411  default:
412  assert( 0 );
413  }
414 }
double innerArea_
Definition: DifBuffer.h:92
double length_
Definition: DifBuffer.h:87
#define M_PI
Definition: numutil.h:34
double volume_
Definition: DifBuffer.h:90
double diameter_
Definition: DifBuffer.h:88
unsigned int shapeMode_
Definition: DifBuffer.h:86
double outerArea_
Definition: DifBuffer.h:91
double thickness_
Definition: DifBuffer.h:89

+ Here is the caller graph for this function:

const Cinfo * DifBuffer::initCinfo ( )
static

Definition at line 57 of file DifBuffer.cpp.

References difBufferCinfo, and DifBufferBase::initCinfo().

58 {
59 
60  static string doc[] = {
61  "Name", "DifBuffer",
62  "Author", "Subhasis Ray (ported from GENESIS2)",
63  "Description", "Models diffusible buffer where total concentration is constant. It is"
64  " coupled with a DifShell.",
65  };
66  static Dinfo<DifBuffer> dinfo;
67  static Cinfo difBufferCinfo(
68  "DifBuffer",
70  0,
71  0,
72  &dinfo,
73  doc,
74  sizeof(doc)/sizeof(string));
75 
76  return &difBufferCinfo;
77 }
static const Cinfo * initCinfo()
Definition: Dinfo.h:60
static const Cinfo * difBufferCinfo
Definition: DifBuffer.cpp:79
Definition: Cinfo.h:18

+ Here is the call graph for this function:

double DifBuffer::integrate ( double  state,
double  dt,
double  A,
double  B 
)
private

Definition at line 359 of file DifBuffer.cpp.

References EPSILON.

Referenced by vProcess().

360 {
361  if ( B > EPSILON ) {
362  double x = exp( -B * dt );
363  return state * x + ( A / B ) * ( 1 - x );
364  }
365  return state + A * dt ;
366 }
static const double EPSILON
Definition: DifBuffer.h:93

+ Here is the caller graph for this function:

void DifBuffer::vBuffer ( const Eref e,
double  C 
)
virtual

Implements DifBufferBase.

Definition at line 351 of file DifBuffer.cpp.

References activation_.

353 {
354  activation_ = C;
355  //cout<<"Buffer"<< C<<" ";
356 }
double activation_
Definition: DifBuffer.h:73
void DifBuffer::vFluxFromIn ( const Eref e,
double  innerC,
double  innerThickness 
)
virtual

Implements DifBufferBase.

Definition at line 506 of file DifBuffer.cpp.

References Af_, Bf_, D_, innerArea_, thickness_, and volume_.

507 {
508  double dif = 2 * D_ / volume_* innerArea_ / (thickness_ + innerThickness);
509  Af_ += dif * innerC;
510  Bf_ += dif;
511 }
double innerArea_
Definition: DifBuffer.h:92
double D_
Definition: DifBuffer.h:85
double Bf_
Definition: DifBuffer.h:75
double volume_
Definition: DifBuffer.h:90
double Af_
Definition: DifBuffer.h:74
double thickness_
Definition: DifBuffer.h:89
void DifBuffer::vFluxFromOut ( const Eref e,
double  outerC,
double  outerThickness 
)
virtual

Implements DifBufferBase.

Definition at line 513 of file DifBuffer.cpp.

References Af_, Bf_, D_, outerArea_, thickness_, and volume_.

514 {
515  double dif = 2 * D_ / volume_* outerArea_ / (thickness_ + outerThickness);
516  Af_ += dif * outerC;
517  Bf_ += dif;
518 }
double D_
Definition: DifBuffer.h:85
double Bf_
Definition: DifBuffer.h:75
double volume_
Definition: DifBuffer.h:90
double Af_
Definition: DifBuffer.h:74
double outerArea_
Definition: DifBuffer.h:91
double thickness_
Definition: DifBuffer.h:89
double DifBuffer::vGetActivation ( const Eref e) const
virtual

Implements DifBufferBase.

Definition at line 111 of file DifBuffer.cpp.

References activation_.

112 {
113  return activation_;
114 }
double activation_
Definition: DifBuffer.h:73
double DifBuffer::vGetBBound ( const Eref e) const
virtual

Implements DifBufferBase.

Definition at line 147 of file DifBuffer.cpp.

References bBound_.

148 {
149  return bBound_;
150 }
double bBound_
Definition: DifBuffer.h:77
double DifBuffer::vGetBFree ( const Eref e) const
virtual

Implements DifBufferBase.

Definition at line 126 of file DifBuffer.cpp.

References bFree_.

127 {
128  return bFree_;
129 }
double bFree_
Definition: DifBuffer.h:76
double DifBuffer::vGetBTot ( const Eref e) const
virtual

Implements DifBufferBase.

Definition at line 169 of file DifBuffer.cpp.

References bTot_.

170 {
171  return bTot_;
172 }
double bTot_
Definition: DifBuffer.h:82
double DifBuffer::vGetD ( const Eref e) const
virtual

Implements DifBufferBase.

Definition at line 215 of file DifBuffer.cpp.

References D_.

216 {
217  return D_;
218 }
double D_
Definition: DifBuffer.h:85
double DifBuffer::vGetDiameter ( const Eref e) const
virtual

Implements DifBufferBase.

Definition at line 273 of file DifBuffer.cpp.

References diameter_.

274 {
275  return diameter_;
276 }
double diameter_
Definition: DifBuffer.h:88
double DifBuffer::vGetInnerArea ( const Eref e) const
virtual

Implements DifBufferBase.

Definition at line 343 of file DifBuffer.cpp.

References innerArea_.

344 {
345  return innerArea_;
346 }
double innerArea_
Definition: DifBuffer.h:92
double DifBuffer::vGetKb ( const Eref e) const
virtual

Implements DifBufferBase.

Definition at line 201 of file DifBuffer.cpp.

References kb_.

202 {
203  return kb_;
204 }
double kb_
Definition: DifBuffer.h:84
double DifBuffer::vGetKf ( const Eref e) const
virtual

Implements DifBufferBase.

Definition at line 186 of file DifBuffer.cpp.

References kf_.

187 {
188  return kf_;
189 }
double kf_
Definition: DifBuffer.h:83
double DifBuffer::vGetLength ( const Eref e) const
virtual

Implements DifBufferBase.

Definition at line 257 of file DifBuffer.cpp.

References length_.

258 {
259  return length_;
260 }
double length_
Definition: DifBuffer.h:87
double DifBuffer::vGetOuterArea ( const Eref e) const
virtual

Implements DifBufferBase.

Definition at line 325 of file DifBuffer.cpp.

References outerArea_.

326 {
327  return outerArea_;
328 }
double outerArea_
Definition: DifBuffer.h:91
unsigned int DifBuffer::vGetShapeMode ( const Eref e) const
virtual

Implements DifBufferBase.

Definition at line 241 of file DifBuffer.cpp.

References shapeMode_.

242 {
243  return shapeMode_;
244 }
unsigned int shapeMode_
Definition: DifBuffer.h:86
double DifBuffer::vGetThickness ( const Eref e) const
virtual

Implements DifBufferBase.

Definition at line 289 of file DifBuffer.cpp.

References thickness_.

290 {
291  return thickness_;
292 }
double thickness_
Definition: DifBuffer.h:89
double DifBuffer::vGetVolume ( const Eref e) const
virtual

Implements DifBufferBase.

Definition at line 307 of file DifBuffer.cpp.

References volume_.

308 {
309  return volume_;
310 }
double volume_
Definition: DifBuffer.h:90
void DifBuffer::vProcess ( const Eref e,
ProcPtr  p 
)
virtual

Send ion concentration and thickness to adjacent DifShells. They will then compute their incoming fluxes.

Send ion concentration to ion buffers. They will send back information on the reaction (forward / backward rates ; free / bound buffer concentration) immediately, which this DifShell will use to find amount of ion captured or released in the current time-step.

Implements DifBufferBase.

Definition at line 416 of file DifBuffer.cpp.

References activation_, Af_, bBound_, Bf_, bFree_, bTot_, ProcInfo::dt, DifBufferBase::innerDifSourceOut(), integrate(), kb_, kf_, DifBufferBase::outerDifSourceOut(), prevBound_, prevFree_, DifBufferBase::reactionOut(), and thickness_.

417 {
425  Af_ += kb_ * bBound_;
426  Bf_ += kf_ * activation_;
427 
429  bBound_ = bTot_ - bFree_;
430  prevFree_ = bFree_;
432 
439  innerDifSourceOut()->send( e, prevFree_, thickness_ );
440  outerDifSourceOut()->send( e, prevFree_, thickness_ );
441  reactionOut()->send(e,kf_,kb_,bFree_,bBound_);
442  Af_ = 0;
443  Bf_= 0;
444 
445 }
double kf_
Definition: DifBuffer.h:83
double prevBound_
Definition: DifBuffer.h:79
double activation_
Definition: DifBuffer.h:73
double integrate(double state, double dt, double A, double B)
Definition: DifBuffer.cpp:359
static SrcFinfo4< double, double, double, double > * reactionOut()
double kb_
Definition: DifBuffer.h:84
static SrcFinfo2< double, double > * outerDifSourceOut()
double prevFree_
Definition: DifBuffer.h:78
double Bf_
Definition: DifBuffer.h:75
double dt
Definition: ProcInfo.h:18
double Af_
Definition: DifBuffer.h:74
double bBound_
Definition: DifBuffer.h:77
double bTot_
Definition: DifBuffer.h:82
static SrcFinfo2< double, double > * innerDifSourceOut()
double thickness_
Definition: DifBuffer.h:89
double bFree_
Definition: DifBuffer.h:76

+ Here is the call graph for this function:

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

Implements DifBufferBase.

Definition at line 447 of file DifBuffer.cpp.

References activation_, Af_, bBound_, Bf_, bFree_, bTot_, diameter_, innerArea_, DifBufferBase::innerDifSourceOut(), kb_, kf_, length_, M_PI, outerArea_, DifBufferBase::outerDifSourceOut(), prevBound_, prevFree_, shapeMode_, thickness_, and volume_.

448 {
449 
450  Af_ = 0;
451  Bf_= 0;
452  double rOut = diameter_/2.;
453 
454  double rIn = rOut - thickness_;
455 
456  if (rIn<0)
457  rIn = 0.;
458  switch ( shapeMode_ )
459  {
460  /*
461  * Onion Shell
462  */
463  case 0:
464  if ( length_ == 0.0 ) { // Spherical shell
465  volume_ = 4./3.* M_PI * ( rOut * rOut * rOut - rIn * rIn * rIn );
466  outerArea_ = 4*M_PI * rOut * rOut;
467  innerArea_ = 4*M_PI * rIn * rIn;
468  } else { // Cylindrical shell
469  volume_ = ( M_PI * length_ ) * ( rOut * rOut - rIn * rIn );
470  outerArea_ = 2*M_PI * rOut * length_;
471  innerArea_ = 2*M_PI * rIn * length_;
472  }
473 
474  break;
475 
476  /*
477  * Cylindrical Slice
478  */
479  case 1:
480  volume_ = M_PI * diameter_ * diameter_ * thickness_ / 4.0;
481  outerArea_ = M_PI * diameter_ * diameter_ / 4.0;
483  break;
484 
485  /*
486  * User defined
487  */
488  case 3:
489  // Nothing to be done here. Volume and inner-, outer areas specified by
490  // user.
491  break;
492 
493  default:
494  assert( 0 );
495  }
496 
498  prevFree_ = bFree_;
499  bBound_ = bTot_ - bFree_;
501  innerDifSourceOut()->send( e, prevFree_, thickness_ );
502  outerDifSourceOut()->send( e, prevFree_, thickness_ );
503 
504 }
double kf_
Definition: DifBuffer.h:83
double prevBound_
Definition: DifBuffer.h:79
double activation_
Definition: DifBuffer.h:73
double innerArea_
Definition: DifBuffer.h:92
double length_
Definition: DifBuffer.h:87
double kb_
Definition: DifBuffer.h:84
#define M_PI
Definition: numutil.h:34
static SrcFinfo2< double, double > * outerDifSourceOut()
double prevFree_
Definition: DifBuffer.h:78
double Bf_
Definition: DifBuffer.h:75
double volume_
Definition: DifBuffer.h:90
double Af_
Definition: DifBuffer.h:74
double bBound_
Definition: DifBuffer.h:77
double diameter_
Definition: DifBuffer.h:88
double bTot_
Definition: DifBuffer.h:82
static SrcFinfo2< double, double > * innerDifSourceOut()
unsigned int shapeMode_
Definition: DifBuffer.h:86
double outerArea_
Definition: DifBuffer.h:91
double thickness_
Definition: DifBuffer.h:89
double bFree_
Definition: DifBuffer.h:76

+ Here is the call graph for this function:

void DifBuffer::vSetActivation ( const Eref e,
double  value 
)
virtual

Implements DifBufferBase.

Definition at line 116 of file DifBuffer.cpp.

References activation_, and value.

117 {
118  if ( value < 0.0 ) {
119  cerr << "Error: DifBuffer: Activation cannot be negative!\n";
120  return;
121  }
122  activation_ = value;
123 }
uint32_t value
Definition: moosemodule.h:42
double activation_
Definition: DifBuffer.h:73
void DifBuffer::vSetBBound ( const Eref e,
double  value 
)
virtual

Implements DifBufferBase.

Definition at line 152 of file DifBuffer.cpp.

References bBound_, bFree_, bTot_, prevBound_, prevFree_, and value.

153 {
154  if ( value < 0.0 ) {
155  cerr << "Error: DifBuffer: Bound Buffer cannot be negative!\n";
156  return;
157  }
158  if (value > bTot_){
159  cerr << "Error: DifBuffer: Bound Buffer cannot exceed total buffer!\n";
160  return;
161  }
162  bBound_ = value;
163  bFree_ = bTot_ - bBound_;
164  prevFree_= bFree_;
166 }
uint32_t value
Definition: moosemodule.h:42
double prevBound_
Definition: DifBuffer.h:79
double prevFree_
Definition: DifBuffer.h:78
double bBound_
Definition: DifBuffer.h:77
double bTot_
Definition: DifBuffer.h:82
double bFree_
Definition: DifBuffer.h:76
void DifBuffer::vSetBFree ( const Eref e,
double  value 
)
virtual

Implements DifBufferBase.

Definition at line 130 of file DifBuffer.cpp.

References bBound_, bFree_, bTot_, prevBound_, prevFree_, and value.

131 {
132  if ( value < 0.0 ) {
133  cerr << "Error: DifBuffer: Free Buffer cannot be negative!\n";
134  return;
135  }
136  if (value > bTot_){
137  cerr << "Error: DifBuffer: Free Buffer cannot exceed total buffer!\n";
138  return;
139  }
140  bFree_ = value;
141  bBound_ = bTot_ - bFree_;
142  prevFree_= bFree_;
144 
145 }
uint32_t value
Definition: moosemodule.h:42
double prevBound_
Definition: DifBuffer.h:79
double prevFree_
Definition: DifBuffer.h:78
double bBound_
Definition: DifBuffer.h:77
double bTot_
Definition: DifBuffer.h:82
double bFree_
Definition: DifBuffer.h:76
void DifBuffer::vSetBTot ( const Eref e,
double  value 
)
virtual

Implements DifBufferBase.

Definition at line 174 of file DifBuffer.cpp.

References bBound_, bFree_, bTot_, and value.

175 {
176  if ( value < 0.0 ) {
177  cerr << "Error: DifBuffer: Total buffer concentration cannot be negative!\n";
178  return;
179  }
180  bTot_ = value;
181  bFree_ = bTot_;
182  bBound_ = 0;
183 }
uint32_t value
Definition: moosemodule.h:42
double bBound_
Definition: DifBuffer.h:77
double bTot_
Definition: DifBuffer.h:82
double bFree_
Definition: DifBuffer.h:76
void DifBuffer::vSetD ( const Eref e,
double  value 
)
virtual

Implements DifBufferBase.

Definition at line 220 of file DifBuffer.cpp.

References D_, and value.

221 {
222 
223  if ( value < 0.0 ) {
224  cerr << " Error: DifBuffer: Diffusion constant, D, cannot be negative!\n";
225  return;
226  }
227  D_ = value;
228 }
uint32_t value
Definition: moosemodule.h:42
double D_
Definition: DifBuffer.h:85
void DifBuffer::vSetDiameter ( const Eref e,
double  diameter 
)
virtual

Implements DifBufferBase.

Definition at line 262 of file DifBuffer.cpp.

References calculateVolumeArea(), and diameter_.

263 {
264  if ( diameter < 0.0 ) {
265  cerr << "Error: DifBuffer: diameter cannot be negative!\n";
266  return;
267  }
268 
269  diameter_ = diameter;
271 }
double diameter_
Definition: DifBuffer.h:88
void calculateVolumeArea(const Eref &e)
Definition: DifBuffer.cpp:367

+ Here is the call graph for this function:

void DifBuffer::vSetInnerArea ( const Eref e,
double  innerArea 
)
virtual

Implements DifBufferBase.

Definition at line 330 of file DifBuffer.cpp.

References innerArea_, and shapeMode_.

331 {
332  if ( shapeMode_ != 3 )
333  cerr << "Warning: DifBuffer: Trying to set innerArea, when shapeMode is not USER-DEFINED\n";
334 
335  if ( innerArea < 0.0 ) {
336  cerr << "Error: DifBuffer: innerArea cannot be negative!\n";
337  return;
338  }
339 
340  innerArea_ = innerArea;
341 }
double innerArea_
Definition: DifBuffer.h:92
unsigned int shapeMode_
Definition: DifBuffer.h:86
void DifBuffer::vSetKb ( const Eref e,
double  value 
)
virtual

Implements DifBufferBase.

Definition at line 206 of file DifBuffer.cpp.

References kb_, and value.

207 {
208  if ( value < 0.0 ) {
209  cerr << "Error: DifBuffer: Kb cannot be negative!\n";
210  return;
211  }
212  kb_ = value;
213 }
uint32_t value
Definition: moosemodule.h:42
double kb_
Definition: DifBuffer.h:84
void DifBuffer::vSetKf ( const Eref e,
double  value 
)
virtual

Implements DifBufferBase.

Definition at line 191 of file DifBuffer.cpp.

References kf_, and value.

192 {
193  if ( value < 0.0 ) {
194  cerr << "Error: DifBuffer: Kf cannot be negative!\n";
195  return;
196  }
197  kf_ = value;
198 }
uint32_t value
Definition: moosemodule.h:42
double kf_
Definition: DifBuffer.h:83
void DifBuffer::vSetLength ( const Eref e,
double  length 
)
virtual

Implements DifBufferBase.

Definition at line 246 of file DifBuffer.cpp.

References calculateVolumeArea(), and length_.

247 {
248  if ( length < 0.0 ) {
249  cerr << "Error: DifBuffer: length cannot be negative!\n";
250  return;
251  }
252 
253  length_ = length;
255 }
double length_
Definition: DifBuffer.h:87
void calculateVolumeArea(const Eref &e)
Definition: DifBuffer.cpp:367

+ Here is the call graph for this function:

void DifBuffer::vSetOuterArea ( const Eref e,
double  outerArea 
)
virtual

Implements DifBufferBase.

Definition at line 312 of file DifBuffer.cpp.

References outerArea_, and shapeMode_.

313 {
314  if (shapeMode_ != 3 )
315  cerr << "Warning: DifBuffer: Trying to set outerArea, when shapeMode is not USER-DEFINED\n";
316 
317  if ( outerArea < 0.0 ) {
318  cerr << "Error: DifBuffer: outerArea cannot be negative!\n";
319  return;
320  }
321 
322  outerArea_ = outerArea;
323 }
unsigned int shapeMode_
Definition: DifBuffer.h:86
double outerArea_
Definition: DifBuffer.h:91
void DifBuffer::vSetShapeMode ( const Eref e,
unsigned int  shapeMode 
)
virtual

Implements DifBufferBase.

Definition at line 231 of file DifBuffer.cpp.

References calculateVolumeArea(), and shapeMode_.

232 {
233  if ( shapeMode != 0 && shapeMode != 1 && shapeMode != 3 ) {
234  cerr << "Error: DifBuffer: I only understand shapeModes 0, 1 and 3.\n";
235  return;
236  }
237  shapeMode_ = shapeMode;
239 }
unsigned int shapeMode_
Definition: DifBuffer.h:86
void calculateVolumeArea(const Eref &e)
Definition: DifBuffer.cpp:367

+ Here is the call graph for this function:

void DifBuffer::vSetThickness ( const Eref e,
double  thickness 
)
virtual

Implements DifBufferBase.

Definition at line 278 of file DifBuffer.cpp.

References calculateVolumeArea(), and thickness_.

279 {
280  if ( thickness < 0.0 ) {
281  cerr << "Error: DifBuffer: thickness cannot be negative!\n";
282  return;
283  }
284 
285  thickness_ = thickness;
287 }
double thickness_
Definition: DifBuffer.h:89
void calculateVolumeArea(const Eref &e)
Definition: DifBuffer.cpp:367

+ Here is the call graph for this function:

void DifBuffer::vSetVolume ( const Eref e,
double  volume 
)
virtual

Implements DifBufferBase.

Definition at line 294 of file DifBuffer.cpp.

References shapeMode_, and volume_.

295 {
296  if ( shapeMode_ != 3 )
297  cerr << "Warning: DifBuffer: Trying to set volume, when shapeMode is not USER-DEFINED\n";
298 
299  if ( volume < 0.0 ) {
300  cerr << "Error: DifBuffer: volume cannot be negative!\n";
301  return;
302  }
303 
304  volume_ = volume;
305 }
double volume_
Definition: DifBuffer.h:90
unsigned int shapeMode_
Definition: DifBuffer.h:86

Member Data Documentation

double DifBuffer::activation_
private

Definition at line 73 of file DifBuffer.h.

Referenced by vBuffer(), vGetActivation(), vProcess(), vReinit(), and vSetActivation().

double DifBuffer::Af_
private

Definition at line 74 of file DifBuffer.h.

Referenced by vFluxFromIn(), vFluxFromOut(), vProcess(), and vReinit().

double DifBuffer::bBound_
private

Definition at line 77 of file DifBuffer.h.

Referenced by vGetBBound(), vProcess(), vReinit(), vSetBBound(), vSetBFree(), and vSetBTot().

double DifBuffer::Bf_
private

Definition at line 75 of file DifBuffer.h.

Referenced by vFluxFromIn(), vFluxFromOut(), vProcess(), and vReinit().

double DifBuffer::bFree_
private

Definition at line 76 of file DifBuffer.h.

Referenced by vGetBFree(), vProcess(), vReinit(), vSetBBound(), vSetBFree(), and vSetBTot().

double DifBuffer::bTot_
private

Definition at line 82 of file DifBuffer.h.

Referenced by vGetBTot(), vProcess(), vReinit(), vSetBBound(), vSetBFree(), and vSetBTot().

double DifBuffer::D_
private

Definition at line 85 of file DifBuffer.h.

Referenced by vFluxFromIn(), vFluxFromOut(), vGetD(), and vSetD().

double DifBuffer::diameter_
private

Definition at line 88 of file DifBuffer.h.

Referenced by calculateVolumeArea(), vGetDiameter(), vReinit(), and vSetDiameter().

const double DifBuffer::EPSILON = 1.0e-10
staticprivate

Definition at line 93 of file DifBuffer.h.

Referenced by integrate().

double DifBuffer::innerArea_
private

Definition at line 92 of file DifBuffer.h.

Referenced by calculateVolumeArea(), vFluxFromIn(), vGetInnerArea(), vReinit(), and vSetInnerArea().

double DifBuffer::kb_
private

Definition at line 84 of file DifBuffer.h.

Referenced by vGetKb(), vProcess(), vReinit(), and vSetKb().

double DifBuffer::kf_
private

Definition at line 83 of file DifBuffer.h.

Referenced by vGetKf(), vProcess(), vReinit(), and vSetKf().

double DifBuffer::length_
private

Definition at line 87 of file DifBuffer.h.

Referenced by calculateVolumeArea(), vGetLength(), vReinit(), and vSetLength().

double DifBuffer::outerArea_
private

Definition at line 91 of file DifBuffer.h.

Referenced by calculateVolumeArea(), vFluxFromOut(), vGetOuterArea(), vReinit(), and vSetOuterArea().

double DifBuffer::prevBound_
private

Definition at line 79 of file DifBuffer.h.

Referenced by vProcess(), vReinit(), vSetBBound(), and vSetBFree().

double DifBuffer::prevFree_
private

Definition at line 78 of file DifBuffer.h.

Referenced by vProcess(), vReinit(), vSetBBound(), and vSetBFree().

unsigned int DifBuffer::shapeMode_
private
double DifBuffer::thickness_
private
double DifBuffer::volume_
private

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