#12689 Enables scripting for Non-Darcy perforation parameters

This commit is contained in:
Magne Sjaastad authored and GitHub committed 2025-08-06 08:45:58 +02:00
1 parent 91e628da24
commit b74c711b11
4 files changed
+85 -30

No files matched your search

@@ -67,6 +67,12 @@ msw_settings.roughness_factor = 1e-05
msw_settings.user_defined_reference_md = 0
msw_settings.update()
# Optionally update the Perforation Non-Darcy settings
non_darcy_parameters = perforation_coll.non_darcy_parameters()
non_darcy_parameters.non_darcy_flow_type = "UserDefined"
non_darcy_parameters.user_defined_d_factor = 1.2345
non_darcy_parameters.update()
# export completions
cases = resinsight.project.cases()
@@ -190,3 +190,49 @@ def test_fishbone_interface(rips_instance, initialize_test):
assert fishbones_updated.lateral_tubing_diameter == 0.1
assert fishbones_updated.lateral_tubing_roghness_factor == 0.1
assert fishbones_updated.subs_orientation_mode == "FIXED"
# test perforations and perforations settings
def test_perforation_settings(rips_instance, initialize_test):
well_path_coll = rips_instance.project.descendants(rips.WellPathCollection)[0]
well_path = well_path_coll.add_new_object(rips.ModeledWellPath)
well_path.name = "perforated_well"
well_path.update()
perforation_coll = well_path.completions().perforations()
non_darcy_parameters = perforation_coll.non_darcy_parameters()
non_darcy_parameters.non_darcy_flow_type = "UserDefined"
non_darcy_parameters.user_defined_d_factor = 1.2345
non_darcy_parameters.update()
non_darcy_parameters_updated = perforation_coll.non_darcy_parameters()
assert non_darcy_parameters_updated.non_darcy_flow_type == "UserDefined"
assert non_darcy_parameters_updated.user_defined_d_factor == 1.2345
non_darcy_parameters = perforation_coll.non_darcy_parameters()
non_darcy_parameters.non_darcy_flow_type = "None"
non_darcy_parameters.update()
non_darcy_parameters_updated = perforation_coll.non_darcy_parameters()
assert non_darcy_parameters_updated.non_darcy_flow_type == "None"
non_darcy_parameters = perforation_coll.non_darcy_parameters()
non_darcy_parameters.non_darcy_flow_type = "Computed"
non_darcy_parameters.gas_viscosity = 1.2
non_darcy_parameters.grid_permeability_scaling_factor = 20
non_darcy_parameters.inertial_coefficient = 1.1
non_darcy_parameters.permeability_scaling_factor = 0.14
non_darcy_parameters.porosity_scaling_factor = 0.59
non_darcy_parameters.relative_gas_density = 0.23
non_darcy_parameters.well_radius = 12.12
non_darcy_parameters.update()
non_darcy_parameters_updated = perforation_coll.non_darcy_parameters()
assert non_darcy_parameters_updated.non_darcy_flow_type == "Computed"
assert non_darcy_parameters_updated.gas_viscosity == 1.2
assert non_darcy_parameters_updated.grid_permeability_scaling_factor == 20
assert non_darcy_parameters_updated.inertial_coefficient == 1.1
assert non_darcy_parameters_updated.permeability_scaling_factor == 0.14
assert non_darcy_parameters_updated.porosity_scaling_factor == 0.59
assert non_darcy_parameters_updated.relative_gas_density == 0.23
assert non_darcy_parameters_updated.well_radius == 12.12