From feecc4f2073b26a9c33b4064fa1e3472ce425a33 Mon Sep 17 00:00:00 2001 From: Edoardo Zoni Date: Fri, 26 Jul 2024 14:59:54 -0700 Subject: [PATCH] Make additional runtime params input file optional --- Examples/CMakeLists.txt | 118 +++++++++++++----- .../{inputs_2d => inputs_2d_base} | 0 .../inputs_2d_test_bilinear_filter | 3 + Regression/WarpX-tests.ini | 5 +- 4 files changed, 90 insertions(+), 36 deletions(-) rename Examples/Tests/single_particle/{inputs_2d => inputs_2d_base} (100%) create mode 100644 Examples/Tests/single_particle/inputs_2d_test_bilinear_filter diff --git a/Examples/CMakeLists.txt b/Examples/CMakeLists.txt index a8db268cc59..d41d5bb1544 100644 --- a/Examples/CMakeLists.txt +++ b/Examples/CMakeLists.txt @@ -23,9 +23,9 @@ function(add_warpx_test mpi mpi_np inputs_base - inputs_test analysis output + #inputs_test (optional) ) # cannot run MPI tests w/o MPI support if(mpi AND NOT WarpX_MPI) @@ -36,6 +36,9 @@ function(add_warpx_test return() endif() + # set dimension suffix + warpx_set_suffix_dims(SD ${dims}) + # make a unique run directory file(MAKE_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name}) set(THIS_WORKING_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${name}) @@ -51,25 +54,33 @@ function(add_warpx_test ) endif() + set(runtime_params + "amrex.abort_on_unused_inputs = 1" + "amrex.fpe_trap_invalid = 1" + "amrex.fpe_trap_overflow = 1" + "amrex.fpe_trap_zero = 1" + "amrex.throw_exception = 1" + "warpx.always_warn_immediately = 1" + "warpx.abort_on_warning_threshold = low" + "warpx.do_dynamic_scheduling = 0" + "warpx.serialize_initial_conditions = 1" + ) + + # FILE parameter must be at the end, + # to possibly overwrite previous inputs + # FIXME Avoid magic numbers + if(${ARGC} GREATER 7) + list(APPEND runtime_params "FILE = ${WarpX_SOURCE_DIR}/${ARGV7}") + endif() + # test run add_test( NAME ${name}.run COMMAND ${THIS_MPI_TEST_EXE} - $ + $ ${WarpX_SOURCE_DIR}/${inputs_base} - amrex.abort_on_unused_inputs = 1 - amrex.fpe_trap_invalid = 1 - amrex.fpe_trap_overflow = 1 - amrex.fpe_trap_zero = 1 - amrex.throw_exception = 1 - warpx.always_warn_immediately = 1 - warpx.abort_on_warning_threshold = low - warpx.do_dynamic_scheduling = 0 - warpx.serialize_initial_conditions = 1 - # FILE parameter must be at the end, - # to possibly overwrite previous inputs - FILE = ${WarpX_SOURCE_DIR}/${inputs_test} + ${runtime_params} WORKING_DIRECTORY ${THIS_WORKING_DIR} ) @@ -103,9 +114,9 @@ if(WarpX_FFT) ON # mpi 1 # mpi_np Examples/Tests/nci_psatd_stability/inputs_avg_2d_base # inputs_base - Examples/Tests/nci_psatd_stability/inputs_avg_2d_test_averaged_galilean_2d_psatd # inputs_test Examples/Tests/nci_psatd_stability/analysis_galilean.py # analysis diags/diag1000400 # output + Examples/Tests/nci_psatd_stability/inputs_avg_2d_test_averaged_galilean_2d_psatd # inputs_test ) endif() @@ -118,9 +129,9 @@ if(WarpX_FFT) ON # mpi 2 # mpi_np Examples/Tests/nci_psatd_stability/inputs_avg_2d_base # inputs_base - Examples/Tests/nci_psatd_stability/inputs_avg_2d_test_averaged_galilean_2d_psatd_hybrid # inputs_test Examples/Tests/nci_psatd_stability/analysis_galilean.py # analysis diags/diag1000400 # output + Examples/Tests/nci_psatd_stability/inputs_avg_2d_test_averaged_galilean_2d_psatd_hybrid # inputs_test ) endif() @@ -133,9 +144,9 @@ if(WarpX_FFT) ON # mpi 2 # mpi_np Examples/Tests/nci_psatd_stability/inputs_avg_3d_base # inputs_base - Examples/Tests/nci_psatd_stability/inputs_avg_3d_test_averaged_galilean_3d_psatd # inputs_test Examples/Tests/nci_psatd_stability/analysis_galilean.py # analysis diags/diag1000160 # output + Examples/Tests/nci_psatd_stability/inputs_avg_3d_test_averaged_galilean_3d_psatd # inputs_test ) endif() @@ -148,9 +159,9 @@ if(WarpX_FFT) ON # mpi 2 # mpi_np Examples/Tests/nci_psatd_stability/inputs_avg_3d_base # inputs_base - Examples/Tests/nci_psatd_stability/inputs_avg_3d_test_averaged_galilean_3d_psatd_hybrid # inputs_test Examples/Tests/nci_psatd_stability/analysis_galilean.py # analysis diags/diag1000160 # output + Examples/Tests/nci_psatd_stability/inputs_avg_3d_test_averaged_galilean_3d_psatd_hybrid # inputs_test ) endif() @@ -162,9 +173,48 @@ add_warpx_test( ON # mpi 2 # mpi_np Examples/Physics_applications/capacitive_discharge/inputs_2d_base # inputs_base - Examples/Physics_applications/capacitive_discharge/inputs_2d_test_background_mcc # inputs_test Examples/analysis_default_regression.py # analysis diags/diag1000050 # output + Examples/Physics_applications/capacitive_discharge/inputs_2d_test_background_mcc # inputs_test +) + +# background_mcc_dp_psp ####################################################### +# +# FIXME +#add_warpx_test( +# background_mcc_dp_psp # name +# 2 # dims +# ON # mpi +# 2 # mpi_np +# Examples/Physics_applications/capacitive_discharge/inputs_2d_base # inputs_base +# Examples/analysis_default_regression.py # analysis +# diags/diag1000050 # output +# Examples/Physics_applications/capacitive_discharge/inputs_2d_test_background_mcc_dp_psp # inputs_test +#) + +# bilinear_filter ############################################################# +# +add_warpx_test( + bilinear_filter # name + 2 # dims + ON # mpi + 2 # mpi_np + Examples/Tests/single_particle/inputs_2d_base # inputs_base + Examples/Tests/single_particle/analysis_bilinear_filter.py # analysis + diags/diag1000001 # output + Examples/Tests/single_particle/inputs_2d_test_bilinear_filter # inputs_test +) + +# BTD_rz ###################################################################### +# +add_warpx_test( + BTD_rz # name + RZ # dims + ON # mpi + 2 # mpi_np + Examples/Tests/btd_rz/inputs_rz_z_boosted_BTD # inputs_base + Examples/Tests/btd_rz/analysis_BTD_laser_antenna.py # analysis + diags/diag1000289 # output ) # Langmuir_multi_2d_MR ######################################################## @@ -175,9 +225,9 @@ add_warpx_test( ON # mpi 2 # mpi_np Examples/Tests/langmuir/inputs_2d_base # inputs_base - Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_MR # inputs_test Examples/Tests/langmuir/analysis_2d.py # analysis diags/diag1000080 # output + Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_MR # inputs_test ) # Langmuir_multi_2d_MR_anisotropic ############################################ @@ -188,9 +238,9 @@ add_warpx_test( ON # mpi 2 # mpi_np Examples/Tests/langmuir/inputs_2d_base # inputs_base - Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_MR_anisotropic # inputs_test Examples/Tests/langmuir/analysis_2d.py # analysis diags/diag1000080 # output + Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_MR_anisotropic # inputs_test ) # Langmuir_multi_2d_MR_momentum_conserving #################################### @@ -201,9 +251,9 @@ add_warpx_test( ON # mpi 2 # mpi_np Examples/Tests/langmuir/inputs_2d_base # inputs_base - Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_MR_momentum_conserving # inputs_test Examples/Tests/langmuir/analysis_2d.py # analysis diags/diag1000080 # output + Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_MR_momentum_conserving # inputs_test ) # Langmuir_multi_2d_MR_psatd ################################################## @@ -215,9 +265,9 @@ if(WarpX_FFT) ON # mpi 2 # mpi_np Examples/Tests/langmuir/inputs_2d_base # inputs_base - Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_MR_psatd # inputs_test Examples/Tests/langmuir/analysis_2d.py # analysis diags/diag1000080 # output + Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_MR_psatd # inputs_test ) endif() @@ -229,9 +279,9 @@ add_warpx_test( ON # mpi 2 # mpi_np Examples/Tests/langmuir/inputs_2d_base # inputs_base - Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_nodal # inputs_test Examples/Tests/langmuir/analysis_2d.py # analysis diags/diag1000080 # output + Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_nodal # inputs_test ) # Langmuir_multi_2d_psatd ##################################################### @@ -243,9 +293,9 @@ if(WarpX_FFT) ON # mpi 2 # mpi_np Examples/Tests/langmuir/inputs_2d_base # inputs_base - Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_psatd # inputs_test Examples/Tests/langmuir/analysis_2d.py # analysis diags/diag1000080 # output + Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_psatd # inputs_test ) endif() @@ -258,9 +308,9 @@ if(WarpX_FFT) ON # mpi 1 # mpi_np Examples/Tests/langmuir/inputs_2d_base # inputs_base - Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_psatd_current_correction # inputs_test Examples/Tests/langmuir/analysis_2d.py # analysis diags/diag1000080 # output + Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_psatd_current_correction # inputs_test ) endif() @@ -273,9 +323,9 @@ if(WarpX_FFT) ON # mpi 1 # mpi_np Examples/Tests/langmuir/inputs_2d_base # inputs_base - Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_psatd_current_correction_nodal # inputs_test Examples/Tests/langmuir/analysis_2d.py # analysis diags/diag1000080 # output + Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_psatd_current_correction_nodal # inputs_test ) endif() @@ -288,9 +338,9 @@ if(WarpX_FFT) ON # mpi 2 # mpi_np Examples/Tests/langmuir/inputs_2d_base # inputs_base - Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_psatd_momentum_conserving # inputs_test Examples/Tests/langmuir/analysis_2d.py # analysis diags/diag1000080 # output + Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_psatd_momentum_conserving # inputs_test ) endif() @@ -303,9 +353,9 @@ if(WarpX_FFT) ON # mpi 2 # mpi_np Examples/Tests/langmuir/inputs_2d_base # inputs_base - Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_psatd_multiJ # inputs_test Examples/Tests/langmuir/analysis_2d.py # analysis diags/diag1000080 # output + Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_psatd_multiJ # inputs_test ) endif() @@ -318,9 +368,9 @@ if(WarpX_FFT) ON # mpi 2 # mpi_np Examples/Tests/langmuir/inputs_2d_base # inputs_base - Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_psatd_multiJ_nodal # inputs_test Examples/Tests/langmuir/analysis_2d.py # analysis diags/diag1000080 # output + Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_psatd_multiJ_nodal # inputs_test ) endif() @@ -333,9 +383,9 @@ if(WarpX_FFT) ON # mpi 2 # mpi_np Examples/Tests/langmuir/inputs_2d_base # inputs_base - Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_psatd_nodal # inputs_test Examples/Tests/langmuir/analysis_2d.py # analysis diags/diag1000080 # output + Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_psatd_nodal # inputs_test ) endif() @@ -348,9 +398,9 @@ if(WarpX_FFT) ON # mpi 1 # mpi_np Examples/Tests/langmuir/inputs_2d_base # inputs_base - Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_psatd_Vay_deposition # inputs_test Examples/Tests/langmuir/analysis_2d.py # analysis diags/diag1000080 # output + Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_psatd_Vay_deposition # inputs_test ) endif() @@ -364,9 +414,9 @@ endif() # ON # mpi # 1 # mpi_np # Examples/Tests/langmuir/inputs_2d_base # inputs_base -# Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_psatd_Vay_deposition_particle_shape_4 # inputs_test # Examples/Tests/langmuir/analysis_2d.py # analysis # diags/diag1000080 # output +# Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_psatd_Vay_deposition_particle_shape_4 # inputs_test # ) #endif() @@ -379,8 +429,8 @@ if(WarpX_FFT) ON # mpi 1 # mpi_np Examples/Tests/langmuir/inputs_2d_base # inputs_base - Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_psatd_Vay_deposition_nodal # inputs_test Examples/Tests/langmuir/analysis_2d.py # analysis diags/diag1000080 # output + Examples/Tests/langmuir/inputs_2d_test_Langmuir_multi_2d_psatd_Vay_deposition_nodal # inputs_test ) endif() diff --git a/Examples/Tests/single_particle/inputs_2d b/Examples/Tests/single_particle/inputs_2d_base similarity index 100% rename from Examples/Tests/single_particle/inputs_2d rename to Examples/Tests/single_particle/inputs_2d_base diff --git a/Examples/Tests/single_particle/inputs_2d_test_bilinear_filter b/Examples/Tests/single_particle/inputs_2d_test_bilinear_filter new file mode 100644 index 00000000000..4f225468f3b --- /dev/null +++ b/Examples/Tests/single_particle/inputs_2d_test_bilinear_filter @@ -0,0 +1,3 @@ +# additional runtime parameters +warpx.filter_npass_each_dir = 1 5 +warpx.use_filter = 1 diff --git a/Regression/WarpX-tests.ini b/Regression/WarpX-tests.ini index 670242088a2..5afc10e2263 100644 --- a/Regression/WarpX-tests.ini +++ b/Regression/WarpX-tests.ini @@ -160,8 +160,9 @@ analysisRoutine = Examples/analysis_default_regression.py [bilinear_filter] buildDir = . -inputFile = Examples/Tests/single_particle/inputs_2d -runtime_params = warpx.use_filter=1 warpx.filter_npass_each_dir=1 5 +inputFile = Examples/Tests/single_particle/inputs_2d_base +aux1File = Examples/Tests/single_particle/inputs_2d_test_bilinear_filter +runtime_params = FILE=inputs_2d_test_bilinear_filter dim = 2 addToCompileString = cmakeSetupOpts = -DWarpX_DIMS=2