diff --git a/ProcessLib/GroundwaterFlow/CreateGroundwaterFlowProcess.cpp b/ProcessLib/GroundwaterFlow/CreateGroundwaterFlowProcess.cpp index 64b79443c5e386ccdd158186fff3b74492317777..f24d8e78510a2a88156f62e9133df2341a8d023b 100644 --- a/ProcessLib/GroundwaterFlow/CreateGroundwaterFlowProcess.cpp +++ b/ProcessLib/GroundwaterFlow/CreateGroundwaterFlowProcess.cpp @@ -20,9 +20,6 @@ namespace GroundwaterFlow { std::unique_ptr<Process> createGroundwaterFlowProcess( MeshLib::Mesh& mesh, - Process::NonlinearSolver& nonlinear_solver, - std::unique_ptr<Process::TimeDiscretization>&& time_discretization, - std::unique_ptr<NumLib::ConvergenceCriterion>&& convergence_criterion, std::vector<ProcessVariable> const& variables, std::vector<std::unique_ptr<ParameterBase>> const& parameters, BaseLib::ConfigTree const& config) @@ -58,15 +55,9 @@ std::unique_ptr<Process> createGroundwaterFlowProcess( ProcessLib::parseSecondaryVariables(config, secondary_variables, named_function_caller); - //! \ogs_file_param{process__output} - ProcessOutput process_output{config.getConfigSubtree("output")}; - return std::unique_ptr<Process>{new GroundwaterFlowProcess{ - mesh, nonlinear_solver, std::move(time_discretization), - std::move(convergence_criterion), parameters, - std::move(process_variables), std::move(process_data), - std::move(secondary_variables), std::move(process_output), - std::move(named_function_caller)}}; + mesh, parameters, std::move(process_variables), std::move(process_data), + std::move(secondary_variables), std::move(named_function_caller)}}; } } // namespace GroundwaterFlow diff --git a/ProcessLib/GroundwaterFlow/CreateGroundwaterFlowProcess.h b/ProcessLib/GroundwaterFlow/CreateGroundwaterFlowProcess.h index 3e964c246f8653e4963fc56ed828e7f01e80108e..0f3c11ce5116147522410d544b90fc97ad4016fe 100644 --- a/ProcessLib/GroundwaterFlow/CreateGroundwaterFlowProcess.h +++ b/ProcessLib/GroundwaterFlow/CreateGroundwaterFlowProcess.h @@ -20,9 +20,6 @@ namespace GroundwaterFlow { std::unique_ptr<Process> createGroundwaterFlowProcess( MeshLib::Mesh& mesh, - Process::NonlinearSolver& nonlinear_solver, - std::unique_ptr<Process::TimeDiscretization>&& time_discretization, - std::unique_ptr<NumLib::ConvergenceCriterion>&& convergence_criterion, std::vector<ProcessVariable> const& variables, std::vector<std::unique_ptr<ParameterBase>> const& parameters, BaseLib::ConfigTree const& config); diff --git a/ProcessLib/GroundwaterFlow/GroundwaterFlowProcess.cpp b/ProcessLib/GroundwaterFlow/GroundwaterFlowProcess.cpp index e077af278382462a8f329036176aa8299f5a19d9..fd13527d1eacff4394ee6da8a6ea3044bf5bfc55 100644 --- a/ProcessLib/GroundwaterFlow/GroundwaterFlowProcess.cpp +++ b/ProcessLib/GroundwaterFlow/GroundwaterFlowProcess.cpp @@ -19,33 +19,15 @@ namespace GroundwaterFlow { GroundwaterFlowProcess::GroundwaterFlowProcess( MeshLib::Mesh& mesh, - Base::NonlinearSolver& nonlinear_solver, - std::unique_ptr<Base::TimeDiscretization>&& time_discretization, - std::unique_ptr<NumLib::ConvergenceCriterion>&& convergence_criterion, std::vector<std::unique_ptr<ParameterBase>> const& parameters, std::vector<std::reference_wrapper<ProcessVariable>>&& process_variables, GroundwaterFlowProcessData&& process_data, SecondaryVariableCollection&& secondary_variables, - ProcessOutput&& process_output, NumLib::NamedFunctionCaller&& named_function_caller) - : Process(mesh, nonlinear_solver, std::move(time_discretization), - std::move(convergence_criterion), parameters, - std::move(process_variables), std::move(secondary_variables), - std::move(process_output), std::move(named_function_caller)), + : Process(mesh, parameters, std::move(process_variables), + std::move(secondary_variables), std::move(named_function_caller)), _process_data(std::move(process_data)) { - if (dynamic_cast<NumLib::ForwardEuler*>( - &Base::getTimeDiscretization()) != nullptr) - { - OGS_FATAL( - "GroundwaterFlowProcess can not be solved with the ForwardEuler" - " time discretization scheme. Aborting"); - // Because the M matrix is not assembled. Thus, the linearized system - // would be singular. The same applies to CrankNicolson with theta = 0.0, - // but this case is not checked here. - // Anyway, the GroundwaterFlowProcess shall be transferred to a simpler - // ODESystemTag in the future. - } } void GroundwaterFlowProcess::initializeConcreteProcess( diff --git a/ProcessLib/GroundwaterFlow/GroundwaterFlowProcess.h b/ProcessLib/GroundwaterFlow/GroundwaterFlowProcess.h index 8f043ea6dcde6275957a9bb7be7f4a23be563afd..ca21d362461104aee9c49d2d0a32782286ae8cb5 100644 --- a/ProcessLib/GroundwaterFlow/GroundwaterFlowProcess.h +++ b/ProcessLib/GroundwaterFlow/GroundwaterFlowProcess.h @@ -27,15 +27,11 @@ class GroundwaterFlowProcess final : public Process public: GroundwaterFlowProcess( MeshLib::Mesh& mesh, - Base::NonlinearSolver& nonlinear_solver, - std::unique_ptr<Base::TimeDiscretization>&& time_discretization, - std::unique_ptr<NumLib::ConvergenceCriterion>&& convergence_criterion, std::vector<std::unique_ptr<ParameterBase>> const& parameters, std::vector<std::reference_wrapper<ProcessVariable>>&& process_variables, GroundwaterFlowProcessData&& process_data, SecondaryVariableCollection&& secondary_variables, - ProcessOutput&& process_output, NumLib::NamedFunctionCaller&& named_function_caller); //! \name ODESystem interface diff --git a/ProcessLib/TES/CreateTESProcess.cpp b/ProcessLib/TES/CreateTESProcess.cpp index 2c5393eb0d673429a42fac73603b236a2b7ca5c1..0f2b0da925436ea2f9c065cea4810519ace9a775 100644 --- a/ProcessLib/TES/CreateTESProcess.cpp +++ b/ProcessLib/TES/CreateTESProcess.cpp @@ -18,9 +18,6 @@ namespace TES { std::unique_ptr<Process> createTESProcess( MeshLib::Mesh& mesh, - Process::NonlinearSolver& nonlinear_solver, - std::unique_ptr<Process::TimeDiscretization>&& time_discretization, - std::unique_ptr<NumLib::ConvergenceCriterion>&& convergence_criterion, std::vector<ProcessVariable> const& variables, std::vector<std::unique_ptr<ParameterBase>> const& parameters, BaseLib::ConfigTree const& config) @@ -42,14 +39,9 @@ std::unique_ptr<Process> createTESProcess( ProcessLib::parseSecondaryVariables(config, secondary_variables, named_function_caller); - //! \ogs_file_param{process__output} - ProcessOutput process_output{config.getConfigSubtree("output")}; - return std::unique_ptr<Process>{new TESProcess{ - mesh, nonlinear_solver, std::move(time_discretization), - std::move(convergence_criterion), parameters, - std::move(process_variables), std::move(secondary_variables), - std::move(process_output), std::move(named_function_caller), config}}; + mesh, parameters, std::move(process_variables), std::move(secondary_variables), + std::move(named_function_caller), config}}; } } // namespace TES diff --git a/ProcessLib/TES/CreateTESProcess.h b/ProcessLib/TES/CreateTESProcess.h index f51d00030e62f638f5625092cccca88c82b9304e..856625928eb0b4e580b30313b5672de13af20019 100644 --- a/ProcessLib/TES/CreateTESProcess.h +++ b/ProcessLib/TES/CreateTESProcess.h @@ -19,9 +19,6 @@ namespace TES { std::unique_ptr<Process> createTESProcess( MeshLib::Mesh& mesh, - Process::NonlinearSolver& nonlinear_solver, - std::unique_ptr<Process::TimeDiscretization>&& time_discretization, - std::unique_ptr<NumLib::ConvergenceCriterion>&& convergence_criterion, std::vector<ProcessVariable> const& variables, std::vector<std::unique_ptr<ParameterBase>> const& /*parameters*/, BaseLib::ConfigTree const& config); diff --git a/ProcessLib/TES/TESProcess.cpp b/ProcessLib/TES/TESProcess.cpp index c53b16cebdf74d4f1a0bb12cb7e95d510f03ec6a..40a095841ff8933fb272e50360d3976087a21520 100644 --- a/ProcessLib/TES/TESProcess.cpp +++ b/ProcessLib/TES/TESProcess.cpp @@ -55,19 +55,13 @@ namespace TES { TESProcess::TESProcess( MeshLib::Mesh& mesh, - Process::NonlinearSolver& nonlinear_solver, - std::unique_ptr<Process::TimeDiscretization>&& time_discretization, - std::unique_ptr<NumLib::ConvergenceCriterion>&& convergence_criterion, std::vector<std::unique_ptr<ParameterBase>> const& parameters, std::vector<std::reference_wrapper<ProcessVariable>>&& process_variables, SecondaryVariableCollection&& secondary_variables, - ProcessOutput&& process_output, NumLib::NamedFunctionCaller&& named_function_caller, const BaseLib::ConfigTree& config) - : Process(mesh, nonlinear_solver, std::move(time_discretization), - std::move(convergence_criterion), parameters, - std::move(process_variables), std::move(secondary_variables), - std::move(process_output), std::move(named_function_caller)) + : Process(mesh, parameters, std::move(process_variables), + std::move(secondary_variables), std::move(named_function_caller)) { DBUG("Create TESProcess."); @@ -298,20 +292,6 @@ void TESProcess::preIterationConcreteProcess(const unsigned iter, NumLib::IterationResult TESProcess::postIterationConcreteProcess( GlobalVector const& x) { - if (this->_process_output.output_iteration_results) - { - DBUG("output results of iteration %li", - _assembly_params.total_iteration); - std::string fn = - "tes_iter_" + std::to_string(_assembly_params.total_iteration) + - +"_ts_" + std::to_string(_assembly_params.timestep) + "_" + - std::to_string(_assembly_params.iteration_in_current_timestep) + - "_" + std::to_string(_assembly_params.number_of_try_of_iteration) + - ".vtu"; - - this->output(fn, 0, x); - } - bool check_passed = true; if (!Trafo::constrained) diff --git a/ProcessLib/TES/TESProcess.h b/ProcessLib/TES/TESProcess.h index 84dbb50132ee213c17810cb1c3eae68fcfd2f4af..e0d94642f6f36b0861c52ee15714afb67962d8f8 100644 --- a/ProcessLib/TES/TESProcess.h +++ b/ProcessLib/TES/TESProcess.h @@ -33,14 +33,10 @@ class TESProcess final : public Process public: TESProcess( MeshLib::Mesh& mesh, - Process::NonlinearSolver& nonlinear_solver, - std::unique_ptr<Process::TimeDiscretization>&& time_discretization, - std::unique_ptr<NumLib::ConvergenceCriterion>&& convergence_criterion, std::vector<std::unique_ptr<ParameterBase>> const& parameters, std::vector<std::reference_wrapper<ProcessVariable>>&& process_variables, SecondaryVariableCollection&& secondary_variables, - ProcessOutput&& process_output, NumLib::NamedFunctionCaller&& named_function_caller, BaseLib::ConfigTree const& config);