Chaste Commit::1fd4e48e3990e67db148bc1bc4cf6991a0049d0c
MonodomainProblem< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <MonodomainProblem.hpp>

+ Inheritance diagram for MonodomainProblem< ELEMENT_DIM, SPACE_DIM >:
+ Collaboration diagram for MonodomainProblem< ELEMENT_DIM, SPACE_DIM >:

Public Member Functions

AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM > * CreateCardiacTissue ()
 
AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, 1 > * CreateSolver ()
 
 MonodomainProblem (AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM > *pCellFactory)
 
 MonodomainProblem ()
 
virtual ~MonodomainProblem ()
 
MonodomainTissue< ELEMENT_DIM, SPACE_DIM > * GetMonodomainTissue ()
 
void WriteInfo (double time)
 
virtual void DefineWriterColumns (bool extending)
 
virtual void WriteOneStep (double time, Vec voltageVec)
 
- Public Member Functions inherited from AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >
 AbstractCardiacProblem (AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM > *pCellFactory)
 
 AbstractCardiacProblem ()
 
virtual ~AbstractCardiacProblem ()
 
void Initialise ()
 
void SetNodesPerProcessorFilename (const std::string &rFilename)
 
void SetBoundaryConditionsContainer (BccType pBcc)
 
virtual void PreSolveChecks ()
 
virtual Vec CreateInitialCondition ()
 
void SetMesh (AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *pMesh)
 
void PrintOutput (bool rPrintOutput)
 
void SetWriteInfo (bool writeInfo=true)
 
Vec GetSolution ()
 
DistributedVector GetSolutionDistributedVector ()
 
double GetCurrentTime ()
 
AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > & rGetMesh ()
 
AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM > * GetTissue ()
 
void Solve ()
 
void CloseFilesAndPostProcess ()
 
void DefineExtraVariablesWriterColumns (bool extending)
 
void WriteExtraVariablesOneStep ()
 
bool InitialiseWriter ()
 
void SetUseHdf5DataWriterCache (bool useCache=true)
 
void SetHdf5DataWriterTargetChunkSizeAndAlignment (hsize_t size)
 
void SetOutputNodes (std::vector< unsigned > &rNodesToOutput)
 
Hdf5DataReader GetDataReader ()
 
virtual void AtBeginningOfTimestep (double time)
 
virtual void OnEndOfTimestep (double time)
 
virtual void SetUpAdditionalStoppingTimes (std::vector< double > &rAdditionalStoppingTimes)
 
void SetUseTimeAdaptivityController (bool useAdaptivity, AbstractTimeAdaptivityController *pController=NULL)
 
template<class Archive >
void LoadExtraArchive (Archive &archive, unsigned version)
 
virtual bool GetHasBath ()
 
virtual void SetElectrodes ()
 
void AddOutputModifier (boost::shared_ptr< AbstractOutputModifier > pOutputModifier)
 
- Public Member Functions inherited from AbstractUntemplatedCardiacProblem
virtual ~AbstractUntemplatedCardiacProblem ()
 

Protected Attributes

MonodomainTissue< ELEMENT_DIM, SPACE_DIM > * mpMonodomainTissue
 
- Protected Attributes inherited from AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >
std::string mMeshFilename
 
bool mAllocatedMemoryForMesh
 
bool mWriteInfo
 
bool mPrintOutput
 
std::vector< unsignedmNodesToOutput
 
unsigned mVoltageColumnId
 
std::vector< unsignedmExtraVariablesId
 
unsigned mTimeColumnId
 
unsigned mNodeColumnId
 
AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM > * mpCardiacTissue
 
BccType mpBoundaryConditionsContainer
 
BccType mpDefaultBoundaryConditionsContainer
 
AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM > * mpSolver
 
AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM > * mpCellFactory
 
AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * mpMesh
 
Vec mSolution
 
double mCurrentTime
 
AbstractTimeAdaptivityControllermpTimeAdaptivityController
 
Hdf5DataWritermpWriter
 
bool mUseHdf5DataWriterCache
 
hsize_t mHdf5DataWriterChunkSizeAndAlignment
 
std::vector< boost::shared_ptr< AbstractOutputModifier > > mOutputModifiers
 

Private Member Functions

template<class Archive >
void serialize (Archive &archive, const unsigned int version)
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Protected Member Functions inherited from AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >
virtual void CreateMeshFromHeartConfig ()
 

