From 610340f21051e1168e346fafa7e3b9c8697325fa Mon Sep 17 00:00:00 2001 From: Bruce Perry Date: Tue, 29 Jul 2025 12:00:44 -0600 Subject: [PATCH] add table lookup to utility unit test --- .github/workflows/ci.yml | 2 +- Source/Utility/BlackBoxFunction/Table.H | 1 + Testing/Exec/UtilityUnitTest/input | 1 + Testing/Exec/UtilityUnitTest/main.cpp | 19 +++++++++++++++++++ 4 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 Testing/Exec/UtilityUnitTest/input diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 11b4b68c5..d33cd0fb9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -190,7 +190,7 @@ jobs: ccache -z make -j ${{env.NPROCS}} TINY_PROFILE=TRUE USE_CCACHE=TRUE USE_AMREX_LIB=TRUE ${{matrix.amrex_build_args}}; \ if [ "${{matrix.comp}}" == 'gnu' ] || [ "${{matrix.comp}}" == 'llvm' ]; then \ - ./Pele2d.${{matrix.comp}}.TPROF.ex; + ./Pele2d.${{matrix.comp}}.TPROF.ex input; fi; make realclean; if [ $? -ne 0 ]; then exit 1; fi; \ diff --git a/Source/Utility/BlackBoxFunction/Table.H b/Source/Utility/BlackBoxFunction/Table.H index 1fd646cfa..e807916b7 100644 --- a/Source/Utility/BlackBoxFunction/Table.H +++ b/Source/Utility/BlackBoxFunction/Table.H @@ -4,6 +4,7 @@ #define MAXD_TABLE 5 #include #include +#include #include "BlackBoxFunction.H" #include "Utilities.H" diff --git a/Testing/Exec/UtilityUnitTest/input b/Testing/Exec/UtilityUnitTest/input new file mode 100644 index 000000000..1f7fc6f6b --- /dev/null +++ b/Testing/Exec/UtilityUnitTest/input @@ -0,0 +1 @@ +test.table.filename = ../../../Support/CMLM/peletable_2dim_10grid \ No newline at end of file diff --git a/Testing/Exec/UtilityUnitTest/main.cpp b/Testing/Exec/UtilityUnitTest/main.cpp index 79ea30e63..0ea63054f 100644 --- a/Testing/Exec/UtilityUnitTest/main.cpp +++ b/Testing/Exec/UtilityUnitTest/main.cpp @@ -1,6 +1,8 @@ #include #include #include "Utilities.H" +#include "Table.H" +#include "BlackBoxFunction.H" namespace m2c = pele::physics::utilities::mks2cgs; namespace c2m = pele::physics::utilities::cgs2mks; @@ -10,6 +12,23 @@ main(int argc, char* argv[]) { amrex::Initialize(argc, argv); + // Test table interpolation + pele::physics::TabulatedFunctionParams tabfunc_par; + tabfunc_par.host_only_parm().parm_parse_prefix = "test"; + tabfunc_par.initialize(); + pele::physics::TabulatedFunction tabfunc( + static_cast( + &tabfunc_par.host_parm())); + amrex::Real outval; + const amrex::GpuArray invals{1.0, 1.0}; + const std::string varname = "T"; + const int idxT = + pele::physics::get_var_index(varname.c_str(), &tabfunc_par.host_parm()); + tabfunc.get_value(idxT, invals.data(), outval); + AMREX_ALWAYS_ASSERT(amrex::almostEqual(outval, 3.60)); + tabfunc_par.deallocate(); + amrex::Print() << "TabulatedFunction Tests passed" << std::endl; + // Test Unit Conversions AMREX_ALWAYS_ASSERT(m2c::Length(1.0) == 100.0); AMREX_ALWAYS_ASSERT(c2m::Length(1.0, 2) == 1.0e-4);