Skip to content

Commit

Permalink
IBM
Browse files Browse the repository at this point in the history
fixes

temp

patches work

interp coeffs

now for the rectangle

acc stuff?

ip_loc to ip_grid

WENO5

acc

acc declare num ib

bruh

small updates

no conv cons to prim

curr

fixed mpi sendrecv

MPI worksgit add .

MPI issues fixed

potential GPU fix?

acc fix?

acc loop change

parallel io

jaxfluids case

jaxfluids 2

viscous

fpp for patches

3D sphere

Fixed 3D sphere

bruh

double bruh

triple bruh

multiphase test

Fixed SEGFAULT

add alpha_IP to gang vector

Added 3D cylinder and fixed alphas

remove ib markers

IBM and bubbles fixes

Airfoil

airfoil bug

Parallel I/O works with airfoil

Fully supports sub-grid bubbles (incl qbmm)

Taking care of rectangle + qbmm fixes

Angled airfoil + 3D airfoil

case

bug

bug

gpu temp fixes

Fixed GPU issue

syntax fix

Added IBM Slip

Slip not being read fixed

Adding gp slip

dyn pres

issue fix?

Added IBM test cases

Conditionally write ib markers

Update m_mpi_proxy.fpp

Fixed 3D Sphere Issues and tests (hopefully)?

small index fix

Removing crap

more cleanup

remove inlet bc

passes most tests

Removed unnecessary changes

Fixed IBM not being read

3D ibm problem setup

Update case.py

Cast num_ibs

New Golden Files

Changes to case files

Delete some case files

Fix Lint

Change tolerance for IBM cases

Increase tolerance more

Ran ./mfc.sh format

Some fixes

temp

IBM Fixes

IBM format

Update m_eigen_solver.f90

Remove unnecessary IBM changes

Golden Files

Model_eqns = 3 tests

More Golden Files

M RHS Parallel

Hotfix

Increase  # timesteps to 500

Revert back to 100 timesteps
  • Loading branch information
Ansh Gupta authored and anshgupta1234 committed Feb 5, 2024
1 parent 0ffd93e commit a0a3ec1
Show file tree
Hide file tree
Showing 49 changed files with 6,261 additions and 84 deletions.
107 changes: 107 additions & 0 deletions examples/2D_ibm/case.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
import json
import math

Mu = 1.84E-05
gam_a = 1.4

# Configuring case dictionary
print(json.dumps({
# Logistics ================================================================
'run_time_info' : 'T',
# ==========================================================================

# Computational Domain Parameters ==========================================
# For these computations, the cylinder is placed at the (0,0,0)
# domain origin.
# axial direction
'x_domain%beg' : 0.0E+00,
'x_domain%end' : 6.0E-03,
# r direction
'y_domain%beg' : 0.0E+00,
'y_domain%end' : 6.0E-03,
'cyl_coord' : 'F',
'm' : 400,
'n' : 400,
'p' : 0,
'dt' : 0.2E-6,
't_step_start' : 0,
't_step_stop' : 40000, #3000
't_step_save' : 4000, #10
# ==========================================================================

# Simulation Algorithm Parameters ==========================================
# Only one patches are necessary, the air tube
'num_patches' : 1,
# Use the 5 equation model
'model_eqns' : 2,
'alt_soundspeed' : 'F',
# One fluids: air
'num_fluids' : 1,
# Advect both volume fractions
'adv_alphan' : 'T',
# No need to ensure the volume fractions sum to unity at the end of each
# time step
'mpp_lim' : 'F',
# Correct errors when computing speed of sound
'mixture_err' : 'T',
# Use TVD RK3 for time marching
'time_stepper' : 3,
# Use WENO5
'weno_order' : 5,
'weno_eps' : 1.E-16,
'weno_Re_flux' : 'T',
'weno_avg' : 'T',
'avg_state' : 2,
'mapped_weno' : 'T',
'null_weights' : 'F',
'mp_weno' : 'T',
'riemann_solver' : 2,
'wave_speeds' : 1,
# We use ghost-cell
'bc_x%beg' : -3,
'bc_x%end' : -3,
'bc_y%beg' : -3,
'bc_y%end' : -3,
# Set IB to True and add 1 patch
'ib' : 'T',
'num_ibs' : 1,
# ==========================================================================

# Formatted Database Files Structure Parameters ============================
'format' : 1,
'precision' : 2,
'prim_vars_wrt' :'T',
'E_wrt' :'T',
'parallel_io' :'T',
# ==========================================================================

# Patch: Constant Tube filled with air =====================================
# Specify the cylindrical air tube grid geometry
'patch_icpp(1)%geometry' : 3,
'patch_icpp(1)%x_centroid' : 3.0E-03,
# Uniform medium density, centroid is at the center of the domain
'patch_icpp(1)%y_centroid' : 3.0E-03,
'patch_icpp(1)%length_x' : 6.0E-03,
'patch_icpp(1)%length_y' : 6.0E-03,
# Specify the patch primitive variables
'patch_icpp(1)%vel(1)' : 0.05E+00,
'patch_icpp(1)%vel(2)' : 0.0E+00,
'patch_icpp(1)%pres' : 1.E+00,
'patch_icpp(1)%alpha_rho(1)' : 1.E+00,
'patch_icpp(1)%alpha(1)' : 1.E+00,
# # ========================================================================

# Patch: Cylinder Immersed Boundary ========================================
'patch_ib(1)%geometry' : 2,
'patch_ib(1)%x_centroid' : 1.5E-03,
'patch_ib(1)%y_centroid' : 3.0E-03,
'patch_ib(1)%radius' : 0.2E-03,
'patch_ib(1)%slip' : 'F',
# # ========================================================================

# Fluids Physical Parameters ===============================================
'fluid_pp(1)%gamma' : 1.E+00/(gam_a-1.E+00), # 2.50(Not 1.40)
'fluid_pp(1)%pi_inf' : 0,
'fluid_pp(1)%Re(1)' : 2500000,
# ==========================================================================
}))
118 changes: 118 additions & 0 deletions examples/2D_ibm_airfoil/case.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
import json
import math

