#include <ExtendedBidomainProblem.hpp>
Inherits AbstractCardiacProblem< DIM, DIM, 3 >.
Class which specifies and solves an extended bidomain problem.
See Buist ML, Poh YC. An Extended Bidomain Framework Incorporating Multiple Cell Types. Biophysical Journal, Volume 99, Issue 1, 13-18, 7 July 2010.
Briefly, the problems consits of 3 equations, 2 parabolic and one elliptic. The space is divided in 3 compartments:
The three unkowns are the the intracellular potential of the two cells and the extracellular potential. This class allows the user to specify the parameters specific for the these simulations and also different intracellular conductivities for the two cells.
The solution vector used for calculations is arranged as a striped vector with this order:
However, the OUTPUT is rearranged as follows. The rearrangament occurs AFTER the solution is calculated:
Unlike a bidomain problem, a node-wise extracellular stimulus can be set up in extended bidomain problems in absence of a bath. This is done by setting a stimulus factory via the method SetExtracellularStimulusFactory. See documentation of AbstractStimulusFactory and ElectrodesStimulusFactory for more details. Note that compatibility conditions will be taken care of by this class by calling specific methods within the stimulus factory class.
Definition at line 84 of file ExtendedBidomainProblem.hpp.
ExtendedBidomainProblem< DIM >::ExtendedBidomainProblem | ( | AbstractCardiacCellFactory< DIM > * | pCellFactory, | |
AbstractCardiacCellFactory< DIM > * | pSecondCellFactory, | |||
bool | hasBath = false | |||
) | [inline] |
Constructor
pCellFactory | User defined cell factory which shows how the pde should create cells. | |
pSecondCellFactory | User defined cell factory which shows how the pde should create cells. | |
hasBath | Whether the simulation has a bath (if this is true, all elements with attribute = 1 will be set to be bath elements (the rest should have attribute = 0)). |
Definition at line 41 of file ExtendedBidomainProblem.cpp.
References ExtendedBidomainProblem< DIM >::mFixedExtracellularPotentialNodes.
ExtendedBidomainProblem< DIM >::ExtendedBidomainProblem | ( | ) | [inline] |
Archiving constructor
Definition at line 58 of file ExtendedBidomainProblem.cpp.
References ExtendedBidomainProblem< DIM >::mFixedExtracellularPotentialNodes.
ExtendedBidomainProblem< DIM >::~ExtendedBidomainProblem | ( | ) | [inline] |
Destructor
Definition at line 259 of file ExtendedBidomainProblem.cpp.
References ExtendedBidomainProblem< DIM >::mpExtracellularStimulusFactory, and ExtendedBidomainProblem< DIM >::mUserSuppliedExtracellularStimulus.
void ExtendedBidomainProblem< DIM >::AnalyseMeshForBath | ( | ) | [protected] |
Annotate bath nodes with the correct region code, if a bath is present. Will throw if mHasBath is set but no bath is present in the mesh.
AbstractCardiacTissue< DIM > * ExtendedBidomainProblem< DIM >::CreateCardiacTissue | ( | ) | [inline, protected, virtual] |
Create our bidomain PDE object
Implements AbstractCardiacProblem< DIM, DIM, 3 >.
Definition at line 137 of file ExtendedBidomainProblem.cpp.
References ExtendedBidomainTissue< SPACE_DIM >::CreateGGapConductivities(), ExtendedBidomainTissue< SPACE_DIM >::CreateIntracellularConductivityTensorSecondCell(), HeartConfig::GetIntracellularConductivities(), HeartConfig::Instance(), ExtendedBidomainProblem< DIM >::mAmFirstCell, ExtendedBidomainProblem< DIM >::mAmGap, ExtendedBidomainProblem< DIM >::mAmSecondCell, ExtendedBidomainProblem< DIM >::mCmFirstCell, ExtendedBidomainProblem< DIM >::mCmSecondCell, ExtendedBidomainProblem< DIM >::mGGap, ExtendedBidomainProblem< DIM >::mGgapHeterogeneityRegions, ExtendedBidomainProblem< DIM >::mGgapHeterogenousValues, ExtendedBidomainProblem< DIM >::mIntracellularConductivitiesSecondCell, AbstractCardiacProblem< DIM, DIM, 3 >::mpCellFactory, ExtendedBidomainProblem< DIM >::mpExtendedBidomainTissue, ExtendedBidomainProblem< DIM >::mpExtracellularStimulusFactory, AbstractCardiacProblem< DIM, DIM, 3 >::mpMesh, ExtendedBidomainProblem< DIM >::mpSecondCellFactory, ExtendedBidomainProblem< DIM >::mUserHasSetBidomainValuesExplicitly, ExtendedBidomainProblem< DIM >::mUserSpecifiedSecondCellConductivities, ExtendedBidomainProblem< DIM >::mUserSuppliedExtracellularStimulus, ExtendedBidomainProblem< DIM >::ProcessExtracellularStimulus(), ExtendedBidomainTissue< SPACE_DIM >::SetAmFirstCell(), ExtendedBidomainTissue< SPACE_DIM >::SetAmGap(), ExtendedBidomainTissue< SPACE_DIM >::SetAmSecondCell(), ExtendedBidomainTissue< SPACE_DIM >::SetCmFirstCell(), ExtendedBidomainTissue< SPACE_DIM >::SetCmSecondCell(), ExtendedBidomainTissue< SPACE_DIM >::SetGGap(), ExtendedBidomainTissue< SPACE_DIM >::SetGgapHeterogeneities(), ExtendedBidomainTissue< SPACE_DIM >::SetIntracellularConductivitiesSecondCell(), AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM >::SetMesh(), and ExtendedBidomainTissue< SPACE_DIM >::SetUserSuppliedExtracellularStimulus().
Vec ExtendedBidomainProblem< DIM >::CreateInitialCondition | ( | ) | [inline, protected, virtual] |
Create normal initial condition but overwrite V to zero for bath nodes, if there are any.
Reimplemented from AbstractCardiacProblem< DIM, DIM, 3 >.
Definition at line 74 of file ExtendedBidomainProblem.cpp.
References DistributedVector::Begin(), DistributedVectorFactory::CreateDistributedVector(), DistributedVectorFactory::CreateVec(), DistributedVector::End(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::GetCardiacCell(), ExtendedBidomainTissue< SPACE_DIM >::GetCardiacSecondCell(), AbstractCardiacCell::GetVoltage(), ExtendedBidomainProblem< DIM >::mpExtendedBidomainTissue, AbstractCardiacProblem< DIM, DIM, 3 >::mpMesh, and DistributedVector::Restore().
AbstractDynamicLinearPdeSolver< DIM, DIM, 3 > * ExtendedBidomainProblem< DIM >::CreateSolver | ( | ) | [inline, protected, virtual] |
Create a suitable bidomain solver
Implements AbstractCardiacProblem< DIM, DIM, 3 >.
Definition at line 224 of file ExtendedBidomainProblem.cpp.
References ExtendedBidomainProblem< DIM >::mFixedExtracellularPotentialNodes, ExtendedBidomainProblem< DIM >::mHasBath, AbstractCardiacProblem< DIM, DIM, 3 >::mpBoundaryConditionsContainer, ExtendedBidomainProblem< DIM >::mpExtendedBidomainTissue, AbstractCardiacProblem< DIM, DIM, 3 >::mpMesh, ExtendedBidomainProblem< DIM >::mpSolver, ExtendedBidomainProblem< DIM >::mRowForAverageOfPhiZeroed, AbstractExtendedBidomainSolver< ELEMENT_DIM, SPACE_DIM >::SetFixedExtracellularPotentialNodes(), and AbstractExtendedBidomainSolver< ELEMENT_DIM, SPACE_DIM >::SetRowForAverageOfPhiZeroed().
void ExtendedBidomainProblem< DIM >::DefineWriterColumns | ( | bool | extending | ) | [inline, virtual] |
Define what variables are written to the primary results file. Hardcoded variable names are "V", "V_2" and "Phi_e" for the three variables. If you request any extra variable (via HeartConfig), this method will also define the extra variables by calling a method in the parent class.
extending | whether we are extending an existing results file |
Reimplemented from AbstractCardiacProblem< DIM, DIM, 3 >.
Definition at line 342 of file ExtendedBidomainProblem.cpp.
References AbstractCardiacProblem< DIM, DIM, 3 >::DefineExtraVariablesWriterColumns(), Hdf5DataWriter::DefineFixedDimension(), Hdf5DataWriter::DefineUnlimitedDimension(), Hdf5DataWriter::DefineVariable(), Hdf5DataWriter::GetVariableByName(), AbstractCardiacProblem< DIM, DIM, 3 >::mNodesToOutput, AbstractCardiacProblem< DIM, DIM, 3 >::mpMesh, AbstractCardiacProblem< DIM, DIM, 3 >::mpWriter, ExtendedBidomainProblem< DIM >::mVariablesIDs, ExtendedBidomainProblem< DIM >::mVoltageColumnId_Phie, ExtendedBidomainProblem< DIM >::mVoltageColumnId_Vm1, and ExtendedBidomainProblem< DIM >::mVoltageColumnId_Vm2.
ExtendedBidomainTissue< DIM > * ExtendedBidomainProblem< DIM >::GetExtendedBidomainTissue | ( | ) | [inline] |
Access the tissue object. Can only be called after Initialise()
Definition at line 305 of file ExtendedBidomainProblem.cpp.
References ExtendedBidomainProblem< DIM >::mpExtendedBidomainTissue.
bool ExtendedBidomainProblem< DIM >::GetHasBath | ( | ) | [inline, virtual] |
Return whether this is a problem with bath or not
Reimplemented from AbstractCardiacProblem< DIM, DIM, 3 >.
Definition at line 433 of file ExtendedBidomainProblem.cpp.
References ExtendedBidomainProblem< DIM >::mHasBath.
void ExtendedBidomainProblem< DIM >::load | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Load the member variables from an archive.
archive | ||
version |
Reimplemented from AbstractCardiacProblem< DIM, DIM, 3 >.
Definition at line 191 of file ExtendedBidomainProblem.hpp.
References DistributedVector::Begin(), DistributedVector::End(), ArchiveLocationInfo::GetArchiveDirectory(), ArchiveLocationInfo::GetArchiveRelativePath(), Hdf5DataReader::GetVariableOverNodes(), FileFinder::IsAbsolutePath(), ExtendedBidomainProblem< DIM >::mAmFirstCell, ExtendedBidomainProblem< DIM >::mAmGap, ExtendedBidomainProblem< DIM >::mAmSecondCell, ExtendedBidomainProblem< DIM >::mApplyAveragePhieZeroConstraintAfterSolving, ExtendedBidomainProblem< DIM >::mCmFirstCell, ExtendedBidomainProblem< DIM >::mCmSecondCell, ExtendedBidomainProblem< DIM >::mFixedExtracellularPotentialNodes, ExtendedBidomainProblem< DIM >::mGGap, ExtendedBidomainProblem< DIM >::mGgapHeterogeneityRegions, ExtendedBidomainProblem< DIM >::mGgapHeterogenousValues, ExtendedBidomainProblem< DIM >::mHasBath, ExtendedBidomainProblem< DIM >::mIntracellularConductivitiesSecondCell, ExtendedBidomainProblem< DIM >::mpExtendedBidomainTissue, AbstractCardiacProblem< DIM, DIM, 3 >::mpMesh, ExtendedBidomainProblem< DIM >::mRowForAverageOfPhiZeroed, AbstractCardiacProblem< DIM, DIM, 3 >::mSolution, ExtendedBidomainProblem< DIM >::mUserHasSetBidomainValuesExplicitly, ExtendedBidomainProblem< DIM >::mUserSpecifiedSecondCellConductivities, ExtendedBidomainProblem< DIM >::mUserSuppliedExtracellularStimulus, ExtendedBidomainProblem< DIM >::mVariablesIDs, and DistributedVector::Restore().
void ExtendedBidomainProblem< DIM >::PreSolveChecks | ( | ) | [inline, virtual] |
Performs a series of checks before solving. Checks that a suitable method of resolving the singularity is being used.
Reimplemented from AbstractCardiacProblem< DIM, DIM, 3 >.
Definition at line 413 of file ExtendedBidomainProblem.cpp.
References EXCEPTION, HeartConfig::GetUseRelativeTolerance(), HeartConfig::Instance(), ExtendedBidomainProblem< DIM >::mFixedExtracellularPotentialNodes, and ExtendedBidomainProblem< DIM >::mRowForAverageOfPhiZeroed.
void ExtendedBidomainProblem< DIM >::ProcessExtracellularStimulus | ( | ) | [inline, protected] |
Small helper tidy-up method that incorporates everything related to the initialisation of the extracellular stimulus.
It checks whether there is any extracellular stimulus, If not, it creates a one (with default implementation to zero stimulus). In any case, it passes the mesh into the stimulus, calls the SetCompatibleExtracellularStimulus method and also checks if there are any grounded nodes. If so, it calls SetFixedExtracellularPotentialNodes.
Definition at line 101 of file ExtendedBidomainProblem.cpp.
References PetscTools::Barrier(), AbstractStimulusFactory< ELEMENT_DIM, SPACE_DIM >::GetRegionsToBeGrounded(), ExtendedBidomainProblem< DIM >::mpExtracellularStimulusFactory, AbstractCardiacProblem< DIM, DIM, 3 >::mpMesh, ExtendedBidomainProblem< DIM >::mUserSuppliedExtracellularStimulus, AbstractStimulusFactory< ELEMENT_DIM, SPACE_DIM >::SetCompatibleExtracellularStimulus(), ExtendedBidomainProblem< DIM >::SetFixedExtracellularPotentialNodes(), and AbstractStimulusFactory< ELEMENT_DIM, SPACE_DIM >::SetMesh().
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue().
void ExtendedBidomainProblem< DIM >::save | ( | Archive & | archive, | |
const unsigned int | version | |||
) | const [inline, private] |
Save the member variables to an archive.
archive | ||
version |
Reimplemented from AbstractCardiacProblem< DIM, DIM, 3 >.
Definition at line 98 of file ExtendedBidomainProblem.hpp.
References DistributedVector::Begin(), DistributedVector::End(), ArchiveLocationInfo::GetArchiveDirectory(), ArchiveLocationInfo::GetArchiveRelativePath(), HeartConfig::Instance(), ExtendedBidomainProblem< DIM >::mAmFirstCell, ExtendedBidomainProblem< DIM >::mAmGap, ExtendedBidomainProblem< DIM >::mAmSecondCell, ExtendedBidomainProblem< DIM >::mApplyAveragePhieZeroConstraintAfterSolving, ExtendedBidomainProblem< DIM >::mCmFirstCell, ExtendedBidomainProblem< DIM >::mCmSecondCell, ExtendedBidomainProblem< DIM >::mFixedExtracellularPotentialNodes, ExtendedBidomainProblem< DIM >::mGGap, ExtendedBidomainProblem< DIM >::mGgapHeterogeneityRegions, ExtendedBidomainProblem< DIM >::mGgapHeterogenousValues, ExtendedBidomainProblem< DIM >::mHasBath, ExtendedBidomainProblem< DIM >::mIntracellularConductivitiesSecondCell, ExtendedBidomainProblem< DIM >::mpExtendedBidomainTissue, AbstractCardiacProblem< DIM, DIM, 3 >::mpMesh, ExtendedBidomainProblem< DIM >::mRowForAverageOfPhiZeroed, AbstractCardiacProblem< DIM, DIM, 3 >::mSolution, ExtendedBidomainProblem< DIM >::mUserHasSetBidomainValuesExplicitly, ExtendedBidomainProblem< DIM >::mUserSpecifiedSecondCellConductivities, ExtendedBidomainProblem< DIM >::mUserSuppliedExtracellularStimulus, ExtendedBidomainProblem< DIM >::mVariablesIDs, and DistributedVector::Restore().
void ExtendedBidomainProblem< DIM >::SetExtendedBidomainParameters | ( | double | Am1, | |
double | Am2, | |||
double | AmGap, | |||
double | Cm1, | |||
double | Cm2, | |||
double | Ggap | |||
) | [inline] |
Allow the user to specify different values for the bidomain parameters in the extened bidomain framework. This method switches the mUserHasSetBidomainValuesExplicitly to true and tells the problem to overwrite the corresponding parameters in HeartConfig. It needs to be called before Initialise() to have any effect.
Am1 | value of the surface-to-volume ratio for the first cell | |
Am2 | value of the surface-to-volume ratio for the second cell | |
AmGap | value of the surface-to-volume ratio for the gap junction | |
Cm1 | value of the capacitance for the first cell | |
Cm2 | value of the capacitance for the second cell | |
Ggap | value, in mS of the gap junction conductance |
Definition at line 193 of file ExtendedBidomainProblem.cpp.
References ExtendedBidomainProblem< DIM >::mAmFirstCell, ExtendedBidomainProblem< DIM >::mAmGap, ExtendedBidomainProblem< DIM >::mAmSecondCell, ExtendedBidomainProblem< DIM >::mCmFirstCell, ExtendedBidomainProblem< DIM >::mCmSecondCell, ExtendedBidomainProblem< DIM >::mGGap, and ExtendedBidomainProblem< DIM >::mUserHasSetBidomainValuesExplicitly.
void ExtendedBidomainProblem< DIM >::SetExtracellularStimulusFactory | ( | AbstractStimulusFactory< DIM > * | pFactory | ) | [inline] |
Sets a stimulus factory as the extracellular one.
pFactory | the factory to be set. |
Definition at line 217 of file ExtendedBidomainProblem.cpp.
References ExtendedBidomainProblem< DIM >::mpExtracellularStimulusFactory, and ExtendedBidomainProblem< DIM >::mUserSuppliedExtracellularStimulus.
void ExtendedBidomainProblem< DIM >::SetFixedExtracellularPotentialNodes | ( | std::vector< unsigned > | nodes | ) | [inline] |
Set the nodes at which phi_e (the extracellular potential) is fixed to zero. This does not necessarily have to be called. If it is not, phi_e is only defined up to a constant.
nodes | the nodes to be fixed. |
Definition at line 278 of file ExtendedBidomainProblem.cpp.
References ExtendedBidomainProblem< DIM >::mFixedExtracellularPotentialNodes.
Referenced by ExtendedBidomainProblem< DIM >::ProcessExtracellularStimulus().
void ExtendedBidomainProblem< DIM >::SetGgapHeterogeneities | ( | std::vector< boost::shared_ptr< AbstractChasteRegion< DIM > > > & | rGgapHeterogeneityRegions, | |
std::vector< double > & | rGgapValues | |||
) | [inline] |
Set the values of mCellHeterogeneityRegions and mGgapValues for the heterogeneities of Ggap. It just sets the member variables here that will later be passed on to the tissue object. It also checks that the two have the same size. Throws otherwise.
rGgapHeterogeneityRegions | a vector of heterogeneity regions for gap junctions | |
rGgapValues | a vector (of the same size as rGgapHeterogeneityRegions) with the respective values of Ggap for every region. |
Definition at line 206 of file ExtendedBidomainProblem.cpp.
References EXCEPTION, ExtendedBidomainProblem< DIM >::mGgapHeterogeneityRegions, and ExtendedBidomainProblem< DIM >::mGgapHeterogenousValues.
void ExtendedBidomainProblem< DIM >::SetHasBath | ( | bool | hasBath | ) | [inline] |
Set whether there is a bath or not. Useful for covering exceptions only (for example if bath problems are not supported and there is no method to analyse the mesh for a bath).
hasBath | whether we want the problem to have bath or not. |
Definition at line 440 of file ExtendedBidomainProblem.cpp.
References ExtendedBidomainProblem< DIM >::mHasBath.
void ExtendedBidomainProblem< DIM >::SetIntracellularConductivitiesForSecondCell | ( | c_vector< double, DIM > | conductivities | ) | [inline] |
Allow the user to specify different values for the conductivities of the second cell type
conductivities | : the intracellular conductivities of the second cell that you wish to set |
Definition at line 268 of file ExtendedBidomainProblem.cpp.
References ExtendedBidomainProblem< DIM >::mIntracellularConductivitiesSecondCell, and ExtendedBidomainProblem< DIM >::mUserSpecifiedSecondCellConductivities.
void ExtendedBidomainProblem< DIM >::SetNodeForAverageOfPhiZeroed | ( | unsigned | node | ) | [inline] |
Set which row of the linear system should be used to enforce the condition that the average of phi_e is zero. If not called, this condition will not be used.
node | the mesh node index giving the row at which to impose the constraint |
Definition at line 291 of file ExtendedBidomainProblem.cpp.
References ExtendedBidomainProblem< DIM >::mRowForAverageOfPhiZeroed.
void ExtendedBidomainProblem< DIM >::WriteInfo | ( | double | time | ) | [inline, virtual] |
Print out time and max/min of the intracellular potential of the two cells and phi_e values at current time.
time | current time. |
Implements AbstractCardiacProblem< DIM, DIM, 3 >.
Definition at line 312 of file ExtendedBidomainProblem.cpp.
References PetscTools::AmMaster(), and AbstractCardiacProblem< DIM, DIM, 3 >::mSolution.
void ExtendedBidomainProblem< DIM >::WriteOneStep | ( | double | time, | |
Vec | voltageVec | |||
) | [inline, virtual] |
Write one timestep of output data to the primary results file. The solution of the problem is in term of Phi_i_1, Phi_i_2 and Phi_e (i.e., intracellular potential of the two cells plus extracellular potential). This method works out the transmembrane potential of the two cells (V and V_2) calculated as V = Phi_i_1 - Phi_e and V_2 = Phi_i_2-Phi_e. It then writes to file V, V_2 and Phi_e.
It also writes any extra variable (defined by HeartConfig). Note that it does the job by calling the method in the parent class. This implies that the extra variable must be in the first cell (not the second) because the generic method to write extra variables only looks into the first cell factory. TODO: write a specific method for extended problems that looks in both cell factories
time | the current time | |
voltageVec | the solution vector to write |
Implements AbstractCardiacProblem< DIM, DIM, 3 >.
Definition at line 377 of file ExtendedBidomainProblem.cpp.
References DistributedVector::Begin(), DistributedVector::End(), AbstractCardiacProblem< DIM, DIM, 3 >::mpMesh, AbstractCardiacProblem< DIM, DIM, 3 >::mpWriter, ExtendedBidomainProblem< DIM >::mVariablesIDs, Hdf5DataWriter::PutStripedVector(), Hdf5DataWriter::PutUnlimitedVariable(), DistributedVector::Restore(), and AbstractCardiacProblem< DIM, DIM, 3 >::WriteExtraVariablesOneStep().
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractCardiacProblem< DIM, DIM, 3 >.
Definition at line 87 of file ExtendedBidomainProblem.hpp.
double ExtendedBidomainProblem< DIM >::mAmFirstCell [protected] |
Am for the first cell, set by the user and, if so, set into the PDE
Definition at line 300 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue(), ExtendedBidomainProblem< DIM >::load(), ExtendedBidomainProblem< DIM >::save(), and ExtendedBidomainProblem< DIM >::SetExtendedBidomainParameters().
double ExtendedBidomainProblem< DIM >::mAmGap [protected] |
Am for the gap junctions, set by the user and, if so, set into the PDE
Definition at line 304 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue(), ExtendedBidomainProblem< DIM >::load(), ExtendedBidomainProblem< DIM >::save(), and ExtendedBidomainProblem< DIM >::SetExtendedBidomainParameters().
double ExtendedBidomainProblem< DIM >::mAmSecondCell [protected] |
Am for the second cell, set by the user and, if so, set into the PDE
Definition at line 302 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue(), ExtendedBidomainProblem< DIM >::load(), ExtendedBidomainProblem< DIM >::save(), and ExtendedBidomainProblem< DIM >::SetExtendedBidomainParameters().
unsigned ExtendedBidomainProblem< DIM >::mApplyAveragePhieZeroConstraintAfterSolving [protected] |
An alternative method for constraining the solution and resolving singularity. Singular system is solved and THEN the constraint is applied on the phi_e (after calculating.
This variable is checked within the specialization of "OnEndOfTimestep" method. False by default as initialised in the constructor.
Definition at line 339 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::load(), and ExtendedBidomainProblem< DIM >::save().
double ExtendedBidomainProblem< DIM >::mCmFirstCell [protected] |
Cm for the first cell, set by the user and, if so, set into the PDE
Definition at line 306 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue(), ExtendedBidomainProblem< DIM >::load(), ExtendedBidomainProblem< DIM >::save(), and ExtendedBidomainProblem< DIM >::SetExtendedBidomainParameters().
double ExtendedBidomainProblem< DIM >::mCmSecondCell [protected] |
Cm for the second cell, set by the user and, if so, set into the PDE
Definition at line 308 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue(), ExtendedBidomainProblem< DIM >::load(), ExtendedBidomainProblem< DIM >::save(), and ExtendedBidomainProblem< DIM >::SetExtendedBidomainParameters().
std::vector<unsigned> ExtendedBidomainProblem< DIM >::mFixedExtracellularPotentialNodes [protected] |
Nodes at which the extracellular voltage is fixed to zero (replicated)
Definition at line 279 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::CreateSolver(), ExtendedBidomainProblem< DIM >::ExtendedBidomainProblem(), ExtendedBidomainProblem< DIM >::load(), ExtendedBidomainProblem< DIM >::PreSolveChecks(), ExtendedBidomainProblem< DIM >::save(), and ExtendedBidomainProblem< DIM >::SetFixedExtracellularPotentialNodes().
double ExtendedBidomainProblem< DIM >::mGGap [protected] |
Conductance, in mS of the gap junction conductance, set by the user and, if so, set into the PDE (otherwise its default value is 0
Definition at line 310 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue(), ExtendedBidomainProblem< DIM >::load(), ExtendedBidomainProblem< DIM >::save(), and ExtendedBidomainProblem< DIM >::SetExtendedBidomainParameters().
std::vector<boost::shared_ptr<AbstractChasteRegion<DIM> > > ExtendedBidomainProblem< DIM >::mGgapHeterogeneityRegions [protected] |
Vector of Ggap heterogeneity regions. Set by the user, it is passed on to the tissue object. If empty (i.e., the user did not specify any heterogeneities) then the empty vector will still be passed to the tissue object, which, seeing the empty vector, will apply mGgap everywhere
Definition at line 317 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue(), ExtendedBidomainProblem< DIM >::load(), ExtendedBidomainProblem< DIM >::save(), and ExtendedBidomainProblem< DIM >::SetGgapHeterogeneities().
std::vector<double> ExtendedBidomainProblem< DIM >::mGgapHeterogenousValues [protected] |
Corresponding vector of values of Ggap for every heterogeneous region in mGgapHeterogeneityRegions
Definition at line 320 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue(), ExtendedBidomainProblem< DIM >::load(), ExtendedBidomainProblem< DIM >::save(), and ExtendedBidomainProblem< DIM >::SetGgapHeterogeneities().
bool ExtendedBidomainProblem< DIM >::mHasBath [protected] |
Whether the mesh has a bath, ie whether this is a bath simulation
Definition at line 345 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::CreateSolver(), ExtendedBidomainProblem< DIM >::GetHasBath(), ExtendedBidomainProblem< DIM >::load(), ExtendedBidomainProblem< DIM >::save(), and ExtendedBidomainProblem< DIM >::SetHasBath().
c_vector<double, DIM> ExtendedBidomainProblem< DIM >::mIntracellularConductivitiesSecondCell [protected] |
stores the values of the conductivities for the second cell.
Definition at line 282 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue(), ExtendedBidomainProblem< DIM >::load(), ExtendedBidomainProblem< DIM >::save(), and ExtendedBidomainProblem< DIM >::SetIntracellularConductivitiesForSecondCell().
ExtendedBidomainTissue<DIM>* ExtendedBidomainProblem< DIM >::mpExtendedBidomainTissue [protected] |
The bidomain tissue object for the extended problem
Definition at line 276 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue(), ExtendedBidomainProblem< DIM >::CreateInitialCondition(), ExtendedBidomainProblem< DIM >::CreateSolver(), ExtendedBidomainProblem< DIM >::GetExtendedBidomainTissue(), ExtendedBidomainProblem< DIM >::load(), and ExtendedBidomainProblem< DIM >::save().
AbstractStimulusFactory<DIM>* ExtendedBidomainProblem< DIM >::mpExtracellularStimulusFactory [protected] |
Factory to generate the stimulus
Definition at line 324 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue(), ExtendedBidomainProblem< DIM >::ProcessExtracellularStimulus(), ExtendedBidomainProblem< DIM >::SetExtracellularStimulusFactory(), and ExtendedBidomainProblem< DIM >::~ExtendedBidomainProblem().
AbstractCardiacCellFactory<DIM,DIM>* ExtendedBidomainProblem< DIM >::mpSecondCellFactory [protected] |
The cell factory creates the cells for each node
Definition at line 273 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue().
AbstractExtendedBidomainSolver<DIM,DIM>* ExtendedBidomainProblem< DIM >::mpSolver [protected] |
We need to save the assembler that is being used to be able to switch off the electrodes (by adding default boundary conditions to the assembler)
Reimplemented from AbstractCardiacProblem< DIM, DIM, 3 >.
Definition at line 375 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::CreateSolver().
int ExtendedBidomainProblem< DIM >::mRowForAverageOfPhiZeroed [protected] |
Another method of resolving the singularity in the bidomain equations. Specifies a row of the matrix at which to impose an extra condition.
Definition at line 330 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::CreateSolver(), ExtendedBidomainProblem< DIM >::load(), ExtendedBidomainProblem< DIM >::PreSolveChecks(), ExtendedBidomainProblem< DIM >::save(), and ExtendedBidomainProblem< DIM >::SetNodeForAverageOfPhiZeroed().
bool ExtendedBidomainProblem< DIM >::mUserHasSetBidomainValuesExplicitly [protected] |
flag used to check whwther the user wanted specific, out-of-heartconfig values
Definition at line 297 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue(), ExtendedBidomainProblem< DIM >::load(), ExtendedBidomainProblem< DIM >::save(), and ExtendedBidomainProblem< DIM >::SetExtendedBidomainParameters().
bool ExtendedBidomainProblem< DIM >::mUserSpecifiedSecondCellConductivities [protected] |
Flag for checking that the user specified conductivities for the second cell. Get method available for this variable.
Definition at line 294 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue(), ExtendedBidomainProblem< DIM >::load(), ExtendedBidomainProblem< DIM >::save(), and ExtendedBidomainProblem< DIM >::SetIntracellularConductivitiesForSecondCell().
bool ExtendedBidomainProblem< DIM >::mUserSuppliedExtracellularStimulus [protected] |
keeps track of whether the user set an extracellular stimulus. True if the user did.
Definition at line 342 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue(), ExtendedBidomainProblem< DIM >::load(), ExtendedBidomainProblem< DIM >::ProcessExtracellularStimulus(), ExtendedBidomainProblem< DIM >::save(), ExtendedBidomainProblem< DIM >::SetExtracellularStimulusFactory(), and ExtendedBidomainProblem< DIM >::~ExtendedBidomainProblem().
std::vector<signed int> ExtendedBidomainProblem< DIM >::mVariablesIDs [protected] |
Used by the writer, stores the variable output names
Definition at line 291 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::DefineWriterColumns(), ExtendedBidomainProblem< DIM >::load(), ExtendedBidomainProblem< DIM >::save(), and ExtendedBidomainProblem< DIM >::WriteOneStep().
unsigned ExtendedBidomainProblem< DIM >::mVoltageColumnId_Phie [protected] |
Used by the writer, extracellular potential
Definition at line 289 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::DefineWriterColumns().
unsigned ExtendedBidomainProblem< DIM >::mVoltageColumnId_Vm1 [protected] |
Used by the writer, transmembrane potential of the first cell
Definition at line 285 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::DefineWriterColumns().
unsigned ExtendedBidomainProblem< DIM >::mVoltageColumnId_Vm2 [protected] |
Used by the writer, transmembrane potential of the second cell
Definition at line 287 of file ExtendedBidomainProblem.hpp.
Referenced by ExtendedBidomainProblem< DIM >::DefineWriterColumns().