Todo List

Member AbstractBidomainSolver::InitialiseForSolve (Vec initialSolution)

: block preconditioners only make sense in Bidomain... Add some warning/error message

: #1082 only works if you know about the whole mesh.

Member AbstractCardiacProblem::load (Archive &archive, const unsigned int version)

#1317 code for saving/loading mSolution is PROBLEM_DIM specific, move it into the save/load methods fo Mono and BidomainProblem

#1317 is there a reason we can't use PETSc's load/save vector functionality?

Member AbstractCardiacProblem::LoadExtraArchive (Archive &archive, unsigned version)
#1159 sanity check that the contents of p_bcc and mpBoundaryConditionsContainer match.

Member AbstractCardiacProblem::PreSolveChecks ()
remove magic number? (#1884)

Member AbstractCardiacProblem::save (Archive &archive, const unsigned int version) const

#1317 code for saving/loading mSolution is PROBLEM_DIM specific, move it into the save/load methods for Mono and BidomainProblem

#1369

Member AbstractCardiacProblem::SetUseTimeAdaptivityController (bool useAdaptivity, AbstractTimeAdaptivityController *pController=NULL)
#1704 add default adaptivity controller and allow the user just to call with true

Member AbstractCardiacProblem::Solve ()
#1318 the following line will deadlock if not every process throws in the Solve call

Member AbstractCardiacTissue::CreateIntracellularConductivityTensor ()

#1316 Create a class defining constant tensors to be used when no fibre orientation is provided.

#1316 Create a class defining constant tensors to be used when no fibre orientation is provided.

Member AbstractCardiacTissue::LoadCardiacCells (Archive &archive, const unsigned int version)

#1199 test this

#1898

Member AbstractCardiacTissue::ReplicateCaches ()
#1898

Member AbstractCardiacTissue::UpdateCaches (unsigned globalIndex, unsigned localIndex, double nextTime)
#1898

Member AbstractChasteRegion::Destroy ()
Proper memory management Cleans any data which the concrete class may have created (archiving)

Member AbstractConvergenceTester::Converge (std::string nameOfTest)

This is a scarily long method; could do with some parts extracted?

consider reducing all stimuli to match this one.

remove magic number? (#1884)

Member AbstractConvergenceTester::DisplayRun ()
The UseAbsoluteStimulus is temporary, while we are sorting out 3D stimulus. It is to be removed later (along with StimulusConvergenceTester)

Class AbstractCvodeCell
#890 Add an option to just initialise once, and assume subsequent Solve calls are continuing from where we left off.

Member AbstractFeCableIntegralAssembler::AssembleOnCableElement (Element< CABLE_ELEMENT_DIM, SPACE_DIM > &rElement, c_matrix< double, PROBLEM_DIM *NUM_CABLE_ELEMENT_NODES, PROBLEM_DIM *NUM_CABLE_ELEMENT_NODES > &rAElem, c_vector< double, PROBLEM_DIM *NUM_CABLE_ELEMENT_NODES > &rBElem)
#1320 This assumes that the Jacobian is constant on an element. This is true for linear basis functions, but not for any other type of basis function.

Member AbstractFeSurfaceIntegralAssembler::AssembleOnSurfaceElement (const BoundaryElement< ELEMENT_DIM-1, SPACE_DIM > &rSurfaceElement, c_vector< double, PROBLEM_DIM *ELEMENT_DIM > &rBSurfElem)
#1321 Improve efficiency of Neumann BC implementation

Member AbstractFeVolumeIntegralAssembler::AssembleOnElement (Element< ELEMENT_DIM, SPACE_DIM > &rElement, c_matrix< double, PROBLEM_DIM *(ELEMENT_DIM+1), PROBLEM_DIM *(ELEMENT_DIM+1) > &rAElem, c_vector< double, PROBLEM_DIM *(ELEMENT_DIM+1)> &rBElem)
#1320 This assumes that the Jacobian is constant on an element. This is true for linear basis functions, but not for any other type of basis function.

Member AbstractFeVolumeIntegralAssembler::ComputeTransformedBasisFunctionDerivatives (const ChastePoint< ELEMENT_DIM > &rPoint, const c_matrix< double, ELEMENT_DIM, SPACE_DIM > &rInverseJacobian, c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > &rReturnValue)

#1319 Template LinearBasisFunction over SPACE_DIM and remove this method?

Member AbstractIsotropicIncompressibleMaterialLaw::Get_d2W_dI1 (double I1, double I2)=0

The name of this method should not include underscores.

Member AbstractIsotropicIncompressibleMaterialLaw::Get_d2W_dI1I2 (double I1, double I2)=0

The name of this method should not include underscores.

Member AbstractIsotropicIncompressibleMaterialLaw::Get_d2W_dI2 (double I1, double I2)=0

The name of this method should not include underscores.

Member AbstractIsotropicIncompressibleMaterialLaw::Get_dW_dI1 (double I1, double I2)=0

The name of this method should not include underscores.

Member AbstractIsotropicIncompressibleMaterialLaw::Get_dW_dI2 (double I1, double I2)=0

The name of this method should not include underscores.

Member AbstractLookupTableCollection::SetTableProperties (const std::string &rKeyingVariableName, double min, double step, double max)
remove magic number? (#1884)

Member AbstractMesh::CalculateBoundingBox () const
#1322 use a const version of NodeIterator here

Member AbstractNonlinearElasticitySolver::TakeNewtonStep ()
: #1913 this only works in sequential

Member AbstractOdeSystem::rGetConstStateVariables () const

move to AbstractParameterisedSystem? (1540)

Member AbstractTetrahedralElement< 0, SPACE_DIM >::CalculateNormal ()
should throw?

Member AbstractTetrahedralMesh::ConstructFromMesh (AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > &rOtherMesh)
Can we make this const?

Member AbstractTetrahedralMesh::load (Archive &archive, const unsigned int version)
#1199 make this work for everything else...

Member AbstractTetrahedralMeshWriter::WriteFilesUsingMesh (AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > &rMesh, bool keepOriginalElementIndexing=true)

#1322 Mesh should really be const!

#1322 Mesh should be const

#1322 This should be const too

#1322, This should be const too

Member AdaptiveBidomainProblem::SetupNeumannBoundaryConditionOnMesh ()
remove magic number? (#1884)

Member AdaptiveTetrahedralMesh::Adapt ()
I can't see the point of this, since the VTK mesh is discarded (but not garbage collected)

Member AdhesionPottsUpdateRule::mCellBoundaryAdhesionEnergyParameter
provide units

Member AdhesionPottsUpdateRule::mCellCellAdhesionEnergyParameter
provide units

Member BidomainProblem::AtBeginningOfTimestep (double time)
#1159 #1324 heart/src/problem/AbstractCardiacProblem.hpp:657 expects both pointing at the same place when unarchiving

Member BidomainProblem::LoadExtraArchiveForBidomain (Archive &archive, unsigned version)
#1159 sanity check that the contents of p_bcc and mpElectrodes->GetBoundaryConditionsContainer() match.

Member BoundaryConditionsContainer::HasNeumannBoundaryCondition (const BoundaryElement< ELEMENT_DIM-1, SPACE_DIM > *pSurfaceElement, unsigned indexOfUnknown=0)

#1321 This is a horrendously inefficient fix. Perhaps have flag in element object?

Class BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >
#1321 Various operations are currently very inefficient - there is certainly scope for optimisation here!

Class BuskeAdhesiveForce< DIM >
does this mean natural radius of a cell? If so at what age? (#1764) Time is in hours.

Member BuskeCompressionForce::AddForceContribution (std::vector< c_vector< double, DIM > > &rForces, AbstractCellPopulation< DIM > &rCellPopulation)
Doesn't say in the Buske paper how they calculate this, so we need to look at this to be sure it's what we want (#1764)

Class BuskeCompressionForce< DIM >

does this mean natural radius of a cell? If so at what age? (#1764) Time is in hours.

Class BuskeElasticForce< DIM >
does this mean natural radius of a cell? If so at what age? (#1764) Time is in hours.

Member CaBasedCellPopulation::AddCell (CellPtr pNewCell, const c_vector< double, DIM > &rCellDivisionVector, CellPtr pParentCell=CellPtr())
This method could probably be made more efficient (#1411)

Member CaBasedCellPopulation::GenerateCellResultsAndWriteToFiles ()
we may need a hack that covers the case where the node is associated with a cell that has just been killed (#1129)

Member CaBasedCellPopulation::UpdateCellLocations (double dt)

#1942 this call will invalidate the state of the Random Number Generator

#1942 this call will invalidate the state of the Random Number Generator

Member CaBasedCellPopulation::WriteVtkResultsToFile ()
Implement VTK output for CA simulations (see #1914)

Member CardiacElectroMechanicsProblem::WriteWatchedLocationData (double time, Vec voltage)
Improve efficiency of this method?

Member CardiacSimulationArchiver::Save (PROBLEM_CLASS &rSimulationToArchive, const std::string &rDirectory, bool clearDirectory=true)
#1026 get a real version number!

Member CellBasedPdeHandler::CellBasedPdeHandler (AbstractCellPopulation< DIM > *pCellPopulation, bool deleteMemberPointersInDestructor=false)
change to exceptions (#1891)

Member CellBasedPdeHandler::SolvePdeAndWriteResultsToFile (unsigned samplingTimestepMultiple)

enable this (#1891)

enable the coarse PDE mesh to change size, e.g. for a growing domain (#630/#1891)

enable this in the case where a coarse PDE mesh is used

Worry about round-off errors (#1891)

Member CellBasedPdeHandler::WritePdeSolution (double time)
consider whether a different initial condition is more appropriate (#1891)

Member CellProperties::CalculateProperties ()
#1495 a horrible magic number but seems to work OK.

Member CmguiMeshWriter::WriteFiles ()
: EXCEPTION maybe...

Member ColumnDataReader::mVariablesToColumns
Change int to unsigned? (#991)

Member CryptSimulationBoundaryCondition::OutputCellPopulationBoundaryConditionParameters (out_stream &rParamsFile)
Can we abstract these XML out methods and do automatic indentation?

Class CvodeAdaptor
Add an option to just initialise once, and assume subsequent Solve calls are continuing from where we left off.

Member DeltaNotchOdeSystem::DeltaNotchOdeSystem (double meanDelta=0.0, std::vector< double > stateVariables=stdvector< double >())
extract model parameters as member variables

Member DeltaNotchOffLatticeSimulation::PostSolve ()
needs testing

Member DifferentialAdhesionPottsUpdateRule::mLabelledCellBoundaryAdhesionEnergyParameter
provide units

Member DifferentialAdhesionPottsUpdateRule::mLabelledCellCellAdhesionEnergyParameter
provide units

Member DifferentialAdhesionPottsUpdateRule::mLabelledCellLabelledCellAdhesionEnergyParameter
provide units

Member DistanceMapCalculator::SingleDistance (unsigned sourceNodeIndex, unsigned destinationNodeIndex)
#1414 premature termination when we find the correct one (parallel)

Member DistributedTetrahedralMesh::ComputeMeshPartitioning (AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > &rMeshReader, std::set< unsigned > &rNodesOwned, std::set< unsigned > &rHaloNodesOwned, std::set< unsigned > &rElementsOwned, std::vector< unsigned > &rProcessorsOffset)
#1293 add a timing event for the partitioning

Member DistributedTetrahedralMesh::ConstructFromMeshReader (AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > &rMeshReader)
#1289 assert the node is not considered both owned and halo-owned.

Member DistributedTetrahedralMesh::HaloNodeIterator
#1494, this iterator needs to be dereferenced twice because it is an STL iterator to a pointer.

Member DistributedTetrahedralMesh::PetscMatrixPartitioning (AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > &rMeshReader, std::set< unsigned > &rNodesOwned, std::vector< unsigned > &rProcessorsOffset)

#1216 change the number 54 below (row nonzero allocation) to be nonmagic

: This assembly is likely to generate many communications. Try to interleave other operations by executing them between Begin() and End().

do something smarter with iterators...

Member Electrodes::SwitchOff (double time)
remove magic number? (#1884)

Member Electrodes::SwitchOn (double time)
remove magic number? (#1884)

Member Element::CalculateXi (const ChastePoint< SPACE_DIM > &rTestPoint)

: #1361 ComputeContainingElements and related methods, and methods called by that down to here, should really take in const c_vector& rather than ChastePoints.

#1326 This method shouldn't need a new Jacobian inverse for every Xi

Member ExponentialMaterialLaw::Get_d2W_dI1 (double I1, double I2)

The name of this method should not include underscores.

Member ExponentialMaterialLaw::Get_d2W_dI1I2 (double I1, double I2)

The name of this method should not include underscores.

Member ExponentialMaterialLaw::Get_d2W_dI2 (double I1, double I2)

The name of this method should not include underscores.

Member ExponentialMaterialLaw::Get_dW_dI1 (double I1, double I2)

The name of this method should not include underscores.

Member ExponentialMaterialLaw::Get_dW_dI2 (double I1, double I2)

The name of this method should not include underscores.

Member ExtendedBidomainProblem::save (Archive &archive, const unsigned int version) const
#1369

Member ExtendedBidomainSolver::SetupLinearSystem (Vec currentSolution, bool computeMatrix)
turn these into exceptions somewhere else

Member FineCoarseMeshPair::ComputeCoarseElementForGivenPoint (ChastePoint< DIM > &rPoint, bool safeMode, unsigned boxForThisPoint)
: could possibly merge with ComputeFineElementAndWeightForGivenPoint(). Differences between the methods are: the other method uses fine mesh and fine mesh box, computes weights as well (and sets the element and weight in the vec), rather than returning the element, and that method saves information in mStatisticsCounters.

Member FineCoarseMeshPair::ComputeFineElementAndWeightForGivenPoint (ChastePoint< DIM > &rPoint, bool safeMode, unsigned boxForThisPoint, unsigned index)
: could possibly merge with ComputeCoarseElementForGivenPoint(). Difference between the methods are: this uses fine mesh and fine mesh box, computes weights as well (and sets the element and weight in the vec), rather than returning the element, and this method saves information in mStatisticsCounters.

Member GeneralisedLinearSpringForce::CalculateForceBetweenNodes (unsigned nodeAGlobalIndex, unsigned nodeBGlobalIndex, AbstractCellPopulation< DIM > &rCellPopulation)
#1884 Magic number: would "<= 1.0" do?

Member GeneralPlaneStimulusCellFactory::GeneralPlaneStimulusCellFactory (unsigned numEleAcross, double meshWidth, bool useMeshWidthAsMag=false, double stimulusMagnitude=-1e7, double stimulusDuration=0.5)

The useMeshWidth is temporary, while we are sorting out 3D stimulus. It is to be removed later (along with StimulusConvergenceTester) scale stimulus depending on space_step of elements

It looks like the value of the stimulus is specific to 3D

Class Hdf5DataReader
: magic number

Member Hdf5DataReader::MAX_DATASET_RANK
: define it once

Member Hdf5DataWriter::DATASET_DIMS
: define it once

Member Hdf5DataWriter::Hdf5DataWriter (DistributedVectorFactory &rVectorFactory, const std::string &rDirectory, const std::string &rBaseName, bool cleanDirectory=true, bool extendData=false)
1300 We can't set mDataFixedDimensionSize, because the information isn't in the input file. This means that checking the size of input vectors in PutVector and PutStripedVector is impossible.

Member Hdf5ToCmguiConverter::Hdf5ToCmguiConverter (std::string inputDirectory, std::string fileBaseName, AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *pMesh, bool hasBath=false)
What if the mesh has been scaled, translated or rotated?

Member Hdf5ToMeshalyzerConverter::Hdf5ToMeshalyzerConverter (std::string inputDirectory, std::string fileBaseName, AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *pMesh, bool usingOriginalNodeOrdering)
What if the mesh has been scaled, translated or rotated?

Member Hdf5ToVtkConverter::Hdf5ToVtkConverter (std::string inputDirectory, std::string fileBaseName, AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *pMesh, bool parallelVtk, bool usingOriginalNodeOrdering)
What if the mesh has been scaled, translated or rotated?

Member HeartConfig::GetCellHeterogeneities (std::vector< boost::shared_ptr< AbstractChasteRegion< DIM > > > &rCellHeterogeneityRegions, std::vector< double > &rScaleFactorGks, std::vector< double > &rScaleFactorIto, std::vector< double > &rScaleFactorGkr, std::vector< std::map< std::string, double > > *pParameterSettings)

- do we assume the vectors are initially empty? The returned std::vectors are all of the same length

There is no set method

Member HeartConfig::GetCheckpointSimulation () const
#1160 What code covers this? Should be removed ideally.

Member HeartConfig::GetCheckpointTimestep () const
#1160 What code covers this? Should be removed ideally.

Member HeartConfig::GetConductivityHeterogeneities (std::vector< boost::shared_ptr< AbstractChasteRegion< DIM > > > &conductivitiesHeterogeneityAreas, std::vector< c_vector< double, 3 > > &intraConductivities, std::vector< c_vector< double, 3 > > &extraConductivities) const

- do we assume the vectors are initially empty? The returned std::vectors are all of the same length

When this is implemented, then we require an example in ChasteParametersFullFormat.xml

Member HeartConfig::GetIonicModelRegions (std::vector< boost::shared_ptr< AbstractChasteRegion< DIM > > > &rDefinedRegions, std::vector< cp::ionic_model_selection_type > &rIonicModels) const
When this is implemented, then we require an example in ChasteParametersFullFormat.xml

Member HeartConfig::GetMaxCheckpointsOnDisk () const
#1160 What code covers this? Should be removed ideally.

Member HeartConfig::GetStimuli (std::vector< boost::shared_ptr< AbstractStimulusFunction > > &rStimuliApplied, std::vector< boost::shared_ptr< AbstractChasteRegion< DIM > > > &rStimulatedAreas) const

- do we assume the vectors are initially empty? The returned std::vectors are all of the same length

There is no set method

Member HeartConfig::HeartConfig ()
#1703 This defaults should be set in HeartConfigDefaults.hpp

Member HeartConfig::SetBathConductivity (double bathConductivity)
Is this used anywhere?

Member HeartConfig::SetBathMultipleConductivities (std::map< unsigned, double > bathConductivities)
: This implementation is temporary until we incorporate the bath heterogeneities to the XML schema

Member HeartConfig::SetMeshFileName (std::string meshPrefix, cp::media_type fibreDefinition=cpmedia_type::NoFibreOrientation)
There is no Get method

Member HeartConfig::SetSurfaceAreaToVolumeRatio (double ratio)
#1703 Think about adding this convenience method either copying the existing BathIds, resetting them out of the way, or making them empty...

Member HeartGeometryInformation::LEFT_VENTRICLE_WALL
#1703 Perhaps add these constants to HeartConfig...

Member Identifiable::TidyTemplatedExportIdentifier (std::string identifier) const
#1453 - implement the following if needed if (i != identifier.npos) { identifier.replace(i, s_comma.length(), s_dash); }

Member LinearSystem::LinearSystem (PetscInt lhsVectorSize, unsigned rowPreallocation=UINT_MAX)
: if we create a linear system object outside a cardiac solver, these are gonna be the default solver and preconditioner. Not consitent with ChasteDefaults.xml though...

Member LinearSystem::LinearSystem (Vec templateVector, unsigned rowPreallocation)
: if we create a linear system object outside a cardiac solver, these are gonna be the default solver and preconditioner. Not consitent with ChasteDefaults.xml though...

Member LinearSystem::LinearSystem (Vec residualVector, Mat jacobianMatrix)
: if we create a linear system object outside a cardiac solver, these are gonna be the default solver and preconditioner. Not consitent with ChasteDefaults.xml though...

Member LinearSystem::mOwnershipRangeLo
Verify claim that ownership range for Vec and Mat is same. This should only matter for efficiency if the claim is false.

Member LinearSystem::mpBlockDiagonalPC
: #1082 Create an abstract class for the preconditioners and use a single pointer

Member LinearSystem::ResetKspSolver ()
#1695 Store this number in a member variable.

Member LinearSystem::SetMatrixIsSymmetric (bool isSymmetric=true)
: shall we allow modifying the symmetry flag anytime?

Member LinearSystem::SetPcType (const char *pcType, boost::shared_ptr< std::vector< PetscInt > > pBathNodes=boostshared_ptr< std::vector< PetscInt > >())

: #1082 is this the way of defining a null pointer as the default value of pBathNodes?

: #1082 use a single pointer to abstract class

: #1082 use a single pointer to abstract class

: #1082 use a single pointer to abstract class

Member LinearSystem::Solve (Vec lhsGuess=NULL)

never tested in linalg component

Should it be compulsory for the caller to supply this and manage the memory?

#1695 Store this number in a member variable.

Member LinearSystem::~LinearSystem ()
Never tested in linalg component

Member MooneyRivlinMaterialLaw::Get_d2W_dI1 (double I1, double I2)

The name of this method should not include underscores.

Member MooneyRivlinMaterialLaw::Get_d2W_dI1I2 (double I1, double I2)

The name of this method should not include underscores.

Member MooneyRivlinMaterialLaw::Get_d2W_dI2 (double I1, double I2)

The name of this method should not include underscores.

Member MooneyRivlinMaterialLaw::Get_dW_dI1 (double I1, double I2)

The name of this method should not include underscores.

Member MooneyRivlinMaterialLaw::Get_dW_dI2 (double I1, double I2)

The name of this method should not include underscores.

Member MutableMesh::CheckIsVoronoi (double maxPenetration=0.0)
use ElementIterator here?

Member MutableMesh::RescaleMeshFromBoundaryNode (ChastePoint< 1 > updatedPoint, unsigned boundaryNodeIndex)
should unsigned GetNumBoundaryNodes() be overloaded too??

Member MutableVertexMesh::CheckForIntersections ()

This method currently assumes SPACE_DIM = 2 (see #866)

Member MutableVertexMesh::CheckForT1Swaps (VertexElementMap &rElementMap)

This method currently assumes SPACE_DIM = 2 (see #866)

use iterators to tidy this up

Member MutableVertexMesh::CheckForT2Swaps (VertexElementMap &rElementMap)

This method currently assumes SPACE_DIM = 2 (see #866)

Member MutableVertexMesh::DivideElement (VertexElement< ELEMENT_DIM, SPACE_DIM > *pElement, unsigned nodeAIndex, unsigned nodeBIndex, bool placeOriginalElementBelow=false)

This method currently assumes SPACE_DIM = 2 (see #866)

this could be more efficient

Member MutableVertexMesh::DivideElementAlongGivenAxis (VertexElement< ELEMENT_DIM, SPACE_DIM > *pElement, c_vector< double, SPACE_DIM > axisOfDivision, bool placeOriginalElementBelow=false)

This method currently assumes SPACE_DIM = 2 (see #866)

or should we move a and b apart, it may interfere with neighbouring edges? (see #1399)

Member MutableVertexMesh::DivideElementAlongShortAxis (VertexElement< ELEMENT_DIM, SPACE_DIM > *pElement, bool placeOriginalElementBelow=false)

This method currently assumes SPACE_DIM = 2 (see #866)

Member MutableVertexMesh::IdentifySwapType (Node< SPACE_DIM > *pNodeA, Node< SPACE_DIM > *pNodeB, VertexElementMap &rElementMap)

This method currently assumes SPACE_DIM = 2 (see #866)

Member MutableVertexMesh::PerformIntersectionSwap (Node< SPACE_DIM > *pNode, unsigned elementIndex)

This method currently assumes SPACE_DIM = 2 (see #866)

Member MutableVertexMesh::PerformT1Swap (Node< SPACE_DIM > *pNodeA, Node< SPACE_DIM > *pNodeB, std::set< unsigned > &rElementsContainingNodes)

This method currently assumes SPACE_DIM = 2 (see #866)

remove magic number? (#1884)

Member MutableVertexMesh::PerformT2Swap (VertexElement< ELEMENT_DIM, SPACE_DIM > &rElement)

This method currently assumes SPACE_DIM = 2 (see #866)

Member MutableVertexMesh::ReMesh (VertexElementMap &rElementMap)
put code for remeshing in 3D here - see #866 and the paper doi:10.1016/j.jtbi.2003.10.001

Member NodeBasedCellPopulation::AddCell (CellPtr pNewCell, const c_vector< double, DIM > &rCellDivisionVector, CellPtr pParentCell=CellPtr())
set the correct cell radius and properly test this (#1808)

Member OdeSystemInformation::mpInstance
see if using weak_ptr would work and give funkier semantics (automatically destroy the singleton when no ODE systems were using it)

Member OffLatticeSimulation::CalculateCellDivisionVector (CellPtr pParentCell)

Could remove this dynamic_cast by moving the code block below into AbstractCentreBasedCellPopulation::AddCell(), allowing it to be overruled by this method when overridden in subclasses. See also comment on #1093.

do something for vertex models here

Member OffLatticeSimulation::UpdateCellLocationsAndTopology ()
Is it faster to preallocate and have forces as a member variable? see #1890

Member OnLatticeSimulation::CalculateCellDivisionVector (CellPtr pParentCell)
do something for Potts models here

Class pack< void(T)>
Check if we need this on Boost>=1.38. Even if it's not needed there, we might still need it to load earlier archives.

Member ParallelColumnDataWriter::PutVectorStripe (int variableId, DistributedVector::Stripe &rStripe)
allow this to be a const-reference

Member PCLDUFactorisation::PCLDUFactorisationContext::PC_amg_A11
- don't create this every iteration but save it first time is needed.

Member PCLDUFactorisation::PCLDUFactorisationContext::PC_amg_A22
- don't create this every iteration but save it first time is needed.

Class PCTwoLevelsBlockDiagonal
: #1082 update this description

Member PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate (KSP &rKspObject, std::vector< PetscInt > &rBathNodes)

: #1082 won't work in parallel

: #1082 won't work in parallel

: #1082 assert size(x1) = size(x21) + size(x22)

: #1082 legacy, no need to use the references

: #1082 OK in parallel. Use as an example for the other two blocks

Member PetscTools::ReadPetscObject (Mat &rMat, const std::string &rOutputFileFullPath, Vec rParallelLayout=NULL)
: #1082 work out appropriate nz allocation.

Member PetscTools::SetupMat (Mat &rMat, int numRows, int numColumns, unsigned rowPreallocation, int numLocalRows=PETSC_DECIDE, int numLocalColumns=PETSC_DECIDE, bool ignoreOffProcEntries=true)
#1216 Fix the 0.7 magic number

Member PlaneStimulusCellFactory::CreateCardiacCellForTissueNode (unsigned node)
remove magic number? (#1884)

Member PolynomialMaterialLaw3d::Get_d2W_dI1 (double I1, double I2)

The name of this method should not include underscores.

Member PolynomialMaterialLaw3d::Get_d2W_dI1I2 (double I1, double I2)

The name of this method should not include underscores.

Member PolynomialMaterialLaw3d::Get_d2W_dI2 (double I1, double I2)

The name of this method should not include underscores.

Member PolynomialMaterialLaw3d::Get_dW_dI1 (double I1, double I2)

The name of this method should not include underscores.

Member PolynomialMaterialLaw3d::Get_dW_dI2 (double I1, double I2)

The name of this method should not include underscores.

Member PostProcessingWriter::WriteAboveThresholdDepolarisationFile (double threshold)

This method ought to be private and called by the WritePostProcessingFiles method if the user requests for it. This will be possible after modifying the schema and specifying Get and Set methods in HeartConfig to check whetehr the user wants this file or not

Member PottsBasedCellPopulation::CreateElementTessellation ()
implement this method (#1666)

Member PottsBasedCellPopulation::UpdateCellLocations (double dt)

#1942 this call will invalidate the state of the Random Number Generator

If this causes the element to have no nodes then flag the element and cell to be deleted

Member PottsMesh::DivideElement (PottsElement< DIM > *pElement, bool placeOriginalElementBelow=false)

not implemented in 3d yet

this could be more efficient

Member PottsMesh::GetCentroidOfElement (unsigned index)
This should probably be returning the nearest node

Member PottsMesh::GetSurfaceAreaOfElement (unsigned index)
not implemented in 3d yet

Class PottsMesh< DIM >::PottsElementIterator
This is the same as in AbstractTetrahedralMesh and VertexMesh- merge? (#1379)

Member PottsMeshReader::GetNextFaceData ()
Implement this method (#1663, #1377)

Member PottsMeshReader::GetNumFaces () const
Implement this method (#1663)

Member PottsMeshWriter::WriteFilesUsingMesh (PottsMesh< SPACE_DIM > &rMesh)

Mesh should be const (#1076)

Mesh should be const (#1663)

Member PropagationPropertiesCalculator::CalculateAllConductionVelocities (unsigned globalNearNodeIndex, unsigned globalFarNodeIndex, const double euclideanDistance)
remove magic number? (#1884)

Member PropagationPropertiesCalculator::CalculateConductionVelocity (unsigned globalNearNodeIndex, unsigned globalFarNodeIndex, const double euclideanDistance)
remove magic number? (#1884)

Member QuadraticMesh::HelperMethod1 (unsigned boundaryElemNode0, unsigned boundaryElemNode1, Element< DIM, DIM > *pElement, unsigned node0, unsigned node1, unsigned node2, unsigned &rOffset, bool &rReverse)

document these parameters

Member QuadraticMesh::HelperMethod2 (BoundaryElement< DIM-1, DIM > *pBoundaryElement, Element< DIM, DIM > *pElement, unsigned internalNode0, unsigned internalNode1, unsigned internalNode2, unsigned offset, bool reverse)

document these parameters

Member QuadraturePointsGroup::Get (unsigned elementIndex, unsigned quadIndex)

this method should be renamed rGet() as it returns a reference

Member QuadraturePointsGroup::Get (unsigned i)

this method should be renamed rGet() as it returns a reference

Member SurfaceAreaConstraintPottsUpdateRule::mDeformationEnergyParameter
provide units

Member SurfaceAreaConstraintPottsUpdateRule::mMatureCellTargetSurfaceArea
provide units #1829 Non-dimensional target surface area of a mature (fully-grown) cell, given in units of area of lattice site. Set to the default value 16 in the constructor.

Member SurfaceAreaConstraintPottsUpdateRule::SurfaceAreaConstraintPottsUpdateRule ()
Default values don't apply in 3D.

Member TetrahedralMesh::ImportFromMesher (MESHER_IO &mesherOutput, unsigned numberOfElements, int *elementList, unsigned numberOfFaces, int *faceList, int *edgeMarkerList)
#1545 ...)

Member TrianglesMeshReader::OpenNodeFile ()
Change name to OpenNodesFile for consistency with OpenElementsFile and OpenFacesFile? (#991)

Member TrianglesMeshWriter::WriteFiles ()

#1949

#1899 or #1949 Is this necessary?

#1949

#1949

#1949

Member VertexBasedCellPopulation::Update (bool hasHadBirthsOrDeaths=true)
this is a kludge to remove the cell once a T2Swap occurs this is not included in the dead cells counter. This should be included in the RemoveDeadCells method so the death is counted

Member VertexBasedCellPopulation::VertexBasedCellPopulation (MutableVertexMesh< DIM, DIM > &rMesh, std::vector< CellPtr > &rCells, bool deleteMesh=false, bool validate=true, const std::vector< unsigned > locationIndices=stdvector< unsigned >())
we should be able to do this, but mBoundaryNodes is not used in vertex meshes (#1558)

Member VertexMesh::GetCentroidOfElement (unsigned index)
Why isn't this just the centre of mass? (#1075)

Member VertexMesh::GetShortAxisOfElement (unsigned index)
remove magic number? (#1884)

Member VertexMesh::SolveBoundaryElementMapping (unsigned index) const
sort out boundary elements in a vertex mesh (#1263)

Member VertexMesh::VertexMesh (TetrahedralMesh< 3, 3 > &rMesh)

Merge with 2D Voronoi constructor? (#1075)

Member VertexMesh::VertexMesh (TetrahedralMesh< 2, 2 > &rMesh, bool isPeriodic=false)

Merge with 3D Voronoi constructor? (#1075)

Class VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator
This is the same as in AbstractTetrahedralMesh and PottsMesh - merge? (#1379)

Member VertexMeshReader::GetNextElementDataWithFaces ()
Store face orientations? (#1076/#1377)

Member VertexMeshReader::GetNextFaceData ()
Implement this method (#1076, #1377)

Member VertexMeshReader::GetNumEdges () const
Implement this method (#1076)

Member VertexMeshReader::GetNumFaces () const
Implement this method (#1076)

Member VertexMeshWriter::GetNextElement ()
Assert this method should only be called in 2D? (#1076/#1377)

Member VertexMeshWriter::GetNextElementWithFaces ()
Store face orientations? (#1076/#1377)

Member VertexMeshWriter::mpVtkUnstructedMesh
Merge into VtkMeshWriter (#1076)

Member VertexMeshWriter::WriteFiles ()
Store face orientations? (#1076/#1377)

Member VertexMeshWriter::WriteFilesUsingMesh (VertexMesh< ELEMENT_DIM, SPACE_DIM > &rMesh)

Mesh should be const (#1076)

Mesh should be const (#1076)

Member VolumeConstraintPottsUpdateRule::mDeformationEnergyParameter
provide units

Member VolumeConstraintPottsUpdateRule::VolumeConstraintPottsUpdateRule ()
Default values don't apply in 3D.

Member VtkMeshWriter::WriteFilesUsingMesh (AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > &rMesh, bool keepOriginalElementIndexing=true)

#1322 Mesh should really be const!

#1322 Mesh should be const

#1494 Do we need a barrier?

Generated on Thu Dec 22 13:00:23 2011 for Chaste by  doxygen 1.6.3