Skip to content

Commit

Permalink
asdf
Browse files Browse the repository at this point in the history
  • Loading branch information
wilfonba committed Feb 17, 2025
1 parent 1d0c2d5 commit 9983669
Show file tree
Hide file tree
Showing 7 changed files with 1,528 additions and 40 deletions.
1,457 changes: 1,457 additions & 0 deletions ]

Large diffs are not rendered by default.

7 changes: 4 additions & 3 deletions examples/2D_igr_2fluid/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@
"t_step_start": 0,
"t_step_stop": 5000,
"t_step_save": 50,
# "t_step_stop": 1,
# "t_step_save": 1,
# Simulation Algorithm
"model_eqns": 2,
"alt_soundspeed": "F",
Expand All @@ -61,6 +63,8 @@
"num_patches": 2,
"num_fluids": 2,
"igr": "T",
"elliptic_smoothing": "T",
"elliptic_smoothing_iters": 10,
"alf_factor": 10,
"viscous": "T",
# Database Structure Parameters
Expand Down Expand Up @@ -91,9 +95,6 @@
"patch_icpp(1)%alpha(2)": eps,
# High pressure
"patch_icpp(2)%alter_patch(1)": "T",
"patch_icpp(2)%smoothen": "T",
"patch_icpp(2)%smooth_patch_id": 1,
"patch_icpp(2)%smooth_coeff": 0.5,
"patch_icpp(2)%geometry": 2,
"patch_icpp(2)%x_centroid": 0,
"patch_icpp(2)%y_centroid": 0,
Expand Down
13 changes: 6 additions & 7 deletions examples/2D_igr_advection/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
"model_eqns": 2,
"alt_soundspeed": "F",
"mixture_err": "T",
"mpp_lim": "F",
"mpp_lim": "T",
"time_stepper": 3,
"weno_order": 5,
"avg_state": 2,
Expand All @@ -68,6 +68,8 @@
"num_fluids": 2,
"igr": "T",
"alf_factor": 10,
"elliptic_smoothing": "T",
"elliptic_smoothing_iters": 10,
# Database Structure Parameters
"format": 1,
"precision": 2,
Expand All @@ -89,7 +91,7 @@
"patch_icpp(1)%length_x": 2,
"patch_icpp(1)%length_y": 2,
"patch_icpp(1)%length_z": 2,
"patch_icpp(1)%vel(1)": 100.0,
"patch_icpp(1)%vel(1)": 00.0,
"patch_icpp(1)%vel(2)": 100.0,
"patch_icpp(1)%vel(3)": 0.0,
"patch_icpp(1)%pres": 101325,
Expand All @@ -100,14 +102,11 @@

"patch_icpp(2)%geometry": 2,
"patch_icpp(2)%alter_patch(1)": "T",
"patch_icpp(2)%smoothen": "T",
"patch_icpp(2)%smooth_patch_id": 1,
"patch_icpp(2)%smooth_coeff": 0.5,
"patch_icpp(2)%x_centroid": -0.5,
"patch_icpp(2)%x_centroid": 0,
"patch_icpp(2)%y_centroid": -0.5,
"patch_icpp(2)%z_centroid": 0,
"patch_icpp(2)%radius": r0,
"patch_icpp(2)%vel(1)": 100.0,
"patch_icpp(2)%vel(1)": 00.0,
"patch_icpp(2)%vel(2)": 100.0,
"patch_icpp(2)%vel(3)": 0.0,
"patch_icpp(2)%pres": 101325,
Expand Down
42 changes: 23 additions & 19 deletions examples/2D_shockbubble_igr/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,18 @@
vel = 230.0

leng = 1.0
Ny = 200.0
Ny = 400.00
Nx = Ny * 3
dx = leng / Nx

time_end = 5 * leng / vel
cfl = 0.1
time_end = 1.5 * leng / vel
cfl = 0.25

dt = cfl * dx / c_l
Nt = int(time_end / dt)

eps = 1e-2

