mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
add new regression test class: parallel
this compares the output of a serial and a parallel run for a simulation
This commit is contained in:
parent
31d5d2824c
commit
d8a829db46
@ -14,7 +14,7 @@ set(BASE_RESULT_PATH ${PROJECT_BINARY_DIR}/tests/results)
|
|||||||
#
|
#
|
||||||
macro (add_test_compareECLFiles casename filename simulator)
|
macro (add_test_compareECLFiles casename filename simulator)
|
||||||
|
|
||||||
set(RESULT_PATH ${BASE_RESULT_PATH}/${casename}+${simulator})
|
set(RESULT_PATH ${BASE_RESULT_PATH}/${simulator}+${casename})
|
||||||
# Add test that runs flow and outputs the results to file
|
# Add test that runs flow and outputs the results to file
|
||||||
opm_add_test(compareECLFiles_${simulator}+${filename} NO_COMPILE
|
opm_add_test(compareECLFiles_${simulator}+${filename} NO_COMPILE
|
||||||
EXE_NAME ${simulator}
|
EXE_NAME ${simulator}
|
||||||
@ -36,7 +36,7 @@ endmacro (add_test_compareECLFiles)
|
|||||||
#
|
#
|
||||||
macro (add_test_compareECLRestartFiles casename filename simulator)
|
macro (add_test_compareECLRestartFiles casename filename simulator)
|
||||||
|
|
||||||
set(RESULT_PATH ${BASE_RESULT_PATH}/restart/${casename})
|
set(RESULT_PATH ${BASE_RESULT_PATH}/restart/${simulator}+${casename})
|
||||||
# Add test that runs flow and outputs the results to file
|
# Add test that runs flow and outputs the results to file
|
||||||
opm_add_test(compareECLRestartFiles_${simulator}+${filename} NO_COMPILE
|
opm_add_test(compareECLRestartFiles_${simulator}+${filename} NO_COMPILE
|
||||||
EXE_NAME ${simulator}
|
EXE_NAME ${simulator}
|
||||||
@ -49,6 +49,29 @@ macro (add_test_compareECLRestartFiles casename filename simulator)
|
|||||||
TEST_ARGS ${OPM_DATA_ROOT}/${casename}/${filename})
|
TEST_ARGS ${OPM_DATA_ROOT}/${casename}/${filename})
|
||||||
endmacro (add_test_compareECLRestartFiles)
|
endmacro (add_test_compareECLRestartFiles)
|
||||||
|
|
||||||
|
###########################################################################
|
||||||
|
# TEST: parallelECLFiles
|
||||||
|
###########################################################################
|
||||||
|
|
||||||
|
# Input:
|
||||||
|
# - casename: basename (no extension)
|
||||||
|
#
|
||||||
|
macro (add_test_parallelECLFiles casename filename simulator)
|
||||||
|
set(abs_tol 0.02)
|
||||||
|
set(rel_tol 1e-5)
|
||||||
|
set(RESULT_PATH ${BASE_RESULT_PATH}/parallel/${simulator}+${casename})
|
||||||
|
|
||||||
|
# Add test that runs flow_mpi and outputs the results to file
|
||||||
|
opm_add_test(parallelECLFiles_${simulator}+${filename} NO_COMPILE
|
||||||
|
EXE_NAME ${simulator}
|
||||||
|
DRIVER_ARGS ${OPM_DATA_ROOT}/${casename} ${RESULT_PATH}
|
||||||
|
${CMAKE_BINARY_DIR}/bin
|
||||||
|
${filename}
|
||||||
|
${abs_tol} ${rel_tol}
|
||||||
|
${COMPARE_SUMMARY_COMMAND}
|
||||||
|
${COMPARE_ECL_COMMAND}
|
||||||
|
TEST_ARGS ${OPM_DATA_ROOT}/${casename}/${filename})
|
||||||
|
endmacro (add_test_parallelECLFiles)
|
||||||
|
|
||||||
if(NOT TARGET test-suite)
|
if(NOT TARGET test-suite)
|
||||||
add_custom_target(test-suite)
|
add_custom_target(test-suite)
|
||||||
@ -67,3 +90,12 @@ opm_set_test_driver(${PROJECT_SOURCE_DIR}/tests/run-restart-regressionTest.sh ""
|
|||||||
|
|
||||||
add_test_compareECLRestartFiles(spe1 SPE1CASE2_ACTNUM flow)
|
add_test_compareECLRestartFiles(spe1 SPE1CASE2_ACTNUM flow)
|
||||||
add_test_compareECLRestartFiles(spe9 SPE9_CP_SHORT flow)
|
add_test_compareECLRestartFiles(spe9 SPE9_CP_SHORT flow)
|
||||||
|
|
||||||
|
# Parallel tests
|
||||||
|
if(MPI_FOUND)
|
||||||
|
opm_set_test_driver(${PROJECT_SOURCE_DIR}/tests/run-parallel-regressionTest.sh "")
|
||||||
|
|
||||||
|
add_test_parallelECLFiles(spe1 SPE1CASE2 flow_mpi)
|
||||||
|
add_test_parallelECLFiles(spe3 SPE3CASE1 flow_mpi)
|
||||||
|
add_test_parallelECLFiles(spe9 SPE9_CP_SHORT flow_mpi)
|
||||||
|
endif()
|
||||||
|
26
tests/run-parallel-regressionTest.sh
Executable file
26
tests/run-parallel-regressionTest.sh
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
INPUT_DATA_PATH="$1"
|
||||||
|
RESULT_PATH="$2"
|
||||||
|
BINPATH="$3"
|
||||||
|
FILENAME="$4"
|
||||||
|
ABS_TOL="$5"
|
||||||
|
REL_TOL="$6"
|
||||||
|
COMPARE_SUMMARY_COMMAND="$7"
|
||||||
|
COMPARE_ECL_COMMAND="$8"
|
||||||
|
EXE_NAME="${9}"
|
||||||
|
shift 9
|
||||||
|
TEST_ARGS="$@"
|
||||||
|
|
||||||
|
rm -Rf ${RESULT_PATH}
|
||||||
|
mkdir -p ${RESULT_PATH}
|
||||||
|
cd ${RESULT_PATH}
|
||||||
|
${BINPATH}/${EXE_NAME} ${TEST_ARGS}.DATA linear_solver_reduction=1e-7 tolerance_cnv=5e-6 tolerance_mb=1e-8
|
||||||
|
mkdir mpi
|
||||||
|
cd mpi
|
||||||
|
mpirun -np 4 ${BINPATH}/${EXE_NAME} ${TEST_ARGS}.DATA linear_solver_reduction=1e-7 tolerance_cnv=5e-6 tolerance_mb=1e-8
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
${COMPARE_SUMMARY_COMMAND} -R ${RESULT_PATH}/${FILENAME} ${RESULT_PATH}/mpi/${FILENAME} ${ABS_TOL} ${REL_TOL}
|
||||||
|
${COMPARE_ECL_COMMAND} -l ${RESULT_PATH}/${FILENAME} ${RESULT_PATH}/mpi/${FILENAME} ${ABS_TOL} ${REL_TOL}
|
Loading…
Reference in New Issue
Block a user