Skip to content
Snippets Groups Projects
Commit 5bce79c2 authored by jonathan.froehlich's avatar jonathan.froehlich
Browse files

Fixed BiventricleProblem initialization

parent 1b03773c
No related branches found
No related tags found
1 merge request!219Resolve "Add Excitation to Biventricle"
Pipeline #125647 passed
......@@ -3,7 +3,9 @@ Model = Coupled
CoupledModel = Segregated
#CoupledProblem = ContractingVentricle
CoupledProblem = BiVentricleDirichlet
#CoupledProblem = BiventricleCoarse
CoupledProblem = BiventricleDirichlet
CoupledProblem = BiventricleTraction
ElphyModelName = BeelerReuter
TensionModelName = Rossi
......
......@@ -20,12 +20,16 @@ CellModelVerbose = 10
ElphyVerbose = 1
MechVerbose = 1
# = Plot Verbose =
ElphyVTK = 1 # 0 Disables all plots from Electrophysiology
MechVTK = 1 # 0 Disables all plots from Elasticity
# = Plot Verbose =
PressureSolverVTK = 0
DynamicSolverVTK = 1
ElphySolverVTK = 0
ElphySolverVTK = 1
CoupledSolverVTK = 1
ElphyPlot=0
ElphyPlot=1
MechPlot = 1
PlotVTK = 1
......@@ -20,6 +20,10 @@ CellModelVerbose = 10
ElphyVerbose = 1
MechVerbose = 1
# = Plot Verbose =
ElphyVTK = 1 # 0 Disables all plots from Electrophysiology
MechVTK = 0 # 0 Disables all plots from Elasticity
# = Plot Verbose =
ElphySolverVTK = 1
CoupledSolverVTK = 1
......
#loadconf = electrophysiology/m++.conf;
loadconf = elasticity/m++.conf;
#loadconf = coupled/m++.conf;
#loadconf = elasticity/m++.conf;
loadconf = coupled/m++.conf;
......@@ -15,11 +15,14 @@ std::unique_ptr<CoupledProblem> GetCoupledProblem(const string &problemName) {
if (problemName == "BiVentricle") {
return std::make_unique<BiVentricleProblem>();
}
if (problemName == "BiVentricleDirichlet") {
return std::make_unique<BiVentricleProblem>("BiVentricleDirichlet");
if (problemName == "BiventricleCoarse") {
return std::make_unique<BiVentricleProblem>("KovachevaBiventricle");
}
if (problemName == "BiVentricleTraction") {
return std::make_unique<BiVentricleProblem>("BiVentricleTraction");
if (problemName == "BiventricleDirichlet") {
return std::make_unique<BiVentricleProblem>("BiventricleDirichlet");
}
if (problemName == "BiventricleTraction") {
return std::make_unique<BiVentricleProblem>("BiventricleTraction");
}
auto elphyProblem = GetElphyProblem();
......
......@@ -31,7 +31,7 @@ void BiVentricleProblem::Update(double dt, double t, const std::array<double, 4>
}
double BiVentricleProblem::calcESPressure(double vol, int i) const {
return elastance[i] * (vol - minVolumeES[0]);
return elastanceES[i] * (vol - minVolumeES[0]);
}
double BiVentricleProblem::calcEDPressure(double vol, int i) const {
......
......@@ -91,12 +91,17 @@ protected:
std::array<double, 2> activation{};
std::array<double, 2> pressureED{};
std::array<double, 2> pressureES{};
const std::array<double, 2> minVolumeED{};
const std::array<double, 2> maxVolumeED{};
const std::array<double, 2> minVolumeED{1.03, 141.55};
const std::array<double, 2> maxVolumeED{435.17, 236.55};
const std::array<double, 2> diffVolumeED{maxVolumeED[0] - minVolumeED[0],
maxVolumeED[1] - minVolumeED[1]};
const std::array<double, 2> minVolumeES{};
const std::array<double, 2> elastance{};
const std::array<double, 2> minVolumeES{62.75, 80.50};
const std::array<double, 2> elastanceES{2.393, 0.457};
const std::array<double, 2> elastanceED{0.014, -0.005};
double calcEDPressure(double vol, int i) const;
double calcESPressure(double vol, int i) const;
double pressure(double t, const Point &x, int bndCondition) const override;
......@@ -130,9 +135,6 @@ public:
double TractionViscosity(double t, const Point &x, int sd) const override { return c; };
double calcEDPressure(double vol, int i) const;
double calcESPressure(double vol, int i) const;
};
#endif //PHYSIOLOGICALPROBLEMS_HPP
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment