Chaste Commit::f2ff7ee04e70ac9d06c57344df8d017dbb12b97b
ElectroMechanicsProblemDefinition< DIM > Class Template Reference

#include <ElectroMechanicsProblemDefinition.hpp>

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

Public Member Functions

 ElectroMechanicsProblemDefinition (QuadraticMesh< DIM > &rMesh)
 
virtual ~ElectroMechanicsProblemDefinition ()
 
void SetContractionModel (ContractionModelName contractionModel, double timestep)
 
void SetContractionCellFactory (AbstractContractionCellFactory< DIM > *pCellFactory)
 
void SetUseDefaultCardiacMaterialLaw (CompressibilityType compressibilityType)
 
void SetSolverType (SolverType solver)
 
void SetDeformationAffectsElectrophysiology (bool deformationAffectsConductivity, bool deformationAffectsCellModels)
 
void SetMechanicsSolveTimestep (double timestep)
 
void SetVariableFibreSheetDirectionsFile (const FileFinder &rFibreSheetDirectionsFile, bool definedPerQuadPoint)
 
void SetApplyIsotropicCrossFibreTension (bool applyCrossFibreTension, double crossFibreTensionFraction)
 
void SetApplyAnisotropicCrossFibreTension (bool applyCrossFibreTension, double sheetTensionFraction, double sheetNormalTensionFraction)
 
AbstractContractionCellFactory< DIM > * GetContractionCellFactory ()
 
void SetContractionModelOdeTimestep (double timestep)
 
double GetContractionModelOdeTimestep ()
 
double GetMechanicsSolveTimestep ()
 
bool GetDeformationAffectsConductivity ()
 
bool GetDeformationAffectsCellModels ()
 
SolverType GetSolverType ()
 
bool ReadFibreSheetDirectionsFromFile ()
 
FileFinder GetFibreSheetDirectionsFile ()
 
bool GetFibreSheetDirectionsDefinedPerQuadraturePoint ()
 
void SetNumIncrementsForInitialDeformation (unsigned numIncrements)
 
unsigned GetNumIncrementsForInitialDeformation ()
 
double GetApplyCrossFibreTension ()
 
double GetSheetTensionFraction ()
 
double GetSheetNormalTensionFraction ()
 
virtual void Validate ()
 
- Public Member Functions inherited from SolidMechanicsProblemDefinition< DIM >
 SolidMechanicsProblemDefinition (AbstractTetrahedralMesh< DIM, DIM > &rMesh)
 
virtual ~SolidMechanicsProblemDefinition ()
 
void SetMaterialLaw (CompressibilityType compressibilityType, AbstractMaterialLaw< DIM > *pMaterialLaw)
 
void SetMaterialLaw (CompressibilityType compressibilityType, std::vector< AbstractMaterialLaw< DIM > * > &rMaterialLaws)
 
bool IsHomogeneousMaterial ()
 
CompressibilityType GetCompressibilityType ()
 
AbstractIncompressibleMaterialLaw< DIM > * GetIncompressibleMaterialLaw (unsigned elementIndex)
 
AbstractCompressibleMaterialLaw< DIM > * GetCompressibleMaterialLaw (unsigned elementIndex)
 
void SetZeroDisplacementNodes (std::vector< unsigned > &rFixedNodes)
 
void SetFixedNodes (std::vector< unsigned > &rFixedNodes, std::vector< c_vector< double, DIM > > &rFixedNodeLocation)
 
void SetSolveUsingSnes (bool solveUsingSnes=true)
 
bool GetSolveUsingSnes ()
 
- Public Member Functions inherited from ContinuumMechanicsProblemDefinition< DIM >
 ContinuumMechanicsProblemDefinition (AbstractTetrahedralMesh< DIM, DIM > &rMesh)
 
virtual ~ContinuumMechanicsProblemDefinition ()
 
void SetDensity (double density)
 
double GetDensity ()
 
void SetZeroDirichletNodes (std::vector< unsigned > &rZeroDirichletNodes)
 
std::vector< unsigned > & rGetDirichletNodes ()
 
std::vector< c_vector< double, DIM > > & rGetDirichletNodeValues ()
 
void SetBodyForce (c_vector< double, DIM > bodyForce)
 
void SetBodyForce (c_vector< double, DIM >(*pFunction)(c_vector< double, DIM > &rX, double t))
 
c_vector< double, DIM > GetBodyForce (c_vector< double, DIM > &rX, double t=0.0)
 
BodyForceType GetBodyForceType ()
 
c_vector< double, DIM > GetConstantBodyForce ()
 
c_vector< double, DIM > EvaluateBodyForceFunction (c_vector< double, DIM > &rX, double t)
 
TractionBoundaryConditionType GetTractionBoundaryConditionType ()
 
void SetTractionBoundaryConditions (std::vector< BoundaryElement< DIM-1, DIM > * > &rTractionBoundaryElements, std::vector< c_vector< double, DIM > > &rElementwiseTractions)
 
void SetTractionBoundaryConditions (std::vector< BoundaryElement< DIM-1, DIM > * > &rTractionBoundaryElements, c_vector< double, DIM >(*pFunction)(c_vector< double, DIM > &rX, double t))
 
void SetApplyNormalPressureOnDeformedSurface (std::vector< BoundaryElement< DIM-1, DIM > * > &rTractionBoundaryElements, double normalPressure)
 
void SetApplyNormalPressureOnDeformedSurface (std::vector< BoundaryElement< DIM-1, DIM > * > &rTractionBoundaryElements, double(*pFunction)(double t))
 
std::vector< BoundaryElement< DIM-1, DIM > * > & rGetTractionBoundaryElements ()
 
std::vector< c_vector< double, DIM > > & rGetElementwiseTractions ()
 
double GetNormalPressure ()
 
void SetPressureScaling (double scaleFactor)
 
c_vector< double, DIM > EvaluateTractionFunction (c_vector< double, DIM > &rX, double t)
 
double EvaluateNormalPressureFunction (double t)
 
void SetVerboseDuringSolve (bool verboseDuringSolve=true)
 
bool GetVerboseDuringSolve ()
 

Private Attributes

double mContractionModelOdeTimeStep
 
double mMechanicsSolveTimestep
 
bool mDeformationAffectsConductivity
 
bool mDeformationAffectsCellModels
 
AbstractMaterialLaw< DIM > * mpDefaultMaterialLaw
 
bool mReadFibreSheetInformationFromFile
 
FileFinder mFibreSheetDirectionsFile
 
bool mFibreSheetDirectionsDefinedPerQuadraturePoint
 
unsigned mNumIncrementsForInitialDeformation
 
bool mApplyCrossFibreTension
 
double mSheetTensionFraction
 
double mSheetNormalTensionFraction
 
AbstractContractionCellFactory< DIM > * mpContractionCellFactory
 
bool mWeMadeCellFactory
 
SolverType mSolverType
 

Friends

class TestExplicitCardiacMechanicsSolver
 
class TestImplicitCardiacMechanicsSolver
 
class TestElectroMechanicsProblemDefinition
 

Additional Inherited Members

- Static Public Attributes inherited from ContinuumMechanicsProblemDefinition< DIM >
static const double FREE = std::numeric_limits<double>::max()
 
- Protected Attributes inherited from ContinuumMechanicsProblemDefinition< DIM >
AbstractTetrahedralMesh< DIM, DIM > & mrMesh
 
double mDensity
 
BodyForceType mBodyForceType
 
c_vector< double, DIM > mConstantBodyForce
 
c_vector< double, DIM >(* mpBodyForceFunction )(c_vector< double, DIM > &rX, double t)
 
TractionBoundaryConditionType mTractionBoundaryConditionType
 
std::vector< BoundaryElement< DIM-1, DIM > * > mTractionBoundaryElements
 
std::vector< c_vector< double, DIM > > mElementwiseTractions
 
double mNormalPressure
 
double mOriginalNormalPressure
 
c_vector< double, DIM >(* mpTractionBoundaryConditionFunction )(c_vector< double, DIM > &rX, double t)
 
double(* mpNormalPressureFunction )(double t)
 
std::vector< unsignedmDirichletNodes
 
std::vector< c_vector< double, DIM > > mDirichletNodeValues
 
bool mVerboseDuringSolve
 

Detailed Description

template<unsigned DIM>
class ElectroMechanicsProblemDefinition< DIM >

Subclass of SolidMechanicsProblemDefinition with some cardiac-electro-mechanics-specific methods.

Definition at line 52 of file ElectroMechanicsProblemDefinition.hpp.

Constructor & Destructor Documentation

◆ ElectroMechanicsProblemDefinition()

Constructor

Parameters
rMeshthe mesh

Definition at line 40 of file ElectroMechanicsProblemDefinition.cpp.

◆ ~ElectroMechanicsProblemDefinition()

Destructor

Definition at line 59 of file ElectroMechanicsProblemDefinition.cpp.

Member Function Documentation

◆ GetApplyCrossFibreTension()

template<unsigned DIM>
double ElectroMechanicsProblemDefinition< DIM >::GetApplyCrossFibreTension ( )
inline
Returns
true if cross-fibre tension is applied.

Definition at line 375 of file ElectroMechanicsProblemDefinition.hpp.

References ElectroMechanicsProblemDefinition< DIM >::mApplyCrossFibreTension.

◆ GetContractionCellFactory()

template<unsigned DIM>
AbstractContractionCellFactory< DIM > * ElectroMechanicsProblemDefinition< DIM >::GetContractionCellFactory ( )
inline
Returns
A pointer to the contraction cell factory that should be applied to the mechanics mesh.

Definition at line 257 of file ElectroMechanicsProblemDefinition.hpp.

References ElectroMechanicsProblemDefinition< DIM >::mpContractionCellFactory.

◆ GetContractionModelOdeTimestep()

template<unsigned DIM>
double ElectroMechanicsProblemDefinition< DIM >::GetContractionModelOdeTimestep ( )
inline
Returns
the contraction model time step.

Definition at line 278 of file ElectroMechanicsProblemDefinition.hpp.

References ElectroMechanicsProblemDefinition< DIM >::mContractionModelOdeTimeStep.

◆ GetDeformationAffectsCellModels()

template<unsigned DIM>
bool ElectroMechanicsProblemDefinition< DIM >::GetDeformationAffectsCellModels ( )
inline
Returns
whether the deformation affects the cardiac cell models, for example if there are stretch-activated channels in the cell model.

Definition at line 306 of file ElectroMechanicsProblemDefinition.hpp.

References ElectroMechanicsProblemDefinition< DIM >::mDeformationAffectsCellModels.

◆ GetDeformationAffectsConductivity()

template<unsigned DIM>
bool ElectroMechanicsProblemDefinition< DIM >::GetDeformationAffectsConductivity ( )
inline
Returns
whether the deformation affects the electrical physiological conductivity (or whether this effect is neglected).

Definition at line 297 of file ElectroMechanicsProblemDefinition.hpp.

References ElectroMechanicsProblemDefinition< DIM >::mDeformationAffectsConductivity.

◆ GetFibreSheetDirectionsDefinedPerQuadraturePoint()

template<unsigned DIM>
bool ElectroMechanicsProblemDefinition< DIM >::GetFibreSheetDirectionsDefinedPerQuadraturePoint ( )
inline
Returns
whether the fibre-sheet info is defined for each quadrature point in the mesh (if not, if it defined for each element in the mesh). (Should only be called if ReadFibreSheetDirectionsFromFile() returns true).

Definition at line 342 of file ElectroMechanicsProblemDefinition.hpp.

References ElectroMechanicsProblemDefinition< DIM >::mFibreSheetDirectionsDefinedPerQuadraturePoint, and ElectroMechanicsProblemDefinition< DIM >::mReadFibreSheetInformationFromFile.

◆ GetFibreSheetDirectionsFile()

◆ GetMechanicsSolveTimestep()

template<unsigned DIM>
double ElectroMechanicsProblemDefinition< DIM >::GetMechanicsSolveTimestep ( )
inline
Returns
how often the mechanics PDEs are solved.

Definition at line 287 of file ElectroMechanicsProblemDefinition.hpp.

References ElectroMechanicsProblemDefinition< DIM >::mMechanicsSolveTimestep.

◆ GetNumIncrementsForInitialDeformation()

template<unsigned DIM>
unsigned ElectroMechanicsProblemDefinition< DIM >::GetNumIncrementsForInitialDeformation ( )
inline
Returns
the number of increments to be used in the initial deformation (see SetNumIncrementsForInitialDeformation() for more details).

Definition at line 367 of file ElectroMechanicsProblemDefinition.hpp.

References ElectroMechanicsProblemDefinition< DIM >::mNumIncrementsForInitialDeformation.

◆ GetSheetNormalTensionFraction()

template<unsigned DIM>
double ElectroMechanicsProblemDefinition< DIM >::GetSheetNormalTensionFraction ( )
inline
Returns
the value of the cross-fibre sheet-normal tension fraction.

Definition at line 391 of file ElectroMechanicsProblemDefinition.hpp.

References ElectroMechanicsProblemDefinition< DIM >::mSheetNormalTensionFraction.

◆ GetSheetTensionFraction()

template<unsigned DIM>
double ElectroMechanicsProblemDefinition< DIM >::GetSheetTensionFraction ( )
inline
Returns
the value of the cross-fibre sheet tension fraction.

Definition at line 383 of file ElectroMechanicsProblemDefinition.hpp.

References ElectroMechanicsProblemDefinition< DIM >::mSheetTensionFraction.

◆ GetSolverType()

template<unsigned DIM>
SolverType ElectroMechanicsProblemDefinition< DIM >::GetSolverType ( )
inline
Returns
Whether to use an implicit or explicit mechanics solver.

Definition at line 314 of file ElectroMechanicsProblemDefinition.hpp.

References ElectroMechanicsProblemDefinition< DIM >::mSolverType.

◆ ReadFibreSheetDirectionsFromFile()

template<unsigned DIM>
bool ElectroMechanicsProblemDefinition< DIM >::ReadFibreSheetDirectionsFromFile ( )
inline
Returns
whether the fibre-sheet info should be read from file (if not the defaults should be used).

Definition at line 322 of file ElectroMechanicsProblemDefinition.hpp.

References ElectroMechanicsProblemDefinition< DIM >::mReadFibreSheetInformationFromFile.

◆ SetApplyAnisotropicCrossFibreTension()

template<unsigned DIM>
void ElectroMechanicsProblemDefinition< DIM >::SetApplyAnisotropicCrossFibreTension ( bool  applyCrossFibreTension,
double  sheetTensionFraction,
double  sheetNormalTensionFraction 
)

Set if active tension should be applied in the cross-fibre directions. This only makes sense in 3D.

By default active tension is only applied in the fibre direction. This method allows the user to specify that a proportion of the active tension should also be applied in the cross-fibre directions. The fraction of the active tension that is applied in the two cross-fibre direction should be specified.

Parameters
applyCrossFibreTensionactive tension is applied in the cross-fibre directions if set to true.
sheetTensionFractionThe fraction of the active tension to apply in the sheet direction.
sheetNormalTensionFractionThe fraction of the active tension to apply in the sheet-normal direction.

Definition at line 143 of file ElectroMechanicsProblemDefinition.cpp.

References EXCEPTION.

◆ SetApplyIsotropicCrossFibreTension()

template<unsigned DIM>
void ElectroMechanicsProblemDefinition< DIM >::SetApplyIsotropicCrossFibreTension ( bool  applyCrossFibreTension,
double  crossFibreTensionFraction 
)

Set if active tension should be applied in the cross-fibre directions. This can be done in 2D or 3D.

By default active tension is only applied in the fibre direction. This method allows the user to specify that a proportion of the active tension should also be applied in the cross-fibre directions (both in the sheet and sheet-normal directions equally). The fraction of the active tension that is applied in the cross-fibre direction should be specified.

Parameters
applyCrossFibreTensionactive tension is applied in the cross-fibre directions if set to true.
crossFibreTensionFractionThe fraction of the active tension to apply in the cross-fibre directions.

Definition at line 135 of file ElectroMechanicsProblemDefinition.cpp.

◆ SetContractionCellFactory()

template<unsigned DIM>
void ElectroMechanicsProblemDefinition< DIM >::SetContractionCellFactory ( AbstractContractionCellFactory< DIM > *  pCellFactory)

We provide an interface to set heterogeneous contraction cells via a cell factory, which allows different models (or parameters) to be set per element.

Note you also need to call SetContractionModelOdeTimestep() before solving.

Parameters
pCellFactoryThe contraction cell factory to be used.

Definition at line 155 of file ElectroMechanicsProblemDefinition.cpp.

References AbstractContractionCellFactory< DIM >::SetMechanicsMesh().

◆ SetContractionModel()

template<unsigned DIM>
void ElectroMechanicsProblemDefinition< DIM >::SetContractionModel ( ContractionModelName  contractionModel,
double  timestep 
)

Set the contraction model to be used (throughout the tissue).

Note the timestep should be set to a (typical) ODE time-step even if the contraction model is not going to solve ODEs.

Parameters
contractionModelcontraction model (from the enumeration ContractionModelName)
timesteptimestep to be used in solving (ODE-based) contraction models.

Definition at line 73 of file ElectroMechanicsProblemDefinition.cpp.

◆ SetContractionModelOdeTimestep()

template<unsigned DIM>
void ElectroMechanicsProblemDefinition< DIM >::SetContractionModelOdeTimestep ( double  timestep)
inline

Set the timestep to be used when solving contraction models. Note that you will need to use the finest timestep that any of the models requires, it is not set on a per-model basis.

Parameters
timestepTimestep to use.

Definition at line 270 of file ElectroMechanicsProblemDefinition.hpp.

References ElectroMechanicsProblemDefinition< DIM >::mContractionModelOdeTimeStep.

◆ SetDeformationAffectsElectrophysiology()

template<unsigned DIM>
void ElectroMechanicsProblemDefinition< DIM >::SetDeformationAffectsElectrophysiology ( bool  deformationAffectsConductivity,
bool  deformationAffectsCellModels 
)

Set if and how the deformation should affect the electro-physiology.

Parameters
deformationAffectsConductivityWhether the deformation should affect the electrical physiological conductivity (or whether this effect is neglected)
deformationAffectsCellModelsWhether the deformation should affect the cardiac cell models, for example if there are stretch-activated channels in the cell model.

Several important things to note: (i) this can't be called if fibre-sheet directions have been defined from file for each quadrature point (as opposed to each mechanics element) - this is because if the stretch is to be passed back to the electric mesh nodes, the fibre direction has to be defined at those nodes (ii) currently the set-up stage (computing mechanics mesh elements and weights for electrics mesh nodes) is inefficiently implemented - setup will be very slow for big meshes (iii) if deformationAffectsCellModels is true, the cell model ought to be one for which AbstractCardiacCell::SetStretch() has been implemented to do something (i.e. not generated automatically from CellML). (iv) deformationAffectsConductivity is not currently allowed in the compressible material law case as the effect of the determinant of the deformation gradient on the conductivity has not currently been implemented.

Definition at line 113 of file ElectroMechanicsProblemDefinition.cpp.

◆ SetMechanicsSolveTimestep()

template<unsigned DIM>
void ElectroMechanicsProblemDefinition< DIM >::SetMechanicsSolveTimestep ( double  timestep)

Set how often the mechanics is solved for.

Parameters
timesteptimestep

Definition at line 120 of file ElectroMechanicsProblemDefinition.cpp.

◆ SetNumIncrementsForInitialDeformation()

template<unsigned DIM>
void ElectroMechanicsProblemDefinition< DIM >::SetNumIncrementsForInitialDeformation ( unsigned  numIncrements)
inline

The first deformation (to find the equilibrium state given the loading) may require the loading to be incremented, in order for the Solve() to converge. Set the number of increments to be used.

Parameters
numIncrementsnumber of increments

Definition at line 354 of file ElectroMechanicsProblemDefinition.hpp.

References EXCEPTION, and ElectroMechanicsProblemDefinition< DIM >::mNumIncrementsForInitialDeformation.

◆ SetSolverType()

template<unsigned DIM>
void ElectroMechanicsProblemDefinition< DIM >::SetSolverType ( SolverType  solver)
inline

Decide which type of solver to attempt to use. Default value is IMPLICIT if this method is not called.

Parameters
solverThe solver type to use (EXPLICIT or IMPLICIT).

Definition at line 175 of file ElectroMechanicsProblemDefinition.hpp.

References ElectroMechanicsProblemDefinition< DIM >::mSolverType.

◆ SetUseDefaultCardiacMaterialLaw()

template<unsigned DIM>
void ElectroMechanicsProblemDefinition< DIM >::SetUseDefaultCardiacMaterialLaw ( CompressibilityType  compressibilityType)

Use the default material law (NashHunter in the incompressible case, exponential in the compressible case), throughout the tissue.

Parameters
compressibilityTypeEither INCOMPRESSIBLE or COMPRESSIBLE

Definition at line 93 of file ElectroMechanicsProblemDefinition.cpp.

◆ SetVariableFibreSheetDirectionsFile()

template<unsigned DIM>
void ElectroMechanicsProblemDefinition< DIM >::SetVariableFibreSheetDirectionsFile ( const FileFinder rFibreSheetDirectionsFile,
bool  definedPerQuadPoint 
)

Set a variable fibre-sheet-normal direction (matrices), from file. If the second parameter is false, there should be one fibre-sheet definition for each element; otherwise there should be one fibre-sheet definition for each *quadrature point* in the mesh. In the first case, the file should be a standard .ortho file (ie each line has the fibre dir, sheet dir, normal dir for that element), in the second it should have .orthoquad as the format.

If this method is not called, the default fibre-sheet directions are used - ie fibres parallel to X-axis, sheets parallel to Y-axis.

Parameters
rFibreSheetDirectionsFilethe file containing the fibre/sheet directions
definedPerQuadPointwhether the fibre-sheet definitions are for each quadrature point in the mesh (if not, one for each element is assumed).

Definition at line 127 of file ElectroMechanicsProblemDefinition.cpp.

◆ Validate()

template<unsigned DIM>
void ElectroMechanicsProblemDefinition< DIM >::Validate ( )
virtual

Check all variables are set appropriately. Exceptions are thrown if any are not. Derived classes can override but should call this version as well.

Reimplemented from SolidMechanicsProblemDefinition< DIM >.

Definition at line 165 of file ElectroMechanicsProblemDefinition.cpp.

References EXCEPTION, and SolidMechanicsProblemDefinition< DIM >::Validate().

Friends And Related Symbol Documentation

◆ TestElectroMechanicsProblemDefinition

template<unsigned DIM>
friend class TestElectroMechanicsProblemDefinition
friend

Definition at line 57 of file ElectroMechanicsProblemDefinition.hpp.

◆ TestExplicitCardiacMechanicsSolver

template<unsigned DIM>
friend class TestExplicitCardiacMechanicsSolver
friend

Definition at line 55 of file ElectroMechanicsProblemDefinition.hpp.

◆ TestImplicitCardiacMechanicsSolver

template<unsigned DIM>
friend class TestImplicitCardiacMechanicsSolver
friend

Definition at line 56 of file ElectroMechanicsProblemDefinition.hpp.

Member Data Documentation

◆ mApplyCrossFibreTension

template<unsigned DIM>
bool ElectroMechanicsProblemDefinition< DIM >::mApplyCrossFibreTension
private

Whether to apply active tension in the cross-fibre directions (either iso- or aniso-tropic).

Definition at line 108 of file ElectroMechanicsProblemDefinition.hpp.

Referenced by ElectroMechanicsProblemDefinition< DIM >::GetApplyCrossFibreTension().

◆ mContractionModelOdeTimeStep

template<unsigned DIM>
double ElectroMechanicsProblemDefinition< DIM >::mContractionModelOdeTimeStep
private

◆ mDeformationAffectsCellModels

template<unsigned DIM>
bool ElectroMechanicsProblemDefinition< DIM >::mDeformationAffectsCellModels
private

Whether the deformation should affect the cardiac cell models, for example if there are stretch-activated channels in the cell model.

Definition at line 75 of file ElectroMechanicsProblemDefinition.hpp.

Referenced by ElectroMechanicsProblemDefinition< DIM >::GetDeformationAffectsCellModels().

◆ mDeformationAffectsConductivity

template<unsigned DIM>
bool ElectroMechanicsProblemDefinition< DIM >::mDeformationAffectsConductivity
private

Whether the deformation should affect the electrical physiological conductivity (or whether this effect is neglected)

Definition at line 69 of file ElectroMechanicsProblemDefinition.hpp.

Referenced by ElectroMechanicsProblemDefinition< DIM >::GetDeformationAffectsConductivity().

◆ mFibreSheetDirectionsDefinedPerQuadraturePoint

template<unsigned DIM>
bool ElectroMechanicsProblemDefinition< DIM >::mFibreSheetDirectionsDefinedPerQuadraturePoint
private

Whether the mFibreSheetDirectionsFile file gives the fibre-sheet info for each element or for each quadrature point

Definition at line 96 of file ElectroMechanicsProblemDefinition.hpp.

Referenced by ElectroMechanicsProblemDefinition< DIM >::GetFibreSheetDirectionsDefinedPerQuadraturePoint().

◆ mFibreSheetDirectionsFile

template<unsigned DIM>
FileFinder ElectroMechanicsProblemDefinition< DIM >::mFibreSheetDirectionsFile
private

.ortho/.orthoquad file from which to read element-wise, or quadrature-point-wise fibre-sheet-normal-directions

Definition at line 90 of file ElectroMechanicsProblemDefinition.hpp.

Referenced by ElectroMechanicsProblemDefinition< DIM >::GetFibreSheetDirectionsFile().

◆ mMechanicsSolveTimestep

template<unsigned DIM>
double ElectroMechanicsProblemDefinition< DIM >::mMechanicsSolveTimestep
private

How often a mechanics solve should be done

Definition at line 63 of file ElectroMechanicsProblemDefinition.hpp.

Referenced by ElectroMechanicsProblemDefinition< DIM >::GetMechanicsSolveTimestep().

◆ mNumIncrementsForInitialDeformation

template<unsigned DIM>
unsigned ElectroMechanicsProblemDefinition< DIM >::mNumIncrementsForInitialDeformation
private

The first deformation (to find the equilibrium state given the loading) may require the loading to be incremented, in order for the Solve() to converge - this stores the number of increments to be used (initialised to 1)

Definition at line 103 of file ElectroMechanicsProblemDefinition.hpp.

Referenced by ElectroMechanicsProblemDefinition< DIM >::GetNumIncrementsForInitialDeformation(), and ElectroMechanicsProblemDefinition< DIM >::SetNumIncrementsForInitialDeformation().

◆ mpContractionCellFactory

template<unsigned DIM>
AbstractContractionCellFactory<DIM>* ElectroMechanicsProblemDefinition< DIM >::mpContractionCellFactory
private

The contraction cell factory, provides the contraction model to use on each element

Definition at line 121 of file ElectroMechanicsProblemDefinition.hpp.

Referenced by ElectroMechanicsProblemDefinition< DIM >::GetContractionCellFactory().

◆ mpDefaultMaterialLaw

template<unsigned DIM>
AbstractMaterialLaw<DIM>* ElectroMechanicsProblemDefinition< DIM >::mpDefaultMaterialLaw
private

This member variable is used if SetDefaultCardiacMateriawLaw() is called.

Definition at line 80 of file ElectroMechanicsProblemDefinition.hpp.

◆ mReadFibreSheetInformationFromFile

◆ mSheetNormalTensionFraction

template<unsigned DIM>
double ElectroMechanicsProblemDefinition< DIM >::mSheetNormalTensionFraction
private

The fraction of the fibre tension to apply in the sheet-normal direction.

Definition at line 118 of file ElectroMechanicsProblemDefinition.hpp.

Referenced by ElectroMechanicsProblemDefinition< DIM >::GetSheetNormalTensionFraction().

◆ mSheetTensionFraction

template<unsigned DIM>
double ElectroMechanicsProblemDefinition< DIM >::mSheetTensionFraction
private

The fraction of the fibre tension to apply in the sheet direction.

Definition at line 113 of file ElectroMechanicsProblemDefinition.hpp.

Referenced by ElectroMechanicsProblemDefinition< DIM >::GetSheetTensionFraction().

◆ mSolverType

template<unsigned DIM>
SolverType ElectroMechanicsProblemDefinition< DIM >::mSolverType
private

◆ mWeMadeCellFactory

template<unsigned DIM>
bool ElectroMechanicsProblemDefinition< DIM >::mWeMadeCellFactory
private

Whether we made the cell factory and therefore need to delete it!

Definition at line 124 of file ElectroMechanicsProblemDefinition.hpp.


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