MOOSE - Multiscale Object Oriented Simulation Environment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ZombiePoolInterface.h
Go to the documentation of this file.
1 /**********************************************************************
2 ** This program is part of 'MOOSE', the
3 ** Messaging Object Oriented Simulation Environment.
4 ** Copyright (C) 2003-2014 Upinder S. Bhalla. and NCBS
5 ** It is made available under the terms of the
6 ** GNU Lesser General Public License version 2.1
7 ** See the file COPYING.LIB for the full notice.
8 **********************************************************************/
9 
10 #ifndef _ZOMBIE_POOL_INTERFACE_H
11 #define _ZOMBIE_POOL_INTERFACE_H
12 
20 {
21  public:
23 
25  virtual void setNinit( const Eref& e, double val ) = 0;
27  virtual double getNinit( const Eref& e ) const = 0;
28 
30  virtual void setN( const Eref& e, double val ) = 0;
32  virtual double getN( const Eref& e ) const = 0;
33 
35  virtual void setDiffConst( const Eref& e, double val ) = 0;
37  virtual double getDiffConst( const Eref& e ) const = 0;
38 
41  virtual void setMotorConst( const Eref& e, double val )
42  {;}
43 
45  virtual void setNumPools( unsigned int num ) = 0;
47  virtual unsigned int getNumPools() const = 0;
48 
50  virtual void setNumAllVoxels( unsigned int numVoxels ) = 0;
52  virtual unsigned int getNumLocalVoxels() const = 0;
54  virtual VoxelPoolsBase* pools( unsigned int i ) = 0;
55 
57  virtual double volume( unsigned int i ) const = 0;
58 
74  virtual void getBlock( vector< double >& values ) const = 0;
75 
82  virtual void setBlock( const vector< double >& values ) = 0;
83 
90  virtual void setStoich( Id stoich ) = 0;
91 
93  virtual void setDsolve( Id dsolve ) = 0;
94 
96  virtual void setCompartment( Id compartment );
97  Id getCompartment() const;
98 
100  virtual void updateJunctions( double dt );
102  virtual void setPrev();
109  virtual void updateRateTerms( unsigned int index = ~0U ) = 0;
110 
112  virtual unsigned int getPoolIndex( const Eref& er ) const = 0;
113 
115  protected:
121 
124 
126  bool isBuilt_;
127 };
128 
129 #endif // _ZOMBIE_POOL_INTERFACE_H
virtual void setNinit(const Eref &e, double val)=0
Set initial # of molecules in given pool and voxel. Bdry cond.
virtual unsigned int getNumPools() const =0
gets number of pools (species) handled by system.
virtual double volume(unsigned int i) const =0
Return volume of voxel i.
virtual double getN(const Eref &e) const =0
Get # of molecules in given pool and voxel. Varies with time.
virtual unsigned int getNumLocalVoxels() const =0
Number of voxels here. pools_.size() == getNumLocalVoxels.
virtual void setNumAllVoxels(unsigned int numVoxels)=0
Assign number of voxels (size of pools_ vector )
virtual void setNumPools(unsigned int num)=0
Specifies number of pools (species) handled by system.
virtual void setN(const Eref &e, double val)=0
Set # of molecules in given pool and voxel. Varies with time.
virtual void updateJunctions(double dt)
Used for telling Dsolver to handle all ops across Junctions.
virtual double getDiffConst(const Eref &e) const =0
Diffusion constant: Only one per pool, voxel number is ignored.
virtual void setCompartment(Id compartment)
Assigns compartment.
virtual void updateRateTerms(unsigned int index=~0U)=0
virtual VoxelPoolsBase * pools(unsigned int i)=0
Return a pointer to the specified VoxelPool.
Definition: Eref.h:26
bool isBuilt_
Flag: True when solver setup has been completed.
virtual void setPrev()
Used to tell Dsolver to assign 'prev' values.
virtual double getNinit(const Eref &e) const =0
get initial # of molecules in given pool and voxel. Bdry cond.
virtual void setBlock(const vector< double > &values)=0
virtual void setMotorConst(const Eref &e, double val)
virtual void setStoich(Id stoich)=0
Id compartment_
Id of Chem compartment used to figure out volumes of voxels.
virtual void setDiffConst(const Eref &e, double val)=0
Diffusion constant: Only one per pool, voxel number is ignored.
Definition: Id.h:17
virtual unsigned int getPoolIndex(const Eref &er) const =0
Return pool index, using Stoich ptr to do lookup.
virtual void setDsolve(Id dsolve)=0
Assigns the diffusion solver. Used by the reac solvers.
virtual void getBlock(vector< double > &values) const =0