Todo List

Member AbstractCardiacPde::mDoOneCacheReplication
maybe we don't want the conventional assembly even in the first time step.

Member AbstractCardiacPde::AbstractCardiacPde (AbstractCardiacCellFactory< SPACE_DIM > *pCellFactory, const unsigned stride=1)
tidy up using extract method refactoring?

Member AbstractCardiacPde::AbstractCardiacPde (AbstractCardiacCellFactory< SPACE_DIM > *pCellFactory, const unsigned stride=1)
: Create a class defining constant tensors to be used when no fibre orientation is provided

Member AbstractCardiacProblem::Initialise ()
: Only considering <LoadMesh/> definition. Consider <Slab/> too

Member AbstractCardiacProblem::Initialise ()
We can't currently instantiate the parallel mesh in 1D

Member AbstractCardiacProblem::Initialise ()
Should this method be rolled into the Solve() method or the PreSolveChecks()?

Member AbstractCardiacProblem::CloseFilesAndPostProcess ()
: WriteFilesUsingMesh cannot handle ParallelTetrahedralMesh objects. Abort if so.

Class AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >
Documentation...

Member AbstractConvergenceTester::Converge (std::string nameOfTest)
This is a scarily long method; could do with some parts extracted?

Member AbstractConvergenceTester::Converge (std::string nameOfTest)
this is a sequential mesh

Member AbstractConvergenceTester::Converge (std::string nameOfTest)
#606 Added back in about r4058

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

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

Member AbstractElement::GetNodeLocation (unsigned localIndex) const
this used to return a reference to a c_vector, in which case a weird error arose where it compiled, ran and passed on some machines but failed the tests (bad_size errors) on another machine.

Member AbstractFunctionalCalculator::CalculateOnElement (Element< ELEMENT_DIM, SPACE_DIM > &rElement)
Check if we are using a mesh with cached Jacobians, if so, get it from the mesh rather than calling the calculate method.

Member AbstractLinearAssembler::Solve (Vec currentSolutionOrGuess=NULL, double currentTime=0.0)
move the asserts into PrepareForSolve()

Member AbstractNonlinearAssembler::StaticSolve (Vec currentSolutionOrGuess=NULL, double currentTime=0.0, bool assembleMatrix=true)
do something sensible if assembleMatrix is false.

Member AbstractStaticAssembler::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, bool assembleVector, bool assembleMatrix)
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 AbstractStaticAssembler::AssembleOnSurfaceElement (const BoundaryElement< ELEMENT_DIM-1, SPACE_DIM > &rSurfaceElement, c_vector< double, PROBLEM_DIM *ELEMENT_DIM > &rBSurfElem)
: add interpolation of u as well

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

Member AbstractStaticAssembler::SetNumberOfQuadraturePointsPerDimension (unsigned numQuadPoints)
: There may be a small memory leak if this occurs.)

Member AbstractTetrahedralElement::GetVolume (void)
Re-implement

Member AbstractTetrahedralElement::GetVolume (void)
We don't want to create new data, calculation and throw the answer away

Member AbstractTetrahedralElement::AbstractTetrahedralElement (unsigned index, const std::vector< Node< SPACE_DIM > * > &rNodes)
We don't want to create new data, calculation and throw the answer away

Member AbstractTissue::GenerateCellResults (unsigned locationIndex, bool outputCellMutationStates, bool outputCellTypes, bool outputCellVariables, bool outputCellCyclePhases, bool outputCellAncestors, std::vector< unsigned > &rCellTypeCounter, std::vector< unsigned > &rCellMutationStateCounter, std::vector< unsigned > &rCellCyclePhaseCounter)
Note that the output format of mpCellVariablesFile has changed, it now

Class AbstractUntemplatedConvergenceTester
Documentation...

Class AxisymmetricConductivityTensors< SPACE_DIM >
is the compatibility argument above really worthwhile? We could just inherit from AbstractConductivityTensors<3>. This would however require changes to the constructors of AbstractCardiacPde and BidomainPde.

Member AxisymmetricConductivityTensors::Init ()
there are extensive comments within the implementation of this method

Class BidomainWithBathRhsMatrixAssembler< DIM >
: make this class inherit from BidomainRhsMatrixAssembler

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

Member BoundaryConditionsContainer::Validate (AbstractMesh< ELEM_DIM, SPACE_DIM > *pMesh)
Might we want to throw an exception specifying which node failed? What about checking for multiple conditions at a point (might be intentional)?

Member BoundaryConditionsContainer::HasNeumannBoundaryCondition (const BoundaryElement< ELEM_DIM-1, SPACE_DIM > *pSurfaceElement, unsigned indexOfUnknown=0)
This is a horrendously inefficient fix. Perhaps have flag in element object?

Member CardiacElectroMechanicsProblem::WriteWatchedLocationData (double time, Vec voltage)
Rather inefficient

Member CardiacElectroMechanicsProblem::WriteWatchedLocationData (double time, Vec voltage)
:

Member ChasteCuboid::DoesContain (const ChastePoint< 3U > &rPointToCheck)
: use a templated definition of the method

Class DistanceMapCalculator< SPACE_DIM >
This class defines

Class Exception
Might we want this class to inherit from STL exceptions?

Member ImplicitCardiacMechanicsAssembler::AssembleOnElement (Element< DIM, DIM > &rElement, c_matrix< double, STENCIL_SIZE, STENCIL_SIZE > &rAElem, c_matrix< double, STENCIL_SIZE, STENCIL_SIZE > &rAElemPrecond, c_vector< double, STENCIL_SIZE > &rBElem, bool assembleResidual, bool assembleJacobian)
: what's all this about?

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::LinearSystem (PetscInt lhsVectorSize, MatType matType=(MatType) MATMPIAIJ)
: if we create a linear system object outside a cardiac assembler, these are gonna be the default solver and preconditioner. Not consitent with ChasteDefaults.xml though...

Member LinearSystem::LinearSystem (Vec templateVector)
: if we create a linear system object outside a cardiac assembler, 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 assembler, these are gonna be the default solver and preconditioner. Not consitent with ChasteDefaults.xml though...

Member LinearSystem::Solve (Vec lhsGuess=NULL)
Should it be compulsory for the caller to supply this and manage the memory?

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)

Class ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >
explicit instantiation

Member ParallelTetrahedralMesh::ConstructFromMeshReader (AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > &rMeshReader, bool cullInternalFaces=false)
: assert the node is not considered both owned and halo-owned. Remove continue statement few lines below then.

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

Member PetscTools::DumpPetscObject (Mat &rMat, const std::string &rOutputFileFullPath)
Think if there is an efficient compromise between this method and the full weight of ReplicatableVector (broadcast single values to all processors). How do you know who has the value?

Class QuarterStimulusCellFactory< CELL, DIM >
Documentation...

Class SimpleNonlinearEllipticAssembler< ELEMENT_DIM, SPACE_DIM >
[old todo, maybe not true anymore after refactor(?)] This class could do with some tidying. More (3D) tests are also needed. It probably needs re-writing to take advantage of parallel machines.

Member TissueCell::operator= (const TissueCell &otherCell)
Since cell cycle models don't have an operator=, this operator only copies data members of AbstractCellCycleModel when the model is copied (see #840)

Generated on Wed Mar 18 12:51:56 2009 for Chaste by  doxygen 1.5.5