Mu = 1.84E-05
gam_a = 1.4
gam_b = 1.1

# Configuring case dictionary
print(json.dumps({
# Logistics ================================================================
'run_time_info' : 'T',
# ==========================================================================

# Computational Domain Parameters ==========================================
# axial direction
'x_domain%beg' : 0.0E+00,
'x_domain%end' : 6.0E-03,
# r direction
'y_domain%beg' : 0.0E+00,
'y_domain%end' : 6.0E-03,
'cyl_coord' : 'F',
'm' : 200,
'n' : 200,
'p' : 0,
'dt' : 0.57E-5/2,
't_step_start' : 0,
't_step_stop' : 7200, #3000
't_step_save' : 30, #10
# ==========================================================================

# Simulation Algorithm Parameters ==========================================
# Only one patches are necessary, the air tube
'num_patches' : 1,
# Use the 5 equation model
'model_eqns' : 2,
# 6 equations model does not need the K \div(u) term
'alt_soundspeed' : 'F',
# One fluids: air
'num_fluids' : 2,
# Advect both volume fractions
'adv_alphan' : 'T',
# No need to ensure the volume fractions sum to unity at the end of each
# time step
'mpp_lim' : 'F',
# Correct errors when computing speed of sound
'mixture_err' : 'T',
# Use TVD RK3 for time marching
'time_stepper' : 1,
# Reconstruct the primitive variables to minimize spurious
# Use WENO5
'weno_order' : 5,
'weno_eps' : 1.E-16,
'weno_Re_flux' : 'F',
'weno_avg' : 'T',
'avg_state' : 2,
# Use the mapped WENO weights to maintain monotinicity
'mapped_weno' : 'T',
'null_weights' : 'F',
'mp_weno' : 'T',
# Use the HLLC Riemann solver
'riemann_solver' : 2,
'wave_speeds' : 1,
# We use reflective boundary conditions at octant edges and
# non-reflective boundary conditions at the domain edges
'bc_x%beg' : -3,
'bc_x%end' : -3,
'bc_y%beg' : -3,
'bc_y%end' : -3,
# Set IB to True and add 1 patch
'ib' : 'T',
'num_ibs' : 1,
# ==========================================================================

# Formatted Database Files Structure Parameters ============================
'format' : 1,
'precision' : 2,
'prim_vars_wrt' :'T',
'E_wrt' :'T',
'parallel_io' :'T',
# ==========================================================================

# Patch: Constant Tube filled with air =====================================
# Specify the cylindrical air tube grid geometry
'patch_icpp(1)%geometry' : 3,
'patch_icpp(1)%x_centroid' : 3.0E-03,
# Uniform medium density, centroid is at the center of the domain
'patch_icpp(1)%y_centroid' : 3.0E-03,
'patch_icpp(1)%length_x' : 6.0E-03,
'patch_icpp(1)%length_y' : 6.0E-03,
# Specify the patch primitive variables
'patch_icpp(1)%vel(1)' : 0.1E+00,
'patch_icpp(1)%vel(2)' : 0.0E+00,
'patch_icpp(1)%pres' : 1.E+00,
'patch_icpp(1)%alpha_rho(1)' : 0.8E+00,
'patch_icpp(1)%alpha(1)' : 0.8E+00,
'patch_icpp(1)%alpha_rho(2)' : 0.2E+00,
'patch_icpp(1)%alpha(2)' : 0.2E+00,
# # ========================================================================

# Patch: Airfoil Immersed Boundary ========================================
'patch_ib(1)%geometry' : 4,
'patch_ib(1)%x_centroid' : 1.0E-03,
'patch_ib(1)%y_centroid' : 3.0E-03,
'patch_ib(1)%c' : 1.0E-03,
'patch_ib(1)%t' : 0.15,
'patch_ib(1)%p' : 0.4,
'patch_ib(1)%m' : 0.02,
'patch_ib(1)%theta' : 30,
# # ========================================================================

# Fluids Physical Parameters ===============================================
# Use the same stiffness as the air bubble
'fluid_pp(1)%gamma' : 1.E+00/(gam_a-1.E+00), # 2.50(Not 1.40)
'fluid_pp(1)%pi_inf' : 0,
'fluid_pp(2)%gamma' : 1.E+00/(gam_b-1.E+00), # 2.50(Not 1.40)
'fluid_pp(2)%pi_inf' : 0,
# ==========================================================================
}))
111 changes: 111 additions & 0 deletions examples/2D_ibm_multiphase/case.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
import json
import math

