#include <BidomainPde.hpp>
Inherits AbstractCardiacPde< SPACE_DIM >.
Public Member Functions | |
BidomainPde (AbstractCardiacCellFactory< SPACE_DIM > *pCellFactory) | |
BidomainPde (std::vector< AbstractCardiacCell * > &rCellsDistributed, AbstractTetrahedralMesh< SPACE_DIM, SPACE_DIM > *pMesh) | |
~BidomainPde () | |
const c_matrix< double, SPACE_DIM, SPACE_DIM > & | rGetExtracellularConductivityTensor (unsigned elementIndex) |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
void | CreateExtracellularConductivityTensors () |
Private Attributes | |
AbstractConductivityTensors < SPACE_DIM > * | mpExtracellularConductivityTensors |
ReplicatableVector | mExtracellularStimulusCacheReplicated |
Friends | |
class | TestBidomainPde |
class | boost::serialization::access |
BidomainPde class.
The bidmain equation is of the form:
A_m ( C_m d(V_m)/dt + I_ion ) = div ( sigma_i grad( V_m + phi_e ) ) + I_intra_stim and div ( (sigma_i + sigma_e) grad phi_e + sigma_i (grad V_m) ) + I_extra_stim
where V_m is the trans-membrane potential = phi_i - phi_e (mV), phi_i is the intracellular potential (mV), phi_e is the intracellular potential (mV), and A_m is the surface area to volume ratio of the cell membrane (1/cm), C_m is the membrane capacitance (uF/cm^2), sigma_i is the intracellular conductivity tensor (mS/cm), sigma_e is the intracellular conductivity tensor (mS/cm), and I_ion is the ionic current (uA/cm^2), I_intra_stim is the internal stimulus (uA/cm^3), I_extra_stim is the external stimulus (uA/cm^3).
Note: I_extra_stim can only be zero now. An extracellular stimulus can be applied as a boundary condition, in which case the units are uA/cm^2.
Definition at line 67 of file BidomainPde.hpp.
BidomainPde< SPACE_DIM >::BidomainPde | ( | AbstractCardiacCellFactory< SPACE_DIM > * | pCellFactory | ) | [inline] |
Constructor sets up extracellular conductivity tensors.
pCellFactory | factory to pass on to the base class constructor |
Definition at line 39 of file BidomainPde.cpp.
References BidomainPde< SPACE_DIM >::CreateExtracellularConductivityTensors(), AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM >::GetNumberOfCells(), BidomainPde< SPACE_DIM >::mExtracellularStimulusCacheReplicated, and ReplicatableVector::Resize().
BidomainPde< SPACE_DIM >::BidomainPde | ( | std::vector< AbstractCardiacCell * > & | rCellsDistributed, | |
AbstractTetrahedralMesh< SPACE_DIM, SPACE_DIM > * | pMesh | |||
) | [inline] |
Archiving constructor
rCellsDistributed | local cell models (recovered from archive) | |
pMesh | a pointer to the AbstractTetrahedral mesh (recovered from archive). |
Definition at line 48 of file BidomainPde.cpp.
References BidomainPde< SPACE_DIM >::CreateExtracellularConductivityTensors(), DistributedVectorFactory::GetProblemSize(), BidomainPde< SPACE_DIM >::mExtracellularStimulusCacheReplicated, AbstractCardiacPde< SPACE_DIM >::mpDistributedVectorFactory, and ReplicatableVector::Resize().
BidomainPde< SPACE_DIM >::~BidomainPde | ( | ) | [inline] |
Destructor
Definition at line 144 of file BidomainPde.cpp.
References BidomainPde< SPACE_DIM >::mpExtracellularConductivityTensors.
void BidomainPde< SPACE_DIM >::CreateExtracellularConductivityTensors | ( | ) | [inline, private] |
Convenience method for extracellular conductivity tensors creation
Definition at line 56 of file BidomainPde.cpp.
References HeartConfig::GetConductivityHeterogeneities(), HeartConfig::GetConductivityHeterogeneitiesProvided(), HeartConfig::GetConductivityMedia(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), HeartConfig::GetExtracellularConductivities(), HeartConfig::GetLoadMesh(), HeartConfig::GetMeshName(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), HeartConfig::Instance(), HeartConfig::IsMeshProvided(), AbstractCardiacPde< SPACE_DIM >::mpConfig, BidomainPde< SPACE_DIM >::mpExtracellularConductivityTensors, AbstractCardiacPde< SPACE_DIM >::mpMesh, and PetscTools::ReplicateException().
Referenced by BidomainPde< SPACE_DIM >::BidomainPde().
const c_matrix< double, SPACE_DIM, SPACE_DIM > & BidomainPde< SPACE_DIM >::rGetExtracellularConductivityTensor | ( | unsigned | elementIndex | ) | [inline] |
Get the extracellular conductivity tensor for the given element
elementIndex | index of the element of interest |
Definition at line 154 of file BidomainPde.cpp.
References BidomainPde< SPACE_DIM >::mpExtracellularConductivityTensors.
void BidomainPde< SPACE_DIM >::serialize | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Archive the member variables.
archive | ||
version |
Reimplemented from AbstractCardiacPde< SPACE_DIM >.
Definition at line 81 of file BidomainPde.hpp.
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractCardiacPde< SPACE_DIM >.
Definition at line 73 of file BidomainPde.hpp.
ReplicatableVector BidomainPde< SPACE_DIM >::mExtracellularStimulusCacheReplicated [private] |
Cache containing all the stimulus currents for each node, replicated over all processes.
Definition at line 94 of file BidomainPde.hpp.
Referenced by BidomainPde< SPACE_DIM >::BidomainPde().
AbstractConductivityTensors<SPACE_DIM>* BidomainPde< SPACE_DIM >::mpExtracellularConductivityTensors [private] |
Extracellular conductivity tensors.
Definition at line 88 of file BidomainPde.hpp.
Referenced by BidomainPde< SPACE_DIM >::CreateExtracellularConductivityTensors(), BidomainPde< SPACE_DIM >::rGetExtracellularConductivityTensor(), and BidomainPde< SPACE_DIM >::~BidomainPde().