diff --git a/Applications/ApplicationsLib/UncoupledProcessesTimeLoop.cpp b/Applications/ApplicationsLib/UncoupledProcessesTimeLoop.cpp index 4eae2e6234e7717d5844329c3cede8b64992212a..cdfdecec8e2740576e9c07d3caf3b9a306669d63 100644 --- a/Applications/ApplicationsLib/UncoupledProcessesTimeLoop.cpp +++ b/Applications/ApplicationsLib/UncoupledProcessesTimeLoop.cpp @@ -89,7 +89,7 @@ void UncoupledProcessesTimeLoop::setInitialConditions( ode_sys.getMatrixSpecifications())); auto& x0 = *_process_solutions[pcs_idx]; - pcs.setInitialConditions(x0); + pcs.setInitialConditions(t0, x0); MathLib::LinAlg::finalizeAssembly(x0); time_disc.setInitialState(t0, x0); // push IC diff --git a/ProcessLib/Process.cpp b/ProcessLib/Process.cpp index 84d1c17eb8813829627a7c27c814c3093804ab85..c72224d7af14b6d2857f7c13d0265b82fe792fdb 100644 --- a/ProcessLib/Process.cpp +++ b/ProcessLib/Process.cpp @@ -69,7 +69,7 @@ void Process::initialize() _process_variables, *_local_to_global_index_map, _integration_order); } -void Process::setInitialConditions(GlobalVector& x) +void Process::setInitialConditions(double const t, GlobalVector& x) { DBUG("Set initial conditions."); std::size_t const n_nodes = _mesh.getNumberOfNodes(); @@ -93,7 +93,7 @@ void Process::setInitialConditions(GlobalVector& x) MeshLib::MeshItemType::Node, node_id); pos.setNodeID(node_id); - auto const& tup = ic->getTuple(0.0, pos); // 0.0 is t! + auto const& tup = ic->getTuple(t, pos); for (int comp_id = 0; comp_id < num_comp; ++comp_id) { diff --git a/ProcessLib/Process.h b/ProcessLib/Process.h index 7879580d639dd1680b9b91da496b9867a6286378..b94198a31afbcad8aa82b062122fa443413f14d8 100644 --- a/ProcessLib/Process.h +++ b/ProcessLib/Process.h @@ -71,7 +71,7 @@ public: void initialize(); - void setInitialConditions(GlobalVector& x); + void setInitialConditions(const double t, GlobalVector& x); MathLib::MatrixSpecifications getMatrixSpecifications() const override final;