diff --git a/ProcessLib/CalculateSurfaceFlux/Balance.h b/ProcessLib/CalculateSurfaceFlux/Balance.h index 9b0fae43d0808618bb005594905e11971966887f..ed97d64bfabba7109a55888d25278e6352cf5a56 100644 --- a/ProcessLib/CalculateSurfaceFlux/Balance.h +++ b/ProcessLib/CalculateSurfaceFlux/Balance.h @@ -46,28 +46,21 @@ struct Balance output_mesh_file_name.c_str()); } - static std::unique_ptr<Balance> createBalance( - BaseLib::ConfigTree const& config, + static std::unique_ptr<ProcessLib::Balance> createBalance( + BaseLib::ConfigTree const& calculatesurfaceflux_config, std::vector<std::unique_ptr<MeshLib::Mesh>> const& meshes, std::string const& output_directory) { - auto calculatesurfaceflux_config = - //! \ogs_file_param{prj__processes__process__calculatesurfaceflux} - config.getConfigSubtreeOptional("calculatesurfaceflux"); - if (!calculatesurfaceflux_config) - return std::unique_ptr<Balance>(nullptr); - std::string mesh_name = //! \ogs_file_param{prj__processes__process__calculatesurfaceflux__mesh} - calculatesurfaceflux_config->getConfigParameter<std::string>( - "mesh"); + calculatesurfaceflux_config.getConfigParameter<std::string>("mesh"); std::string balance_pv_name = //! \ogs_file_param{prj__processes__process__calculatesurfaceflux__property_name} - calculatesurfaceflux_config->getConfigParameter<std::string>( + calculatesurfaceflux_config.getConfigParameter<std::string>( "property_name"); std::string balance_out_fname = //! \ogs_file_param{prj__processes__process__calculatesurfaceflux__output_mesh} - calculatesurfaceflux_config->getConfigParameter<std::string>( + calculatesurfaceflux_config.getConfigParameter<std::string>( "output_mesh"); if (mesh_name.empty()) diff --git a/ProcessLib/GroundwaterFlow/CreateGroundwaterFlowProcess.cpp b/ProcessLib/GroundwaterFlow/CreateGroundwaterFlowProcess.cpp index ec1f28a881b5c4fd1426818f3d01c6523e7e4867..2a60f2c01539d22da128281fe45ef35981a1932f 100644 --- a/ProcessLib/GroundwaterFlow/CreateGroundwaterFlowProcess.cpp +++ b/ProcessLib/GroundwaterFlow/CreateGroundwaterFlowProcess.cpp @@ -69,8 +69,15 @@ std::unique_ptr<Process> createGroundwaterFlowProcess( ProcessLib::createSecondaryVariables(config, secondary_variables, named_function_caller); - std::unique_ptr<ProcessLib::Balance> balance = - ProcessLib::Balance::createBalance(config, meshes, output_directory); + std::unique_ptr<ProcessLib::Balance> balance; + auto calculatesurfaceflux_config = + //! \ogs_file_param{prj__processes__process__calculatesurfaceflux} + config.getConfigSubtreeOptional("calculatesurfaceflux"); + if (calculatesurfaceflux_config) + { + balance = ProcessLib::Balance::createBalance( + *calculatesurfaceflux_config, meshes, output_directory); + } return std::make_unique<GroundwaterFlowProcess>( mesh, std::move(jacobian_assembler), parameters, integration_order, diff --git a/ProcessLib/HT/CreateHTProcess.cpp b/ProcessLib/HT/CreateHTProcess.cpp index 67c50b104f982b6c825c11cdfc46ad1014972737..66a7c9a80ed94a4c11e005aea4888e79f2133e67 100644 --- a/ProcessLib/HT/CreateHTProcess.cpp +++ b/ProcessLib/HT/CreateHTProcess.cpp @@ -199,8 +199,15 @@ std::unique_ptr<Process> createHTProcess( DBUG("Use \'%s\' as Biot's constant.", biot_constant->name.c_str()); } - std::unique_ptr<ProcessLib::Balance> balance = - ProcessLib::Balance::createBalance(config, meshes, output_directory); + std::unique_ptr<ProcessLib::Balance> balance; + auto calculatesurfaceflux_config = + //! \ogs_file_param{prj__processes__process__calculatesurfaceflux} + config.getConfigSubtreeOptional("calculatesurfaceflux"); + if (calculatesurfaceflux_config) + { + balance = ProcessLib::Balance::createBalance( + *calculatesurfaceflux_config, meshes, output_directory); + } std::unique_ptr<HTMaterialProperties> material_properties = std::make_unique<HTMaterialProperties>(