Detailed Description

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
class MonodomainProblem< ELEMENT_DIM, SPACE_DIM >

Class which specifies and solves a monodomain problem.

Definition at line 54 of file MonodomainProblem.hpp.

Constructor & Destructor Documentation

◆ MonodomainProblem() [1/2]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
MonodomainProblem< ELEMENT_DIM, SPACE_DIM >::MonodomainProblem ( AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM > *  pCellFactory)

Constructor

Parameters
pCellFactoryUser defined cell factory which shows how the pde should create cells.

Definition at line 80 of file MonodomainProblem.cpp.

◆ MonodomainProblem() [2/2]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
MonodomainProblem< ELEMENT_DIM, SPACE_DIM >::MonodomainProblem ( )

Constructor just used for archiving

Definition at line 87 of file MonodomainProblem.cpp.

◆ ~MonodomainProblem()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
MonodomainProblem< ELEMENT_DIM, SPACE_DIM >::~MonodomainProblem ( )
virtual

Destructor

Definition at line 94 of file MonodomainProblem.cpp.

Member Function Documentation

◆ CreateCardiacTissue()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM > * MonodomainProblem< ELEMENT_DIM, SPACE_DIM >::CreateCardiacTissue ( )
virtual
Returns
Created monodomain tissue.

Implements AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >.

Definition at line 45 of file MonodomainProblem.cpp.

References HeartConfig::Instance().

◆ CreateSolver()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, 1 > * MonodomainProblem< ELEMENT_DIM, SPACE_DIM >::CreateSolver ( )
virtual
Returns
Created suitable solver for monodomain problems.

Implements AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >.

Definition at line 52 of file MonodomainProblem.cpp.

References HeartConfig::Instance().

◆ DefineWriterColumns()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MonodomainProblem< ELEMENT_DIM, SPACE_DIM >::DefineWriterColumns ( bool  extending)
virtual

Define what variables are written to the primary results file.

Parameters
extendingwhether we are extending an existing results file

Reimplemented from AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >.

Definition at line 125 of file MonodomainProblem.cpp.

References AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::DefineExtraVariablesWriterColumns(), and AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::DefineWriterColumns().

◆ GetMonodomainTissue()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
MonodomainTissue< ELEMENT_DIM, SPACE_DIM > * MonodomainProblem< ELEMENT_DIM, SPACE_DIM >::GetMonodomainTissue ( )
Returns
the monodomain PDE

Definition at line 99 of file MonodomainProblem.cpp.

◆ serialize()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
template<class Archive >
void MonodomainProblem< ELEMENT_DIM, SPACE_DIM >::serialize ( Archive &  archive,
const unsigned int  version 
)
inlineprivate

Archive the member variables.

Parameters
archive
version

Definition at line 66 of file MonodomainProblem.hpp.

References MonodomainProblem< ELEMENT_DIM, SPACE_DIM >::mpMonodomainTissue.

◆ WriteInfo()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MonodomainProblem< ELEMENT_DIM, SPACE_DIM >::WriteInfo ( double  time)
virtual

Print out time and max/min voltage values at current time.

Parameters
timethe current time

Implements AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >.

Definition at line 106 of file MonodomainProblem.cpp.

References PetscTools::AmMaster(), and CHASTE_PETSC_NULLPTR.

◆ WriteOneStep()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void MonodomainProblem< ELEMENT_DIM, SPACE_DIM >::WriteOneStep ( double  time,
Vec  voltageVec 
)
virtual

Write one timestep of output data to the primary results file. Adds the voltage to the results.

Parameters
timethe current time
voltageVecthe solution vector to write

Implements AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >.

Definition at line 132 of file MonodomainProblem.cpp.

References AbstractCardiacProblem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::WriteExtraVariablesOneStep().

Friends And Related Symbol Documentation

◆ boost::serialization::access

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 58 of file MonodomainProblem.hpp.

Member Data Documentation

◆ mpMonodomainTissue

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
MonodomainTissue<ELEMENT_DIM,SPACE_DIM>* MonodomainProblem< ELEMENT_DIM, SPACE_DIM >::mpMonodomainTissue
protected

The monodomain tissue object.

Definition at line 74 of file MonodomainProblem.hpp.

Referenced by MonodomainProblem< ELEMENT_DIM, SPACE_DIM >::serialize().


The documentation for this class was generated from the following files: