diff --git a/ProcessLib/HeatTransportBHE/Tests.cmake b/ProcessLib/HeatTransportBHE/Tests.cmake index 8148316aa52d17606f0afb762cdee8ba13995561..bb6cb771aa9382488ebfe57ad96efb609be178f4 100644 --- a/ProcessLib/HeatTransportBHE/Tests.cmake +++ b/ProcessLib/HeatTransportBHE/Tests.cmake @@ -96,6 +96,20 @@ AddTest( beier_sandbox_ts_10_t_600.000000.vtu beier_sandbox_newton_ts_10_t_600.000000.vtu temperature_soil temperature_soil 0 1e-13 ) +AddTest( + NAME HeatTransportBHE_1U_3D_beier_sandbox_binary_curve + PATH Parabolic/T/3D_Beier_sandbox + EXECUTABLE ogs + EXECUTABLE_ARGS beier_sandbox_binary_curve.xml + WRAPPER time + TESTER vtkdiff + REQUIREMENTS NOT OGS_USE_MPI + RUNTIME 20 + DIFF_DATA + beier_sandbox_ts_10_t_600.000000.vtu beier_sandbox_binary_curve_ts_10_t_600.000000.vtu temperature_BHE1 temperature_BHE1 0 1e-14 + beier_sandbox_ts_10_t_600.000000.vtu beier_sandbox_binary_curve_ts_10_t_600.000000.vtu temperature_soil temperature_soil 0 1e-12 +) + AddTest( NAME HeatTransportBHE_1U_3D_beier_sandbox_algebraicBC PATH Parabolic/T/3D_Beier_sandbox diff --git a/Tests/Data/Parabolic/T/3D_Beier_sandbox/beier_sandbox_binary_curve.xml b/Tests/Data/Parabolic/T/3D_Beier_sandbox/beier_sandbox_binary_curve.xml new file mode 100644 index 0000000000000000000000000000000000000000..fc46600ba66a3b27486eafdf55241965847257fa --- /dev/null +++ b/Tests/Data/Parabolic/T/3D_Beier_sandbox/beier_sandbox_binary_curve.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<OpenGeoSysProjectDiff base_file="beier_sandbox.prj"> + <add sel="/*/curves/curve"> + <read_from_file>true</read_from_file> + </add> + <replace sel="/*/time_loop/output/prefix/text()">beier_sandbox_binary_curve</replace> + <replace sel="/*/curves/curve/coords/text()">inflow_temperature_coords.bin</replace> + <replace sel="/*/curves/curve/values/text()">inflow_temperature_values.bin</replace> +</OpenGeoSysProjectDiff> diff --git a/Tests/Data/Parabolic/T/3D_Beier_sandbox/inflow_temperature_coords.bin b/Tests/Data/Parabolic/T/3D_Beier_sandbox/inflow_temperature_coords.bin new file mode 100644 index 0000000000000000000000000000000000000000..0d8885307c32c7b8bbf9e7f450c0a8a2583c67e4 Binary files /dev/null and b/Tests/Data/Parabolic/T/3D_Beier_sandbox/inflow_temperature_coords.bin differ diff --git a/Tests/Data/Parabolic/T/3D_Beier_sandbox/inflow_temperature_values.bin b/Tests/Data/Parabolic/T/3D_Beier_sandbox/inflow_temperature_values.bin new file mode 100644 index 0000000000000000000000000000000000000000..8e5490107b99a40f7f35dde933e562921e20f0af Binary files /dev/null and b/Tests/Data/Parabolic/T/3D_Beier_sandbox/inflow_temperature_values.bin differ diff --git a/Tests/Data/Parabolic/T/3D_Beier_sandbox/read_values_from_prj_curve.py b/Tests/Data/Parabolic/T/3D_Beier_sandbox/read_values_from_prj_curve.py new file mode 100644 index 0000000000000000000000000000000000000000..c487e1cb9f2495ff94b881932401f876de36f79a --- /dev/null +++ b/Tests/Data/Parabolic/T/3D_Beier_sandbox/read_values_from_prj_curve.py @@ -0,0 +1,31 @@ +import inspect +import os +import xml.etree.ElementTree as ET + +import numpy as np + +file = inspect.getfile(inspect.currentframe()) +prj_path = os.path.split(os.path.realpath(file))[0] + +#read prj-data +tree = ET.parse(prj_path + '/beier_sandbox.prj') +root = tree.getroot() + +curve_elements = root.findall('.//curve') +for curve in curve_elements: + + curve_name = curve.find('name').text + + # read coordinates + coords_element = curve.find('coords') + coords_text = coords_element.text #replace("\n", " ") + coords_array = np.fromstring(coords_text, dtype=float, sep=' ') + # Store array in binary format + coords_array.astype('<f8').tofile(prj_path + f'/{curve_name}_coords.bin') # < - little Endian | f - float | 8 - Bytes equal to 64bit(double) + + + # read values + values_element = curve.find('values') + values_text = values_element.text #replace("\n", " ") + values_array = np.fromstring(values_text, dtype=float, sep=' ') + values_array.astype('<f8').tofile(prj_path + f'/{curve_name}_values.bin') # < - little Endian | f - float | 8 - Bytes equal to 64bit(double)