#include <AdvectionDiffusionSolverFE.h>


Public Types | |
| typedef void(AdvectionDiffusionSolverFE::* | diffSecrFcnPtr_t )(void) |
| typedef void(AdvectionDiffusionSolverFE::* | secrSingleFieldFcnPtr_t )(unsigned int) |
| typedef float | precision_t |
| typedef Array3DBorders < precision_t >::ContainerType | Array3D_t |
| typedef Array3DBordersField3DAdapter < precision_t > | ConcentrationField_t |
Public Member Functions | |
| AdvectionDiffusionSolverFE () | |
| virtual | ~AdvectionDiffusionSolverFE () |
| virtual void | init (Simulator *simulator, CC3DXMLElement *_xmlData=0) |
| virtual void | extraInit (Simulator *simulator) |
| virtual void | start () |
| virtual void | step (const unsigned int _currentStep) |
| virtual void | finish () |
| virtual void | update (CC3DXMLElement *_xmlData, bool _fullInitFlag=false) |
| virtual std::string | steerableName () |
| virtual std::string | toString () |
Protected Member Functions | |
| void | diffuse () |
| ptr to member method - Forward Euler diffusion solver | |
| void | diffuseSingleField (unsigned int idx) |
| void | secrete () |
| void | secreteSingleField (unsigned int idx) |
| void | secreteOnContactSingleField (unsigned int idx) |
| void | scrarch2Concentration (std::map< CellG *, float > *scratchField, std::map< CellG *, float > *concentrationField) |
| void | cellMap2Field (std::map< CellG *, float > *concentrationMapField, ConcentrationField_t *concentrationField) |
| void | field2CellMap (ConcentrationField_t *concentrationField, std::map< CellG *, float > *concentrationMapField) |
| void | readConcentrationField (std::string fileName, ConcentrationField_t *concentrationField) |
| void | initializeConcentration () |
| double | computeAverageCellRadius () |
| void | update () |
| void | updateLocalCellInventory (unsigned int idx) |
Protected Attributes | |
| Potts3D * | potts |
| Simulator * | simPtr |
| unsigned int | currentStep |
| unsigned int | maxDiffusionZ |
| float | averageRadius |
| WatchableField3D< CellG * > * | cellFieldG |
| Automaton * | automaton |
| std::vector< DiffusionData > | diffDataVec |
| std::vector< SecretionDataFlexAD > | secrDataVec |
| CellInventory * | cellInventoryPtr |
| void(AdvectionDiffusionSolverFE::* | diffusePtr )(void) |
| void(AdvectionDiffusionSolverFE::* | secretePtr )(void) |
| ptr to member method - Forward Euler diffusion solver | |
| unsigned int | numberOfFields |
| Dim3D | fieldDim |
| Dim3D | workFieldDim |
| std::vector < DiffusionSecretionADFieldTupple > | diffSecrFieldTuppleVec |
| BasicClassAccessor < NeighborTracker > * | neighborTrackerAccessorPtr |
Definition at line 64 of file AdvectionDiffusionSolverFE.h.
| typedef void(AdvectionDiffusionSolverFE::* CompuCell3D::AdvectionDiffusionSolverFE::diffSecrFcnPtr_t)(void) |
| typedef void(AdvectionDiffusionSolverFE::* CompuCell3D::AdvectionDiffusionSolverFE::secrSingleFieldFcnPtr_t)(unsigned int) |
| typedef float CompuCell3D::AdvectionDiffusionSolverFE::precision_t |
Definition at line 69 of file AdvectionDiffusionSolverFE.h.
| typedef Array3DBorders<precision_t>::ContainerType CompuCell3D::AdvectionDiffusionSolverFE::Array3D_t |
Definition at line 70 of file AdvectionDiffusionSolverFE.h.
| typedef Array3DBordersField3DAdapter<precision_t> CompuCell3D::AdvectionDiffusionSolverFE::ConcentrationField_t |
Definition at line 71 of file AdvectionDiffusionSolverFE.h.
| AdvectionDiffusionSolverFE::AdvectionDiffusionSolverFE | ( | ) |
Definition at line 35 of file AdevectionDiffusionSolverFE.cpp.
| AdvectionDiffusionSolverFE::~AdvectionDiffusionSolverFE | ( | ) | [virtual] |
Definition at line 40 of file AdevectionDiffusionSolverFE.cpp.
| void AdvectionDiffusionSolverFE::diffuse | ( | ) | [protected] |
ptr to member method - Forward Euler diffusion solver
Definition at line 524 of file AdevectionDiffusionSolverFE.cpp.
References averageRadius, computeAverageCellRadius(), diffSecrFieldTuppleVec, and diffuseSingleField().
Referenced by init().
| void AdvectionDiffusionSolverFE::diffuseSingleField | ( | unsigned int | idx | ) | [protected] |
Definition at line 427 of file AdevectionDiffusionSolverFE.cpp.
References averageRadius, CompuCell3D::DiffusionData::avoidTypeIdSet, cellMap2Field(), CompuCell3D::NeighborTracker::cellNeighbors, CompuCell3D::DiffusableGraph< float >::concentrationFieldMapVector, CompuCell3D::DiffusableVector< float >::concentrationFieldVector, CompuCell3D::DiffusionData::decayConst, CompuCell3D::DiffusionData::deltaT, CompuCell3D::DiffusionData::diffConst, diffDataVec, diffSecrFieldTuppleVec, CompuCell3D::CellG::extraAttribPtr, neighborTrackerAccessorPtr, scrarch2Concentration(), and CompuCell3D::CellG::type.
Referenced by diffuse().
| void AdvectionDiffusionSolverFE::secrete | ( | ) | [protected] |
Definition at line 535 of file AdevectionDiffusionSolverFE.cpp.
References diffSecrFieldTuppleVec.
Referenced by init().
| void AdvectionDiffusionSolverFE::secreteSingleField | ( | unsigned int | idx | ) | [protected] |
Definition at line 314 of file AdevectionDiffusionSolverFE.cpp.
References automaton, CompuCell3D::CellInventory::cellInventoryBegin(), CompuCell3D::CellInventory::cellInventoryEnd(), cellInventoryPtr, CompuCell3D::DiffusableGraph< float >::concentrationFieldMapVector, diffSecrFieldTuppleVec, CompuCell3D::Automaton::getTypeId(), CompuCell3D::CellG::type, and CompuCell3D::SecretionData::typeIdSecrConstMap.
Referenced by init().
| void AdvectionDiffusionSolverFE::secreteOnContactSingleField | ( | unsigned int | idx | ) | [protected] |
Definition at line 361 of file AdevectionDiffusionSolverFE.cpp.
References CompuCell3D::CellInventory::cellInventoryBegin(), CompuCell3D::CellInventory::cellInventoryEnd(), cellInventoryPtr, CompuCell3D::NeighborTracker::cellNeighbors, CompuCell3D::DiffusableGraph< float >::concentrationFieldMapVector, diffSecrFieldTuppleVec, CompuCell3D::CellG::extraAttribPtr, neighborTrackerAccessorPtr, CompuCell3D::CellG::type, and CompuCell3D::SecretionData::typeIdSecrOnContactDataMap.
Referenced by init().
| void CompuCell3D::AdvectionDiffusionSolverFE::scrarch2Concentration | ( | std::map< CellG *, float > * | scratchField, | |
| std::map< CellG *, float > * | concentrationField | |||
| ) | [protected] |
Referenced by diffuseSingleField().
| void AdvectionDiffusionSolverFE::cellMap2Field | ( | std::map< CellG *, float > * | concentrationMapField, | |
| ConcentrationField_t * | concentrationField | |||
| ) | [protected] |
Definition at line 236 of file AdevectionDiffusionSolverFE.cpp.
References cellFieldG, CompuCell3D::Array3DBorders< T >::getContainer(), workFieldDim, CompuCell3D::Point3D::x, CompuCell3D::Point3D::y, and CompuCell3D::Point3D::z.
Referenced by diffuseSingleField(), initializeConcentration(), and step().
| void AdvectionDiffusionSolverFE::field2CellMap | ( | ConcentrationField_t * | concentrationField, | |
| std::map< CellG *, float > * | concentrationMapField | |||
| ) | [protected] |
Definition at line 265 of file AdevectionDiffusionSolverFE.cpp.
References cellFieldG, CompuCell3D::Array3DBorders< T >::getContainer(), workFieldDim, CompuCell3D::Point3D::x, CompuCell3D::Point3D::y, and CompuCell3D::Point3D::z.
Referenced by initializeConcentration().
| void AdvectionDiffusionSolverFE::readConcentrationField | ( | std::string | fileName, | |
| ConcentrationField_t * | concentrationField | |||
| ) | [protected] |
Definition at line 217 of file AdevectionDiffusionSolverFE.cpp.
References ASSERT_OR_THROW, and CompuCell3D::Array3DBordersField3DAdapter< T >::set().
Referenced by initializeConcentration().
| void AdvectionDiffusionSolverFE::initializeConcentration | ( | ) | [protected] |
Definition at line 200 of file AdevectionDiffusionSolverFE.cpp.
References cellMap2Field(), CompuCell3D::DiffusableGraph< float >::concentrationFieldMapVector, CompuCell3D::DiffusableVector< float >::concentrationFieldVector, diffDataVec, diffSecrFieldTuppleVec, field2CellMap(), and readConcentrationField().
Referenced by start().
| double AdvectionDiffusionSolverFE::computeAverageCellRadius | ( | ) | [protected] |
Definition at line 124 of file AdevectionDiffusionSolverFE.cpp.
References CompuCell3D::CellInventory::cellInventoryBegin(), CompuCell3D::CellInventory::cellInventoryEnd(), cellInventoryPtr, and CompuCell3D::CellG::volume.
Referenced by diffuse().
| void AdvectionDiffusionSolverFE::update | ( | ) | [protected] |
Definition at line 144 of file AdevectionDiffusionSolverFE.cpp.
References diffDataVec, and updateLocalCellInventory().
| void AdvectionDiffusionSolverFE::updateLocalCellInventory | ( | unsigned int | idx | ) | [protected] |
Definition at line 153 of file AdevectionDiffusionSolverFE.cpp.
References CompuCell3D::CellInventory::cellInventoryBegin(), CompuCell3D::CellInventory::cellInventoryEnd(), cellInventoryPtr, CompuCell3D::DiffusableGraph< float >::concentrationFieldMapVector, and CompuCell3D::CellInventory::find().
Referenced by update().
| void AdvectionDiffusionSolverFE::init | ( | Simulator * | simulator, | |
| CC3DXMLElement * | _xmlData = 0 | |||
| ) | [virtual] |
getting cell inventory
getting field ptr from Potts3D
setting member function pointers
allocate fields including scrartch field
assign vector of field names
assigning member method ptrs to the vector
Reimplemented from CompuCell3D::SimObject.
Definition at line 45 of file AdevectionDiffusionSolverFE.cpp.
References CompuCell3D::DiffusableGraph< float >::allocateDiffusableFieldVector(), automaton, cellFieldG, cellInventoryPtr, CompuCell3D::DiffusableVector< float >::concentrationFieldNameVector, CompuCell3D::DiffusableVector< float >::concentrationFieldVector, diffDataVec, diffSecrFieldTuppleVec, diffuse(), diffusePtr, fieldDim, CompuCell3D::Potts3D::getAutomaton(), CompuCell3D::Potts3D::getCellFieldG(), CompuCell3D::Potts3D::getCellInventory(), CompuCell3D::NeighborTrackerPlugin::getNeighborTrackerAccessorPtr(), CompuCell3D::Simulator::getPotts(), neighborTrackerAccessorPtr, numberOfFields, CompuCell3D::Simulator::pluginManager, potts, CompuCell3D::Simulator::registerConcentrationField(), secrete(), secreteOnContactSingleField(), secretePtr, secreteSingleField(), simPtr, update(), workFieldDim, CompuCell3D::Point3D::x, CompuCell3D::Point3D::y, and CompuCell3D::Point3D::z.
| void AdvectionDiffusionSolverFE::extraInit | ( | Simulator * | simulator | ) | [virtual] |
Reimplemented from CompuCell3D::SimObject.
Definition at line 119 of file AdevectionDiffusionSolverFE.cpp.
| void AdvectionDiffusionSolverFE::start | ( | ) | [virtual] |
Implements CompuCell3D::Steppable.
Definition at line 189 of file AdevectionDiffusionSolverFE.cpp.
References initializeConcentration(), and update().
| void AdvectionDiffusionSolverFE::step | ( | const unsigned int | _currentStep | ) | [virtual] |
Implements CompuCell3D::Steppable.
Definition at line 301 of file AdevectionDiffusionSolverFE.cpp.
References cellMap2Field(), CompuCell3D::DiffusableGraph< float >::concentrationFieldMapVector, CompuCell3D::DiffusableVector< float >::concentrationFieldVector, currentStep, diffusePtr, secretePtr, and update().
| virtual void CompuCell3D::AdvectionDiffusionSolverFE::finish | ( | ) | [inline, virtual] |
| void AdvectionDiffusionSolverFE::update | ( | CC3DXMLElement * | _xmlData, | |
| bool | _fullInitFlag = false | |||
| ) | [virtual] |
Reimplemented from CompuCell3D::SteerableObject.
Definition at line 550 of file AdevectionDiffusionSolverFE.cpp.
References diffSecrFieldTuppleVec, CC3DXMLElement::getElements(), CompuCell3D::SecretionData::update(), and CompuCell3D::DiffusionData::update().
| std::string AdvectionDiffusionSolverFE::steerableName | ( | ) | [virtual] |
Reimplemented from CompuCell3D::SteerableObject.
Definition at line 585 of file AdevectionDiffusionSolverFE.cpp.
References toString().
| std::string AdvectionDiffusionSolverFE::toString | ( | ) | [virtual] |
Reimplemented from CompuCell3D::Steppable.
Definition at line 580 of file AdevectionDiffusionSolverFE.cpp.
Referenced by steerableName().
Potts3D* CompuCell3D::AdvectionDiffusionSolverFE::potts [protected] |
Simulator* CompuCell3D::AdvectionDiffusionSolverFE::simPtr [protected] |
unsigned int CompuCell3D::AdvectionDiffusionSolverFE::currentStep [protected] |
unsigned int CompuCell3D::AdvectionDiffusionSolverFE::maxDiffusionZ [protected] |
Definition at line 81 of file AdvectionDiffusionSolverFE.h.
float CompuCell3D::AdvectionDiffusionSolverFE::averageRadius [protected] |
Definition at line 82 of file AdvectionDiffusionSolverFE.h.
Referenced by diffuse(), and diffuseSingleField().
WatchableField3D<CellG *>* CompuCell3D::AdvectionDiffusionSolverFE::cellFieldG [protected] |
Definition at line 84 of file AdvectionDiffusionSolverFE.h.
Referenced by cellMap2Field(), field2CellMap(), and init().
Definition at line 85 of file AdvectionDiffusionSolverFE.h.
Referenced by init(), and secreteSingleField().
std::vector<DiffusionData> CompuCell3D::AdvectionDiffusionSolverFE::diffDataVec [protected] |
Definition at line 87 of file AdvectionDiffusionSolverFE.h.
Referenced by diffuseSingleField(), init(), initializeConcentration(), and update().
std::vector<SecretionDataFlexAD> CompuCell3D::AdvectionDiffusionSolverFE::secrDataVec [protected] |
Definition at line 88 of file AdvectionDiffusionSolverFE.h.
Definition at line 91 of file AdvectionDiffusionSolverFE.h.
Referenced by computeAverageCellRadius(), init(), secreteOnContactSingleField(), secreteSingleField(), and updateLocalCellInventory().
void(AdvectionDiffusionSolverFE::* CompuCell3D::AdvectionDiffusionSolverFE::diffusePtr)(void) [protected] |
void(AdvectionDiffusionSolverFE::* CompuCell3D::AdvectionDiffusionSolverFE::secretePtr)(void) [protected] |
unsigned int CompuCell3D::AdvectionDiffusionSolverFE::numberOfFields [protected] |
Definition at line 110 of file AdvectionDiffusionSolverFE.h.
Referenced by cellMap2Field(), field2CellMap(), and init().
std::vector<DiffusionSecretionADFieldTupple> CompuCell3D::AdvectionDiffusionSolverFE::diffSecrFieldTuppleVec [protected] |
Definition at line 112 of file AdvectionDiffusionSolverFE.h.
Referenced by diffuse(), diffuseSingleField(), init(), initializeConcentration(), secrete(), secreteOnContactSingleField(), secreteSingleField(), and update().
BasicClassAccessor<NeighborTracker>* CompuCell3D::AdvectionDiffusionSolverFE::neighborTrackerAccessorPtr [protected] |
Definition at line 121 of file AdvectionDiffusionSolverFE.h.
Referenced by diffuseSingleField(), init(), and secreteOnContactSingleField().
1.5.6