Commit c25857be authored by thomaskummer's avatar thomaskummer
Browse files

intrepid lifev update

parent a17da2c1
......@@ -172,6 +172,7 @@ int main (int argc, char** argv)
//============================================//
HeartSolver<EMSolver<mesh_Type, monodomain_Type> > heartSolver (solver, circulationSolver);
heartSolver.setupHeartData(dataFile);
//============================================//
// Setup material data
......@@ -420,7 +421,7 @@ int main (int argc, char** argv)
//============================================//
// Set variables and functions
//============================================//
const Real dt_activation = solver.data().electroParameter<Real>("timestep");
const Real dt_activation = heartSolver.setupHeartData.dt_activtion();
const Real dt_loadstep = dataFile ( "solid/time_discretization/dt_loadstep", 1.0 );
const Real activationLimit_loadstep = dataFile ( "solid/time_discretization/activation_limit_loadstep", 0.0 );
const Real dt_mechanics = solver.data().solidParameter<Real>("timestep");
......
......@@ -34,6 +34,8 @@ public:
virtual ~HeartData() {};
const Real& dt_activation() { return M_dt_activation; }
protected:
......@@ -41,23 +43,23 @@ protected:
void setupData()
{
M_dt_activation = M_dataFile ("timestep");
M_dt_activation = M_dataFile ("activation/time_discretization/timestep");
M_dt_loadstep = M_dataFile ( "solid/time_discretization/dt_loadstep", 1.0 );
M_activationLimit_loadstep = M_dataFile ( "solid/time_discretization/activation_limit_loadstep", 0.0 );
M_dt_mechanics = M_dataFile ("timestep");
M_dt_mechanics = M_dataFile ("solid/time_discretization/timestep");
M_dt_save = M_dataFile ( "exporter/save", 10. );
M_endtime = M_dataFile ("endtime");
M_endtime = M_dataFile ("solid/time_discretization/endtime");
M_mechanicsLoadstepIter = static_cast<UInt>( M_dt_loadstep / M_dt_activation );
M_mechanicsCouplingIter = static_cast<UInt>( M_dt_mechanics / M_dt_activation );
M_maxiter = static_cast<UInt>( M_endtime / M_dt_activation ) ;
// const Real pPerturbationFe = dataFile ( "solid/coupling/pPerturbationFe", 1e-2 );
// const Real pPerturbationCirc = dataFile ( "solid/coupling/pPerturbationCirc", 1e-3 );
// const Real couplingError = dataFile ( "solid/coupling/couplingError", 1e-6 );
// const UInt couplingJFeSubIter = dataFile ( "solid/coupling/couplingJFeSubIter", 1 );
// const UInt couplingJFeSubStart = dataFile ( "solid/coupling/couplingJFeSubStart", 1 );
// const UInt couplingJFeIter = dataFile ( "solid/coupling/couplingJFeIter", 1 );
//
M_pPerturbationFe = dataFile ( "solid/coupling/pPerturbationFe", 1e-2 );
M_pPerturbationCirc = dataFile ( "solid/coupling/pPerturbationCirc", 1e-3 );
M_couplingError = dataFile ( "solid/coupling/couplingError", 1e-6 );
M_couplingJFeSubIter = dataFile ( "solid/coupling/couplingJFeSubIter", 1 );
M_couplingJFeSubStart = dataFile ( "solid/coupling/couplingJFeSubStart", 1 );
M_couplingJFeIter = dataFile ( "solid/coupling/couplingJFeIter", 1 );
// const Real dpMax = dataFile ( "solid/coupling/dpMax", 0.1 );
//
// std::vector<std::vector<std::string> > bcNames { { "lv" , "p" } , { "rv" , "p" } };
......@@ -86,7 +88,12 @@ protected:
UInt M_mechanicsCouplingIter;
UInt M_maxiter;
Real M_pPerturbationFe;
Real M_pPerturbationCirc;
Real M_couplingError;
UInt M_couplingJFeSubIter;
UInt M_couplingJFeSubStart;
UInt M_couplingJFeIter;
const GetPot M_datafile;
......@@ -105,6 +112,11 @@ public:
virtual ~HeartSolver() {}
const HeartData& data()
{
return M_heartData;
}
void preloadHeart(const VectorSmall<2>& endocardiaBC);
void setupHeartData(const GetPot& datafile)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment