diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bd6aed08..b13d2257 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -86,6 +86,7 @@ jobs: matrix: os: [ubuntu-latest, macos-latest] build_type: [Release, Debug] + enable_eb: [EB-OFF, EB-ON] include: - os: macos-latest install_deps: brew install mpich automake ccache @@ -101,8 +102,12 @@ jobs: ctest_args: -LE no-ci ccache_size: 100M - build_type: Debug - ctest_args: -R eb-c12 + ctest_args: -LE no-ci ccache_size: 500M + - enable_eb: EB-OFF + use_eb: "OFF" + - enable_eb: EB-ON + use_eb: "ON" exclude: - os: macos-latest build_type: Debug @@ -144,22 +149,22 @@ jobs: uses: actions/cache@v3 with: path: ${{matrix.ccache_cache}} - key: ccache-${{github.workflow}}-${{github.job}}-${{matrix.os}}-${{matrix.build_type}}-git-${{github.sha}} + key: ccache-${{github.workflow}}-${{github.job}}-${{matrix.os}}-${{matrix.build_type}}-${{matrix.enable_eb}}-git-${{github.sha}} restore-keys: | - ccache-${{github.workflow}}-${{github.job}}-${{matrix.os}}-${{matrix.build_type}}-git- + ccache-${{github.workflow}}-${{github.job}}-${{matrix.os}}-${{matrix.build_type}}-${{matrix.enable_eb}}-git- - name: Configure run: | (for DIM in 2 3; do \ printf "\n-------- Configuring ${DIM}D --------\n"; \ - cmake -B${{runner.workspace}}/build-${DIM}d-${{matrix.os}}-${{matrix.build_type}} \ - -DCMAKE_INSTALL_PREFIX:PATH=${{runner.workspace}}/install-${DIM}d-${{matrix.os}}-${{matrix.build_type}} \ + cmake -B${{runner.workspace}}/build-${DIM}d-${{matrix.os}}-${{matrix.build_type}}-${{matrix.enable_eb}} \ + -DCMAKE_INSTALL_PREFIX:PATH=${{runner.workspace}}/install-${DIM}d-${{matrix.os}}-${{matrix.build_type}}-${{matrix.enable_eb}} \ -DCMAKE_BUILD_TYPE:STRING=${{matrix.build_type}} \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -DPELELMEX_DIM:STRING=${DIM} \ -DPELELMEX_ENABLE_MPI:BOOL=ON \ + -DPELELMEX_ENABLE_EB:BOOL=${{matrix.use_eb}} \ -DPELELMEX_ENABLE_FCOMPARE_FOR_TESTS:BOOL=OFF \ -DPELELMEX_ENABLE_MASA:BOOL=OFF \ - -DMASA_ROOT:PATH=${{runner.workspace}}/deps/install/MASA \ -DCMAKE_CXX_COMPILER_LAUNCHER:STRING=ccache \ ${{github.workspace}}; \ if [ $? -ne 0 ]; then exit 1; fi \ @@ -169,7 +174,7 @@ jobs: ccache -z (for DIM in 2 3; do \ printf "\n-------- Building ${DIM}D --------\n"; \ - cmake --build ${{runner.workspace}}/build-${DIM}d-${{matrix.os}}-${{matrix.build_type}} \ + cmake --build ${{runner.workspace}}/build-${DIM}d-${{matrix.os}}-${{matrix.build_type}}-${{matrix.enable_eb}} \ --parallel ${{env.NPROCS}} 2>&1 | tee -a ${{runner.workspace}}/build-output.txt; \ if [ ${PIPESTATUS[0]} -ne 0 ]; then exit 1; fi \ done) @@ -191,7 +196,7 @@ jobs: run: | (for DIM in 2 3; do \ printf "\n-------- Testing ${DIM}D --------\n"; \ - cd ${{runner.workspace}}/build-${DIM}d-${{matrix.os}}-${{matrix.build_type}}; \ + cd ${{runner.workspace}}/build-${DIM}d-${{matrix.os}}-${{matrix.build_type}}-${{matrix.enable_eb}}; \ ctest -j ${{env.NPROCS}} ${{matrix.ctest_args}} --output-on-failure; \ if [ $? -ne 0 ]; then exit 1; fi \ done) @@ -402,20 +407,20 @@ jobs: du -hs ~/.cache/ccache Lint-clang-tidy: needs: Formatting - runs-on: ubuntu-latest + runs-on: macos-13 strategy: matrix: - enableeb: [EB-OFF, EB-ON] + enable_eb: [EB-OFF, EB-ON] include: - - enableeb: EB-OFF - useeb: "OFF" - - enableeb: EB-ON - useeb: "ON" + - enable_eb: EB-OFF + use_eb: "OFF" + - enable_eb: EB-ON + use_eb: "ON" fail-fast: false steps: - name: Setup run: | - echo "NPROCS=$(nproc)" >> $GITHUB_ENV + echo "NPROCS=$(sysctl -n hw.ncpu)" >> $GITHUB_ENV echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV echo "CCACHE_COMPRESSLEVEL=1" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV @@ -426,25 +431,23 @@ jobs: submodules: recursive - name: Install Ccache run: | - wget https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8-linux-x86_64.tar.xz - tar xvf ccache-4.8-linux-x86_64.tar.xz - sudo cp -f ccache-4.8-linux-x86_64/ccache /usr/local/bin/ + brew install ccache - name: Set Up Ccache uses: actions/cache@v3 with: - path: ~/.cache/ccache - key: ccache-${{github.workflow}}-${{github.job}}-${{matrix.useeb}}-git-${{github.sha}} + path: /Users/runner/Library/Caches/ccache + key: ccache-${{github.workflow}}-${{github.job}}-${{matrix.enable_eb}}-git-${{github.sha}} restore-keys: | - ccache-${{github.workflow}}-${{github.job}}-${{matrix.useeb}}-git- + ccache-${{github.workflow}}-${{github.job}}-${{matrix.enable_eb}}-git- - name: Configure run: | - echo "NPROCS=$(nproc)" >> $GITHUB_ENV + export PATH=$(brew --prefix llvm@15)/bin:${PATH} cmake -B${{runner.workspace}}/build-clang-tidy \ -DCMAKE_BUILD_TYPE:STRING=Release \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -DCMAKE_CXX_COMPILER:STRING=clang++ \ -DCMAKE_C_COMPILER:STRING=clang \ - -DPELELMEX_ENABLE_EB:BOOL=${{matrix.useeb}} \ + -DPELELMEX_ENABLE_EB:BOOL=${{matrix.use_eb}} \ -DPELELMEX_ENABLE_MPI:BOOL=OFF \ -DPELELMEX_ENABLE_FCOMPARE_FOR_TESTS:BOOL=OFF \ -DPELELMEX_ENABLE_MASA:BOOL=OFF \ @@ -455,7 +458,8 @@ jobs: working-directory: ${{runner.workspace}}/build-clang-tidy run: | #set -eu -o pipefail - cmake --build . --parallel 2 2>&1 | tee -a clang-tidy-full-report.txt + export PATH=$(brew --prefix llvm@15)/bin:${PATH} + cmake --build . --parallel ${{env.NPROCS}} 2>&1 | tee -a clang-tidy-full-report.txt egrep "warning:|error:" clang-tidy-full-report.txt \ | egrep -v "Submodules/amrex|Submodules/sundials|Submodules/AMReX-Hydro" \ | egrep -v "ld: warning:" | sort | uniq \ @@ -463,7 +467,7 @@ jobs: - name: Ccache Report run: | ccache -s - du -hs ~/.cache/ccache + du -hs /Users/runner/Library/Caches/ccache - name: Full report working-directory: ${{runner.workspace}}/build-clang-tidy run: cat clang-tidy-full-report.txt diff --git a/.github/workflows/cleanup-cache-postpr.yml b/.github/workflows/cleanup-cache-postpr.yml index a43b89ee..27eaa225 100644 --- a/.github/workflows/cleanup-cache-postpr.yml +++ b/.github/workflows/cleanup-cache-postpr.yml @@ -31,7 +31,10 @@ jobs: set +e keys=$(gh actions-cache list -L 100 -R $REPO -B $BRANCH | cut -f 1) + # $keys might contain spaces. Thus we set IFS to \n. + IFS=$'\n' for k in $keys do - gh actions-cache delete $k -R $REPO -B $BRANCH --confirm + gh actions-cache delete "$k" -R $REPO -B $BRANCH --confirm done + unset IFS diff --git a/.github/workflows/cleanup-cache.yml b/.github/workflows/cleanup-cache.yml index 6528856f..c29ae2f7 100644 --- a/.github/workflows/cleanup-cache.yml +++ b/.github/workflows/cleanup-cache.yml @@ -27,7 +27,7 @@ jobs: EVENT=${{ github.event.workflow_run.event }} # Triggering workflow run name (e.g., LinuxClang) - WORKFLOW_NAME=${{ github.event.workflow_run.name }} + WORKFLOW_NAME="${{ github.event.workflow_run.name }}" if [[ $EVENT == "pull_request" ]]; then gh run download ${{ github.event.workflow_run.id }} -n pr_number @@ -45,16 +45,19 @@ jobs: # The goal is to keep the last used key of each job and delete all others. # something like ccache-LinuxClang- - keyprefix=ccache-${WORKFLOW_NAME}- + keyprefix="ccache-${WORKFLOW_NAME}-" - cached_jobs=$(gh actions-cache list -L 100 -R $REPO -B $BRANCH --key $keyprefix | awk -F '-git-' '{print $1}' | sort | uniq) + cached_jobs=$(gh actions-cache list -L 100 -R $REPO -B $BRANCH --key "$keyprefix" | awk -F '-git-' '{print $1}' | sort | uniq) # cached_jobs is something like "ccache-LinuxClang-configure-1d ccache-LinuxClang-configure-2d". + # It might also contain spaces. Thus we set IFS to \n. + IFS=$'\n' for j in $cached_jobs do - old_keys=$(gh actions-cache list -L 100 -R $REPO -B $BRANCH --key ${j}-git- --sort last-used | cut -f 1 | tail -n +2) + old_keys=$(gh actions-cache list -L 100 -R $REPO -B $BRANCH --key "${j}-git-" --sort last-used | cut -f 1 | tail -n +2) for k in $old_keys do - gh actions-cache delete $k -R $REPO -B $BRANCH --confirm + gh actions-cache delete "$k" -R $REPO -B $BRANCH --confirm done done + unset IFS diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index d4e39738..32e10922 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -85,40 +85,29 @@ jobs: {CXXFLAGS: "-Werror -Wshadow -Woverloaded-virtual -Wunreachable-code"} steps: - uses: actions/checkout@v3 - - name: System Dependencies - run: .github/workflows/dependencies/dependencies_gcc10.sh - name: Repo Dependencies run: | Utils/CloneDeps.sh - git clone --branch main https://github.com/AMReX-Combustion/PeleRad.git Submodules/PeleRad + - name: System Dependencies + run: .github/workflows/dependencies/dependencies_gcc10.sh - name: Build Release - env: - PELERAD_HOME: ${GITHUB_WORKSPACE}/Submodules/PeleRad working-directory: ./Exec/RegTests/SootRadTest/ run: | make TPL COMP=gnu USE_MPI=TRUE TINY_PROFILE=FALSE make -j 2 COMP=gnu USE_MPI=TRUE TINY_PROFILE=FALSE - name: Run Release - env: - PELERAD_HOME: ${GITHUB_WORKSPACE}/Submodules/PeleRad working-directory: ./Exec/RegTests/SootRadTest/ run: | - eval DATA_PATH=$PELERAD_HOME - mpirun -n 2 ./PeleLMeX2d.gnu.MPI.ex first-input.inp amr.max_step=2 amr.plot_int=2 amr.check_int=2 pelerad.kppath="$DATA_PATH/data/kpDB/" + mpirun -n 2 ./PeleLMeX2d.gnu.MPI.ex soot-rad-2d.inp amr.max_step=2 amr.plot_int=2 amr.check_int=2 - name: Build Debug - env: - PELERAD_HOME: ${GITHUB_WORKSPACE}/Submodules/PeleRad working-directory: ./Exec/RegTests/SootRadTest/ run: | make TPL COMP=gnu USE_MPI=TRUE DEBUG=TRUE TINY_PROFILE=FALSE make -j 2 COMP=gnu USE_MPI=TRUE DEBUG=TRUE TINY_PROFILE=FALSE - name: Run Debug - env: - PELERAD_HOME: ${GITHUB_WORKSPACE}/Submodules/PeleRad working-directory: ./Exec/RegTests/SootRadTest/ run: | - eval DATA_PATH=$PELERAD_HOME - mpirun -n 2 ./PeleLMeX2d.gnu.DEBUG.MPI.ex first-input.inp amr.max_step=2 amr.plot_int=2 amr.check_int=2 pelerad.kppath="$DATA_PATH/data/kpDB/" + mpirun -n 2 ./PeleLMeX2d.gnu.DEBUG.MPI.ex soot-rad-2d.inp amr.max_step=2 amr.plot_int=2 amr.check_int=2 # Build and Run the EB_BackwardStepFlame RegTest with GNU9.3 and MPI support EBBFS: diff --git a/CMake/BuildExeAndLib.cmake b/CMake/BuildExeAndLib.cmake index 49af69e1..379d916e 100644 --- a/CMake/BuildExeAndLib.cmake +++ b/CMake/BuildExeAndLib.cmake @@ -1,6 +1,6 @@ get_filename_component(DIR_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) set(pelelmex_lib_name PelePhysics-Lib-${PELELMEX_EOS_MODEL}-${PELELMEX_CHEMISTRY_MODEL}-${PELELMEX_TRANSPORT_MODEL}) -set(pelelmex_exe_name PeleLMeX-${DIR_NAME}) +set(pelelmex_exe_name ${PROJECT_NAME}-${DIR_NAME}) include(BuildPeleLMeXLib) include(BuildPeleLMeXExe) build_pelelmex_lib(${pelelmex_lib_name}) diff --git a/CMake/BuildPeleLMeXExe.cmake b/CMake/BuildPeleLMeXExe.cmake index 50e8eff7..b5ec9499 100644 --- a/CMake/BuildPeleLMeXExe.cmake +++ b/CMake/BuildPeleLMeXExe.cmake @@ -106,7 +106,12 @@ function(build_pelelmex_exe pelelmex_exe_name pelelmex_lib_name) if(PELELMEX_ENABLE_SOOT) target_sources(${pelelmex_exe_name} PRIVATE - ${SRC_DIR}/Soot.cpp) + ${SRC_DIR}/PeleLMeX_Soot.cpp) + if(PELELMEX_ENABLE_RADIATION) + target_sources(${pelelmex_exe_name} + PRIVATE + ${SRC_DIR}/PeleLMeX_Radiation.cpp) + endif() endif() #if(PELELMEX_ENABLE_ASCENT) diff --git a/CMake/BuildPeleLMeXLib.cmake b/CMake/BuildPeleLMeXLib.cmake index 591577ea..88a34a60 100644 --- a/CMake/BuildPeleLMeXLib.cmake +++ b/CMake/BuildPeleLMeXLib.cmake @@ -2,14 +2,15 @@ function(build_pelelmex_lib pelelmex_lib_name) if (NOT (TARGET ${pelelmex_lib_name})) add_library(${pelelmex_lib_name} OBJECT) - set(PELE_PHYSICS_SRC_DIR ${CMAKE_SOURCE_DIR}/Submodules/PelePhysics) + set(PELE_PHYSICS_SRC_DIR "${CMAKE_SOURCE_DIR}/Submodules/PelePhysics") set(PELE_PHYSICS_TRANSPORT_DIR "${PELE_PHYSICS_SRC_DIR}/Source/Transport") set(PELE_PHYSICS_EOS_DIR "${PELE_PHYSICS_SRC_DIR}/Source/Eos") set(PELE_PHYSICS_MECHANISM_DIR "${PELE_PHYSICS_SRC_DIR}/Mechanisms/${PELELMEX_CHEMISTRY_MODEL}") set(PELE_PHYSICS_UTILITY_DIR "${PELE_PHYSICS_SRC_DIR}/Source/Utility") set(PELE_PHYSICS_REACTIONS_DIR "${PELE_PHYSICS_SRC_DIR}/Source/Reactions") set(PELE_PHYSICS_SOOT_DIR "${PELE_PHYSICS_SRC_DIR}/Source/Soot") - set(AMREX_SUNDIALS_DIR ${AMREX_SUBMOD_LOCATION}/Src/Extern/SUNDIALS) + set(PELE_PHYSICS_RADIATION_DIR "${PELE_PHYSICS_SRC_DIR}/Source/Radiation") + set(AMREX_SUNDIALS_DIR "${AMREX_SUBMOD_LOCATION}/Src/Extern/SUNDIALS") if(CLANG_TIDY_EXE) set_target_properties(${pelelmex_lib_name} PROPERTIES CXX_CLANG_TIDY @@ -144,12 +145,12 @@ function(build_pelelmex_lib pelelmex_lib_name) target_include_directories(${pelelmex_lib_name} PUBLIC ${PELE_PHYSICS_REACTIONS_DIR}) if(PELELMEX_ENABLE_SOOT) - target_compile_definitions(${pelelmex_lib_name} PUBLIC PELELMEX_USE_SOOT) - target_compile_definitions(${pelelmex_lib_name} PUBLIC NUM_SOOT_MOMENTS=${PELE_NUM_SOOT_MOMENTS}) set(SOOT_MOMENTS_VALUES 3 6) if(NOT PELE_NUM_SOOT_MOMENTS IN_LIST SOOT_MOMENTS_VALUES) message(FATAL_ERROR "NUM_SOOT_MOMENTS must be either 3 or 6") endif() + target_compile_definitions(${pelelmex_lib_name} PUBLIC PELELM_USE_SOOT) + target_compile_definitions(${pelelmex_lib_name} PUBLIC NUM_SOOT_MOMENTS=${PELE_NUM_SOOT_MOMENTS}) target_sources(${pelelmex_lib_name} PRIVATE ${PELE_PHYSICS_SOOT_DIR}/SootModel.H ${PELE_PHYSICS_SOOT_DIR}/SootModel.cpp @@ -159,7 +160,24 @@ function(build_pelelmex_lib pelelmex_lib_name) ${PELE_PHYSICS_SOOT_DIR}/Constants_Soot.H ${PELE_PHYSICS_SOOT_DIR}/SootData.H ${PELE_PHYSICS_SOOT_DIR}/SootReactions.H) - target_include_directories(${pele=lmex_lib_name} PUBLIC ${PELE_PHYSICS_SOOT_DIR}) + target_include_directories(${pelelmex_lib_name} PUBLIC ${PELE_PHYSICS_SOOT_DIR}) + if(PELELMEX_ENABLE_RADIATION) + target_sources(${pelelmex_lib_name} PRIVATE + ${PELE_PHYSICS_RADIATION_DIR}/AMRParam.H + ${PELE_PHYSICS_RADIATION_DIR}/Constants.H + ${PELE_PHYSICS_RADIATION_DIR}/MLMGParam.H + ${PELE_PHYSICS_RADIATION_DIR}/POneMulti.H + ${PELE_PHYSICS_RADIATION_DIR}/POneMultiEB.H + ${PELE_PHYSICS_RADIATION_DIR}/POneMultiLevbyLev.H + ${PELE_PHYSICS_RADIATION_DIR}/POneSingle.H + ${PELE_PHYSICS_RADIATION_DIR}/POneSingleEB.H + ${PELE_PHYSICS_RADIATION_DIR}/PeleCRad.H + ${PELE_PHYSICS_RADIATION_DIR}/PeleLMRad.H + ${PELE_PHYSICS_RADIATION_DIR}/PlanckMean.H + ${PELE_PHYSICS_RADIATION_DIR}/SpectralModels.H) + target_include_directories(${pelelmex_lib_name} PUBLIC ${PELE_PHYSICS_RADIATION_DIR}) + target_compile_definitions(${pelelmex_lib_name} PUBLIC PELELM_USE_RADIATION) + endif() endif() include(AMReXBuildInfo) diff --git a/CMakeLists.txt b/CMakeLists.txt index 99e55414..d87290e7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,6 +29,8 @@ option(PELELMEX_ENABLE_EB "Enable Embedded Boundary" OFF) option(PELELMEX_ENABLE_EFIELD "Enable Electric field module" OFF) option(PELELMEX_ENABLE_SOOT "Enable Soot module" OFF) option(PELELMEX_ENABLE_PARTICLES "Enable particles" OFF) +option(PELELMEX_ENABLE_RADIATION "Enable radiation" OFF) +set(PELE_NUM_SOOT_MOMENTS "3" CACHE STRING "Number of soot moments: 3 or 6") # HPC options option(PELELMEX_ENABLE_MPI "Enable MPI" OFF) @@ -113,3 +115,4 @@ add_subdirectory(Exec) enable_testing() include(CTest) add_subdirectory(Tests) +add_subdirectory(${CMAKE_SOURCE_DIR}/Submodules/PelePhysics/Testing/Exec/Radiation) diff --git a/Exec/Make.PeleLMeX b/Exec/Make.PeleLMeX index ff38b408..3505d09c 100644 --- a/Exec/Make.PeleLMeX +++ b/Exec/Make.PeleLMeX @@ -53,11 +53,8 @@ ifeq ($(USE_SOOT), TRUE) DEFINES += -DNUM_SOOT_MOMENTS=$(NUM_SOOT_MOMENTS) endif -ifeq ($(USE_PELERAD), TRUE) - DEFINES += -DPELELM_USE_RAD - ifeq ($(USE_HIP), TRUE) - DEFINES += -DPELERAD_USE_HIP - endif +ifeq ($(USE_RADIATION), TRUE) + DEFINES += -DPELELM_USE_RADIATION endif Bpack += $(foreach dir, $(LMdirs), $(PELELMEX_HOME)/$(dir)/Make.package) @@ -126,8 +123,10 @@ ifeq ($(USE_SOOT), TRUE) Bpack += $(SOOT_HOME)/Make.package Blocs += $(SOOT_HOME)/Source/Soot_Models endif -ifeq ($(USE_PELERAD), TRUE) - Blocs += $(PELERAD_HOME)/src +ifeq ($(USE_RADIATION), TRUE) + RADIATION_HOME = $(PELE_PHYSICS_HOME)/Source/Radiation + Bpack += $(RADIATION_HOME)/Make.package + Blocs += $(RADIATION_HOME) endif #--------------- diff --git a/Exec/RegTests/CMakeLists.txt b/Exec/RegTests/CMakeLists.txt index aa57e238..7ae937db 100644 --- a/Exec/RegTests/CMakeLists.txt +++ b/Exec/RegTests/CMakeLists.txt @@ -3,8 +3,13 @@ if(PELELMEX_ENABLE_EB) add_subdirectory(EB_EnclosedFlame) add_subdirectory(EB_EnclosedVortex) add_subdirectory(EB_FlowPastCylinder) - add_subdirectory(EB_PipeFlow) + if(PELELMEX_DIM GREATER 2) + add_subdirectory(EB_PipeFlow) + endif() else() + if(PELELMEX_ENABLE_RADIATION) + add_subdirectory(SootRadTest) + endif() add_subdirectory(EnclosedFlame) add_subdirectory(EnclosedInjection) add_subdirectory(FlameSheet) diff --git a/Exec/RegTests/EB_EnclosedFlame/pelelmex_prob.H b/Exec/RegTests/EB_EnclosedFlame/pelelmex_prob.H index e32c8d11..66d0c055 100644 --- a/Exec/RegTests/EB_EnclosedFlame/pelelmex_prob.H +++ b/Exec/RegTests/EB_EnclosedFlame/pelelmex_prob.H @@ -40,8 +40,6 @@ pelelmex_initdata( AMREX_D_TERM(const amrex::Real xc = prob_lo[0] + 0.5 * Lx; , const amrex::Real yc = prob_lo[1] + 0.5 * Ly;, ); - constexpr amrex::Real Pi = 3.14159265358979323846264338327950288; - auto eos = pele::physics::PhysicsType::eos(); amrex::GpuArray pmf_vals = {0.0}; amrex::Real molefrac[NUM_SPECIES] = {0.0}; @@ -65,6 +63,7 @@ pelelmex_initdata( // 3.6 - (radius - prob_parm.standoff + 1.42 * dx[1] + pert) * 100; #elif (AMREX_SPACEDIM == 3) + constexpr amrex::Real Pi = 3.14159265358979323846264338327950288; amrex::Real pertLz = (prob_parm.pertLz > 0.0) ? prob_parm.pertLz : Lz; amrex::Real angle = std::atan2((y - yc), (x - xc)); pert = prob_parm.pertmag * diff --git a/Exec/RegTests/EB_EnclosedVortex/input.2d-regt b/Exec/RegTests/EB_EnclosedVortex/input.2d-regt index def0a630..f64c4c6d 100644 --- a/Exec/RegTests/EB_EnclosedVortex/input.2d-regt +++ b/Exec/RegTests/EB_EnclosedVortex/input.2d-regt @@ -81,6 +81,6 @@ nodal_proj.verbose = 0 #nodal_proj.rtol = 1.0e-10 #nodal_proj.atol = 1.0e-10 #nodal_proj.mg_max_coarsening_level = 2 -amrex.fpe_trap_invalid = 1 -amrex.fpe_trap_zero = 1 -amrex.fpe_trap_overflow = 1 +#amrex.fpe_trap_invalid = 1 +#amrex.fpe_trap_zero = 1 +#amrex.fpe_trap_overflow = 1 diff --git a/Exec/RegTests/EB_EnclosedVortex/input.2d-regt_incomp b/Exec/RegTests/EB_EnclosedVortex/input.2d-regt_incomp index c74f0e7f..653299b0 100644 --- a/Exec/RegTests/EB_EnclosedVortex/input.2d-regt_incomp +++ b/Exec/RegTests/EB_EnclosedVortex/input.2d-regt_incomp @@ -66,6 +66,6 @@ nodal_proj.verbose = 0 #nodal_proj.rtol = 1.0e-10 #nodal_proj.atol = 1.0e-10 #nodal_proj.mg_max_coarsening_level = 2 -amrex.fpe_trap_invalid = 1 -amrex.fpe_trap_zero = 1 -amrex.fpe_trap_overflow = 1 +#amrex.fpe_trap_invalid = 1 +#amrex.fpe_trap_zero = 1 +#amrex.fpe_trap_overflow = 1 diff --git a/Exec/RegTests/EB_EnclosedVortex/input.3d-regt b/Exec/RegTests/EB_EnclosedVortex/input.3d-regt index f17f4f3f..59a1fc8e 100644 --- a/Exec/RegTests/EB_EnclosedVortex/input.3d-regt +++ b/Exec/RegTests/EB_EnclosedVortex/input.3d-regt @@ -88,6 +88,6 @@ nodal_proj.mg_max_coarsening_level = 2 #fabarray.mfiter_tile_size = 1024 1024 1024 -amrex.fpe_trap_invalid = 1 -amrex.fpe_trap_zero = 1 -amrex.fpe_trap_overflow = 1 +#amrex.fpe_trap_invalid = 1 +#amrex.fpe_trap_zero = 1 +#amrex.fpe_trap_overflow = 1 diff --git a/Exec/RegTests/EB_EnclosedVortex/pelelmex_prob.H b/Exec/RegTests/EB_EnclosedVortex/pelelmex_prob.H index 8cc12791..90b99a9b 100644 --- a/Exec/RegTests/EB_EnclosedVortex/pelelmex_prob.H +++ b/Exec/RegTests/EB_EnclosedVortex/pelelmex_prob.H @@ -38,17 +38,14 @@ pelelmex_initdata( const amrex::Real deltay = y - prob_parm.yvort; const amrex::Real d_sq = deltax * deltax + deltay * deltay; const amrex::Real r_sq = prob_parm.rvort * prob_parm.rvort; - const amrex::Real u_vort = - -prob_parm.forcevort * deltay / r_sq * exp(-d_sq / r_sq / 2.); - const amrex::Real v_vort = - prob_parm.forcevort * deltax / r_sq * exp(-d_sq / r_sq / 2.); - const amrex::Real w_vort = 0.; - - state(i, j, k, VELX) = u_vort; - state(i, j, k, VELY) = v_vort; -#if (AMREX_SPACEDIM == 3) - state(i, j, k, VELZ) = w_vort; -#endif + AMREX_D_TERM(const amrex::Real u_vort = + -prob_parm.forcevort * deltay / r_sq * exp(-d_sq / r_sq / 2.); + , const amrex::Real v_vort = + prob_parm.forcevort * deltax / r_sq * exp(-d_sq / r_sq / 2.); + , const amrex::Real w_vort = 0.0;) + + AMREX_D_TERM(state(i, j, k, VELX) = u_vort;, state(i, j, k, VELY) = v_vort; + , state(i, j, k, VELZ) = w_vort;) if (!(is_incompressible == 0)) { return; diff --git a/Exec/RegTests/EB_FlowPastCylinder/input.2d-regt_isoT b/Exec/RegTests/EB_FlowPastCylinder/input.2d-regt_isoT index 7e273d80..b2254095 100644 --- a/Exec/RegTests/EB_FlowPastCylinder/input.2d-regt_isoT +++ b/Exec/RegTests/EB_FlowPastCylinder/input.2d-regt_isoT @@ -65,6 +65,6 @@ eb2.small_volfrac = 1.0e-4 #amr.temp.value_greater = 305 #amr.temp.field_name = temp -amrex.fpe_trap_invalid = 1 -amrex.fpe_trap_zero = 1 -amrex.fpe_trap_overflow = 1 +#amrex.fpe_trap_invalid = 1 +#amrex.fpe_trap_zero = 1 +#amrex.fpe_trap_overflow = 1 diff --git a/Exec/RegTests/EB_FlowPastCylinder/input.3d-regtY b/Exec/RegTests/EB_FlowPastCylinder/input.3d-regtY index 2697581c..42e6e8ba 100644 --- a/Exec/RegTests/EB_FlowPastCylinder/input.3d-regtY +++ b/Exec/RegTests/EB_FlowPastCylinder/input.3d-regtY @@ -65,6 +65,6 @@ eb2.small_volfrac = 1.0e-4 # fabarray.mfiter_tile_size = 1024 1024 1024 -amrex.fpe_trap_invalid = 1 -amrex.fpe_trap_zero = 1 -amrex.fpe_trap_overflow = 1 +#amrex.fpe_trap_invalid = 1 +#amrex.fpe_trap_zero = 1 +#amrex.fpe_trap_overflow = 1 diff --git a/Exec/RegTests/EB_PipeFlow/input.3d-regt b/Exec/RegTests/EB_PipeFlow/input.3d-regt index 5b2b0a5f..84d81bf4 100644 --- a/Exec/RegTests/EB_PipeFlow/input.3d-regt +++ b/Exec/RegTests/EB_PipeFlow/input.3d-regt @@ -62,6 +62,6 @@ fabarray.mfiter_tile_size = 1024 1024 1024 nodal_proj.verbose = 0 nodal_proj.mg_max_coarsening_level = 2 -amrex.fpe_trap_invalid = 1 -amrex.fpe_trap_zero = 1 -amrex.fpe_trap_overflow = 1 +#amrex.fpe_trap_invalid = 1 +#amrex.fpe_trap_zero = 1 +#amrex.fpe_trap_overflow = 1 diff --git a/Exec/RegTests/EnclosedFlame/enclosedflame-2d.inp b/Exec/RegTests/EnclosedFlame/enclosedflame-2d.inp index e04072c4..14f6c1f2 100644 --- a/Exec/RegTests/EnclosedFlame/enclosedflame-2d.inp +++ b/Exec/RegTests/EnclosedFlame/enclosedflame-2d.inp @@ -81,6 +81,6 @@ amr.yH.field_name = Y(H) #--------------------LINEAR SOLVER CONTROL------------------------ nodal_proj.verbose = 2 nodal_proj.rtol = 2.0e-11 -amrex.fpe_trap_invalid = 1 -amrex.fpe_trap_zero = 1 -amrex.fpe_trap_overflow = 1 +#amrex.fpe_trap_invalid = 1 +#amrex.fpe_trap_zero = 1 +#amrex.fpe_trap_overflow = 1 diff --git a/Exec/RegTests/EnclosedFlame/enclosedflame-3d.inp b/Exec/RegTests/EnclosedFlame/enclosedflame-3d.inp index 7f7cad9f..dcb17178 100644 --- a/Exec/RegTests/EnclosedFlame/enclosedflame-3d.inp +++ b/Exec/RegTests/EnclosedFlame/enclosedflame-3d.inp @@ -80,6 +80,6 @@ amr.yH.field_name = Y(H) #--------------------LINEAR SOLVER CONTROL------------------------ nodal_proj.verbose = 0 nodal_proj.rtol = 1.0e-11 -amrex.fpe_trap_invalid = 1 -amrex.fpe_trap_zero = 1 -amrex.fpe_trap_overflow = 1 +#amrex.fpe_trap_invalid = 1 +#amrex.fpe_trap_zero = 1 +#amrex.fpe_trap_overflow = 1 diff --git a/Exec/RegTests/EnclosedFlame/input.2d-regt b/Exec/RegTests/EnclosedFlame/input.2d-regt index e42073c4..d97d8b2f 100644 --- a/Exec/RegTests/EnclosedFlame/input.2d-regt +++ b/Exec/RegTests/EnclosedFlame/input.2d-regt @@ -81,6 +81,6 @@ amr.yH.field_name = Y(H) #--------------------LINEAR SOLVER CONTROL------------------------ nodal_proj.verbose = 2 nodal_proj.rtol = 2.0e-11 -amrex.fpe_trap_invalid = 1 -amrex.fpe_trap_zero = 1 -amrex.fpe_trap_overflow = 1 +#amrex.fpe_trap_invalid = 1 +#amrex.fpe_trap_zero = 1 +#amrex.fpe_trap_overflow = 1 diff --git a/Exec/RegTests/EnclosedFlame/input.3d-regt b/Exec/RegTests/EnclosedFlame/input.3d-regt index dce43e6e..27419f39 100644 --- a/Exec/RegTests/EnclosedFlame/input.3d-regt +++ b/Exec/RegTests/EnclosedFlame/input.3d-regt @@ -80,6 +80,6 @@ amr.yH.field_name = Y(H) #--------------------LINEAR SOLVER CONTROL------------------------ nodal_proj.verbose = 0 nodal_proj.rtol = 1.0e-11 -amrex.fpe_trap_invalid = 1 -amrex.fpe_trap_zero = 1 -amrex.fpe_trap_overflow = 1 +#amrex.fpe_trap_invalid = 1 +#amrex.fpe_trap_zero = 1 +#amrex.fpe_trap_overflow = 1 diff --git a/Exec/RegTests/SootRadTest/CMakeLists.txt b/Exec/RegTests/SootRadTest/CMakeLists.txt new file mode 100644 index 00000000..54dde07b --- /dev/null +++ b/Exec/RegTests/SootRadTest/CMakeLists.txt @@ -0,0 +1,4 @@ +set(PELELMEX_EOS_MODEL Fuego) +set(PELELMEX_CHEMISTRY_MODEL SootReaction) +set(PELELMEX_TRANSPORT_MODEL Simple) +include(BuildExeAndLib) diff --git a/Exec/RegTests/SootRadTest/GNUmakefile b/Exec/RegTests/SootRadTest/GNUmakefile index 849705c8..35fc36e9 100644 --- a/Exec/RegTests/SootRadTest/GNUmakefile +++ b/Exec/RegTests/SootRadTest/GNUmakefile @@ -2,15 +2,15 @@ DIM = 2 DEBUG = FALSE PRECISION = DOUBLE -VERBOSE = FALSE -TINY_PROFILE = TRUE +TINY_PROFILE = FALSE # Compilation COMP = llvm -USE_MPI = TRUE +USE_MPI = FALSE USE_OMP = FALSE USE_CUDA = FALSE USE_HIP = FALSE +USE_SYCL = FALSE # PeleLMeX USE_EFIELD = FALSE @@ -20,15 +20,9 @@ Chemistry_Model = SootReaction Eos_Model = Fuego Transport_Model = Simple +USE_RADIATION = TRUE USE_SOOT = TRUE NUM_SOOT_MOMENTS = 3 -USE_PELERAD = TRUE -ifeq ($(USE_PELERAD), TRUE) -ifeq ($(USE_HIP), TRUE) -LIBRARIES += -lstdc++fs -endif -endif - PELELMEX_HOME ?= ../../.. include $(PELELMEX_HOME)/Exec/Make.PeleLMeX diff --git a/Exec/RegTests/SootRadTest/README.md b/Exec/RegTests/SootRadTest/README.md index c09852a3..dd712fc4 100644 --- a/Exec/RegTests/SootRadTest/README.md +++ b/Exec/RegTests/SootRadTest/README.md @@ -1,12 +1,2 @@ ## SootRadTest -Testing of the coupling between PeleLMeX and PeleMP soot and radiation modules. - -For now, PeleRad must be clone separately for this test case. In a convenient -location, run: - -git clone https://github.com/AMReX-Combustion/PeleRad.git -export PELERAD_HOME=$(pwd)/PeleRad - -Please specify the radiation database path in the input file before running. - -echo "pelerad.kppath = "$PELERAD_HOME/data/kpDB/"" >> first-input +Testing of the coupling between PeleLMeX and soot and radiation modules. diff --git a/Exec/RegTests/SootRadTest/kpDB/kpl_c2h4.dat b/Exec/RegTests/SootRadTest/kpDB/kpl_c2h4.dat new file mode 100755 index 00000000..e82ea7c4 --- /dev/null +++ b/Exec/RegTests/SootRadTest/kpDB/kpl_c2h4.dat @@ -0,0 +1,126 @@ + 300.0 0.22175E+00 + 320.0 0.20916E+00 + 340.0 0.19394E+00 + 360.0 0.17738E+00 + 380.0 0.16047E+00 + 400.0 0.14388E+00 + 420.0 0.12809E+00 + 440.0 0.11338E+00 + 460.0 0.99894E-01 + 480.0 0.87694E-01 + 500.0 0.76764E-01 + 520.0 0.67049E-01 + 540.0 0.58469E-01 + 560.0 0.50927E-01 + 580.0 0.44322E-01 + 600.0 0.38556E-01 + 620.0 0.33533E-01 + 640.0 0.29163E-01 + 660.0 0.25367E-01 + 680.0 0.22072E-01 + 700.0 0.19212E-01 + 720.0 0.16731E-01 + 740.0 0.14577E-01 + 760.0 0.12709E-01 + 780.0 0.11086E-01 + 800.0 0.96764E-02 + 820.0 0.84515E-02 + 840.0 0.73863E-02 + 860.0 0.64594E-02 + 880.0 0.56524E-02 + 900.0 0.49493E-02 + 920.0 0.43363E-02 + 940.0 0.38015E-02 + 960.0 0.33346E-02 + 980.0 0.29268E-02 + 1000.0 0.25704E-02 + 1020.0 0.22586E-02 + 1040.0 0.19857E-02 + 1060.0 0.17468E-02 + 1080.0 0.15374E-02 + 1100.0 0.13539E-02 + 1120.0 0.11929E-02 + 1140.0 0.10516E-02 + 1160.0 0.92752E-03 + 1180.0 0.81850E-03 + 1200.0 0.72266E-03 + 1220.0 0.63837E-03 + 1240.0 0.56420E-03 + 1260.0 0.49889E-03 + 1280.0 0.44137E-03 + 1300.0 0.39068E-03 + 1320.0 0.34598E-03 + 1340.0 0.30654E-03 + 1360.0 0.27174E-03 + 1380.0 0.24101E-03 + 1400.0 0.21386E-03 + 1420.0 0.18987E-03 + 1440.0 0.16864E-03 + 1460.0 0.14987E-03 + 1480.0 0.13325E-03 + 1500.0 0.11854E-03 + 1520.0 0.10550E-03 + 1540.0 0.93939E-04 + 1560.0 0.83688E-04 + 1580.0 0.74593E-04 + 1600.0 0.66519E-04 + 1620.0 0.59349E-04 + 1640.0 0.52977E-04 + 1660.0 0.47313E-04 + 1680.0 0.42275E-04 + 1700.0 0.37793E-04 + 1720.0 0.33802E-04 + 1740.0 0.30247E-04 + 1760.0 0.27079E-04 + 1780.0 0.24255E-04 + 1800.0 0.21736E-04 + 1820.0 0.19488E-04 + 1840.0 0.17481E-04 + 1860.0 0.15688E-04 + 1880.0 0.14086E-04 + 1900.0 0.12654E-04 + 1920.0 0.11372E-04 + 1940.0 0.10225E-04 + 1960.0 0.91986E-05 + 1980.0 0.82789E-05 + 2000.0 0.74546E-05 + 2020.0 0.67155E-05 + 2040.0 0.60525E-05 + 2060.0 0.54575E-05 + 2080.0 0.49232E-05 + 2100.0 0.44433E-05 + 2120.0 0.40120E-05 + 2140.0 0.36242E-05 + 2160.0 0.32754E-05 + 2180.0 0.29615E-05 + 2200.0 0.26789E-05 + 2220.0 0.24243E-05 + 2240.0 0.21949E-05 + 2260.0 0.19881E-05 + 2280.0 0.18016E-05 + 2300.0 0.16332E-05 + 2320.0 0.14813E-05 + 2340.0 0.13440E-05 + 2360.0 0.12200E-05 + 2380.0 0.11079E-05 + 2400.0 0.10066E-05 + 2420.0 0.91488E-06 + 2440.0 0.83187E-06 + 2460.0 0.75672E-06 + 2480.0 0.68864E-06 + 2500.0 0.62694E-06 + 2520.0 0.57100E-06 + 2540.0 0.52027E-06 + 2560.0 0.47423E-06 + 2580.0 0.43245E-06 + 2600.0 0.39450E-06 + 2620.0 0.36002E-06 + 2640.0 0.32869E-06 + 2660.0 0.30020E-06 + 2680.0 0.27428E-06 + 2700.0 0.25071E-06 + 2720.0 0.22924E-06 + 2740.0 0.20969E-06 + 2760.0 0.19189E-06 + 2780.0 0.17566E-06 + 2800.0 0.16086E-06 diff --git a/Exec/RegTests/SootRadTest/kpDB/kpl_ch4.dat b/Exec/RegTests/SootRadTest/kpDB/kpl_ch4.dat new file mode 100755 index 00000000..35a1ba67 --- /dev/null +++ b/Exec/RegTests/SootRadTest/kpDB/kpl_ch4.dat @@ -0,0 +1,126 @@ + 300. 0.04497709 + 320. 0.04844904 + 340. 0.05092656 + 360. 0.05253431 + 380. 0.05341675 + 400. 0.05371585 + 420. 0.05355871 + 440. 0.05305221 + 460. 0.05228213 + 480. 0.05131487 + 500. 0.05020037 + 520. 0.04897542 + 540. 0.04766674 + 560. 0.04629374 + 580. 0.04487073 + 600. 0.04340859 + 620. 0.04191607 + 640. 0.04040063 + 660. 0.03886905 + 680. 0.03732774 + 700. 0.03578290 + 720. 0.03424064 + 740. 0.03270691 + 760. 0.03118750 + 780. 0.02968791 + 800. 0.02821332 + 820. 0.02676851 + 840. 0.02535779 + 860. 0.02398498 + 880. 0.02265336 + 900. 0.02136569 + 920. 0.02012418 + 940. 0.01893054 + 960. 0.01778599 + 980. 0.01669127 + 1000. 0.01564672 + 1020. 0.01465228 + 1040. 0.01370758 + 1060. 0.01281190 + 1080. 0.01196432 + 1100. 0.01116367 + 1120. 0.01040860 + 1140. 0.00969764 + 1160. 0.00902918 + 1180. 0.00840154 + 1200. 0.00781298 + 1220. 0.00726174 + 1240. 0.00674601 + 1260. 0.00626402 + 1280. 0.00581399 + 1300. 0.00539419 + 1320. 0.00500292 + 1340. 0.00463852 + 1360. 0.00429939 + 1380. 0.00398399 + 1400. 0.00369085 + 1420. 0.00341854 + 1440. 0.00316573 + 1460. 0.00293114 + 1480. 0.00271353 + 1500. 0.00251178 + 1520. 0.00232479 + 1540. 0.00215154 + 1560. 0.00199108 + 1580. 0.00184249 + 1600. 0.00170494 + 1620. 0.00157764 + 1640. 0.00145984 + 1660. 0.00135085 + 1680. 0.00125003 + 1700. 0.00115678 + 1720. 0.00107054 + 1740. 0.00099079 + 1760. 0.00091704 + 1780. 0.00084886 + 1800. 0.00078582 + 1820. 0.00072753 + 1840. 0.00067364 + 1860. 0.00062381 + 1880. 0.00057774 + 1900. 0.00053514 + 1920. 0.00049576 + 1940. 0.00045934 + 1960. 0.00042565 + 1980. 0.00039450 + 2000. 0.00036569 + 2020. 0.00033904 + 2040. 0.00031439 + 2060. 0.00029157 + 2080. 0.00027047 + 2100. 0.00025093 + 2120. 0.00023286 + 2140. 0.00021612 + 2160. 0.00020063 + 2180. 0.00018628 + 2200. 0.00017300 + 2220. 0.00016069 + 2240. 0.00014929 + 2260. 0.00013873 + 2280. 0.00012894 + 2300. 0.00011987 + 2320. 0.00011146 + 2340. 0.00010366 + 2360. 0.00009643 + 2380. 0.00008972 + 2400. 0.00008350 + 2420. 0.00007773 + 2440. 0.00007237 + 2460. 0.00006739 + 2480. 0.00006278 + 2500. 0.00005849 + 2520. 0.00005450 + 2540. 0.00005080 + 2560. 0.00004736 + 2580. 0.00004417 + 2600. 0.00004120 + 2620. 0.00003843 + 2640. 0.00003587 + 2660. 0.00003348 + 2680. 0.00003125 + 2700. 0.00002918 + 2720. 0.00002726 + 2740. 0.00002546 + 2760. 0.00002379 + 2780. 0.00002224 + 2800. 0.00002079 diff --git a/Exec/RegTests/SootRadTest/kpDB/kpl_co.dat b/Exec/RegTests/SootRadTest/kpDB/kpl_co.dat new file mode 100755 index 00000000..a068b0ec --- /dev/null +++ b/Exec/RegTests/SootRadTest/kpDB/kpl_co.dat @@ -0,0 +1,126 @@ + 300. 0.00683693 + 320. 0.00939837 + 340. 0.01222332 + 360. 0.01519314 + 380. 0.01819187 + 400. 0.02111634 + 420. 0.02388186 + 440. 0.02642425 + 460. 0.02869933 + 480. 0.03068088 + 500. 0.03235780 + 520. 0.03373101 + 540. 0.03481054 + 560. 0.03561292 + 580. 0.03615891 + 600. 0.03647178 + 620. 0.03657587 + 640. 0.03649554 + 660. 0.03625444 + 680. 0.03587501 + 700. 0.03537812 + 720. 0.03478290 + 740. 0.03410669 + 760. 0.03336501 + 780. 0.03257164 + 800. 0.03173871 + 820. 0.03087683 + 840. 0.02999518 + 860. 0.02910166 + 880. 0.02820304 + 900. 0.02730505 + 920. 0.02641251 + 940. 0.02552943 + 960. 0.02465915 + 980. 0.02380436 + 1000. 0.02296724 + 1020. 0.02214950 + 1040. 0.02135246 + 1060. 0.02057710 + 1080. 0.01982410 + 1100. 0.01909392 + 1120. 0.01838679 + 1140. 0.01770276 + 1160. 0.01704177 + 1180. 0.01640360 + 1200. 0.01578794 + 1220. 0.01519443 + 1240. 0.01462260 + 1260. 0.01407197 + 1280. 0.01354199 + 1300. 0.01303209 + 1320. 0.01254169 + 1340. 0.01207019 + 1360. 0.01161697 + 1380. 0.01118143 + 1400. 0.01076296 + 1420. 0.01036094 + 1440. 0.00997478 + 1460. 0.00960390 + 1480. 0.00924771 + 1500. 0.00890566 + 1520. 0.00857719 + 1540. 0.00826178 + 1560. 0.00795890 + 1580. 0.00766805 + 1600. 0.00738875 + 1620. 0.00712054 + 1640. 0.00686295 + 1660. 0.00661556 + 1680. 0.00637794 + 1700. 0.00614970 + 1720. 0.00593044 + 1740. 0.00571979 + 1760. 0.00551741 + 1780. 0.00532293 + 1800. 0.00513604 + 1820. 0.00495642 + 1840. 0.00478377 + 1860. 0.00461779 + 1880. 0.00445821 + 1900. 0.00430477 + 1920. 0.00415721 + 1940. 0.00401529 + 1960. 0.00387877 + 1980. 0.00374743 + 2000. 0.00362106 + 2020. 0.00349946 + 2040. 0.00338242 + 2060. 0.00326976 + 2080. 0.00316130 + 2100. 0.00305687 + 2120. 0.00295631 + 2140. 0.00285946 + 2160. 0.00276617 + 2180. 0.00267630 + 2200. 0.00258971 + 2220. 0.00250626 + 2240. 0.00242583 + 2260. 0.00234831 + 2280. 0.00227357 + 2300. 0.00220151 + 2320. 0.00213202 + 2340. 0.00206500 + 2360. 0.00200035 + 2380. 0.00193798 + 2400. 0.00187780 + 2420. 0.00181973 + 2440. 0.00176368 + 2460. 0.00170958 + 2480. 0.00165734 + 2500. 0.00160691 + 2520. 0.00155821 + 2540. 0.00151118 + 2560. 0.00146574 + 2580. 0.00142185 + 2600. 0.00137945 + 2620. 0.00133847 + 2640. 0.00129886 + 2660. 0.00126058 + 2680. 0.00122357 + 2700. 0.00118779 + 2720. 0.00115320 + 2740. 0.00111974 + 2760. 0.00108738 + 2780. 0.00105607 + 2800. 0.00102579 diff --git a/Exec/RegTests/SootRadTest/kpDB/kpl_co2.dat b/Exec/RegTests/SootRadTest/kpDB/kpl_co2.dat new file mode 100755 index 00000000..79d64ff0 --- /dev/null +++ b/Exec/RegTests/SootRadTest/kpDB/kpl_co2.dat @@ -0,0 +1,126 @@ + 300. 0.26371273 + 320. 0.25467201 + 340. 0.25050793 + 360. 0.25078330 + 380. 0.25474820 + 400. 0.26151696 + 420. 0.27019220 + 440. 0.27994417 + 460. 0.29005530 + 480. 0.29993911 + 500. 0.30914198 + 520. 0.31733408 + 540. 0.32429445 + 560. 0.32989369 + 580. 0.33407636 + 600. 0.33684464 + 620. 0.33824375 + 640. 0.33834966 + 660. 0.33725884 + 680. 0.33508018 + 700. 0.33192858 + 720. 0.32792021 + 740. 0.32316893 + 760. 0.31778387 + 780. 0.31186776 + 800. 0.30551590 + 820. 0.29881570 + 840. 0.29184644 + 860. 0.28467945 + 880. 0.27737837 + 900. 0.26999954 + 920. 0.26259251 + 940. 0.25520055 + 960. 0.24786115 + 980. 0.24060659 + 1000. 0.23346441 + 1020. 0.22645790 + 1040. 0.21960657 + 1060. 0.21292650 + 1080. 0.20643078 + 1100. 0.20012981 + 1120. 0.19403165 + 1140. 0.18814224 + 1160. 0.18246571 + 1180. 0.17700455 + 1200. 0.17175985 + 1220. 0.16673146 + 1240. 0.16191814 + 1260. 0.15731770 + 1280. 0.15292716 + 1300. 0.14874281 + 1320. 0.14476035 + 1340. 0.14097494 + 1360. 0.13738134 + 1380. 0.13397392 + 1400. 0.13074675 + 1420. 0.12769365 + 1440. 0.12480828 + 1460. 0.12208412 + 1480. 0.11951458 + 1500. 0.11709298 + 1520. 0.11481262 + 1540. 0.11266682 + 1560. 0.11064891 + 1580. 0.10875228 + 1600. 0.10697042 + 1620. 0.10529690 + 1640. 0.10372540 + 1660. 0.10224977 + 1680. 0.10086398 + 1700. 0.09956216 + 1720. 0.09833864 + 1740. 0.09718789 + 1760. 0.09610460 + 1780. 0.09508366 + 1800. 0.09412012 + 1820. 0.09320926 + 1840. 0.09234658 + 1860. 0.09152775 + 1880. 0.09074867 + 1900. 0.09000545 + 1920. 0.08929439 + 1940. 0.08861200 + 1960. 0.08795499 + 1980. 0.08732026 + 2000. 0.08670491 + 2020. 0.08610624 + 2040. 0.08552170 + 2060. 0.08494896 + 2080. 0.08438582 + 2100. 0.08383027 + 2120. 0.08328047 + 2140. 0.08273471 + 2160. 0.08219145 + 2180. 0.08164927 + 2200. 0.08110692 + 2220. 0.08056323 + 2240. 0.08001719 + 2260. 0.07946790 + 2280. 0.07891457 + 2300. 0.07835649 + 2320. 0.07779309 + 2340. 0.07722386 + 2360. 0.07664837 + 2380. 0.07606631 + 2400. 0.07547741 + 2420. 0.07488147 + 2440. 0.07427838 + 2460. 0.07366806 + 2480. 0.07305050 + 2500. 0.07242575 + 2520. 0.07179388 + 2540. 0.07115502 + 2560. 0.07050933 + 2580. 0.06985702 + 2600. 0.06919830 + 2620. 0.06853345 + 2640. 0.06786272 + 2660. 0.06718642 + 2680. 0.06650488 + 2700. 0.06581842 + 2720. 0.06512739 + 2740. 0.06443214 + 2760. 0.06373305 + 2780. 0.06303048 + 2800. 0.06232481 diff --git a/Exec/RegTests/SootRadTest/kpDB/kpl_h2o.dat b/Exec/RegTests/SootRadTest/kpDB/kpl_h2o.dat new file mode 100755 index 00000000..14689e21 --- /dev/null +++ b/Exec/RegTests/SootRadTest/kpDB/kpl_h2o.dat @@ -0,0 +1,126 @@ + 300. 0.52025064 + 320. 0.44995562 + 340. 0.39460901 + 360. 0.35021992 + 380. 0.31397267 + 400. 0.28386284 + 420. 0.25845138 + 440. 0.23669601 + 460. 0.21783442 + 480. 0.20130280 + 500. 0.18667882 + 520. 0.17364155 + 540. 0.16194326 + 560. 0.15138949 + 580. 0.14182497 + 600. 0.13312362 + 620. 0.12518140 + 640. 0.11791116 + 660. 0.11123899 + 680. 0.10510144 + 700. 0.09944356 + 720. 0.09421739 + 740. 0.08938076 + 760. 0.08489645 + 780. 0.08073146 + 800. 0.07685641 + 820. 0.07324513 + 840. 0.06987420 + 860. 0.06672266 + 880. 0.06377169 + 900. 0.06100440 + 920. 0.05840562 + 940. 0.05596165 + 960. 0.05366016 + 980. 0.05149002 + 1000. 0.04944115 + 1020. 0.04750445 + 1040. 0.04567165 + 1060. 0.04393525 + 1080. 0.04228844 + 1100. 0.04072501 + 1120. 0.03923931 + 1140. 0.03782616 + 1160. 0.03648083 + 1180. 0.03519900 + 1200. 0.03397669 + 1220. 0.03281024 + 1240. 0.03169630 + 1260. 0.03063174 + 1280. 0.02961372 + 1300. 0.02863956 + 1320. 0.02770683 + 1340. 0.02681323 + 1360. 0.02595665 + 1380. 0.02513510 + 1400. 0.02434676 + 1420. 0.02358990 + 1440. 0.02286291 + 1460. 0.02216431 + 1480. 0.02149267 + 1500. 0.02084668 + 1520. 0.02022510 + 1540. 0.01962676 + 1560. 0.01905057 + 1580. 0.01849549 + 1600. 0.01796056 + 1620. 0.01744484 + 1640. 0.01694748 + 1660. 0.01646766 + 1680. 0.01600459 + 1700. 0.01555755 + 1720. 0.01512585 + 1740. 0.01470881 + 1760. 0.01430583 + 1780. 0.01391630 + 1800. 0.01353966 + 1820. 0.01317539 + 1840. 0.01282297 + 1860. 0.01248193 + 1880. 0.01215180 + 1900. 0.01183214 + 1920. 0.01152255 + 1940. 0.01122263 + 1960. 0.01093200 + 1980. 0.01065030 + 2000. 0.01037720 + 2020. 0.01011236 + 2040. 0.00985548 + 2060. 0.00960625 + 2080. 0.00936440 + 2100. 0.00912965 + 2120. 0.00890176 + 2140. 0.00868046 + 2160. 0.00846553 + 2180. 0.00825673 + 2200. 0.00805386 + 2220. 0.00785671 + 2240. 0.00766508 + 2260. 0.00747878 + 2280. 0.00729763 + 2300. 0.00712146 + 2320. 0.00695010 + 2340. 0.00678339 + 2360. 0.00662119 + 2380. 0.00646334 + 2400. 0.00630970 + 2420. 0.00616014 + 2440. 0.00601453 + 2460. 0.00587274 + 2480. 0.00573466 + 2500. 0.00560018 + 2520. 0.00546917 + 2540. 0.00534154 + 2560. 0.00521718 + 2580. 0.00509600 + 2600. 0.00497790 + 2620. 0.00486279 + 2640. 0.00475058 + 2660. 0.00464118 + 2680. 0.00453453 + 2700. 0.00443053 + 2720. 0.00432911 + 2740. 0.00423020 + 2760. 0.00413373 + 2780. 0.00403963 + 2800. 0.00394784 diff --git a/Exec/RegTests/SootRadTest/kpDB/kpl_soot.dat b/Exec/RegTests/SootRadTest/kpDB/kpl_soot.dat new file mode 100755 index 00000000..31b3cfa9 --- /dev/null +++ b/Exec/RegTests/SootRadTest/kpDB/kpl_soot.dat @@ -0,0 +1,126 @@ + 300.000000000000 3077.80995450365 + 320.000000000000 3389.14347543128 + 340.000000000000 3703.94292476713 + 360.000000000000 4021.28926738427 + 380.000000000000 4340.37377312421 + 400.000000000000 4660.48805179194 + 420.000000000000 4981.01430327583 + 440.000000000000 5301.41605415981 + 460.000000000000 5621.22952568398 + 480.000000000000 5940.05569737670 + 500.000000000000 6257.55308013873 + 520.000000000000 6573.43118162418 + 540.000000000000 6887.44462864955 + 560.000000000000 7199.38790160765 + 580.000000000000 7509.09063151284 + 600.000000000000 7816.41340939527 + 620.000000000000 8121.24405898481 + 640.000000000000 8423.49432611040 + 660.000000000000 8723.09694140918 + 680.000000000000 9020.00301641339 + 700.000000000000 9314.17973661617 + 720.000000000000 9605.60831855520 + 740.000000000000 9894.28220120525 + 760.000000000000 10180.2054449843 + 780.000000000000 10463.3913144345 + 800.000000000000 10743.8610231357 + 820.000000000000 11021.6426216528 + 840.000000000000 11296.7700113372 + 860.000000000000 11569.2820686035 + 880.000000000000 11839.2218659302 + 900.000000000000 12106.6359772945 + 920.000000000000 12371.5738570765 + 940.000000000000 12634.0872826849 + 960.000000000000 12894.2298522639 + 980.000000000000 13152.0565298739 + 1000.00000000000 13407.6232314890 + 1020.00000000000 13660.9864460464 + 1040.00000000000 13912.2028866051 + 1060.00000000000 14161.3291674378 + 1080.00000000000 14408.4215035906 + 1100.00000000000 14653.5354300888 + 1120.00000000000 14896.7255385594 + 1140.00000000000 15138.0452295668 + 1160.00000000000 15377.5464794256 + 1180.00000000000 15615.2796206587 + 1200.00000000000 15851.2931356124 + 1220.00000000000 16085.6334630245 + 1240.00000000000 16318.3448175691 + 1260.00000000000 16549.4690225711 + 1280.00000000000 16779.0453562091 + 1300.00000000000 17007.1104115972 + 1320.00000000000 17233.6979711719 + 1340.00000000000 17458.8388958079 + 1360.00000000000 17682.5610290531 + 1380.00000000000 17904.8891168135 + 1400.00000000000 18125.8447427395 + 1420.00000000000 18345.4462794709 + 1440.00000000000 18563.7088557896 + 1460.00000000000 18780.6443396192 + 1480.00000000000 18996.2613366927 + 1500.00000000000 19210.5652045966 + 1520.00000000000 19423.5580817869 + 1540.00000000000 19635.2389310691 + 1560.00000000000 19845.6035969333 + 1580.00000000000 20054.6448760524 + 1600.00000000000 20262.3526001688 + 1620.00000000000 20468.7137305313 + 1640.00000000000 20673.7124629890 + 1660.00000000000 20877.3303428061 + 1680.00000000000 21079.5463882273 + 1700.00000000000 21280.3372218081 + 1720.00000000000 21479.6772085100 + 1740.00000000000 21677.5385995640 + 1760.00000000000 21873.8916811141 + 1780.00000000000 22068.7049266707 + 1800.00000000000 22261.9451524291 + 1820.00000000000 22453.5776745416 + 1840.00000000000 22643.5664674663 + 1860.00000000000 22831.8743225626 + 1880.00000000000 23018.4630061449 + 1900.00000000000 23203.2934162589 + 1920.00000000000 23386.3257374954 + 1940.00000000000 23567.5195932084 + 1960.00000000000 23746.8341945606 + 1980.00000000000 23924.2284858717 + 2000.00000000000 24099.6612857996 + 2020.00000000000 24273.0914239397 + 2040.00000000000 24444.4778724753 + 2060.00000000000 24613.7798725677 + 2080.00000000000 24780.9570552203 + 2100.00000000000 24945.9695563975 + 2120.00000000000 25108.7781262268 + 2140.00000000000 25269.3442321509 + 2160.00000000000 25427.6301559373 + 2180.00000000000 25583.5990844919 + 2200.00000000000 25737.2151944548 + 2220.00000000000 25888.4437305875 + 2240.00000000000 26037.2510779941 + 2260.00000000000 26183.6048282401 + 2280.00000000000 26327.4738394596 + 2300.00000000000 26468.8282905621 + 2320.00000000000 26607.6397296692 + 2340.00000000000 26743.8811169272 + 2360.00000000000 26877.5268618584 + 2380.00000000000 27008.5528554240 + 2400.00000000000 27136.9364969825 + 2420.00000000000 27262.6567163377 + 2440.00000000000 27385.6939910754 + 2460.00000000000 27506.0303593938 + 2480.00000000000 27623.6494286378 + 2500.00000000000 27738.5363797468 + 2520.00000000000 27850.6779678317 + 2540.00000000000 27960.0625190912 + 2560.00000000000 28066.6799242814 + 2580.00000000000 28170.5216289484 + 2600.00000000000 28271.5806206317 + 2620.00000000000 28369.8514132427 + 2640.00000000000 28465.3300288191 + 2660.00000000000 28558.0139768496 + 2680.00000000000 28647.9022313617 + 2700.00000000000 28734.9952059569 + 2720.00000000000 28819.2947269720 + 2740.00000000000 28900.8040049417 + 2760.00000000000 28979.5276045287 + 2780.00000000000 29055.4714130815 + 2800.00000000000 29128.6426079759 diff --git a/Exec/RegTests/SootRadTest/first-input.inp b/Exec/RegTests/SootRadTest/soot-rad-2d.inp similarity index 94% rename from Exec/RegTests/SootRadTest/first-input.inp rename to Exec/RegTests/SootRadTest/soot-rad-2d.inp index d31abe9f..9a8cd8f6 100644 --- a/Exec/RegTests/SootRadTest/first-input.inp +++ b/Exec/RegTests/SootRadTest/soot-rad-2d.inp @@ -19,7 +19,7 @@ amr.n_error_buf = 1 1 2 2 # number of buffer cells in error est amr.grid_eff = 0.7 # what constitutes an efficient grid amr.ref_ratio = 2 2 2 amr.blocking_factor = 8 -amr.max_grid_size = 128 +amr.max_grid_size = 64 #--------------------------- Problem ------------------------------- prob.P_mean = 98700. @@ -86,9 +86,10 @@ amr.gradT.adjacent_difference_greater = 30. amr.gradT.field_name = temp amrex.regtest_reduction = 1 -amrex.fpe_trap_invalid = 1 -amrex.fpe_trap_zero = 1 -amrex.fpe_trap_overflow = 1 +amrex.signal_handling = 0 +#amrex.fpe_trap_invalid = 0 +#amrex.fpe_trap_zero = 0 +#amrex.fpe_trap_overflow = 0 #--------------------RADIATION MODELING------------------------ peleLM.do_rad_solve = 1 @@ -109,5 +110,5 @@ pelerad.linop_maxorder = 2 pelerad.max_fmg_iter = 0 pelerad.lo_bc = Robin Periodic Periodic pelerad.hi_bc = Robin Periodic Periodic -#please set the pelerad.kppath -pelerad.kppath = /lustre/orion/cmb138/proj-shared/w0g/PR/PeleRad/data/kpDB/ +#The trailing / might matter here: +pelerad.kppath = kpDB/ diff --git a/Exec/RegTests/SootRadTest/soot-rad-3d.inp b/Exec/RegTests/SootRadTest/soot-rad-3d.inp new file mode 100644 index 00000000..9a8cd8f6 --- /dev/null +++ b/Exec/RegTests/SootRadTest/soot-rad-3d.inp @@ -0,0 +1,114 @@ +#----------------------DOMAIN DEFINITION------------------------ +geometry.is_periodic = 0 1 1 # For each dir, 0: non-perio, 1: periodic +geometry.coord_sys = 0 # 0 => cart, 1 => RZ +geometry.prob_lo = 0.0 0.0 0.0 # x_lo y_lo (z_lo) +geometry.prob_hi = 0.04 0.0025 0.0025 # x_hi y_hi (z_hi) + +# >>>>>>>>>>>>> BC FLAGS <<<<<<<<<<<<<<<< +# Interior, Inflow, Outflow, Symmetry, +# SlipWallAdiab, NoSlipWallAdiab, SlipWallIsotherm, NoSlipWallIsotherm +peleLM.lo_bc = Inflow Interior Interior +peleLM.hi_bc = Outflow Interior Interior + +#-------------------------AMR CONTROL---------------------------- +amr.n_cell = 128 8 8 # Level 0 number of cells in each direction +amr.v = 1 # AMR verbose +amr.max_level = 2 # maximum level number allowed +amr.regrid_int = 4 # how often to regrid +amr.n_error_buf = 1 1 2 2 # number of buffer cells in error est +amr.grid_eff = 0.7 # what constitutes an efficient grid +amr.ref_ratio = 2 2 2 +amr.blocking_factor = 8 +amr.max_grid_size = 64 + +#--------------------------- Problem ------------------------------- +prob.P_mean = 98700. +prob.standoff = 0.0 +pmf.datafile = "datafile_init/mueller_burner.dat" +pmf.do_cellAverage = 0 + +#--------------------SOOT MODELING------------------------ +peleLM.do_soot_solve = 1 +soot.incept_pah = A2 # Soot inception species +soot.v = 0 +soot.temp_cutoff = 290. +soot.conserve_mass = false +soot.num_subcycles = 10 +soot.max_subcycles = 1000 + +#-------------------------PeleLM CONTROL---------------------------- +peleLM.v = 1 +peleLM.incompressible = 0 +peleLM.use_wbar = 0 +peleLM.sdc_iterMax = 1 +peleLM.floor_species = 0 +peleLM.advection_scheme = Godunov_BDS + +peleLM.do_temporals = 0 +peleLM.temporal_int = 2 +peleLM.mass_balance = 1 +peleLM.num_init_iter = 1 +peleLM.plot_react = 0 + +#amr.restart = chk00005 +#amr.check_int = 2000 +amr.plot_per = 1.E-3 +amr.dt_shrink = 0.1 +amr.max_step = 10000 +amr.stop_time = 0.022 +amr.cfl = 0.3 +amr.derive_plot_vars = rhoRT mass_fractions rhominsumrhoY +#amr.fixed_dt = 0.008 +#amr.fixed_dt = 1.E-6 + +# --------------- INPUTS TO CHEMISTRY REACTOR --------------- +peleLM.chem_integrator = "ReactorCvode" +peleLM.use_typ_vals_chem = 0 # Use species/temp typical values in CVODE +# ode.rtol = 1.0e-6 # Relative tolerance of the chemical solve +# ode.atol = 1.0e-5 # Absolute tolerance factor applied on typical values +#cvode.solve_type = GMRES +cvode.solve_type = dense_direct # CVODE Linear solve type (for Newton direction) +#cvode.solve_type = magma_direct # CVODE Linear solve type (for Newton direction) +#cvode.max_order = 4 # CVODE max BDF order. +#ode.atol = 1.E-12 + +mac_proj.verbose = 0 +mac_proj.atol = 1.E-14 +mac_proj.rtol = 1.E-11 +nodal_proj.verbose = 0 +nodal_proj.atol = 6.0e-14 # tolerance for projections +nodal_proj.rtol = 6.0e-11 + +#--------------------REFINEMENT CONTROL------------------------ +amr.refinement_indicators = gradT +amr.gradT.max_level = 2 +amr.gradT.adjacent_difference_greater = 30. +amr.gradT.field_name = temp + +amrex.regtest_reduction = 1 +amrex.signal_handling = 0 +#amrex.fpe_trap_invalid = 0 +#amrex.fpe_trap_zero = 0 +#amrex.fpe_trap_overflow = 0 + +#--------------------RADIATION MODELING------------------------ +peleLM.do_rad_solve = 1 +pelerad.composite_solve = 1 +pelerad.use_hypre = 0 +pelerad.verbose = 0 +pelerad.max_iter = 200 +pelerad.max_coarsening_level = 10 +pelerad.reltol = 1.0e-3 +pelerad.abstol = 1.0e-3 +pelerad.bottom_reltol = 1.0e-6 +pelerad.bottom_abstol = 1.0e-6 +pelerad.agglomeration = 1 +pelerad.consolidation = 0 +pelerad.bottom_verbose = 0 +pelerad.maxorder = 2 +pelerad.linop_maxorder = 2 +pelerad.max_fmg_iter = 0 +pelerad.lo_bc = Robin Periodic Periodic +pelerad.hi_bc = Robin Periodic Periodic +#The trailing / might matter here: +pelerad.kppath = kpDB/ diff --git a/Exec/RegTests/SprayTest/input.2d b/Exec/RegTests/SprayTest/input.2d index fe2d5fc5..a15aa33b 100644 --- a/Exec/RegTests/SprayTest/input.2d +++ b/Exec/RegTests/SprayTest/input.2d @@ -91,6 +91,6 @@ particles.write_ascii_files = 0 particles.parcel_size = 10. amrex.regtest_reduction=1 -amrex.fpe_trap_invalid = 1 -amrex.fpe_trap_zero = 1 -amrex.fpe_trap_overflow = 1 +#amrex.fpe_trap_invalid = 1 +#amrex.fpe_trap_zero = 1 +#amrex.fpe_trap_overflow = 1 diff --git a/Exec/RegTests/TaylorGreen/README.md~ b/Exec/RegTests/TaylorGreen/README.md~ deleted file mode 100644 index cbf22376..00000000 --- a/Exec/RegTests/TaylorGreen/README.md~ +++ /dev/null @@ -1,21 +0,0 @@ -# Taylor-Green Vortex (pulled from PeleC) - -This setup is one of the test problems outlined by [the High-Order CFD workshop](https://www.grc.nasa.gov/hiocfd/). - -A complete description of the problem can be found -[here](https://www.grc.nasa.gov/hiocfd/wp-content/uploads/sites/22/case_c3.3.pdf) and -the reference data is found -[here](https://www.grc.nasa.gov/wp-content/uploads/sites/22/C3.3_datafiles.zip). More -details of the problem and methods used to obtain the reference data -can be found in Bull and Jameson (2014) 7th AIAA Theoretical Fluid -Mechanics Conference (doi: 10.2514/6.2014-3210) and DeBonis (2013) -51st AIAA Aerospace Sciences Meeting (doi:10.2514/6.2013-382). - -To directly plot the evolution of integrated kinetic energy and enstrophy, use -the data provided in temporals/tempState with the help of the processTGdata.py -script. - -Note that these commands provide adimentional results, with t\* = t/(L\_0/V\_0), -E\_k\* = E\_k / ( rho\_0 * V\_0 * V\_0) and psi\* = psi / (V\_0/L\_0)^2 - -PeleLMeX results can be found in [here](https://amrex-combustion.github.io/PeleLMeX/manual/html/Validation.html#taylor-green-vortex-breakdown). diff --git a/Exec/RegTests/TurbInflow/input.3d_BoxLoZ b/Exec/RegTests/TurbInflow/input.3d_BoxLoZ index ba355bf2..7b5d8fb2 100644 --- a/Exec/RegTests/TurbInflow/input.3d_BoxLoZ +++ b/Exec/RegTests/TurbInflow/input.3d_BoxLoZ @@ -75,6 +75,6 @@ amr.loBoxZ.in_box_lo = 0.0 0.0 0.0 amr.loBoxZ.in_box_hi = 0.01 0.01 0.005 fabarray.mfiter_tile_size = 1024 1024 1024 -amrex.fpe_trap_invalid = 1 -amrex.fpe_trap_zero = 1 -amrex.fpe_trap_overflow = 1 +#amrex.fpe_trap_invalid = 1 +#amrex.fpe_trap_zero = 1 +#amrex.fpe_trap_overflow = 1 diff --git a/Exec/RegTests/TurbInflow/input.3d_negY b/Exec/RegTests/TurbInflow/input.3d_negY index c2dea9d6..78a95bf2 100644 --- a/Exec/RegTests/TurbInflow/input.3d_negY +++ b/Exec/RegTests/TurbInflow/input.3d_negY @@ -72,6 +72,6 @@ amr.O2.value_greater = 0.4 amr.O2.field_name = Y(O2) fabarray.mfiter_tile_size = 1024 1024 1024 -amrex.fpe_trap_invalid = 1 -amrex.fpe_trap_zero = 1 -amrex.fpe_trap_overflow = 1 +#amrex.fpe_trap_invalid = 1 +#amrex.fpe_trap_zero = 1 +#amrex.fpe_trap_overflow = 1 diff --git a/Exec/RegTests/TurbInflow/input.3d_posX b/Exec/RegTests/TurbInflow/input.3d_posX index e3cda3ab..17800ff0 100644 --- a/Exec/RegTests/TurbInflow/input.3d_posX +++ b/Exec/RegTests/TurbInflow/input.3d_posX @@ -72,6 +72,6 @@ amr.O2.value_greater = 0.4 amr.O2.field_name = Y(O2) fabarray.mfiter_tile_size = 1024 1024 1024 -amrex.fpe_trap_invalid = 1 -amrex.fpe_trap_zero = 1 -amrex.fpe_trap_overflow = 1 +#amrex.fpe_trap_invalid = 1 +#amrex.fpe_trap_zero = 1 +#amrex.fpe_trap_overflow = 1 diff --git a/Exec/RegTests/TurbInflow/input.3d_twoInjs b/Exec/RegTests/TurbInflow/input.3d_twoInjs index 5ff28f7e..7656359b 100644 --- a/Exec/RegTests/TurbInflow/input.3d_twoInjs +++ b/Exec/RegTests/TurbInflow/input.3d_twoInjs @@ -85,6 +85,6 @@ amr.O2.value_greater = 0.4 amr.O2.field_name = Y(O2) fabarray.mfiter_tile_size = 1024 1024 1024 -amrex.fpe_trap_invalid = 1 -amrex.fpe_trap_zero = 1 -amrex.fpe_trap_overflow = 1 +#amrex.fpe_trap_invalid = 1 +#amrex.fpe_trap_zero = 1 +#amrex.fpe_trap_overflow = 1 diff --git a/Exec/RegTests/Unit/input b/Exec/RegTests/Unit/input index 005f3676..70446d85 100644 --- a/Exec/RegTests/Unit/input +++ b/Exec/RegTests/Unit/input @@ -64,6 +64,6 @@ amr.derive_plot_vars = avg_pressure #amr.temp.value_greater = 305 #amr.temp.field_name = temp -amrex.fpe_trap_invalid = 1 -amrex.fpe_trap_zero = 1 -amrex.fpe_trap_overflow = 1 +#amrex.fpe_trap_invalid = 1 +#amrex.fpe_trap_zero = 1 +#amrex.fpe_trap_overflow = 1 diff --git a/Exec/RegTests/Unit/input.diffusion b/Exec/RegTests/Unit/input.diffusion index 88b821d7..8c6f7ac0 100644 --- a/Exec/RegTests/Unit/input.diffusion +++ b/Exec/RegTests/Unit/input.diffusion @@ -88,6 +88,6 @@ amr.yo2.max_level = 1 amr.yo2.value_greater = 0.24 amr.yo2.field_name = Y(O2) -amrex.fpe_trap_invalid = 1 -amrex.fpe_trap_zero = 1 -amrex.fpe_trap_overflow = 1 +#amrex.fpe_trap_invalid = 1 +#amrex.fpe_trap_zero = 1 +#amrex.fpe_trap_overflow = 1 diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt deleted file mode 100644 index e431ab78..00000000 --- a/Source/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -target_include_directories(pelelmex PUBLIC $) - -target_sources(pelelmex - PRIVATE - main.cpp - DeriveUserDefined.cpp - DiffusionOp.H - DiffusionOp.cpp - PeleLM.cpp - PeleLM.H - PeleLMeX_Index.H - PeleLMeX_K.H - PeleLMAdvance.cpp - PeleLMAdvection.cpp - PeleLMBC.cpp - PeleLMBCfill.H - PeleLMData.cpp - PeleLMDerive.cpp - PeleLMDerive.H - PeleLMDeriveFunc.cpp - PeleLMDeriveFunc.H - PeleLMDiagnostics.cpp - PeleLMDiffusion.cpp - PeleLMEB.cpp - PeleLMEos.cpp - PeleLMEvaluate.cpp - PeleLMEvolve.cpp - PeleLMForces.cpp - PeleLMInit.cpp - PeleLMPlot.cpp - PeleLMProjection.cpp - PeleLMReactions.cpp - PeleLMRegrid.cpp - PeleLMSetup.cpp - PeleLMTagging.cpp - PeleLMTemporals.cpp - PeleLMTimestep.cpp - PeleLMTransportProp.cpp - PeleLMUMac.cpp - PeleLMUtils.H - PeleLMUtils.cpp - PeleFlowControllerData.H - PeleLMFlowController.cpp - Utils.cpp - ) - -if (PELELMEX_USE_EFIELD) - add_subdirectory(Efield) -endif () - -if (PELELMEX_USE_PARTICLES) - add_subdirectory(Spray) -endif () - -if (PELELMEX_USE_SOOT) - add_subdirectory(Soot) -endif () diff --git a/Source/Efield/CMakeLists.txt b/Source/Efield/CMakeLists.txt deleted file mode 100644 index e4c6d67f..00000000 --- a/Source/Efield/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -target_include_directories(pelelmex PUBLIC $) - -target_sources(pelelmex - PRIVATE - EOS_Extension.H - PeleLMEF.H - PeleLMEF_Constants.H - PeleLMEF_K.H - PeleLMEFDeriveFunc.cpp - PeleLMEFDeriveFunc.H - PeleLMEFIonDrift.cpp - PeleLMEFNLSolve.cpp - PeleLMEFPoisson.cpp - PeleLMEFReactions.cpp - PeleLMEFTimeStep.cpp - PeleLMEFTransport.cpp - PeleLMEFUtils.cpp - ) - -add_subdirectory(GMRES) -add_subdirectory(LinOps) diff --git a/Source/Efield/GMRES/CMakeLists.txt b/Source/Efield/GMRES/CMakeLists.txt deleted file mode 100644 index 2a8092f5..00000000 --- a/Source/Efield/GMRES/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -target_include_directories(pelelmex PUBLIC $) - -target_sources(pelelmex - PRIVATE - MLGMRES.H - MLGMRES.cpp - ) diff --git a/Source/Efield/LinOps/CMakeLists.txt b/Source/Efield/LinOps/CMakeLists.txt deleted file mode 100644 index f533aa7c..00000000 --- a/Source/Efield/LinOps/CMakeLists.txt +++ /dev/null @@ -1,15 +0,0 @@ -target_include_directories(pelelmex PUBLIC $) - -target_sources(pelelmex - PRIVATE - AMReX_MLABecCecLap_${AMReX_SPACEDIM}D_K.H - AMReX_MLABecCecLap_K.H - AMReX_MLABecCecLaplacian.cpp - AMReX_MLABecCecLaplacian.H - AMReX_MLCellABecCecLap.cpp - AMReX_MLCellABecCecLap.H - AMReX_MLCellABecCecLap_${AMReX_SPACEDIM}D_K.H - AMReX_MLCellABecCecLap_K.H - PrecondOp.H - PrecondOp.cpp - ) diff --git a/Source/Make.package b/Source/Make.package index f41ca470..fa8d9f7e 100644 --- a/Source/Make.package +++ b/Source/Make.package @@ -46,12 +46,10 @@ ifeq ($(USE_SOOT), TRUE) CEXE_sources += PeleLMeX_Soot.cpp endif -ifeq ($(USE_PELERAD), TRUE) - CEXE_sources += PeleLMeX_Rad.cpp +ifeq ($(USE_RADIATION), TRUE) + CEXE_sources += PeleLMeX_Radiation.cpp endif ifeq ($(USE_PARTICLES), TRUE) CEXE_sources += PeleLMeX_SprayParticles.cpp endif - - diff --git a/Source/PeleLMeX.H b/Source/PeleLMeX.H index 03941fd5..6f708933 100644 --- a/Source/PeleLMeX.H +++ b/Source/PeleLMeX.H @@ -32,8 +32,8 @@ #include #include -#ifdef PELELM_USE_RAD -#include +#ifdef PELELM_USE_RADIATION +#include #endif // Forward declarations @@ -861,7 +861,7 @@ public: //----------------------------------------------------------------------------- #endif -#ifdef PELELM_USE_RAD +#ifdef PELELM_USE_RADIATION // Initialize the radiation module void RadInit(); @@ -1691,7 +1691,7 @@ public: bool do_soot_solve; #endif -#ifdef PELELM_USE_RAD +#ifdef PELELM_USE_RADIATION // Radiation parameters std::unique_ptr rad_model; bool do_rad_solve; diff --git a/Source/PeleLMeX_Advance.cpp b/Source/PeleLMeX_Advance.cpp index 0b9cb23b..f1306edd 100644 --- a/Source/PeleLMeX_Advance.cpp +++ b/Source/PeleLMeX_Advance.cpp @@ -120,7 +120,7 @@ PeleLM::Advance(int is_initIter) computeSootSource(AmrOldTime, m_dt); } #endif -#ifdef PELELM_USE_RAD +#ifdef PELELM_USE_RADIATION if (do_rad_solve) { BL_PROFILE_VAR("PeleLM::advance::rad", PLM_RAD); computeRadSource(AmrOldTime); diff --git a/Source/PeleLMeX_Init.cpp b/Source/PeleLMeX_Init.cpp index fe047c95..b121ed21 100644 --- a/Source/PeleLMeX_Init.cpp +++ b/Source/PeleLMeX_Init.cpp @@ -187,7 +187,7 @@ PeleLM::initData() #ifdef PELELM_USE_SPRAY SprayInit(); #endif -#ifdef PELELM_USE_RAD +#ifdef PELELM_USE_RADIATION if (do_rad_solve) { RadInit(); } @@ -254,7 +254,7 @@ PeleLM::initData() #ifdef PELELM_USE_SPRAY SprayInit(); #endif -#ifdef PELELM_USE_RAD +#ifdef PELELM_USE_RADIATION if (do_rad_solve) { RadInit(); } diff --git a/Source/PeleLMeX_Plot.cpp b/Source/PeleLMeX_Plot.cpp index bbc8d661..f8e2cab8 100644 --- a/Source/PeleLMeX_Plot.cpp +++ b/Source/PeleLMeX_Plot.cpp @@ -17,8 +17,8 @@ #ifdef PELELM_USE_SOOT #include "SootModel.H" #endif -#ifdef PELELM_USE_RAD -#include "PeleLMRad.hpp" +#ifdef PELELM_USE_RADIATION +#include "PeleLMRad.H" #endif using namespace amrex; @@ -120,7 +120,7 @@ PeleLM::WritePlotFile() ncomp += 1; #endif -#ifdef PELELM_USE_RAD +#ifdef PELELM_USE_RADIATION if (do_rad_solve) ncomp += 3; #endif @@ -187,7 +187,7 @@ PeleLM::WritePlotFile() plt_VarsName.push_back(sootname); } #endif -#ifdef PELELM_USE_RAD +#ifdef PELELM_USE_RADIATION if (do_rad_solve) { plt_VarsName.push_back("rad.G"); plt_VarsName.push_back("rad.kappa"); @@ -300,7 +300,7 @@ PeleLM::WritePlotFile() 0); cnt += NUMSOOTVAR; #endif -#ifdef PELELM_USE_RAD +#ifdef PELELM_USE_RADIATION if (do_rad_solve) { MultiFab::Copy(mf_plt[lev], rad_model->G()[lev], 0, cnt, 1, 0); cnt += 1; diff --git a/Source/PeleLMeX_Rad.cpp b/Source/PeleLMeX_Radiation.cpp old mode 100755 new mode 100644 similarity index 99% rename from Source/PeleLMeX_Rad.cpp rename to Source/PeleLMeX_Radiation.cpp index 92524d6a..4aee7bf5 --- a/Source/PeleLMeX_Rad.cpp +++ b/Source/PeleLMeX_Radiation.cpp @@ -1,7 +1,6 @@ #include #include - -#include +#include void PeleLM::RadInit() diff --git a/Source/PeleLMeX_Setup.cpp b/Source/PeleLMeX_Setup.cpp index 2250a7b0..a326df9d 100644 --- a/Source/PeleLMeX_Setup.cpp +++ b/Source/PeleLMeX_Setup.cpp @@ -589,7 +589,7 @@ PeleLM::readParameters() } soot_model->readSootParams(); #endif -#ifdef PELELM_USE_RAD +#ifdef PELELM_USE_RADIATION do_rad_solve = false; pp.query("do_rad_solve", do_rad_solve); if (m_verbose && do_rad_solve) { diff --git a/Submodules/PelePhysics b/Submodules/PelePhysics index 22637b33..0b396f4b 160000 --- a/Submodules/PelePhysics +++ b/Submodules/PelePhysics @@ -1 +1 @@ -Subproject commit 22637b33515d5fe27593aa9517db5d232891b11b +Subproject commit 0b396f4b349d1f9ebdce75ca57915b1cd58bc430 diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 6c80b248..53a07236 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -38,7 +38,7 @@ macro(setup_test) # Set variables for respective binary and source directories for the test set(CURRENT_TEST_SOURCE_DIR ${CMAKE_SOURCE_DIR}/Exec/RegTests/${TEST_EXE_DIR}) set(CURRENT_TEST_BINARY_DIR ${CMAKE_BINARY_DIR}/Exec/RegTests/${TEST_EXE_DIR}/tests/${TEST_NAME}) - set(CURRENT_TEST_EXE ${CMAKE_BINARY_DIR}/Exec/RegTests/${TEST_EXE_DIR}/PeleLMeX-${TEST_EXE_DIR}) + set(CURRENT_TEST_EXE ${CMAKE_BINARY_DIR}/Exec/RegTests/${TEST_EXE_DIR}/${PROJECT_NAME}-${TEST_EXE_DIR}) # Gold files should be submodule organized by machine and compiler (these are output during configure) set(PLOT_GOLD ${GOLD_FILES_DIRECTORY}/${TEST_EXE_DIR}/tests/${TEST_NAME}/plt00010) # Test plot is currently expected to be after 10 steps @@ -56,7 +56,7 @@ macro(setup_test) file(COPY ${TEST_FILES} DESTINATION "${CURRENT_TEST_BINARY_DIR}/") # Set some default runtime options for all tests set(RUNTIME_OPTIONS "amr.plot_file=plt amr.plot_int=-1 amr.check_int=-1 amrex.the_arena_is_managed=0") - if(PELELMEX_ENABLE_FPE_TRAP_FOR_TESTS) + if(PELELMEX_ENABLE_FPE_TRAP_FOR_TESTS AND (NOT APPLE)) set(RUNTIME_OPTIONS "${RUNTIME_OPTIONS} amrex.signal_handling=1 amrex.fpe_trap_invalid=1 amrex.fpe_trap_zero=1 amrex.fpe_trap_overflow=1") else() set(RUNTIME_OPTIONS "${RUNTIME_OPTIONS} amrex.signal_handling=0") @@ -165,7 +165,7 @@ endfunction(add_test_v2) # Standard unit test function(add_test_u TEST_NAME) - set(CURRENT_TEST_EXE ${CMAKE_BINARY_DIR}/Exec/UnitTests/PeleLMeX-UnitTests) + set(CURRENT_TEST_EXE ${CMAKE_BINARY_DIR}/Exec/UnitTests/${PROJECT_NAME}-UnitTests) set(CURRENT_TEST_SOURCE_DIR ${CMAKE_SOURCE_DIR}/Exec/UnitTests/${TEST_EXE_DIR}) set(CURRENT_TEST_BINARY_DIR ${CMAKE_BINARY_DIR}/Exec/UnitTests/${TEST_EXE_DIR}) file(MAKE_DIRECTORY ${CURRENT_TEST_BINARY_DIR}) @@ -184,7 +184,7 @@ function(add_test_spray TEST_EXE_DIR) # Set variables for respective binary and source directories for the test set(CURRENT_TEST_SOURCE_DIR ${CMAKE_SOURCE_DIR}/Exec/RegTests/${TEST_EXE_DIR}) set(CURRENT_TEST_BINARY_DIR ${CMAKE_BINARY_DIR}/Exec/RegTests/${TEST_EXE_DIR}) - set(CURRENT_TEST_EXE ${CMAKE_BINARY_DIR}/Exec/RegTests/${TEST_EXE_DIR}/PeleLMeX-${TEST_EXE_DIR}) + set(CURRENT_TEST_EXE ${CMAKE_BINARY_DIR}/Exec/RegTests/${TEST_EXE_DIR}/${PROJECT_NAME}-${TEST_EXE_DIR}) if(PELELMEX_ENABLE_MPI) if(PELELMEX_ENABLE_CUDA) set(PELELMEX_NP 2) # 1 rank per GPU on Eagle @@ -197,7 +197,7 @@ function(add_test_spray TEST_EXE_DIR) unset(MPI_COMMANDS) endif() set(FCOMPARE ${CMAKE_BINARY_DIR}/Submodules/PelePhysics/Submodules/amrex/Tools/Plotfile/fcompare) - set(MULTIRUN_FLAGS "--test_dir ${CURRENT_TEST_BINARY_DIR} --run_cmd '${MPI_COMMANDS}' --pele_exec PeleLMeX-${TEST_EXE_DIR} --fcomp_exec ${FCOMPARE} --input_file ${TEST_NAME}.inp") + set(MULTIRUN_FLAGS "--test_dir ${CURRENT_TEST_BINARY_DIR} --run_cmd '${MPI_COMMANDS}' --pele_exec ${PROJECT_NAME}-${TEST_EXE_DIR} --fcomp_exec ${FCOMPARE} --input_file ${TEST_NAME}.inp") file(GLOB TEST_FILES "${CURRENT_TEST_SOURCE_DIR}/*.dat" "${CURRENT_TEST_SOURCE_DIR}/*.py") # Copy files to test working directory file(COPY ${CURRENT_TEST_SOURCE_DIR}/${TEST_NAME}.inp DESTINATION "${CURRENT_TEST_BINARY_DIR}/") @@ -210,13 +210,17 @@ endfunction(add_test_spray) #============================================================================= # Run in CI -add_test_r(flamesheet-drm19-${PELELMEX_DIM}d FlameSheet) -add_test_rv(covo-${PELELMEX_DIM}d PeriodicCases) -add_test_r(hotbubble-${PELELMEX_DIM}d HotBubble) -add_test_rv(enclosedflame-${PELELMEX_DIM}d EnclosedFlame) -if(PELELMEX_DIM EQUAL 3) - add_test_r(hit-${PELELMEX_DIM}d HITDecay) - add_test_r(hit-les-${PELELMEX_DIM}d HITDecay) -else() - add_test_r(tripleflame-${PELELMEX_DIM}d TripleFlame) +if(NOT PELELMEX_ENABLE_EB) + if(PELELMEX_ENABLE_RADIATION) + add_test_r(soot-rad-${PELELMEX_DIM}d SootRadTest) + endif() + add_test_r(flamesheet-drm19-${PELELMEX_DIM}d FlameSheet) + #add_test_r(tripleflame-${PELELMEX_DIM}d TripleFlame) + add_test_rv(covo-${PELELMEX_DIM}d PeriodicCases) + add_test_r(hotbubble-${PELELMEX_DIM}d HotBubble) + add_test_rv(enclosedflame-${PELELMEX_DIM}d EnclosedFlame) + if(PELELMEX_DIM EQUAL 3) + add_test_r(hit-${PELELMEX_DIM}d HITDecay) + add_test_r(hit-les-${PELELMEX_DIM}d HITDecay) + endif() endif()