21 "Tells the target pool or other entity that the compartment subdivision"
22 "(meshing) has changed, and that it has to redo its volume and "
23 "memory allocation accordingly."
24 "Arguments are: oldvol, numTotalEntries, startEntry, localIndices, vols"
25 "The vols specifies volumes of each local mesh entry. It also specifies"
26 "how many meshEntries are present on the local node."
27 "The localIndices vector is used for general load balancing only."
28 "It has a list of the all meshEntries on current node."
29 "If it is empty, we assume block load balancing. In this second"
30 "case the contents of the current node go from "
31 "startEntry to startEntry + vols.size()."
40 "Tells connected enz or reac that the compartment subdivision"
41 "(meshing) has changed, and that it has to redo its volume-"
42 "dependent rate terms like numKf_ accordingly."
54 "Volume of this MeshEntry",
61 "number of dimensions of this MeshEntry",
68 " The MeshType defines the shape of the mesh entry."
72 " 3. cylindrical shell"
73 " 4: cylindrical shell segment"
76 " 7: spherical shell segment"
84 "Coordinates that define current MeshEntry. Depend on MeshType.",
91 "Indices of other MeshEntries that this one connects to",
98 "Diffusion area for geometry of interface",
105 "Diffusion scaling for geometry of interface",
113 "Handles process call",
116 "Handles reinit call",
121 static Finfo* procShared[] = {
125 "Shared message for process and reinit",
126 procShared,
sizeof( procShared ) /
sizeof(
const Finfo* )
129 static Finfo* meshShared[] = {
134 "Shared message for updating mesh volumes and subdivisions,"
135 "typically controls pool volumes",
136 meshShared,
sizeof( meshShared ) /
sizeof(
const Finfo* )
144 static Finfo* meshFinfos[] = {
157 static string doc[] =
160 "Author",
"Upi Bhalla",
161 "Description",
"One voxel in a chemical reaction compartment",
168 sizeof( meshFinfos ) /
sizeof (
Finfo* ),
171 sizeof(doc)/
sizeof(
string ),
269 unsigned int startEntry,
const vector< unsigned int >& localIndices,
270 const vector< double >& vols )
274 startEntry, localIndices, vols );
static ObjId parent(const Eref &e)
DestFinfo * getFinfo() const
const ChemCompt * parent_
Volume or area.
static const Cinfo * meshEntryCinfo
unsigned int dataIndex() const
void reinit(const Eref &e, ProcPtr info)
virtual unsigned int getMeshDimensions(unsigned int fid) const =0
Virtual function to return dimensions of specified entry.
virtual vector< double > getCoordinates(unsigned int fid) const =0
Virtual function to return coords of mesh Entry.
unsigned int fieldIndex() const
unsigned int getNumEntries() const
double getVolume(const Eref &e) const
virtual vector< unsigned int > getNeighbors(unsigned int fid) const =0
Virtual function to return info on Entries connected to this one.
vector< unsigned int > getNeighbors(const Eref &e) const
virtual vector< double > getDiffusionScaling(unsigned int fid) const =0
Virtual function to return scale factor for diffusion. 1 here.
virtual vector< double > getDiffusionArea(unsigned int fid) const =0
Virtual function to return diffusion X-section area per neighbor.
static SrcFinfo5< double, unsigned int, unsigned int, vector< unsigned int >, vector< double > > * remeshOut()
unsigned int getDimensions(const Eref &e) const
void triggerRemesh(const Eref &e, double oldvol, unsigned int startEntry, const vector< unsigned int > &localIndices, const vector< double > &vols)
static SrcFinfo0 * remeshReacsOut()
void process(const Eref &e, ProcPtr info)
void send(const Eref &e) const
vector< double > getCoordinates(const Eref &e) const
vector< double > getDiffusionArea(const Eref &e) const
vector< double > getDiffusionScaling(const Eref &e) const
static const Cinfo * initCinfo()
virtual unsigned int getMeshType(unsigned int fid) const =0
Virtual function to return MeshType of specified entry.
static const Cinfo * initCinfo()
virtual double getMeshEntryVolume(unsigned int fid) const =0
Virtual function to return volume of mesh Entry.
unsigned int getMeshType(const Eref &e) const