#include <MeshEntry.h>
Public Member Functions | |
MeshEntry () | |
MeshEntry (const ChemCompt *parent) | |
double | getVolume (const Eref &e) const |
unsigned int | getDimensions (const Eref &e) const |
unsigned int | getMeshType (const Eref &e) const |
vector< double > | getCoordinates (const Eref &e) const |
vector< unsigned int > | getNeighbors (const Eref &e) const |
vector< double > | getDiffusionArea (const Eref &e) const |
vector< double > | getDiffusionScaling (const Eref &e) const |
void | extent (DataId di, double volume, double area, double perimeter) |
void | process (const Eref &e, ProcPtr info) |
void | reinit (const Eref &e, ProcPtr info) |
void | triggerRemesh (const Eref &e, double oldvol, unsigned int startEntry, const vector< unsigned int > &localIndices, const vector< double > &vols) |
Static Public Member Functions | |
static const Cinfo * | initCinfo () |
The MeshEntry is a single 'compartment' in the mathematical sense, that is, all properties are assumed homogenous within it. It is a FieldElement, so it gets all its values from the parent ChemCompt.
MeshEntry::MeshEntry | ( | ) |
MeshEntry::MeshEntry | ( | const ChemCompt * | parent | ) |
void MeshEntry::extent | ( | DataId | di, | |
double | volume, | |||
double | area, | |||
double | perimeter | |||
) |
vector< double > MeshEntry::getCoordinates | ( | const Eref & | e | ) | const |
Coords that define current MeshEntry. Usually generated on the fly by passing the current Field Index to the parent ChemCompt subclass, which will figure it out.
References Eref::fieldIndex(), and ChemCompt::getCoordinates().
Referenced by initCinfo().
vector< double > MeshEntry::getDiffusionArea | ( | const Eref & | e | ) | const |
Diffusion scaling for area
References Eref::fieldIndex(), and ChemCompt::getDiffusionArea().
Referenced by initCinfo().
vector< double > MeshEntry::getDiffusionScaling | ( | const Eref & | e | ) | const |
Diffusion scaling for geometry of interface
References Eref::fieldIndex(), and ChemCompt::getDiffusionScaling().
Referenced by initCinfo().
unsigned int MeshEntry::getDimensions | ( | const Eref & | e | ) | const |
returns number of dimension
References Eref::fieldIndex(), and ChemCompt::getMeshDimensions().
Referenced by initCinfo().
unsigned int MeshEntry::getMeshType | ( | const Eref & | e | ) | const |
The MeshType defines the shape of the mesh entry. 0: Not assigned 1: cuboid 2: cylinder 3. cylindrical shell 4: cylindrical shell segment 5: sphere 6: spherical shell 7: spherical shell segment 8: Tetrahedral
References Eref::fieldIndex(), and ChemCompt::getMeshType().
Referenced by initCinfo().
vector< unsigned int > MeshEntry::getNeighbors | ( | const Eref & | e | ) | const |
Indices of other Entries that this one connects to, for diffusion
References Eref::fieldIndex(), and ChemCompt::getNeighbors().
Referenced by initCinfo().
double MeshEntry::getVolume | ( | const Eref & | e | ) | const |
References Eref::fieldIndex(), and ChemCompt::getMeshEntryVolume().
Referenced by initCinfo().
const Cinfo * MeshEntry::initCinfo | ( | ) | [static] |
References getCoordinates(), getDiffusionArea(), getDiffusionScaling(), getDimensions(), ValueFinfoBase::getFinfo(), getMeshType(), getNeighbors(), getVolume(), Neutral::initCinfo(), process(), and reinit().
Referenced by ChemCompt::initCinfo().
Update the diffusion rate terms. Note that these stay the same through the entire clock tick, even if the GSL solver takes many intermediate steps. The assumption is that the concs change slowly enough that the diffusion terms are not hugely changed over the duration of one tick. Also assume that diffusion itself is slow. The latter assumption is OK for suitable grid sizes. The first assumption is OK with a sensible tick step.
Referenced by initCinfo().
Assigns the Stoich Id to the parent.
References Eref::dataIndex(), and Neutral::parent().
Referenced by initCinfo().
void MeshEntry::triggerRemesh | ( | const Eref & | e, | |
double | oldvol, | |||
unsigned int | startEntry, | |||
const vector< unsigned int > & | localIndices, | |||
const vector< double > & | vols | |||
) |