Chaste  Release::2017.1
CardiacElectroMechProbRegularGeom< DIM > Class Template Reference

#include <CardiacElectroMechProbRegularGeom.hpp>

+ Inheritance diagram for CardiacElectroMechProbRegularGeom< DIM >:
+ Collaboration diagram for CardiacElectroMechProbRegularGeom< DIM >:

Public Member Functions

 CardiacElectroMechProbRegularGeom (CompressibilityType compressibilityType, double width, unsigned numMechanicsElementsEachDir, unsigned numElectricsElementsEachDir, AbstractCardiacCellFactory< DIM > *pCellFactory, ContractionModelName contractionModel, double mechanicsSolveTimestep, double contractionModelOdeTimeStep, std::string outputDirectory="")
 
- Public Member Functions inherited from CardiacElectroMechanicsProblem< DIM >
 CardiacElectroMechanicsProblem (CompressibilityType compressibilityType, ElectricsProblemType electricsProblemType, TetrahedralMesh< DIM, DIM > *pElectricsMesh, QuadraticMesh< DIM > *pMechanicsMesh, AbstractCardiacCellFactory< DIM > *pCellFactory, ElectroMechanicsProblemDefinition< DIM > *pProblemDefinition, std::string outputDirectory)
 
virtual ~CardiacElectroMechanicsProblem ()
 
void Initialise ()
 
void Solve ()
 
double Max (std::vector< double > &vec)
 
void SetNoElectricsOutput ()
 
void SetWatchedPosition (c_vector< double, DIM > watchedLocation)
 
void SetOutputDeformationGradientsAndStress (double timestep)
 
std::vector< c_vector< double, DIM > > & rGetDeformedPosition ()
 
c_matrix< double, DIM, DIM > & rCalculateModifiedConductivityTensor (unsigned elementIndex, const c_matrix< double, DIM, DIM > &rOriginalConductivity, unsigned domainIndex)
 
virtual void PrepareForSolve ()
 
virtual void OnEndOfTimeStep (unsigned counter)
 
AbstractNonlinearElasticitySolver< DIM > * GetMechanicsSolver ()
 
- Public Member Functions inherited from AbstractConductivityModifier< DIM, DIM >
virtual ~AbstractConductivityModifier ()
 
c_matrix< double, SPACE_DIM, SPACE_DIM > & rGetModifiedConductivityTensor (unsigned elementIndex, const c_matrix< double, SPACE_DIM, SPACE_DIM > &rOriginalConductivity, unsigned domainIndex)
 
virtual c_matrix< double, SPACE_DIM, SPACE_DIM > & rCalculateModifiedConductivityTensor (unsigned elementIndex, const c_matrix< double, SPACE_DIM, SPACE_DIM > &rOriginalConductivity, unsigned domainIndex)=0
 

Additional Inherited Members

- Protected Member Functions inherited from CardiacElectroMechanicsProblem< DIM >
void DetermineWatchedNodes ()
 
void WriteWatchedLocationData (double time, Vec voltage)
 
- Protected Attributes inherited from CardiacElectroMechanicsProblem< DIM >
CompressibilityType mCompressibilityType
 
AbstractCardiacProblem< DIM, DIM, 1 > * mpElectricsProblem
 
AbstractCardiacMechanicsSolverInterface< DIM > * mpCardiacMechSolver
 
AbstractNonlinearElasticitySolver< DIM > * mpMechanicsSolver
 
unsigned mNumElecTimestepsPerMechTimestep
 
std::vector< doublemInterpolatedCalciumConcs
 
std::vector< doublemInterpolatedVoltages
 
TetrahedralMesh< DIM, DIM > * mpElectricsMesh
 
QuadraticMesh< DIM > * mpMechanicsMesh
 
ElectroMechanicsProblemDefinition< DIM > * mpProblemDefinition
 
bool mHasBath
 
FineCoarseMeshPair< DIM > * mpMeshPair
 
std::string mOutputDirectory
 
std::string mDeformationOutputDirectory
 
bool mWriteOutput
 
bool mNoElectricsOutput
 
bool mIsWatchedLocation
 
c_vector< double, DIM > mWatchedLocation
 
unsigned mWatchedElectricsNodeIndex
 
unsigned mWatchedMechanicsNodeIndex
 
out_stream mpWatchedLocationFile
 
unsigned mNumTimestepsToOutputDeformationGradientsAndStress
 
std::vector< doublemStretchesForEachMechanicsElement
 
std::vector< c_matrix< double, DIM, DIM > > mDeformationGradientsForEachMechanicsElement
 
c_matrix< double, DIM, DIM > mModifiedConductivityTensor
 
- Static Protected Attributes inherited from CardiacElectroMechanicsProblem< DIM >
static const int WRITE_EVERY_NTH_TIME
 

Detailed Description

template<unsigned DIM>
class CardiacElectroMechProbRegularGeom< DIM >

Child class of CardiacElectroMechanicsProblem for setting up cardiac electromechanics problems on a square (currently just 2d). The user just has to specify the number of elements in each direction.

This class can only be used to set up highly-restricted problems (square geometry, fibres in X-direction, X=0 side fixed in space, no tractions, pressures or MEF) - use the more general class CardiacElectroMechanicsProblem if you want to do anything more complex.

Note: the X=0 surface is fixed in the deformation.

Definition at line 53 of file CardiacElectroMechProbRegularGeom.hpp.

Constructor & Destructor Documentation

template<unsigned DIM>
CardiacElectroMechProbRegularGeom< DIM >::CardiacElectroMechProbRegularGeom ( CompressibilityType  compressibilityType,
double  width,
unsigned  numMechanicsElementsEachDir,
unsigned  numElectricsElementsEachDir,
AbstractCardiacCellFactory< DIM > *  pCellFactory,
ContractionModelName  contractionModel,
double  mechanicsSolveTimestep,
double  contractionModelOdeTimeStep,
std::string  outputDirectory = "" 
)
inline

Constructor.

Parameters
compressibilityTypeShould be either INCOMPRESSIBLE or COMPRESSIBLE
widthWidth and height of the square
numMechanicsElementsEachDirNumber of elements in each direction in the mechanics mesh
numElectricsElementsEachDirNumber of elements in each direction in the electrics mesh
pCellFactoryfactory to use to create cells
contractionModelcontraction model (see the enum "ContractionModel" for the options).
mechanicsSolveTimestephow often the mechanics is solved for (should be a multiple of electrics PDE timestep)
contractionModelOdeTimeStepStep size for contraction model (of active tension in cardiac cells) being used.
outputDirectorythe output directory

Definition at line 70 of file CardiacElectroMechProbRegularGeom.hpp.

References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructRegularSlabMesh(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), CardiacElectroMechanicsProblem< DIM >::mpElectricsMesh, CardiacElectroMechanicsProblem< DIM >::mpMechanicsMesh, and CardiacElectroMechanicsProblem< DIM >::mpProblemDefinition.


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