diff --git a/ProcessLib/GroundwaterFlowProcess.h b/ProcessLib/GroundwaterFlowProcess.h index c3de05908d864d59de47addd40984da4890d9720..c0387c5a90904d22d6943b44e42af3498581cc6a 100644 --- a/ProcessLib/GroundwaterFlowProcess.h +++ b/ProcessLib/GroundwaterFlowProcess.h @@ -243,7 +243,7 @@ public: } } - void solve() + bool solve(const double /*delta_t*/) override { DBUG("Solve GroundwaterFlowProcess."); @@ -263,6 +263,8 @@ public: typename GlobalSetup::LinearSolver linearSolver(*_A); linearSolver.solve(*_rhs, *_x); + + return true; } void post(std::string const& file_name) @@ -295,6 +297,11 @@ public: vtu_interface.writeToFile(file_name); } + void postTimestep(std::string const& file_name, const unsigned /*timestep*/) override + { + post(file_name); + } + ~GroundwaterFlowProcess() { for (auto p : _neumann_bcs) diff --git a/ProcessLib/Process.h b/ProcessLib/Process.h index 5d91b607ebe4a15ae88af3d9060e3e625b6bdb65..e96d46f74eeecc88bde7e4dd8551c72528547753 100644 --- a/ProcessLib/Process.h +++ b/ProcessLib/Process.h @@ -30,11 +30,12 @@ public: virtual ~Process() = default; virtual void initialize() = 0; - virtual void solve() = 0; + virtual bool solve(const double delta_t) = 0; /// Postprocessing after solve(). /// The file_name is indicating the name of possible output file. virtual void post(std::string const& file_name) = 0; + virtual void postTimestep(std::string const& file_name, const unsigned timestep) = 0; protected: MeshLib::Mesh& _mesh;