Mu = 1.84E-05
gam_a = 1.4
gam_b = 1.1

# Configuring case dictionary
print(json.dumps({
# Logistics ================================================================
'run_time_info' : 'T',
# ==========================================================================

# Computational Domain Parameters ==========================================
# axial direction
'x_domain%beg' : 0.0E+00,
'x_domain%end' : 6.0E-03,
# r direction
'y_domain%beg' : 0.0E+00,
'y_domain%end' : 6.0E-03,
'cyl_coord' : 'F',
'm' : 400,
'n' : 400,
'p' : 0,
'dt' : 0.5E-6,
't_step_start' : 0,
't_step_stop' : 10000, #3000
't_step_save' : 1000, #10
# ==========================================================================

# Simulation Algorithm Parameters ==========================================
# Only one patches are necessary, the air tube
'num_patches' : 1,
# Use the 6 equation model
'model_eqns' : 3,
'alt_soundspeed' : 'F',
'num_fluids' : 2,
# Advect both volume fractions
'adv_alphan' : 'T',
'mpp_lim' : 'T',
# Correct errors when computing speed of sound
'mixture_err' : 'T',
# Use TVD RK3 for time marching
'time_stepper' : 1,
# Use WENO5
'weno_order' : 5,
'weno_eps' : 1.E-16,
'weno_Re_flux' : 'F',
'weno_avg' : 'T',
'avg_state' : 2,
# Use the mapped WENO weights to maintain monotinicity
'mapped_weno' : 'T',
'null_weights' : 'F',
'mp_weno' : 'T',
# Use the HLLC Riemann solver
'riemann_solver' : 2,
'wave_speeds' : 1,
# We use ghost-cell extrapolation at every side
'bc_x%beg' : -3,
'bc_x%end' : -3,
'bc_y%beg' : -3,
'bc_y%end' : -3,
# Set IB to True and add 1 patch
'ib' : 'T',
'num_ibs' : 1,
# ==========================================================================

# Formatted Database Files Structure Parameters ============================
'format' : 1,
'precision' : 2,
'prim_vars_wrt' :'T',
'E_wrt' :'T',
'parallel_io' :'T',
# ==========================================================================

# Patch: Constant Tube filled with air =====================================
# Specify the cylindrical air tube grid geometry
'patch_icpp(1)%geometry' : 3,
'patch_icpp(1)%x_centroid' : 3.0E-03,
# Uniform medium density, centroid is at the center of the domain
'patch_icpp(1)%y_centroid' : 3.0E-03,
'patch_icpp(1)%length_x' : 6.0E-03,
'patch_icpp(1)%length_y' : 6.0E-03,
# Specify the patch primitive variables
'patch_icpp(1)%vel(1)' : 0.1E+00,
'patch_icpp(1)%vel(2)' : 0.0E+00,
'patch_icpp(1)%pres' : 1.E+00,
'patch_icpp(1)%alpha_rho(1)' : 0.8E+00,
'patch_icpp(1)%alpha(1)' : 0.8E+00,
'patch_icpp(1)%alpha_rho(2)' : 0.2E+00,
'patch_icpp(1)%alpha(2)' : 0.2E+00,
# # ========================================================================

# Patch: Cylinder Immersed Boundary ========================================
'patch_ib(1)%geometry' : 2,
'patch_ib(1)%x_centroid' : 1.5E-03,
'patch_ib(1)%y_centroid' : 3.0E-03,
'patch_ib(1)%radius' : 0.2E-03,
# ==========================================================================

# Fluids Physical Parameters ===============================================
# Specify 2 fluids
'fluid_pp(1)%gamma' : 1.E+00/(gam_a-1.E+00), # 2.50(Not 1.40)
'fluid_pp(1)%pi_inf' : 0,
# 'fluid_pp(1)%Re(1)' : 2500000,
# 'fluid_pp(1)%Re(2)' : 1.0e+6,
'fluid_pp(2)%gamma' : 1.E+00/(gam_b-1.E+00), # 2.50(Not 1.40)
'fluid_pp(2)%pi_inf' : 0,
# 'fluid_pp(2)%Re(1)' : 2500000,
# ==========================================================================
}))
Loading

0 comments on commit a0a3ec1

Please sign in to comment.