# Configuring case dictionary
print(
json.dumps(
Expand All @@ -36,15 +38,17 @@
"dt": dt,
"t_step_start": 0,
"t_step_stop": Nt,
"t_step_save": int(Nt / 20.0),
"t_step_save": int(Nt / 100.0),
# "t_step_stop": 10,
# "t_step_save": 1,#int(Nt / 20.0),
# Simulation Algorithm Parameters
"num_patches": 3,
"model_eqns": 2,
"alt_soundspeed": "F",
"num_fluids": 2,
"mpp_lim": "T",
"mixture_err": "T",
"time_stepper": 3,
"time_stepper": 1,
"weno_order": 5,
"weno_eps": 1.0e-16,
"weno_Re_flux": "F",
Expand All @@ -58,7 +62,7 @@
"igr": "T",
"alf_igr": 10,
"elliptic_smoothing": "T",
"elliptic_smoothing_iters": 10,
"elliptic_smoothing_iters": 25,
"bc_x%beg": -3,
"bc_x%end": -3,
"bc_y%beg": -3,
Expand All @@ -77,24 +81,24 @@
"patch_icpp(1)%vel(1)": vel,
"patch_icpp(1)%vel(2)": 0.0e00,
"patch_icpp(1)%pres": 101325.0,
"patch_icpp(1)%alpha_rho(1)": 1.29,
"patch_icpp(1)%alpha_rho(2)": 0.0e00,
"patch_icpp(1)%alpha(1)": 1.0e00,
"patch_icpp(1)%alpha(2)": 0.0e00,
"patch_icpp(1)%alpha_rho(1)": (1 - eps)*1.29,
"patch_icpp(1)%alpha_rho(2)": eps,
"patch_icpp(1)%alpha(1)": 1.0 - eps,
"patch_icpp(1)%alpha(2)": eps,
# Patch 2: Shocked state
"patch_icpp(2)%geometry": 3,
"patch_icpp(2)%alter_patch(1)": "T",
"patch_icpp(2)%x_centroid": -3 * leng / 8.0,
"patch_icpp(2)%y_centroid": 0.0,
"patch_icpp(2)%length_x": leng / 4.0,
"patch_icpp(2)%length_y": leng,
"patch_icpp(2)%vel(1)": vel,
"patch_icpp(2)%vel(1)": 0.0,
"patch_icpp(2)%vel(2)": 0.0e00,
"patch_icpp(2)%pres": ps,
"patch_icpp(2)%alpha_rho(1)": 2.4,
"patch_icpp(2)%alpha_rho(2)": 0.0e00,
"patch_icpp(2)%alpha(1)": 1.0e00,
"patch_icpp(2)%alpha(2)": 0.0e00,
"patch_icpp(2)%alpha_rho(1)": (1 - eps)*2.4,
"patch_icpp(2)%alpha_rho(2)": eps,
"patch_icpp(2)%alpha(1)": 1.0 - eps,
"patch_icpp(2)%alpha(2)": eps,
# Patch 3: Bubble
"patch_icpp(3)%geometry": 2,
"patch_icpp(3)%x_centroid": 0.0e00,
Expand All @@ -104,10 +108,10 @@
"patch_icpp(3)%vel(1)": 0.0,
"patch_icpp(3)%vel(2)": 0.0e00,
"patch_icpp(3)%pres": 101325.0,
"patch_icpp(3)%alpha_rho(1)": 0.0e00,
"patch_icpp(3)%alpha_rho(2)": 0.167,
"patch_icpp(3)%alpha(1)": 0.0e00,
"patch_icpp(3)%alpha(2)": 1.0e00,
"patch_icpp(3)%alpha_rho(1)": eps,
"patch_icpp(3)%alpha_rho(2)": (1.00 - eps)*0.167,
"patch_icpp(3)%alpha(1)": eps,
"patch_icpp(3)%alpha(2)": 1.0 - eps,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (1.4e00 - 1.0e00),
"fluid_pp(1)%pi_inf": 0.0,
Expand Down
9 changes: 4 additions & 5 deletions examples/3D_igr_2fluid/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@
"num_fluids": 2,
"igr": "T",
"alf_factor": 10,
"elliptic_smoothing": "T",
"elliptic_smoothing_iters": 40,
"viscous": "T",
# Database Structure Parameters
"format": 1,
Expand Down Expand Up @@ -100,9 +102,6 @@
"patch_icpp(1)%alpha(2)": eps,
# High pressure
"patch_icpp(2)%alter_patch(1)": "T",
"patch_icpp(2)%smoothen": "T",
"patch_icpp(2)%smooth_patch_id": 1,
"patch_icpp(2)%smooth_coeff": 0.25,
"patch_icpp(2)%geometry": 8,
"patch_icpp(2)%x_centroid": 0,
"patch_icpp(2)%y_centroid": 0,
Expand All @@ -111,10 +110,10 @@
"patch_icpp(2)%vel(1)": 0.0,
"patch_icpp(2)%vel(2)": 0.0,
"patch_icpp(2)%vel(3)": 0.0,
"patch_icpp(2)%pres": 10,
"patch_icpp(2)%pres": 9.518,
"patch_icpp(2)%alpha_rho(1)": eps,
"patch_icpp(2)%alpha(1)": eps,
"patch_icpp(2)%alpha_rho(2)": (1 - eps),
"patch_icpp(2)%alpha_rho(2)": (1 - eps)*5,
"patch_icpp(2)%alpha(2)": 1 - eps,
}

Expand Down
38 changes: 33 additions & 5 deletions src/simulation/m_igr.fpp
Original file line number Diff line number Diff line change
Expand Up @@ -233,11 +233,19 @@ contains

end subroutine s_reconstruct_igr

subroutine s_igr_jacobi_iteration()
subroutine s_igr_jacobi_iteration(t_step)

real(wp) :: rho_rx, rho_ry, rho_rz, rho_lx, rho_ly, rho_lz
real(wp) :: resid
integer :: num_iters, t_step

do q = 1, num_igr_iters
if (t_step == 0) then
num_iters = 500
else
num_iters = num_igr_iters
end if

do q = 1, num_iters
!print*, "Iter: ", q
!$acc parallel loop collapse(3) gang vector default(present) private(rho_lx, rho_rx, rho_ly, rho_ry, rho_lz, rho_rz)
do l = 0, p
Expand All @@ -253,20 +261,29 @@ contains
rho_rz = 0.5_wp *(1._wp / rho_igr(j,k,l) + 1._wp / rho_igr(j,k,l+1))
end if

jac(j, k, l) = jac_rhs(j, k, l)
jac(j, k, l) = min(dx(j), dy(k))*jac_rhs(j, k, l)
jac(j, k, l) = jac(j, k, l) + alf_igr * (1._wp / dx(j)**2._wp) * (rho_lx* jac_old(j-1,k,l) + rho_rx*jac_old(j+1,k,l))
jac(j, k, l) = jac(j, k, l) + alf_igr * (1._wp / dy(k)**2._wp) * (rho_ly* jac_old(j,k-1,l) + rho_ry*jac_old(j,k+1,l))
if(p > 0) then
jac(j, k, l) = jac(j, k, l) + alf_igr * (1._wp / dz(l)**2._wp) * (rho_lz* jac_old(j,k,l-1) + rho_rz*jac_old(j,k,l+1))
end if
!if (k == 200) then
!if (k == 50) then
!print*, j, omega, jac(j, k, l) - omega * (1._wp / fd_coeff(j,k,l))*jac(j,k,l) + (1._wp - omega)*jac_old(j, k, l)
!end if
jac(j, k, l) = omega * (1._wp / fd_coeff(j,k,l))*jac(j,k,l) + (1._wp - omega)*jac_old(j, k, l)
!if (k == 100) then
!print*, j, jac(j,k,l) - jac_old(j,k,l)
!end if
end do
end do
end do

!$acc kernels
resid = maxval(jac - jac_old)
!$acc end kernels

print*, t_step, resid

if(bcxb >= -12) then
if(bcxb >= 0) then
call s_mpi_sendrecv_F_igr(jac, 1, -1)
Expand Down Expand Up @@ -970,7 +987,6 @@ contains
cfl, j, k, l, idir, alpha_L, alpha_rho_L, &
alpha_R, alpha_rho_R, vel_L, vel_R, pres_L, pres_R)


do i = 1, num_fluids
flux_vf(advxb+i-1)%sf(j,k,l) = &
0.5_wp * (qL_rs_vf(j,k,l+1,advxb+i-1) * &
Expand Down Expand Up @@ -1342,6 +1358,10 @@ contains
do j = 0, m
rhs_vf(i)%sf(j, k, l) = rhs_vf(i)%sf(j, k, l) + &
q_prim_vf(i)%sf(j,k,l) * dux(j,k,l)
!rhs_vf(i)%sf(j, k, l) = rhs_vf(i)%sf(j, k, l) + &
!q_prim_vf(i)%sf(j,k,l) * (1._wp/(2._wp*dx(j))) * &
!(qL_rs_vf(j+1,k,l,momxb) + qR_rs_vf(j,k,l,momxb) - &
!qL_rs_vf(j,k,l,momxb) - qR_rs_vf(j-1,k,l,momxb))
end do
end do
end do
Expand All @@ -1368,6 +1388,10 @@ contains
do j = 0, m
rhs_vf(i)%sf(j, k, l) = rhs_vf(i)%sf(j, k, l) + &
q_prim_vf(i)%sf(j,k,l) * dvy(j,k,l)
!rhs_vf(i)%sf(j, k, l) = rhs_vf(i)%sf(j, k, l) + &
!q_prim_vf(i)%sf(j,k,l) * (1._wp/(2._wp*dy(k))) * &
!(qL_rs_vf(j,k+1,l,momxb+1) + qR_rs_vf(j,k,l,momxb+1) - &
!qL_rs_vf(j,k,l,momxb+1) - qR_rs_vf(j,k-1,l,momxb+1))
end do
end do
end do
Expand All @@ -1394,6 +1418,10 @@ contains
do j = 0, m
rhs_vf(i)%sf(j, k, l) = rhs_vf(i)%sf(j, k, l) + &
q_prim_vf(i)%sf(j,k,l) * dwz(j,k,l)
!rhs_vf(i)%sf(j, k, l) = rhs_vf(i)%sf(j, k, l) + &
!q_prim_vf(i)%sf(j,k,l) * (1._wp/(2._wp*dz(l))) * &
!(qL_rs_vf(j,k,l+1,momxe) + qR_rs_vf(j,k,l,momxe) - &
!qL_rs_vf(j,k,l,momxe) - qR_rs_vf(j,k,l-1,momxe))
end do
end do
end do
Expand Down
2 changes: 1 addition & 1 deletion src/simulation/m_rhs.fpp
Original file line number Diff line number Diff line change
Expand Up @@ -702,7 +702,7 @@ contains
call nvtxEndRange

call nvtxStartRange("IGR_Jacobi")
call s_igr_jacobi_iteration()
call s_igr_jacobi_iteration(t_step)
call nvtxEndRange
end if

Expand Down

0 comments on commit 9983669

Please sign in to comment.