MOOSE - Multiscale Object Oriented Simulation Environment
|
#include <MeshEntry.h>
Public Member Functions | |
void | extent (DataId di, double volume, double area, double perimeter) |
vector< double > | getCoordinates (const Eref &e) const |
vector< double > | getDiffusionArea (const Eref &e) const |
vector< double > | getDiffusionScaling (const Eref &e) const |
unsigned int | getDimensions (const Eref &e) const |
unsigned int | getMeshType (const Eref &e) const |
vector< unsigned int > | getNeighbors (const Eref &e) const |
double | getVolume (const Eref &e) const |
MeshEntry () | |
MeshEntry (const ChemCompt *parent) | |
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 () |
Private Attributes | |
const ChemCompt * | parent_ |
Volume or area. More... | |
double | volume_ |
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.
Definition at line 33 of file MeshEntry.h.
MeshEntry::MeshEntry | ( | ) |
Definition at line 183 of file MeshEntry.cpp.
MeshEntry::MeshEntry | ( | const ChemCompt * | parent | ) |
Definition at line 187 of file MeshEntry.cpp.
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.
Definition at line 242 of file MeshEntry.cpp.
References Eref::fieldIndex(), ChemCompt::getCoordinates(), and parent_.
Referenced by initCinfo().
vector< double > MeshEntry::getDiffusionArea | ( | const Eref & | e | ) | const |
Diffusion scaling for area
Definition at line 253 of file MeshEntry.cpp.
References Eref::fieldIndex(), ChemCompt::getDiffusionArea(), and parent_.
Referenced by initCinfo().
vector< double > MeshEntry::getDiffusionScaling | ( | const Eref & | e | ) | const |
Diffusion scaling for geometry of interface
Definition at line 259 of file MeshEntry.cpp.
References Eref::fieldIndex(), ChemCompt::getDiffusionScaling(), and parent_.
Referenced by initCinfo().
unsigned int MeshEntry::getDimensions | ( | const Eref & | e | ) | const |
returns number of dimension
Definition at line 232 of file MeshEntry.cpp.
References Eref::fieldIndex(), ChemCompt::getMeshDimensions(), and parent_.
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
Definition at line 237 of file MeshEntry.cpp.
References Eref::fieldIndex(), ChemCompt::getMeshType(), and parent_.
Referenced by initCinfo().
vector< unsigned int > MeshEntry::getNeighbors | ( | const Eref & | e | ) | const |
Indices of other Entries that this one connects to, for diffusion
Definition at line 247 of file MeshEntry.cpp.
References Eref::fieldIndex(), ChemCompt::getNeighbors(), and parent_.
Referenced by initCinfo().
double MeshEntry::getVolume | ( | const Eref & | e | ) | const |
Definition at line 226 of file MeshEntry.cpp.
References Eref::fieldIndex(), ChemCompt::getMeshEntryVolume(), and parent_.
Referenced by initCinfo().
|
static |
Definition at line 47 of file MeshEntry.cpp.
References getCoordinates(), getDiffusionArea(), getDiffusionScaling(), getDimensions(), ValueFinfoBase::getFinfo(), getMeshType(), getNeighbors(), getVolume(), Neutral::initCinfo(), meshEntryCinfo, process(), reinit(), remeshOut(), and remeshReacsOut().
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.
Definition at line 204 of file MeshEntry.cpp.
Referenced by initCinfo().
Assigns the Stoich Id to the parent.
Definition at line 213 of file MeshEntry.cpp.
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 | ||
) |
Definition at line 267 of file MeshEntry.cpp.
References ChemCompt::getNumEntries(), parent_, remeshOut(), remeshReacsOut(), and SrcFinfo0::send().
Referenced by PsdMesh::handlePsdList(), and SpineMesh::handleSpineList().
|
private |
Volume or area.
Definition at line 127 of file MeshEntry.h.
Referenced by getCoordinates(), getDiffusionArea(), getDiffusionScaling(), getDimensions(), getMeshType(), getNeighbors(), getVolume(), and triggerRemesh().
|
private |
Definition at line 126 of file MeshEntry.h.