Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
221 commits
Select commit Hold shift + click to select a range
8584e89
Update mfc python and cmake to support OpenMP
prathi-wind Jul 18, 2025
7521731
Fixed issue with not compiling on CPU builds
prathi-wind Jul 18, 2025
90c6738
Temporary commit
prathi-wind Jul 18, 2025
06a783e
OMP parallel and parallel loop
prathi-wind Jul 20, 2025
2abfad5
Removed pure markings
prathi-wind Jul 20, 2025
db1b8c5
Added routine and declare and partial data, non compiling
prathi-wind Jul 21, 2025
ed29d13
Some manual changes to codebase, and implemented attach
prathi-wind Jul 21, 2025
c1b41a6
Changed parallel loop to also include the end parallel
Jul 21, 2025
29e9404
Ran formatter
prathi-wind Jul 21, 2025
cec9867
Fixed some issues with matching start and end of parallel loop macros…
prathi-wind Jul 21, 2025
33eca5f
Moved macro code to their corresponding file, and finished enter data…
prathi-wind Jul 21, 2025
11822f5
remove line that sets default_val to empty string
prathi-wind Jul 22, 2025
314fa13
Fixed GPU_PARALLEL for omp and ran formatter
prathi-wind Jul 22, 2025
9d23036
Add syscheck of OpenMP, add omp support for GPU_HOST_DATA, ATOMIC, an…
prathi-wind Jul 22, 2025
de586ad
Update var name
prathi-wind Jul 23, 2025
84ddc01
Change how parallel loop is translated
prathi-wind Jul 23, 2025
7246e9b
Ran formatter
prathi-wind Jul 23, 2025
d5381aa
Remove extraneous build flags
prathi-wind Jul 23, 2025
dbcb6f3
Remove thermochem function calls
prathi-wind Jul 24, 2025
94222f4
Remove LTO add always to data allocation omp, switch delete to releas…
prathi-wind Jul 24, 2025
473d19d
Fixed parallel loop when no OpenMP or OpenACC
prathi-wind Jul 24, 2025
5703c19
Update how allocate macro works, update riemann solver, and parallel …
prathi-wind Jul 25, 2025
7021690
Passing most 1D cases
prathi-wind Jul 25, 2025
828d9d8
Fixed IGR 2D, readded parallel loop in cbc, undid changes in derived …
prathi-wind Jul 25, 2025
cb02511
Forgot to add something for IGR and add back parallel loop for data o…
prathi-wind Jul 25, 2025
69b5792
change binding + test suite works
Jul 28, 2025
a01f262
Added missing space
prathi-wind Jul 28, 2025
d7fbcab
Chemistry works with OpenACC and almost works with OpenMP
wilfonba Jul 29, 2025
b3c1ad1
Added a half-precision data type
Jul 29, 2025
0d550aa
Readd LTO to cmake
prathi-wind Jul 29, 2025
bac089d
Update toolchain to support swapping between OpenACC and OpenMP
prathi-wind Jul 29, 2025
555cf06
Add themochem build for CPU
prathi-wind Jul 29, 2025
16c9ce3
pyro updates
wilfonba Jul 29, 2025
6abe146
Added CMAKE defintion flags that should set the precision types
Jul 29, 2025
d7dfc0d
compiles and runs with OpenMP on CCE but fails all tests
wilfonba Jul 30, 2025
d52abd2
Add AMD compiler support, different macro expansions based on compiler
Jul 31, 2025
ddf8755
Passed with --mixed into python builder and changed some variables
danieljvickers Jul 31, 2025
04fa590
Everything up to post-processing works
danieljvickers Jul 31, 2025
cc8cd81
Remove autocompare as failing debug cases, fix COMPILER_ID bug
prathi-wind Jul 31, 2025
f834b9a
Intermediate commit with print statements
danieljvickers Aug 1, 2025
2358d29
Add scripts for santis/alps, example case, and captures for UVM comms…
ntselepidis Aug 1, 2025
347fe84
I am dumb. Nothing to see here. Carry on.
danieljvickers Aug 1, 2025
37d393b
Add PREFER_GPU and rearrange update for out-of-core computation
ntselepidis Aug 1, 2025
693c7f4
Allow keeping q_cons_ts(2) on CPU using pinned allocations
ntselepidis Aug 1, 2025
7054b7b
Modify PREFER_GPU macro
ntselepidis Aug 1, 2025
dcd616a
Updated CMAKE to actually take half precision flag
danieljvickers Aug 1, 2025
e28423a
made nonparameterized molecular_weights to compile few AMD kernels, m…
Aug 1, 2025
616a37d
Fixed one error and defined how to convert. Moving work from wingtip
danieljvickers Aug 1, 2025
ee1277d
Allow control in placement of IGR temps
ntselepidis Aug 1, 2025
aaa0ddf
Test suite passes fully on Phoenix (NVHPC + OPENMP), Fixes failing ch…
Aug 1, 2025
389e537
Make --gpu default to OpenACC if no extra arg given
prathi-wind Aug 2, 2025
4065c02
Do some clean up
ntselepidis Aug 2, 2025
a64686a
I did not intend to commit the temp file
danieljvickers Aug 2, 2025
de78aee
Made it 11% through pre_process
danieljvickers Aug 2, 2025
d9eb6e0
Made it through 86% of pre_process
danieljvickers Aug 2, 2025
78d9490
Made it through 66% of simulation
danieljvickers Aug 2, 2025
4ade300
Made it through even more of simulation
danieljvickers Aug 3, 2025
2feca3b
Made it through the time stepper compiling
danieljvickers Aug 3, 2025
fdfa9f0
Fixed rhs calculations.
danieljvickers Aug 3, 2025
cfb792c
ENV Vars to case file options and code structure changes
Aug 3, 2025
9333105
It compiles!
danieljvickers Aug 3, 2025
7499855
Runs but gives errors
danieljvickers Aug 3, 2025
7d8f438
Calling it for the night. I get NaNs in the answer using --mixed, but…
danieljvickers Aug 3, 2025
cacc6b0
Fix some comments
ntselepidis Aug 3, 2025
884a4d9
Merge remote-tracking branch 'upstream/master' into nvidia
wilfonba Aug 3, 2025
b3fdbff
test merge and add nv_uvm_out_of_core back
wilfonba Aug 3, 2025
f8f4e78
Added some debug statements that will fail if it ever encounters divi…
danieljvickers Aug 4, 2025
4914dac
Made it further and was able to remove scaler field intiial NaNs
danieljvickers Aug 4, 2025
0f7ed78
Cleaned up prints
danieljvickers Aug 4, 2025
dd42279
Merge remote-tracking branch 'upstream/master' into add-half-precision
wilfonba Aug 4, 2025
e090dbd
Working and removed print statements
danieljvickers Aug 4, 2025
da3a3ed
Merge branch 'add-half-precision' of github.com:danieljvickers/MFC-Da…
wilfonba Aug 4, 2025
590b849
CCE + OpenMP works on all IGR cases + a subset of 1D/2D cases
Aug 4, 2025
84e9690
Merge branch 'openmp_rebased' of https://github.com/prathi-wind/MFC-p…
Aug 4, 2025
0702c3c
Hypoelasticity works
Aug 4, 2025
fb8b555
fix prim_vars_wrt serial I/O
wilfonba Aug 4, 2025
7a88e66
IBM works
Aug 4, 2025
31d490c
merge upstream
wilfonba Aug 5, 2025
436ba6e
Merge branch 'openmp_rebased' of github.com:prathi-wind/MFC-prathi in…
wilfonba Aug 5, 2025
7b72322
resolving mc
Aug 5, 2025
012a24f
merge
wilfonba Aug 5, 2025
5b627b3
CMake fix
wilfonba Aug 5, 2025
8ee4098
stopping for the night. MPI not working with n=2
danieljvickers Aug 5, 2025
8af5489
merge
wilfonba Aug 5, 2025
558cc3c
move dt to m_igr and m_rhs
wilfonba Aug 5, 2025
9128d07
Merge branch 'openmp_rebased' of https://github.com/prathi-wind/MFC-p…
Aug 5, 2025
d5c84ea
Rename muscl
anandrdbz Aug 5, 2025
51d7e90
Fix some allocs and deallocs in timesteppers
ntselepidis Aug 5, 2025
c553b78
Fix nv_uvm_out_of_core inconsistency and add to case file
ntselepidis Aug 5, 2025
7277eb8
Comment out detach
Aug 5, 2025
f3b3851
Fix bug in 2nd order TVD RK introduced by merge
ntselepidis Aug 5, 2025
71b5976
Fix some comments
ntselepidis Aug 5, 2025
b3008d4
fix chemistry tests
wilfonba Aug 5, 2025
c8f1103
Remove private duplicates
Aug 6, 2025
51fa088
fix compile bug in global_param
Aug 6, 2025
6c682bd
CCE + openMP + Case-OPT compiles
Aug 6, 2025
a4d6b38
Add note on binding script requirement for PREFER_GPU macro
ntselepidis Aug 6, 2025
fbe9120
merge but bubbles fail
wilfonba Aug 6, 2025
03f1e42
Add back FFTW
Aug 6, 2025
466c887
asdf
wilfonba Aug 6, 2025
fffb6f6
add alps support
Aug 7, 2025
d5c1701
compiles with mixed precision with NVHPC but gives NaNs, single preci…
wilfonba Aug 7, 2025
6f60d32
add changes that make bubbles pass the test suite
wilfonba Aug 7, 2025
acb2405
Flip nv_uvm_pref_gpu default to false
ntselepidis Aug 7, 2025
8fef22d
Be explicit with unified memory compilation to stay robust in changes…
ntselepidis Aug 7, 2025
7f9aef2
progress towards MPI IO
wilfonba Aug 7, 2025
eea5b56
Parallel I/O fix, works with mixed and single
anandrdbz Aug 8, 2025
3596e85
LLVM + OpenMP works without USM (HSA_XNACK off), Case-OPT compile tim…
Aug 8, 2025
6bfedad
remove print statements
wilfonba Aug 8, 2025
e663a4d
more IO changes
wilfonba Aug 8, 2025
f9b7bc0
Case-OPT works with USM and non-USM
Aug 8, 2025
5e369c3
Add some changes to future proof the unified memory build
ntselepidis Aug 11, 2025
52c5608
Comment out calls to cudaGetErrorString
ntselepidis Aug 11, 2025
801ccef
Compile 2D cases with case-opt
Aug 11, 2025
0fcc08d
Compile 2D cases with case-opt
Aug 11, 2025
4ec8617
prepare for merge
wilfonba Aug 11, 2025
bd0adee
Merge remote-tracking branch 'upstream/master' into nvidia
wilfonba Aug 11, 2025
37b1768
update capture
wilfonba Aug 11, 2025
e02e9f6
add fastmath flag and bug fix
wilfonba Aug 11, 2025
fdfa831
AMD compiler + OpenMP works with and without case-opt, USM and UVM (a…
Aug 11, 2025
80bc33a
Merge in half precision
Aug 11, 2025
314fe05
Merge remote-tracking branch 'origin/openmp_rebased' into openmp_amd_…
Aug 11, 2025
ab6fe37
HP fixes
Aug 11, 2025
e2be34b
BC TYPE bug fix
Aug 11, 2025
08b8431
Make pb_in and mv_in in s_interpolate_image_point intent in
Aug 12, 2025
2cd1383
Half precision + MPI-IO for BCs
Aug 12, 2025
29f16c2
Merge branch 'openmp_amd_half_precision' of https://github.com/prathi…
Aug 12, 2025
58802b8
Remove print
Aug 12, 2025
a6ff639
Fix typo in CMakeLists
ntselepidis Aug 12, 2025
79f68ea
Final HP fixes
Aug 12, 2025
60b361b
Remove cudadevice
Aug 12, 2025
16ed391
Merge pull request #1 from prathi-wind/openmp_amd_half_precision
anandrdbz Aug 12, 2025
457ae60
Replace host_pool with host in m_igr
ntselepidis Aug 12, 2025
a6116f2
Set cpus-per-task to 72 and update binding script
ntselepidis Aug 12, 2025
fb50e90
Add some more updates to the helper scripts
ntselepidis Aug 12, 2025
9459901
merge
wilfonba Aug 12, 2025
59a8fcf
Fixing macros bug for cce
Aug 12, 2025
12778a3
fix alps template helper function
wilfonba Aug 12, 2025
910c4f8
Fix MPI issue
Aug 13, 2025
8454149
Merge branch 'openmp_rebased' of github.com:prathi-wind/MFC-prathi in…
wilfonba Aug 13, 2025
f91e6ed
Add 1 Jet case for weak scaling with mixed precision
Aug 13, 2025
e9d6bd7
Declare missing variables
Aug 13, 2025
4219e01
Disable mpp_lim
Aug 13, 2025
cbbf7f9
Change number of iterations
Aug 13, 2025
9ef2165
Add file_per_process and option to down_sample
Aug 13, 2025
e9e827e
Change Jacobi to GS
Aug 13, 2025
655c263
NV UVM Mixed cleanup
wilfonba Aug 14, 2025
ea58187
UVM with AMD compilers (with USM) works in single and mixed, but rea…
Aug 15, 2025
62382bc
Disable GPU Aware MPI on frontier for now
Aug 15, 2025
672cc78
Ran 1386^3 on a single node with mixed precision with UVM and without…
Aug 15, 2025
9d66c9a
Changing kind=2 to kind=1 for patch_ID
Aug 15, 2025
c7f6313
Fix Down-Sampling with UVM on AMD compilers
Aug 15, 2025
060e9d1
Add copyin for idwbuff
Aug 15, 2025
7cb0f9e
Cleanup
Aug 17, 2025
19b7671
Further Cleanup
Aug 17, 2025
42349df
Setup Case for 200T
Aug 17, 2025
f0be342
Deallocate after pre_process
Aug 17, 2025
d290396
Change bc_type and ib_markers to kind1
Aug 17, 2025
e457e04
Change bc_x
Aug 17, 2025
dfdd901
Use parameter arrays with OpenACC
Aug 17, 2025
b6edcf9
add simplex nosie
wilfonba Aug 18, 2025
6ca1db4
CCE build fixes
wilfonba Aug 18, 2025
3ec56b2
Revert to default frontier.mako and add mnt changes
Aug 18, 2025
1bff304
Merge branch 'openmp_rebased' of https://github.com/prathi-wind/MFC-p…
Aug 18, 2025
678777e
Ensure bc_type does not overflow
Aug 19, 2025
34a080e
Update m_boundary_common.fpp
anandrdbz Aug 19, 2025
0a080c2
Change loop bounds to kind=8
Aug 20, 2025
59d11bc
Change to kind8
Aug 20, 2025
6fcdf2b
Revert halo_size
Aug 20, 2025
23bbea6
Merge branch 'openmp_rebased' into openmp_cce
Nov 4, 2025
e84464d
Merge branch 'openmp_rebased' into openmp_cce
Nov 6, 2025
416f021
IGR tests pass (CPUs)
Nov 6, 2025
767fb94
520/529 cases pass
Nov 6, 2025
9d2f746
change down_sample
Nov 6, 2025
56e1269
bug fix
Nov 6, 2025
be6fced
All but one case pass on CPUs
Nov 6, 2025
9baca98
All test cases pass on CPUs
Nov 6, 2025
42806e3
All test cases pass with parallel_io=T
Nov 6, 2025
70ec48e
fix the breaking change
Nov 7, 2025
d4dc3b3
Add additional test
Nov 7, 2025
b6022a8
Merge branch 'openmp_cce' of https://github.com/prathi-wind/MFC-prath…
Nov 7, 2025
68033a1
fix ts1 and all tests pass on frontier
Nov 7, 2025
08a9024
OpenMP compile bug
Nov 7, 2025
b0697c5
1D cases pass on CCE + OpenMP (except adap_dt and chemistry)
Nov 9, 2025
8a84e1b
Probe WRT and adap_dt fixed
Nov 9, 2025
b983483
1D/2D cases pass
Nov 10, 2025
622c06c
Passing most 3D cases
Nov 10, 2025
b9db549
replace comments with appropriate ifdefs
Nov 10, 2025
d759c6f
fix ifdef
Nov 10, 2025
8d40011
fix ifdef
Nov 10, 2025
c4d2603
fix macros
Nov 10, 2025
5a97a92
line length cleanup
anandrdbz Nov 10, 2025
cab026e
Fixed Cylindrical on OpenMP Frontier
Nov 10, 2025
e9a5a93
Added OMP Frontier CI
Nov 10, 2025
6d9b0fb
Merge remote-tracking branch 'upstream/master' into openmp_cce
Nov 10, 2025
f5b64a0
Ran formatter
Nov 10, 2025
5f73950
Ran formatter
Nov 10, 2025
5ab057b
Case Opt Works
Nov 10, 2025
409c367
Ran spellcheck
Nov 10, 2025
5e70305
Fixed lint issues on toolchain
Nov 10, 2025
1ebb536
Remove extra print
Nov 10, 2025
cacc5d5
remove duplicates in private
Nov 10, 2025
268808e
IGR tests pass with AMD compiler
Nov 10, 2025
216261f
fix format
Nov 10, 2025
84f85a5
fix bug in CBC + OpenMP
anandrdbz Nov 11, 2025
530638a
fix bounds in post_process
Nov 11, 2025
e1d9044
Increase bench time
Nov 12, 2025
a774051
fix post_process benchmark
Nov 12, 2025
87fae79
fix benchmarking on frontier
Nov 12, 2025
771797b
fix benchmarking on frontier
Nov 12, 2025
f1afee3
example case fix ups
wilfonba Nov 13, 2025
e08bcae
CMakeLists.txt fix
wilfonba Nov 13, 2025
b2ad78a
Addressing more PR comments
wilfonba Nov 13, 2025
88cbac0
fix boundary condition patches and simplex noise
wilfonba Nov 13, 2025
7ae0a65
more bug fixes
wilfonba Nov 13, 2025
78ff9c6
Merge remote-tracking branch 'upstream/master' into openmp_cce
wilfonba Nov 13, 2025
4f2f579
format
wilfonba Nov 13, 2025
56097f8
fix IB markers seg fault
wilfonba Nov 13, 2025
8a66941
Fix for benchmarking on frontier
Nov 13, 2025
f5ac529
fix to make benchmark work on frontier
Nov 14, 2025
5fa68fa
format
Nov 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/workflows/bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,14 @@ jobs:
device: gpu
interface: acc
build_script: "bash .github/workflows/frontier/build.sh gpu acc bench"
- cluster: frontier
name: Oak Ridge | Frontier (CCE)
group: phoenix
labels: frontier
flag: f
device: gpu
interface: omp
build_script: "bash .github/workflows/frontier/build.sh gpu omp bench"
runs-on:
group: ${{ matrix.group }}
labels: ${{ matrix.labels }}
Expand Down
4 changes: 0 additions & 4 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,10 +111,6 @@ jobs:
- device: 'cpu'
interface: 'none'
lbl: 'frontier'
exclude:
- device: 'gpu'
interface: 'omp'
lbl: 'frontier'
runs-on:
group: phoenix
labels: ${{ matrix.lbl }}
Expand Down
23 changes: 17 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ option(MFC_SYSCHECK "Build syscheck" OFF
option(MFC_DOCUMENTATION "Build documentation" OFF)
option(MFC_ALL "Build everything" OFF)
option(MFC_SINGLE_PRECISION "Build single precision" OFF)
option(MFC_MIXED_PRECISION "Build mixed precision" OFF)

if (MFC_ALL)
set(MFC_PRE_PROCESS ON FORCE)
Expand All @@ -43,6 +44,10 @@ else()
add_compile_definitions(MFC_DOUBLE_PRECISION)
endif()

if (MFC_MIXED_PRECISION)
add_compile_definitions(MFC_MIXED_PRECISION)
endif()


# CMake Library Imports

Expand Down Expand Up @@ -196,7 +201,7 @@ elseif ((CMAKE_Fortran_COMPILER_ID STREQUAL "NVHPC") OR (CMAKE_Fortran_COMPILER_
add_compile_options(
$<$<COMPILE_LANGUAGE:Fortran>:-Mfreeform>
$<$<COMPILE_LANGUAGE:Fortran>:-cpp>
$<$<COMPILE_LANGUAGE:Fortran>:-Minfo=inline>
$<$<COMPILE_LANGUAGE:Fortran>:-Minfo=inline>
$<$<COMPILE_LANGUAGE:Fortran>:-Minfo=accel>
)

Expand Down Expand Up @@ -474,10 +479,10 @@ function(MFC_SETUP_TARGET)
endif()
endif()

if (ARGS_LAPACK)
find_package(LAPACK REQUIRED)
target_link_libraries(${a_target} PRIVATE LAPACK::LAPACK)
endif()
if (ARGS_LAPACK)
find_package(LAPACK REQUIRED)
target_link_libraries(${a_target} PRIVATE LAPACK::LAPACK)
endif()

if ((MFC_OpenACC AND ARGS_OpenACC) OR (MFC_OpenMP AND ARGS_OpenMP))
if ((MFC_OpenACC AND ARGS_OpenACC))
Expand Down Expand Up @@ -573,7 +578,13 @@ function(MFC_SETUP_TARGET)
find_package(hipfort COMPONENTS hip CONFIG REQUIRED)
target_link_libraries(${a_target} PRIVATE hipfort::hip hipfort::hipfort-amdgcn)
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL "LLVMFlang")
find_package(hipfort COMPONENTS hip CONFIG REQUIRED)

if (MFC_Unified)
target_compile_options(${ARGS_TARGET}
PRIVATE -DFRONTIER_UNIFIED)
endif()

find_package(hipfort COMPONENTS hip CONFIG REQUIRED)
target_link_libraries(${a_target} PRIVATE hipfort::hip hipfort::hipfort-amdgcn flang_rt.hostdevice)
endif()
elseif (CMAKE_Fortran_COMPILER_ID STREQUAL "Cray")
Expand Down
118 changes: 118 additions & 0 deletions examples/3D_IGR_33jet/case.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
#!/usr/bin/env python3
import math
import json

# Domain parameters
D = 2.5 # Jet diameter
Nd = 711 # Cells per jet diameter

x0 = 0 # x_beg coordinate
x1 = 19 * D # x_end coordinate
y0 = -22 * D / 2 # y_beg coordinate
y1 = 22 * D / 2 # y_end coordinate
z0 = -22 * D / 2 # y_beg coordinate
z1 = 22 * D / 2 # y_end coordinate
Nx = int(Nd * (x1 - x0) / D) - 1
Ny = int(Nd * (y1 - y0) / D) - 1
Nz = int(Nd * (z1 - z0) / D) - 1

time_end = 5
igrIters = 5

dx = D / Nd
dt = dx / 36

Nt = int(time_end / dt)

# Configuring case dictionary
print(
json.dumps(
{
# Logistics
"run_time_info": "T",
# Computational Domain Parameters
"x_domain%beg": x0,
"x_domain%end": x1,
"y_domain%beg": y0,
"y_domain%end": y1,
"z_domain%beg": z0,
"z_domain%end": z1,
"m": int(Nx),
"n": int(Ny),
"p": int(Nz),
"dt": dt,
"t_step_start": 0,
"t_step_stop": 10, # Nt,
"t_step_save": 10, # int(Nt/50),
# Simulation Algorithm Parameters
"num_patches": 1,
"num_bc_patches": 0,
"model_eqns": 2,
"alt_soundspeed": "F",
"num_fluids": 1,
"mpp_lim": "F",
"time_stepper": 3,
"igr": "T",
"igr_order": 3,
"igr_pres_lim": "T",
"igr_iter_solver": 1,
"num_igr_iters": igrIters,
"num_igr_warm_start_iters": 10 * igrIters,
"alf_factor": 10,
"bc_x%beg": -17,
"bc_x%end": -3,
"bc_y%beg": -3,
"bc_y%end": -3,
"bc_z%beg": -3,
"bc_z%end": -3,
# Formatted Database Files Structure Parameters
"format": 1,
"precision": 1,
"prim_vars_wrt": "T",
"file_per_process": "T",
"parallel_io": "T",
"down_sample": "T",
# Patch
"patch_icpp(1)%geometry": 9,
"patch_icpp(1)%x_centroid": (x1 + x0) / 2,
"patch_icpp(1)%y_centroid": (y1 + y0) / 2,
"patch_icpp(1)%z_centroid": (z1 + z0) / 2,
"patch_icpp(1)%length_x": 2 * (x1 - x0),
"patch_icpp(1)%length_y": 2 * (y1 - y0),
"patch_icpp(1)%length_z": 2 * (z1 - z0),
"patch_icpp(1)%hcid": 303,
"patch_icpp(1)%vel(1)": 0.0e00,
"patch_icpp(1)%vel(2)": 0.0e00,
"patch_icpp(1)%vel(3)": 0.0e00,
"patch_icpp(1)%pres": 1.0e00,
"patch_icpp(1)%alpha_rho(1)": 1.0,
"patch_icpp(1)%alpha(1)": 1.0,
# Perturbation of velocity field
"simplex_perturb": "T",
"simplex_params%perturb_vel(1)": "T",
"simplex_params%perturb_vel_freq(1)": 3,
"simplex_params%perturb_vel_scale(1)": 0.02,
"simplex_params%perturb_vel_offset(1,1)": 12.3,
"simplex_params%perturb_vel_offset(1,2)": -11.3,
"simplex_params%perturb_vel_offset(1,3)": 34.6,
"simplex_params%perturb_vel(2)": "T",
"simplex_params%perturb_vel_freq(2)": 2,
"simplex_params%perturb_vel_scale(2)": 0.02,
"simplex_params%perturb_vel_offset(2,1)": -70.3,
"simplex_params%perturb_vel_offset(2,2)": 33.4,
"simplex_params%perturb_vel_offset(2,3)": -34.6,
"simplex_params%perturb_vel(3)": "T",
"simplex_params%perturb_vel_freq(3)": 2,
"simplex_params%perturb_vel_scale(3)": 0.02,
"simplex_params%perturb_vel_offset(3,1)": 123.3,
"simplex_params%perturb_vel_offset(3,2)": -654.3,
"simplex_params%perturb_vel_offset(3,3)": -64.5,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (1.4e00 - 1.0e00),
"fluid_pp(1)%pi_inf": 0.0,
"viscous": "T",
"fluid_pp(1)%Re(1)": 5e5,
},
indent=4,
)
)
33 changes: 33 additions & 0 deletions examples/3D_IGR_33jet/jets.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
3.000000,0.000000,0.001
-1.500000,2.598076,0.001
-1.500000,-2.598076,0.001
9.000000,0.000000,0.001
7.281153,5.290067,0.001
2.781153,8.559509,0.001
-2.781153,8.559509,0.001
-7.281153,5.290067,0.001
-9.000000,0.000000,0.001
-7.281153,-5.290067,0.001
-2.781153,-8.559509,0.001
2.781153,-8.559509,0.001
7.281153,-5.290067,0.001
15.000000,0.000000,0.001
14.265848,4.635255,0.001
12.135255,8.816779,0.001
8.816779,12.135255,0.001
4.635255,14.265848,0.001
0.000000,15.000000,0.001
-4.635255,14.265848,0.001
-8.816779,12.135255,0.001
-12.135255,8.816779,0.001
-14.265848,4.635255,0.001
-15.000000,0.000000,0.001
-14.265848,-4.635255,0.001
-12.135255,-8.816779,0.001
-8.816779,-12.135255,0.001
-4.635255,-14.265848,0.001
-0.000000,-15.000000,0.001
4.635255,-14.265848,0.001
8.816779,-12.135255,0.001
12.135255,-8.816779,0.001
14.265848,-4.635255,0.001
1 change: 1 addition & 0 deletions examples/3D_IGR_33jet/njet.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
33
100 changes: 100 additions & 0 deletions examples/3D_IGR_jet_1fluid/case.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
#!/usr/bin/env python3
import json

# Domain parameters
alfFactor = 10
igrIters = 3

NPx = 2
NPy = 2
NPz = 2

x0 = 0
x1 = 2 * NPx
y0 = -1.0 * NPy
y1 = 1.0 * NPy
z0 = -1.0 * NPz
z1 = 1.0 * NPz

N = 1383

Nx = N * NPx - 1
Ny = N * NPy - 1
Nz = N * NPz - 1

dx = (x1 - x0) / Nx
dt = dx / 20000

# Configuring case dictionary
print(
json.dumps(
{
# Logistics
"run_time_info": "F",
# Computational Domain Parameters
"x_domain%beg": x0,
"x_domain%end": x1,
"y_domain%beg": y0,
"y_domain%end": y1,
"z_domain%beg": z0,
"z_domain%end": z1,
"m": int(Nx),
"n": int(Ny),
"p": int(Nz),
"dt": dt,
"t_step_start": 0,
"t_step_stop": 10, # Nt,
"t_step_save": 10, # int(Nt / 20),
# Simulation Algorithm Parameters
"num_patches": 1,
"num_bc_patches": 0,
"model_eqns": 2,
"alt_soundspeed": "F",
"num_fluids": 1,
"mpp_lim": "F",
"time_stepper": 3,
"igr": "T",
"igr_order": 5,
"igr_pres_lim": "T",
"igr_iter_solver": 1,
"num_igr_iters": igrIters,
"num_igr_warm_start_iters": igrIters,
"alf_factor": 10,
"bc_x%beg": -17,
"bc_x%end": -3,
"bc_y%beg": -3,
"bc_y%end": -3,
"bc_z%beg": -3,
"bc_z%end": -3,
# Formatted Database Files Structure Parameters
"format": 1,
"precision": 2,
"prim_vars_wrt": "T",
"c_wrt": "F",
"parallel_io": "T",
"file_per_process": "T",
"down_sample": "F",
# Background
"patch_icpp(1)%geometry": 9,
"patch_icpp(1)%x_centroid": (x1 + x0) / 2,
"patch_icpp(1)%y_centroid": (y1 + y0) / 2,
"patch_icpp(1)%z_centroid": (z1 + z0) / 2,
"patch_icpp(1)%length_x": (x1 - x0),
"patch_icpp(1)%length_y": (y1 - y0),
"patch_icpp(1)%length_z": (z1 - z0),
"patch_icpp(1)%hcid": 302,
"patch_icpp(1)%vel(1)": 1.0,
"patch_icpp(1)%vel(2)": 0.0e00,
"patch_icpp(1)%vel(3)": 0.0e00,
"patch_icpp(1)%pres": 1.0,
"patch_icpp(1)%alpha_rho(1)": 1.0e00,
"patch_icpp(1)%alpha(1)": 1.0e00,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (1.4e00 - 1.0e00),
"fluid_pp(1)%pi_inf": 0.0,
"viscous": "T",
"fluid_pp(1)%Re(1)": 5e4,
},
indent=4,
)
)
7 changes: 7 additions & 0 deletions load_amd.sh
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file needs to be deleted, moved to misc/, or incorporated into the toolchain somehow. This PR doesn't add AMD compilers anyway, so my suggestion would be deleted for now.

Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
module use /ccs/home/bcornille/afar-drops/modulefiles/Core/
module load rocm-afar-drop mpich cray-python
module load cmake
#export OMPX_APU_MAPS=0
#export HSA_XNACK=0
#export LIBOMPTARGET_INFO=0
#export AMD_LOG_LEVEL=1
Loading
Loading