36 #ifndef CARDIACELECTROMECHPROBREGULARGEOM_HPP_
37 #define CARDIACELECTROMECHPROBREGULARGEOM_HPP_
39 #include "CardiacElectroMechanicsProblem.hpp"
52 template<
unsigned DIM>
72 unsigned numMechanicsElementsEachDir,
73 unsigned numElectricsElementsEachDir,
75 ContractionModelName contractionModel,
76 double mechanicsSolveTimestep,
77 double contractionModelOdeTimeStep,
78 std::string outputDirectory =
"")
89 assert(numMechanicsElementsEachDir > 0);
90 assert(numElectricsElementsEachDir > 0);
99 LOG(2,
"Width of meshes is " << width);
105 std::vector<unsigned> fixed_nodes;
110 fixed_nodes.push_back(i);
113 this->mpProblemDefinition->SetZeroDisplacementNodes(fixed_nodes);
115 LOG(2,
"Fixed the " << fixed_nodes.size() <<
" nodes on x=0");
117 this->mpProblemDefinition->SetUseDefaultCardiacMaterialLaw(compressibilityType);
118 this->mpProblemDefinition->SetContractionModel(contractionModel,contractionModelOdeTimeStep);
119 this->mpProblemDefinition->SetMechanicsSolveTimestep(mechanicsSolveTimestep);
void ConstructRegularSlabMesh(double spaceStep, double width, double height=0, double depth=0)
QuadraticMesh< DIM > * mpMechanicsMesh
virtual unsigned GetNumNodes() const
CardiacElectroMechProbRegularGeom(CompressibilityType compressibilityType, double width, unsigned numMechanicsElementsEachDir, unsigned numElectricsElementsEachDir, AbstractCardiacCellFactory< DIM > *pCellFactory, ContractionModelName contractionModel, double mechanicsSolveTimestep, double contractionModelOdeTimeStep, std::string outputDirectory="")
ElectroMechanicsProblemDefinition< DIM > * mpProblemDefinition
TetrahedralMesh< DIM, DIM > * mpElectricsMesh