From 9e7f8b26774c5fc390aab49dbdf42755d992965f Mon Sep 17 00:00:00 2001 From: Lars Bilke <lars.bilke@ufz.de> Date: Wed, 10 Apr 2024 12:56:56 +0200 Subject: [PATCH] Removed ThirdParty/ogs6py. ogs6py is a dependency of OGSTools which depends on OGS. --- .gitmodules | 3 - ProcessLib/HT/Tests.cmake | 11 +- .../generateInvalidMediaForHT.py | 262 ++++++++++++++++++ ThirdParty/ogs6py | 1 - 4 files changed, 266 insertions(+), 11 deletions(-) create mode 100644 Tests/Data/Parabolic/HT/InvalidProjectFiles/generateInvalidMediaForHT.py delete mode 160000 ThirdParty/ogs6py diff --git a/.gitmodules b/.gitmodules index 854c0f5d668..e69de29bb2d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +0,0 @@ -[submodule "ThirdParty/ogs6py"] - path = ThirdParty/ogs6py - url = https://github.com/joergbuchwald/ogs6py.git diff --git a/ProcessLib/HT/Tests.cmake b/ProcessLib/HT/Tests.cmake index 96b6b1eeb02..e93012552e9 100644 --- a/ProcessLib/HT/Tests.cmake +++ b/ProcessLib/HT/Tests.cmake @@ -357,12 +357,10 @@ AddTest( ThermalConvection_ts_1_t_0.000000_expected.vtu ThermalConvection_ts_1_t_0.000000.vtu darcy_velocity darcy_velocity 1e-8 1e-13 ) -if(NOT OGS_USE_MPI AND OGS_BUILD_TESTING AND Python_FOUND) - add_custom_target(generate_invalid_project_files_ht - ${Python_EXECUTABLE} - ${PROJECT_SOURCE_DIR}/ThirdParty/ogs6py/generateInvalidMediaForHT.py - generateInvalidMediaForHT.py - WORKING_DIRECTORY ${Data_SOURCE_DIR}/Parabolic/HT/InvalidProjectFiles/) +if(NOT OGS_USE_MPI AND OGS_BUILD_TESTING AND OGS_USE_PIP) + execute_process(COMMAND ${Python_EXECUTABLE} + ${Data_SOURCE_DIR}/Parabolic/HT/InvalidProjectFiles/generateInvalidMediaForHT.py + WORKING_DIRECTORY ${Data_SOURCE_DIR}/Parabolic/HT/InvalidProjectFiles) file(GLOB HT_INVALID_PRJ_FILES ${Data_SOURCE_DIR}/Parabolic/HT/InvalidProjectFiles/*.prj) foreach(ht_invalid_prj_file ${HT_INVALID_PRJ_FILES}) string(REPLACE ${Data_SOURCE_DIR}/Parabolic/HT/InvalidProjectFiles/HT "invalid" ht_invalid_prj_file_short ${ht_invalid_prj_file}) @@ -372,7 +370,6 @@ if(NOT OGS_USE_MPI AND OGS_BUILD_TESTING AND Python_FOUND) EXECUTABLE ogs EXECUTABLE_ARGS ${ht_invalid_prj_file} RUNTIME 1 - DEPENDS generate_invalid_project_files_ht ) set_tests_properties(ogs-HT_${ht_invalid_prj_file_short} PROPERTIES WILL_FAIL TRUE) endforeach() diff --git a/Tests/Data/Parabolic/HT/InvalidProjectFiles/generateInvalidMediaForHT.py b/Tests/Data/Parabolic/HT/InvalidProjectFiles/generateInvalidMediaForHT.py new file mode 100644 index 00000000000..5a9f85a8b5e --- /dev/null +++ b/Tests/Data/Parabolic/HT/InvalidProjectFiles/generateInvalidMediaForHT.py @@ -0,0 +1,262 @@ +from ogs6py import ogs + + +def addSolidPropertiesForHT(omit=""): + if omit != "storage": + model.media.add_property( + medium_id="0", + phase_type="Solid", + name="storage", + type="Constant", + value="0.0", + ) + if omit != "density": + model.media.add_property( + medium_id="0", + phase_type="Solid", + name="density", + type="Constant", + value="0.0", + ) + if omit != "thermal_conductivity": + model.media.add_property( + medium_id="0", + phase_type="Solid", + name="thermal_conductivity", + type="Constant", + value="3.0", + ) + if omit != "specific_heat_capacity": + model.media.add_property( + medium_id="0", + phase_type="Solid", + name="specific_heat_capacity", + type="Constant", + value="0.0", + ) + + +def addAqueousLiquidPropertiesForHT(omit=""): + if omit != "specific_heat_capacity": + model.media.add_property( + medium_id="0", + phase_type="AqueousLiquid", + name="specific_heat_capacity", + type="Constant", + value="0.0", + ) + if omit != "thermal_conductivity": + model.media.add_property( + medium_id="0", + phase_type="AqueousLiquid", + name="thermal_conductivity", + type="Constant", + value="0.65", + ) + if omit != "density": + model.media.add_property( + medium_id="0", + phase_type="AqueousLiquid", + name="density", + type="Constant", + value="1e-3", + ) + if omit != "viscosity": + model.media.add_property( + medium_id="0", + phase_type="AqueousLiquid", + name="viscosity", + type="Constant", + value="1e-3", + ) + + +def addMediumPropertiesForHT(omit=""): + if omit != "thermal_longitudinal_dispersivity": + model.media.add_property( + medium_id="0", + name="thermal_longitudinal_dispersivity", + type="Constant", + value="0.0", + ) + if omit != "thermal_transversal_dispersivity": + model.media.add_property( + medium_id="0", + name="thermal_transversal_dispersivity", + type="Constant", + value="0.0", + ) + if omit != "permeability": + model.media.add_property( + medium_id="0", name="permeability", type="Constant", value="1e-14 0 0 1e-14" + ) + if omit != "porosity": + model.media.add_property( + medium_id="0", name="porosity", type="Constant", value="1e-3" + ) + + +solid_properties = [ + "", + "storage", + "density", + "thermal_conductivity", + "specific_heat_capacity", +] +aqueousfluid_properties = [ + "", + "specific_heat_capacity", + "thermal_conductivity", + "density", + "viscosity", +] +medium_properties = [ + "", + "thermal_longitudinal_dispersivity", + "thermal_transversal_dispersivity", + "permeability", + "porosity", +] + +for solid_property in solid_properties: + for aqueousfluid_property in aqueousfluid_properties: + for medium_property in medium_properties: + if ( + solid_property == "" + and aqueousfluid_property == "" + and medium_property == "" + ): + continue + model = ogs.OGS( + PROJECT_FILE="HT_" + + solid_property + + "_" + + aqueousfluid_property + + "_" + + medium_property + + ".prj" + ) + model.mesh.add_mesh(filename="square_1x1_quad_1e3.vtu") + model.geo.add_geom(filename="square_1x1.gml") + model.processes.set_process( + name="HT", type="HT", integration_order="2", specific_body_force="0 0" + ) + model.processes.add_process_variable( + process_variable="temperature", process_variable_name="temperature" + ) + model.processes.add_process_variable( + process_variable="pressure", process_variable_name="pressure" + ) + model.processes.add_process_variable( + secondary_variable="darcy_velocity", output_name="darcy_velocity" + ) + + addAqueousLiquidPropertiesForHT(aqueousfluid_property) + addSolidPropertiesForHT(solid_property) + addMediumPropertiesForHT(medium_property) + + model.timeloop.add_process( + process="HT", + nonlinear_solver_name="basic_picard", + convergence_type="DeltaX", + norm_type="NORM2", + abstol="1e-15", + time_discretization="BackwardEuler", + ) + model.timeloop.set_stepping( + process="HT", + type="FixedTimeStepping", + t_initial="0", + t_end="1", + repeat="4", + delta_t="0.25", + ) + model.timeloop.add_output( + type="VTK", + prefix="HT_test_", + repeat="1", + each_steps="10", + variables=["temperature", "pressure"], + ) + model.parameters.add_parameter(name="T0", type="Constant", value="0") + model.parameters.add_parameter(name="P0", type="Constant", value="0") + model.parameters.add_parameter( + name="p_Dirichlet_left", type="Constant", value="1" + ) + # model.parameters.add_parameter(name="p_Dirichlet_right", type="Constant", value="-1") + model.parameters.add_parameter( + name="t_Dirichlet_bottom", type="Constant", value="2" + ) + # model.parameters.add_parameter(name="t_Dirichlet_top", type="Constant", value="1") + model.processvars.set_ic( + process_variable_name="temperature", + components="1", + order="1", + initial_condition="T0", + ) + model.processvars.add_bc( + process_variable_name="temperature", + geometrical_set="square_1x1_geometry", + geometry="bottom", + type="Dirichlet", + component="0", + parameter="t_Dirichlet_bottom", + ) + # model.processvars.add_bc(process_variable_name="temperature", + # geometrical_set="square_1x1_geometry", + # geometry="top", + # type="Dirichlet", + # component="1", + # parameter="t_Dirichlet_top") + model.processvars.set_ic( + process_variable_name="pressure", + components="1", + order="1", + initial_condition="P0", + ) + model.processvars.add_bc( + process_variable_name="pressure", + geometrical_set="square_1x1_geometry", + geometry="left", + type="Dirichlet", + component="1", + parameter="p_Dirichlet_left", + ) + # model.processvars.addadd_bcBC(process_variable_name="pressure", + # geometrical_set="square_1x1_geometry", + # geometry="right", + # type="Dirichlet", + # component="1", + # parameter="p_Dirichlet_right") + model.nonlinsolvers.add_non_lin_solver( + name="basic_picard", + type="Picard", + max_iter="4", + linear_solver="general_linear_solver", + ) + model.linsolvers.add_lin_solver( + name="general_linear_solver", + kind="lis", + solver_type="cg", + precon_type="jacobi", + max_iteration_step="10000", + error_tolerance="1e-16", + ) + model.linsolvers.add_lin_solver( + name="general_linear_solver", + kind="eigen", + solver_type="CG", + precon_type="DIAGONAL", + max_iteration_step="10000", + error_tolerance="1e-16", + ) + model.linsolvers.add_lin_solver( + name="general_linear_solver", + kind="petsc", + solver_type="cg", + precon_type="bjacobi", + max_iteration_step="10000", + error_tolerance="1e-16", + prefix="foo", + ) + model.write_input() diff --git a/ThirdParty/ogs6py b/ThirdParty/ogs6py deleted file mode 160000 index a909ed65ad9..00000000000 --- a/ThirdParty/ogs6py +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a909ed65ad9ec99fbe752dd7000f07005ee912ff -- GitLab