#include <Potts3D.h>


Public Types | |
| typedef unsigned int(Potts3D::* | metropolisFcnPtr_t )(const unsigned int, const double) |
Public Member Functions | |
| Potts3D () | |
| Potts3D (const Dim3D dim) | |
| virtual | ~Potts3D () |
| void | createCellField (const Dim3D dim) |
| unsigned int | getCurrentAttempt () |
| unsigned int | getNumberOfAttempts () |
| unsigned int | getNumberOfAttemptedEnergyCalculations () |
| unsigned int | getNumberOfAcceptedSpinFlips () |
| std::set< Point3D > * | getBoundaryPixelSetPtr () |
| LatticeType | getLatticeType () |
| double | getDepth () |
| void | setDepth (double _depth) |
| void | setNeighborOrder (unsigned int _neighborOrder) |
| void | initializeCellTypeMotility (std::vector< CellTypeMotilityData > &_cellTypeMotilityVector) |
| void | setCellTypeMotilityVec (std::vector< float > &_cellTypeMotilityVec) |
| const std::vector< float > & | getCellTypeMotilityVec () |
| void | setDebugOutputFrequency (unsigned int _freq) |
| void | setSimulator (Simulator *_sim) |
| void | setFrozenTypeVector (std::vector< unsigned char > &_frozenTypeVec) |
| const std::vector< unsigned char > & | getFrozenTypeVector () |
| Point3D | getFlipNeighbor () |
| void | setBoundaryXName (std::string const &_xName) |
| void | setBoundaryYName (std::string const &_yName) |
| void | setBoundaryZName (std::string const &_zName) |
| std::string const & | getBoundaryXName () const |
| std::string const & | getBoundaryYName () const |
| std::string const & | getBoundaryZName () const |
| void | setMinCoordinates (Point3D _minCoord) |
| void | setMaxCoordinates (Point3D _maxCoord) |
| Point3D | getMinCoordinates () const |
| Point3D | getMaxCoordinates () const |
| TypeTransition * | getTypeTransition () |
| virtual void | createEnergyFunction (std::string _energyFunctionType) |
| EnergyFunctionCalculator * | getEnergyFunctionCalculator () |
| CellInventory & | getCellInventory () |
| virtual void | registerAttributeAdder (AttributeAdder *_attrAdder) |
| virtual void | registerEnergyFunction (EnergyFunction *function) |
| Add an energy function to the list. | |
| virtual void | registerEnergyFunctionWithName (EnergyFunction *_function, std::string _functionName) |
| virtual void | unregisterEnergyFunction (std::string _functionName) |
| double | getNewNumber () |
| virtual void | registerAutomaton (Automaton *autom) |
| Add the automaton. | |
| virtual Automaton * | getAutomaton () |
| Return the automaton for this simulation. | |
| virtual void | registerAcceptanceFunction (AcceptanceFunction *function) |
| virtual void | setAcceptanceFunctionByName (std::string _acceptanceFunctionName) |
| virtual AcceptanceFunction * | getAcceptanceFunction () |
| virtual void | registerCellGChangeWatcher (CellGChangeWatcher *_watcher) |
| Add a cell field update watcher. | |
| virtual void | registerClassAccessor (BasicClassAccessorBase *_accessor) |
| Register accessor to a class with a cellGroupFactory. Accessor will access a class which is a mamber of a BasicClassGroup. | |
| virtual void | registerStepper (Stepper *stepper) |
| Add a potts stepper to be called after each potts step. | |
| virtual void | registerFixedStepper (FixedStepper *fixedStepper) |
| double | getEnergy () |
| virtual CellG * | createCellG (const Point3D pt) |
| virtual void | destroyCellG (CellG *cell, bool _removeFromInventory=true) |
| BasicClassGroupFactory * | getCellFactoryGroupPtr () |
| virtual unsigned int | getNumCells () |
| dealocate a BasicClassGroup | |
| virtual double | totalEnergy () |
| virtual double | changeEnergy (Point3D pt, const CellG *newCell, const CellG *oldCell) |
| virtual unsigned int | metropolis (const unsigned int steps, const double temp) |
| unsigned int | metropolisList (const unsigned int steps, const double temp) |
| unsigned int | metropolisFast (const unsigned int steps, const double temp) |
| unsigned int | metropolisBoundaryWalker (const unsigned int steps, const double temp) |
| void | setMetropolisAlgorithm (std::string _algName) |
| virtual Field3D< CellG * > * | getCellFieldG () |
| virtual Field3DImpl< CellG * > * | getCellFieldGImpl () |
| virtual void | update (CC3DXMLElement *_xmlData, bool _fullInitFlag=false) |
| virtual std::string | steerableName () |
Public Attributes | |
| metropolisFcnPtr_t | metropolisFcnPtr |
Private Member Functions | |
| bool | checkIfFrozen (unsigned char _type) |
Private Attributes | |
| WatchableField3D< CellG * > * | cellFieldG |
| The potts field of cell spins. | |
| AttributeAdder * | attrAdder |
| EnergyFunctionCalculator * | energyCalculator |
| BasicClassGroupFactory | cellFactoryGroup |
| Cell class aggregator and allocator. | |
| std::vector< EnergyFunction * > | energyFunctions |
| An array of energy functions to be evaluated to determine energy costs. | |
| std::map< std::string, EnergyFunction * > | nameToEnergyFuctionMap |
| std::set< Point3D > | boundaryPixelSet |
| TypeTransition * | typeTransition |
| std::vector< Stepper * > | steppers |
| An array of potts steppers. These are called after each potts step. | |
| std::vector< FixedStepper * > | fixedSteppers |
| Automaton * | automaton |
| The automaton to use. Assuming one automaton per simulation. | |
| DefaultAcceptanceFunction | defaultAcceptanceFunction |
| FirstOrderExpansionAcceptanceFunction | firstOrderExpansionAcceptanceFunction |
| AcceptanceFunction * | acceptanceFunction |
| Used to determine the probablity that a pixel flip should be taken. | |
| double | energy |
| The current total energy of the system. | |
| std::string | boundary_x |
| std::string | boundary_y |
| std::string | boundary_z |
| CellInventory | cellInventory |
| Point3D | flipNeighbor |
| double | depth |
| std::vector< Point3D > | neighbors |
| std::vector< unsigned char > | frozenTypeVec |
| unsigned int | sizeFrozenTypeVec |
| lists types which will remain frozen throughout the simulation | |
| long | recentlyCreatedCellId |
| unsigned int | currentAttempt |
| unsigned int | numberOfAttempts |
| unsigned int | maxNeighborIndex |
| unsigned int | debugOutputFrequency |
| Simulator * | sim |
| Point3D | minCoordinates |
| Point3D | maxCoordinates |
| unsigned int | attemptedEC |
| unsigned int | flips |
| std::vector< float > | cellTypeMotilityVec |
See http://scienceworld.wolfram.com/physics/PottsModel.html for more information about the potts model.
Definition at line 87 of file Potts3D.h.
| typedef unsigned int(Potts3D::* CompuCell3D::Potts3D::metropolisFcnPtr_t)(const unsigned int, const double) |
| Potts3D::Potts3D | ( | ) |
Definition at line 58 of file Potts3D.cpp.
References cellInventory, energyCalculator, frozenTypeVec, metropolisFast(), metropolisFcnPtr, neighbors, CompuCell3D::EnergyFunctionCalculator::setPotts(), CompuCell3D::CellInventory::setPotts3DPtr(), and typeTransition.
| Potts3D::Potts3D | ( | const Dim3D | dim | ) |
Definition at line 78 of file Potts3D.cpp.
References cellInventory, createCellField(), energyCalculator, frozenTypeVec, metropolisFast(), metropolisFcnPtr, neighbors, CompuCell3D::EnergyFunctionCalculator::setPotts(), CompuCell3D::CellInventory::setPotts3DPtr(), and typeTransition.
| Potts3D::~Potts3D | ( | ) | [virtual] |
Definition at line 102 of file Potts3D.cpp.
References cellFieldG, energyCalculator, and typeTransition.
| bool Potts3D::checkIfFrozen | ( | unsigned char | _type | ) | [private] |
Definition at line 832 of file Potts3D.cpp.
References frozenTypeVec.
Referenced by metropolisBoundaryWalker(), metropolisFast(), and metropolisList().
| void Potts3D::createCellField | ( | const Dim3D | dim | ) |
Create the cell field.
| dim | The field dimensions. |
Definition at line 191 of file Potts3D.cpp.
References ASSERT_OR_THROW, and cellFieldG.
Referenced by CompuCell3D::Simulator::initializePottsCC3D(), and Potts3D().
| unsigned int CompuCell3D::Potts3D::getCurrentAttempt | ( | ) | [inline] |
| unsigned int CompuCell3D::Potts3D::getNumberOfAttempts | ( | ) | [inline] |
| unsigned int CompuCell3D::Potts3D::getNumberOfAttemptedEnergyCalculations | ( | ) | [inline] |
| unsigned int CompuCell3D::Potts3D::getNumberOfAcceptedSpinFlips | ( | ) | [inline] |
| std::set<Point3D>* CompuCell3D::Potts3D::getBoundaryPixelSetPtr | ( | ) | [inline] |
Definition at line 169 of file Potts3D.h.
Referenced by CompuCell3D::GlobalBoundaryPixelTrackerPlugin::update().
| LatticeType Potts3D::getLatticeType | ( | ) |
Definition at line 123 of file Potts3D.cpp.
References CompuCell3D::BoundaryStrategy::getInstance(), and CompuCell3D::BoundaryStrategy::getLatticeType().
Referenced by CompuCell3D::Simulator::initializePottsCC3D(), and CC3DTransaction::preStartInit().
| void Potts3D::setDepth | ( | double | _depth | ) |
Definition at line 127 of file Potts3D.cpp.
References cellFieldG, depth, TypeChangeWatcherExample::dim, CompuCell3D::BoundaryStrategy::getInstance(), CompuCell3D::BoundaryStrategy::getMaxDistance(), CompuCell3D::BoundaryStrategy::getMaxNeighborIndexFromDepth(), maxCoordinates, maxNeighborIndex, minCoordinates, neighbors, CompuCell3D::BoundaryStrategy::prepareNeighborLists(), CompuCell3D::Point3D::x, CompuCell3D::Point3D::y, and CompuCell3D::Point3D::z.
Referenced by CompuCell3D::Simulator::initializePottsCC3D(), and update().
| void Potts3D::setNeighborOrder | ( | unsigned int | _neighborOrder | ) |
Definition at line 177 of file Potts3D.cpp.
References cellFieldG, TypeChangeWatcherExample::dim, CompuCell3D::BoundaryStrategy::getInstance(), CompuCell3D::BoundaryStrategy::getMaxNeighborIndexFromNeighborOrder(), maxCoordinates, maxNeighborIndex, minCoordinates, neighbors, CompuCell3D::BoundaryStrategy::prepareNeighborListsBasedOnNeighborOrder(), CompuCell3D::Point3D::x, CompuCell3D::Point3D::y, and CompuCell3D::Point3D::z.
Referenced by CompuCell3D::Simulator::initializePottsCC3D(), and update().
| void Potts3D::initializeCellTypeMotility | ( | std::vector< CellTypeMotilityData > & | _cellTypeMotilityVector | ) |
Definition at line 803 of file Potts3D.cpp.
References ASSERT_OR_THROW, automaton, cellTypeMotilityVec, and CompuCell3D::Automaton::getTypeId().
Referenced by CompuCell3D::Simulator::initializeCC3D().
| void Potts3D::setCellTypeMotilityVec | ( | std::vector< float > & | _cellTypeMotilityVec | ) |
| const std::vector<float>& CompuCell3D::Potts3D::getCellTypeMotilityVec | ( | ) | [inline] |
| void CompuCell3D::Potts3D::setDebugOutputFrequency | ( | unsigned int | _freq | ) | [inline] |
Definition at line 181 of file Potts3D.h.
Referenced by CompuCell3D::Simulator::initializePottsCC3D(), and update().
| void CompuCell3D::Potts3D::setSimulator | ( | Simulator * | _sim | ) | [inline] |
| void Potts3D::setFrozenTypeVector | ( | std::vector< unsigned char > & | _frozenTypeVec | ) |
Definition at line 844 of file Potts3D.cpp.
References frozenTypeVec, and sizeFrozenTypeVec.
Referenced by CompuCell3D::CellTypePlugin::update().
| const std::vector<unsigned char>& CompuCell3D::Potts3D::getFrozenTypeVector | ( | ) | [inline] |
| Point3D CompuCell3D::Potts3D::getFlipNeighbor | ( | ) | [inline] |
Definition at line 187 of file Potts3D.h.
Referenced by CompuCell3D::EnergyFunctionPyWrapper::changeEnergy(), CompuCell3D::ChemotaxisDictyPlugin::changeEnergy(), CompuCell3D::CellOrientationPlugin::changeEnergy(), CompuCell3D::ExternalPotentialPlugin::changeEnergyByCellId(), CompuCell3D::ExternalPotentialPlugin::changeEnergyByCellType(), CompuCell3D::ExternalPotentialPlugin::changeEnergyGlobal(), CompuCell3D::ChemotaxisPlugin::merksChemotaxis(), and CompuCell3D::ChemotaxisPlugin::regularChemotaxis().
| void CompuCell3D::Potts3D::setBoundaryXName | ( | std::string const & | _xName | ) | [inline] |
Definition at line 189 of file Potts3D.h.
Referenced by CompuCell3D::Simulator::initializePottsCC3D().
| void CompuCell3D::Potts3D::setBoundaryYName | ( | std::string const & | _yName | ) | [inline] |
Definition at line 190 of file Potts3D.h.
Referenced by CompuCell3D::Simulator::initializePottsCC3D().
| void CompuCell3D::Potts3D::setBoundaryZName | ( | std::string const & | _zName | ) | [inline] |
Definition at line 191 of file Potts3D.h.
Referenced by CompuCell3D::Simulator::initializePottsCC3D().
| std::string const& CompuCell3D::Potts3D::getBoundaryXName | ( | ) | const [inline] |
Definition at line 192 of file Potts3D.h.
Referenced by CompuCell3D::CellVelocity::extraInit(), CompuCell3D::FlexibleDiffusionSolverFE::init(), CompuCell3D::FlexibleDiffusionSolverADE::init(), CompuCell3D::FastDiffusionSolver2DFE::init(), CompuCell3D::VelocityPlugin::init(), CompuCell3D::NeighborTrackerPlugin::init(), CompuCell3D::MomentOfInertiaPlugin::init(), CompuCell3D::ExternalPotentialPlugin::init(), CompuCell3D::CenterOfMassPlugin::init(), CompuCell3D::CellInstantVelocityPlugin::init(), CompuCell3D::CellBoundaryTrackerPlugin::init(), and CompuCell3D::ViscosityEnergy::initializeViscosityEnergy().
| std::string const& CompuCell3D::Potts3D::getBoundaryYName | ( | ) | const [inline] |
Definition at line 193 of file Potts3D.h.
Referenced by CompuCell3D::CellVelocity::extraInit(), CompuCell3D::FlexibleDiffusionSolverFE::init(), CompuCell3D::FlexibleDiffusionSolverADE::init(), CompuCell3D::FastDiffusionSolver2DFE::init(), CompuCell3D::VelocityPlugin::init(), CompuCell3D::NeighborTrackerPlugin::init(), CompuCell3D::MomentOfInertiaPlugin::init(), CompuCell3D::ExternalPotentialPlugin::init(), CompuCell3D::CenterOfMassPlugin::init(), CompuCell3D::CellInstantVelocityPlugin::init(), CompuCell3D::CellBoundaryTrackerPlugin::init(), and CompuCell3D::ViscosityEnergy::initializeViscosityEnergy().
| std::string const& CompuCell3D::Potts3D::getBoundaryZName | ( | ) | const [inline] |
Definition at line 194 of file Potts3D.h.
Referenced by CompuCell3D::CellVelocity::extraInit(), CompuCell3D::FlexibleDiffusionSolverFE::init(), CompuCell3D::FlexibleDiffusionSolverADE::init(), CompuCell3D::FastDiffusionSolver2DFE::init(), CompuCell3D::VelocityPlugin::init(), CompuCell3D::NeighborTrackerPlugin::init(), CompuCell3D::MomentOfInertiaPlugin::init(), CompuCell3D::ExternalPotentialPlugin::init(), CompuCell3D::CenterOfMassPlugin::init(), CompuCell3D::CellInstantVelocityPlugin::init(), CompuCell3D::CellBoundaryTrackerPlugin::init(), and CompuCell3D::ViscosityEnergy::initializeViscosityEnergy().
| void CompuCell3D::Potts3D::setMinCoordinates | ( | Point3D | _minCoord | ) | [inline] |
| void CompuCell3D::Potts3D::setMaxCoordinates | ( | Point3D | _maxCoord | ) | [inline] |
| Point3D CompuCell3D::Potts3D::getMinCoordinates | ( | ) | const [inline] |
| Point3D CompuCell3D::Potts3D::getMaxCoordinates | ( | ) | const [inline] |
| TypeTransition* CompuCell3D::Potts3D::getTypeTransition | ( | ) | [inline] |
| void Potts3D::createEnergyFunction | ( | std::string | _energyFunctionType | ) | [virtual] |
Definition at line 109 of file Potts3D.cpp.
References energyCalculator, and CompuCell3D::EnergyFunctionCalculator::setPotts().
Referenced by CompuCell3D::Simulator::initializePottsCC3D().
| EnergyFunctionCalculator* CompuCell3D::Potts3D::getEnergyFunctionCalculator | ( | ) | [inline] |
Definition at line 203 of file Potts3D.h.
Referenced by CompuCell3D::Simulator::initializePottsCC3D().
| CellInventory& CompuCell3D::Potts3D::getCellInventory | ( | ) | [inline] |
Definition at line 205 of file Potts3D.h.
Referenced by CompuCell3D::ReactionDiffusionSolverFE_SavHog::init(), CompuCell3D::KernelDiffusionSolver::init(), CompuCell3D::FlexibleDiffusionSolverFE::init(), CompuCell3D::FlexibleDiffusionSolverADE::init(), CompuCell3D::FastDiffusionSolver2DFE::init(), CompuCell3D::AdvectionDiffusionSolverFE::init(), CompuCell3D::FoamDataOutput::init(), CompuCell3D::DictyChemotaxisSteppable::init(), CompuCell3D::CellVelocity::init(), CompuCell3D::CellDiffusionDataOutput::init(), CompuCell3D::SimpleArrayPlugin::init(), CompuCell3D::RealPlasticityTrackerPlugin::init(), CompuCell3D::PlasticityTrackerPlugin::init(), CompuCell3D::NeighborTrackerPlugin::init(), CompuCell3D::UniformFieldInitializer::initializeCellTypes(), CompuCell3D::DictyFieldInitializer::initializeCellTypes(), CompuCell3D::BlobFieldInitializer::initializeCellTypesCellSort(), CompuCell3D::ContactLocalFlexPlugin::initializeContactLocalFlexData(), CompuCell3D::BlobFieldInitializer::initializeEngulfment(), CompuCell3D::VolumeMean::step(), and CompuCell3D::Simulator::step().
| void Potts3D::registerAttributeAdder | ( | AttributeAdder * | _attrAdder | ) | [virtual] |
| void Potts3D::registerEnergyFunction | ( | EnergyFunction * | function | ) | [virtual] |
Add an energy function to the list.
Definition at line 210 of file Potts3D.cpp.
References energyCalculator, CompuCell3D::EnergyFunctionCalculator::registerEnergyFunctionWithName(), and CompuCell3D::EnergyFunction::toString().
Referenced by CompuCell3D::ViscosityPlugin::init(), CompuCell3D::ContactLocalFlexPlugin::init(), and CompuCell3D::ConnectivityPlugin::init().
| void Potts3D::registerEnergyFunctionWithName | ( | EnergyFunction * | _function, | |
| std::string | _functionName | |||
| ) | [virtual] |
Definition at line 217 of file Potts3D.cpp.
References energyCalculator, and CompuCell3D::EnergyFunctionCalculator::registerEnergyFunctionWithName().
Referenced by CompuCell3D::VelocityPlugin::extraInit(), CompuCell3D::SimpleVolumePlugin::init(), CompuCell3D::FancyVolumePlugin::init(), CompuCell3D::VolumePlugin::init(), CompuCell3D::SurfacePlugin::init(), CompuCell3D::StretchnessPlugin::init(), CompuCell3D::RearrangementPlugin::init(), CompuCell3D::RealPlasticityPlugin::init(), CompuCell3D::PlasticityPlugin::init(), CompuCell3D::OrientedContactPlugin::init(), CompuCell3D::NeighborStickPlugin::init(), CompuCell3D::LengthConstraintLocalFlexPlugin::init(), CompuCell3D::LengthConstraintPlugin::init(), CompuCell3D::ExternalPotentialPlugin::init(), CompuCell3D::ContactMultiCadPlugin::init(), CompuCell3D::ContactLocalProductPlugin::init(), CompuCell3D::ContactPlugin::init(), CompuCell3D::ConnectivityLocalFlexPlugin::init(), CompuCell3D::CompartmentPlugin::init(), CompuCell3D::ChemotaxisDictyPlugin::init(), CompuCell3D::ChemotaxisPlugin::init(), and CompuCell3D::CellOrientationPlugin::init().
| void Potts3D::unregisterEnergyFunction | ( | std::string | _functionName | ) | [virtual] |
Definition at line 225 of file Potts3D.cpp.
References energyCalculator, and CompuCell3D::EnergyFunctionCalculator::unregisterEnergyFunction().
| void Potts3D::registerAutomaton | ( | Automaton * | autom | ) | [virtual] |
Add the automaton.
Definition at line 207 of file Potts3D.cpp.
References automaton.
Referenced by CompuCell3D::ChickTypePlugin::init(), CompuCell3D::ChickGrowthTypePlugin::init(), and CompuCell3D::CellTypePlugin::init().
| Automaton * Potts3D::getAutomaton | ( | ) | [virtual] |
Return the automaton for this simulation.
Definition at line 208 of file Potts3D.cpp.
References automaton.
Referenced by CompuCell3D::RealPlasticityTrackerPlugin::extraInit(), CompuCell3D::PlasticityTrackerPlugin::extraInit(), CompuCell3D::ReactionDiffusionSolverFE_SavHog::init(), CompuCell3D::KernelDiffusionSolver::init(), CompuCell3D::FlexibleDiffusionSolverFE::init(), CompuCell3D::FlexibleDiffusionSolverADE::init(), CompuCell3D::FastDiffusionSolver2DFE::init(), CompuCell3D::AdvectionDiffusionSolverFE::init(), CompuCell3D::DictyFieldInitializer::init(), CompuCell3D::UniformFieldInitializer::initCellType(), CompuCell3D::BlobFieldInitializer::initCellType(), CompuCell3D::LengthConstraintPlugin::initTypeId(), CompuCell3D::ViscosityEnergy::readXML(), CompuCell3D::PIFInitializer::start(), CompuCell3D::VolumePlugin::update(), CompuCell3D::SurfacePlugin::update(), CompuCell3D::OrientedContactPlugin::update(), CompuCell3D::NeighborStickPlugin::update(), CompuCell3D::ExternalPotentialPlugin::update(), CompuCell3D::ContactMultiCadPlugin::update(), CompuCell3D::ContactLocalProductPlugin::update(), CompuCell3D::ContactLocalFlexPlugin::update(), CompuCell3D::ContactPlugin::update(), CompuCell3D::CompartmentPlugin::update(), and CompuCell3D::ChemotaxisPlugin::update().
| void Potts3D::registerAcceptanceFunction | ( | AcceptanceFunction * | function | ) | [virtual] |
Set the acceptance function. This is DefaultAcceptanceFunction by default.
Definition at line 245 of file Potts3D.cpp.
References acceptanceFunction, and ASSERT_OR_THROW.
| void Potts3D::setAcceptanceFunctionByName | ( | std::string | _acceptanceFunctionName | ) | [virtual] |
Definition at line 235 of file Potts3D.cpp.
References acceptanceFunction, defaultAcceptanceFunction, and firstOrderExpansionAcceptanceFunction.
Referenced by CompuCell3D::Simulator::initializePottsCC3D().
| virtual AcceptanceFunction* CompuCell3D::Potts3D::getAcceptanceFunction | ( | ) | [inline, virtual] |
Definition at line 229 of file Potts3D.h.
Referenced by CompuCell3D::Simulator::initializePottsCC3D(), and update().
| void Potts3D::registerCellGChangeWatcher | ( | CellGChangeWatcher * | _watcher | ) | [virtual] |
Add a cell field update watcher.
BasicClassChange watcher reistration.
registration of the BCG watcher
Definition at line 254 of file Potts3D.cpp.
References ASSERT_OR_THROW, and cellFieldG.
Referenced by CompuCell3D::VelocityPlugin::extraInit(), CompuCell3D::CellInstantVelocityPlugin::extraInit(), CompuCell3D::VolumeTrackerPlugin::init(), CompuCell3D::SurfaceTrackerPlugin::init(), CompuCell3D::RealPlasticityTrackerPlugin::init(), CompuCell3D::PlasticityTrackerPlugin::init(), CompuCell3D::PixelTrackerPlugin::init(), CompuCell3D::BoundaryPixelTrackerPlugin::init(), CompuCell3D::NeighborTrackerPlugin::init(), CompuCell3D::MomentOfInertiaPlugin::init(), CompuCell3D::MitosisPlugin::init(), CompuCell3D::LengthConstraintLocalFlexPlugin::init(), CompuCell3D::LengthConstraintPlugin::init(), CompuCell3D::GrowthPlugin::init(), CompuCell3D::GlobalBoundaryPixelTrackerPlugin::init(), CompuCell3D::ContactLocalFlexPlugin::init(), CompuCell3D::ConcentrationPlugin::init(), CompuCell3D::ChickTypePlugin::init(), CompuCell3D::ChickGrowthTypePlugin::init(), CompuCell3D::CenterOfMassPlugin::init(), CompuCell3D::CellTypePlugin::init(), and CompuCell3D::CellBoundaryTrackerPlugin::init().
| void Potts3D::registerClassAccessor | ( | BasicClassAccessorBase * | _accessor | ) | [virtual] |
Register accessor to a class with a cellGroupFactory. Accessor will access a class which is a mamber of a BasicClassGroup.
Definition at line 262 of file Potts3D.cpp.
References ASSERT_OR_THROW, cellFactoryGroup, and BasicClassGroupFactory::registerClass().
| void Potts3D::registerStepper | ( | Stepper * | stepper | ) | [virtual] |
Add a potts stepper to be called after each potts step.
Definition at line 269 of file Potts3D.cpp.
References ASSERT_OR_THROW, and steppers.
Referenced by CompuCell3D::VolumeTrackerPlugin::init(), CompuCell3D::MitosisPlugin::init(), CompuCell3D::GrowthPlugin::init(), and CompuCell3D::ConcentrationPlugin::init().
| void Potts3D::registerFixedStepper | ( | FixedStepper * | fixedStepper | ) | [virtual] |
Definition at line 275 of file Potts3D.cpp.
References ASSERT_OR_THROW, and fixedSteppers.
Referenced by CompuCell3D::PDESolverCallerPlugin::init().
| double Potts3D::getEnergy | ( | ) |
Definition at line 233 of file Potts3D.cpp.
References energy.
Referenced by CompuCell3D::Simulator::start(), and CompuCell3D::Simulator::step().
Allocate a cell.
| pt | The point in the cell field to put the new cell. |
Definition at line 283 of file Potts3D.cpp.
References CompuCell3D::AttributeAdder::addAttribute(), CompuCell3D::CellInventory::addToInventory(), ASSERT_OR_THROW, attrAdder, cellFactoryGroup, cellFieldG, cellInventory, BasicClassGroupFactory::create(), and recentlyCreatedCellId.
Referenced by CompuCell3D::MitosisPlugin::doMitosis(), CompuCell3D::UniformFieldInitializer::layOutCells(), CompuCell3D::BlobFieldInitializer::layOutCells(), CompuCell3D::PIFInitializer::start(), and CompuCell3D::DictyFieldInitializer::start().
| void Potts3D::destroyCellG | ( | CellG * | cell, | |
| bool | _removeFromInventory = true | |||
| ) | [virtual] |
Definition at line 299 of file Potts3D.cpp.
References attrAdder, cellFactoryGroup, cellInventory, BasicClassGroupFactory::destroy(), CompuCell3D::AttributeAdder::destroyAttribute(), CompuCell3D::CellG::extraAttribPtr, CompuCell3D::CellG::pyAttrib, and CompuCell3D::CellInventory::removeFromInventory().
Referenced by CompuCell3D::VolumeTrackerPlugin::step(), and CompuCell3D::CellInventory::~CellInventory().
| BasicClassGroupFactory* CompuCell3D::Potts3D::getCellFactoryGroupPtr | ( | ) | [inline] |
Definition at line 265 of file Potts3D.h.
Referenced by CompuCell3D::VelocityPlugin::extraInit(), CompuCell3D::CellVelocityPlugin::extraInit(), CompuCell3D::SimpleClockPlugin::init(), CompuCell3D::SimpleArrayPlugin::init(), CompuCell3D::RealPlasticityTrackerPlugin::init(), CompuCell3D::PolarizationVectorPlugin::init(), CompuCell3D::PlasticityTrackerPlugin::init(), CompuCell3D::PixelTrackerPlugin::init(), CompuCell3D::BoundaryPixelTrackerPlugin::init(), CompuCell3D::NeighborTrackerPlugin::init(), CompuCell3D::LengthConstraintLocalFlexPlugin::init(), CompuCell3D::ContactMultiCadPlugin::init(), CompuCell3D::ContactLocalProductPlugin::init(), CompuCell3D::ContactLocalFlexPlugin::init(), CompuCell3D::ConnectivityLocalFlexPlugin::init(), CompuCell3D::ConcentrationPlugin::init(), CompuCell3D::CellOrientationPlugin::init(), and CompuCell3D::CellBoundaryTrackerPlugin::init().
| virtual unsigned int CompuCell3D::Potts3D::getNumCells | ( | ) | [inline, virtual] |
dealocate a BasicClassGroup
Deallocate a cell.
| cell | The cell to destroy. |
Definition at line 279 of file Potts3D.h.
Referenced by CompuCell3D::Simulator::start(), and CompuCell3D::Simulator::step().
| double Potts3D::totalEnergy | ( | ) | [virtual] |
The freshly calculated energy.
Definition at line 321 of file Potts3D.cpp.
References cellFieldG, TypeChangeWatcherExample::dim, energy, energyFunctions, CompuCell3D::Point3D::x, CompuCell3D::Point3D::y, and CompuCell3D::Point3D::z.
Calculate the energy change of a proposed flip.
| pt | The point to flip. | |
| newCell | The new spin. | |
| oldCell | The old spin. |
Definition at line 337 of file Potts3D.cpp.
References energyFunctions.
| unsigned int Potts3D::metropolis | ( | const unsigned int | steps, | |
| const double | temp | |||
| ) | [virtual] |
Run the potts metropolis algorithm.
| steps | The numer of flip attempts to make. | |
| temp | The current temperature. |
Definition at line 347 of file Potts3D.cpp.
References metropolisFcnPtr.
Referenced by CompuCell3D::Simulator::step().
| unsigned int Potts3D::metropolisList | ( | const unsigned int | steps, | |
| const double | temp | |||
| ) |
Dim3D dim = cellField->getDim();
Cell *cell = cellField->get(pt);
must also make sure that cell ptr is different 0; Will never freeze medium
must also make sure that cell ptr is different 0; Will never freeze medium
change takes place at change pixel and pt is a neighbor of changePixel
cout<<"This is change: "<<change<<endl;
Definition at line 351 of file Potts3D.cpp.
References CompuCell3D::AcceptanceFunction::accept(), acceptanceFunction, ASSERT_OR_THROW, attemptedEC, cellFieldG, cellTypeMotilityVec, CompuCell3D::EnergyFunctionCalculator::changeEnergy(), checkIfFrozen(),