53 vector< double >
getNvec(
unsigned int pool )
const;
54 void setNvec(
unsigned int pool, vector< double > vec );
100 bool isMembraneBound );
107 vector< unsigned int >& srcPools,
108 vector< unsigned int >& destPools,
128 void setN(
const Eref& e,
double value );
137 double volume(
unsigned int i )
const;
139 void getBlock( vector< double >& values )
const;
140 void setBlock(
const vector< double >& values );
145 const map<
Id, vector< Id > >& xr,
Id otherStoich );
147 const vector< vector< Id > >& subCompts,
148 const vector< vector< Id > >& prdCompts );
166 vector< Id >& temp );
174 void build(
double dt );
178 const vector< unsigned int >& srcXfer,
179 const vector< unsigned int >& destXfer,
void setNumAllVoxels(unsigned int numVoxels)
Inherited virtual.
void fillConcChans(const vector< ObjId > &chans)
void calcJunction(const DiffJunction &jn, double dt)
string getPath(const Eref &e) const
double getDiffScale(unsigned int voxel) const
void setDiffScale(unsigned int voxel, double scale)
string path_
Path of pools managed by Dsolve, may include other classes too.
unsigned int poolMapStart_
smallest Id value for poolMap_
unsigned int getNumVoxels() const
void setPath(const Eref &e, string path)
Dummy, inherited but not used.
void setupCrossSolverReacVols(const vector< vector< Id > > &subCompts, const vector< vector< Id > > &prdCompts)
static void innerBuildMeshJunctions(Id self, Id other, bool isMembraneBound)
unsigned int getNumLocalVoxels() const
Number of voxels here. pools_.size() == getNumLocalVoxels.
void setNumPools(unsigned int num)
Specifies number of pools (species) handled by system.
double getNinit(const Eref &e) const
get initial # of molecules in given pool and voxel. Bdry cond.
unsigned int numTotPools_
vector< DiffJunction > junctions_
double getDiffVol2(unsigned int voxel) const
static void mapChansBetweenDsolves(DiffJunction &jn, Id self, Id other)
void calcJnDiff(const DiffJunction &jn, Dsolve *other, double dt)
double dt_
Timestep used by diffusion calculations.
void setMotorConst(const Eref &e, double value)
vector< double > getNvec(unsigned int pool) const
void filterCrossRateTerms(const vector< pair< Id, Id > > &xrt)
void setNinit(const Eref &e, double value)
Set initial # of molecules in given pool and voxel. Bdry cond.
void setNvec(unsigned int pool, vector< double > vec)
double volume(unsigned int i) const
Return volume of voxel i.
void calcJnChan(const DiffJunction &jn, Dsolve *other, double dt)
vector< ConcChanInfo > channels_
Internal vector, one for each ConcChan managed by Dsolve.
void setDiffConst(const Eref &e, double value)
Diffusion constant: Only one per pool, voxel number is ignored.
void setPrev()
Used to tell Dsolver to assign 'prev' values.
static const Cinfo * initCinfo()
void getBlock(vector< double > &values) const
void buildMeshJunctions(const Eref &e, Id other)
void setDsolve(Id id)
Inherited, defining dummy function here.
void makePoolMapFromElist(const vector< ObjId > &elist, vector< Id > &temp)
static void mapXfersBetweenDsolves(vector< unsigned int > &srcPools, vector< unsigned int > &destPools, Id src, Id dest)
void calcJnXfer(const DiffJunction &jn, const vector< unsigned int > &srcXfer, const vector< unsigned int > &destXfer, Dsolve *srcDsolve, Dsolve *destDsolve)
unsigned int numLocalPools_
void setBlock(const vector< double > &values)
void setupCrossSolverReacs(const map< Id, vector< Id > > &xr, Id otherStoich)
vector< DiffPoolVec > pools_
Internal vector, one for each pool species managed by Dsolve.
unsigned int getPoolIndex(const Eref &e) const
Return pool index, using Stoich ptr to do lookup.
unsigned int getNumVarPools() const
void setDiffVol2(unsigned int voxel, double vol)
void updateJunctions(double dt)
Used for telling Dsolver to handle all ops across Junctions.
double getDiffVol1(unsigned int voxel) const
LookupFied for examining cross-solver diffusion terms.
void setN(const Eref &e, double value)
Set # of molecules in given pool and voxel. Varies with time.
static void mapDiffPoolsBetweenDsolves(DiffJunction &jn, Id self, Id other)
Sets up map of matching pools for diffusion.
void setCompartment(Id id)
Assigns compartment.
unsigned int getNumPools() const
gets number of pools (species) handled by system.
void calcOtherJnChan(const DiffJunction &jn, Dsolve *other, double dt)
void reinit(const Eref &e, ProcPtr p)
VoxelPoolsBase * pools(unsigned int i)
Return a pointer to the specified VoxelPool.
void setDiffVol1(unsigned int voxel, double vol)
void process(const Eref &e, ProcPtr p)
double getN(const Eref &e) const
Get # of molecules in given pool and voxel. Varies with time.
double getDiffConst(const Eref &e) const
Diffusion constant: Only one per pool, voxel number is ignored.
void buildNeuroMeshJunctions(const Eref &e, Id spineD, Id psdD)
void updateRateTerms(unsigned int index)
vector< unsigned int > poolMap_
Looks up pool# from pool Id, using poolMapStart_ as offset.
unsigned int convertIdToPoolIndex(Id id) const
unsigned int poolStartIndex_