Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
d953d5b
Pushing from local
danieljvickers Sep 15, 2025
9f6af97
Succesfully added RK time stepping
danieljvickers Oct 2, 2025
8d3941d
Finalizing time-step module
danieljvickers Oct 2, 2025
734b649
Addded handlers for new case file parameters
danieljvickers Oct 2, 2025
e1c3b3f
added hooks for a rotation matrix
danieljvickers Oct 2, 2025
effd324
Added the rotation matrix calculation, which will be needed for ident…
danieljvickers Oct 2, 2025
ac0013d
Finished adding velocity update, but now I need to fix compiler errors
danieljvickers Oct 2, 2025
50799ab
Added some inverse rotation calculations to the square case
danieljvickers Oct 7, 2025
c04cfae
Ready to test with a rotated square
danieljvickers Oct 7, 2025
e80952b
Ran test case and everything appears to be working
danieljvickers Oct 7, 2025
6ddc795
Spelling and formatting run
danieljvickers Oct 7, 2025
ce5f071
Fixed single-precision building
danieljvickers Oct 7, 2025
007949d
Updated patch_IB rotation values
danieljvickers Oct 8, 2025
ddfcd0f
Updated 2D airfoil
danieljvickers Oct 8, 2025
0cabfff
Finished adding support for existing IB geometries. They will all now…
danieljvickers Oct 8, 2025
372ddf0
Fixed compiler issue with airfoil changes. All tests pass locally
danieljvickers Oct 8, 2025
603b42f
Updated rectangle levelset
danieljvickers Oct 8, 2025
ab29c8a
Swapped out Id values
danieljvickers Oct 8, 2025
71437fd
Modified the cuboid levelset to use local coords
danieljvickers Oct 8, 2025
fcccef7
Final levelset calculation updated
danieljvickers Oct 8, 2025
d13de48
Fixed compiling errors'
danieljvickers Oct 8, 2025
91e0f50
Temporary fix for issue involving cuboid normal vector selection. Com…
danieljvickers Oct 8, 2025
42e1177
Fixed airfoil shape, but it is not rotating yet
danieljvickers Oct 9, 2025
367bea6
I am dumb. Do not look at this commit. It has nothing for you.
danieljvickers Oct 9, 2025
24b25ec
Need to generate new golden files for the locations of the airfoil ar…
danieljvickers Oct 9, 2025
c6c55b7
Updated the golden files for this test case after realizing that ther…
danieljvickers Oct 9, 2025
c7c8d8a
Formatting and spelling
danieljvickers Oct 9, 2025
6b1ee94
Changes to the case file to support new rotational system
danieljvickers Oct 9, 2025
3208814
Resolved memory not being reset for rectangles and cuboids. Also fixe…
danieljvickers Oct 10, 2025
9dc62dd
Fixing macOS runners failing due to contera version difference
danieljvickers Oct 10, 2025
6febe45
Ran formatting
danieljvickers Oct 10, 2025
78fd281
Fixed issue with pre-processing not applying correct initial rotation…
danieljvickers Oct 10, 2025
7cf947e
Formatting
danieljvickers Oct 10, 2025
63c87c5
Adding OpenMP/OpenACC tags for vecturs used in paralel loop for GPU s…
danieljvickers Oct 10, 2025
1af3670
found an error in 3d Airfoil case that is unrelated to the frontier C…
danieljvickers Oct 12, 2025
5a60a7f
Merge branch 'master' into add-rotating-mibms
danieljvickers Oct 12, 2025
272ca02
Build with one task for testing
wilfonba Oct 13, 2025
8fc4902
.github
danieljvickers Oct 13, 2025
64fa336
Found my error. Thanks Ben for being a rubber ducky :)
danieljvickers Oct 13, 2025
29db19a
Integrated with new time stepper code
danieljvickers Oct 13, 2025
c29ec88
Resolved error. Ready to merge
danieljvickers Oct 13, 2025
604e1db
Merge branch 'add-rotating-mibms' of github.com:danieljvickers/MFC in…
danieljvickers Oct 13, 2025
cbfb2da
Formatting
danieljvickers Oct 13, 2025
7560a02
Added a tumbling rectangle case
danieljvickers Oct 15, 2025
8906927
Fixed GPU errors on NVHPC
danieljvickers Oct 16, 2025
d4a1280
Generated golden files for totating sphere
danieljvickers Oct 16, 2025
876f16a
Updated case file to be longer
danieljvickers Oct 16, 2025
f1b6fb7
Formatting
danieljvickers Oct 16, 2025
21d0594
Spelling
danieljvickers Oct 16, 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
6 changes: 3 additions & 3 deletions examples/2D_ibm_airfoil/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,12 +94,12 @@
"patch_ib(1)%t": 0.15,
"patch_ib(1)%p": 0.4,
"patch_ib(1)%m": 0.02,
"patch_ib(1)%theta": 30,
"patch_ib(1)%angles(3)": -0.5235987756, # 30 degrees clockwise rotation, in radians
# Fluids Physical Parameters
# Use the same stiffness as the air bubble
"fluid_pp(1)%gamma": 1.0e00 / (gam_a - 1.0e00), # 2.50(Not 1.40)
"fluid_pp(1)%gamma": 1.0e00 / (gam_a - 1.0e00), # 2.50 (Not 1.40)
"fluid_pp(1)%pi_inf": 0,
"fluid_pp(2)%gamma": 1.0e00 / (gam_b - 1.0e00), # 2.50(Not 1.40)
"fluid_pp(2)%gamma": 1.0e00 / (gam_b - 1.0e00), # 2.50 (Not 1.40)
"fluid_pp(2)%pi_inf": 0,
}
)
Expand Down
105 changes: 105 additions & 0 deletions examples/2D_tumbling_rectangle/case.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
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.0e00,
"x_domain%end": 6.0e-03,
# r direction
"y_domain%beg": 0.0e00,
"y_domain%end": 6.0e-03,
"cyl_coord": "F",
"m": 200,
"n": 200,
"p": 0,
"dt": 6.0e-6,
"t_step_start": 0,
"t_step_stop": 2500, # 10000,
"t_step_save": 250,
# 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,
# 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.0e-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,
"viscous": "T",
# 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.00e00,
"patch_icpp(1)%vel(2)": 0.0e00,
"patch_icpp(1)%pres": 1.0e00,
"patch_icpp(1)%alpha_rho(1)": 1.0e00,
"patch_icpp(1)%alpha(1)": 10.0e00,
# Patch: Cylinder Immersed Boundary
"patch_ib(1)%geometry": 3,
"patch_ib(1)%x_centroid": 4.5e-03,
"patch_ib(1)%y_centroid": 3.0e-03,
"patch_ib(1)%length_x": 0.6e-03,
"patch_ib(1)%length_y": 0.6e-03,
"patch_ib(1)%slip": "F",
"patch_ib(1)%moving_ibm": 1,
"patch_ib(1)%vel(1)": -0.05,
"patch_ib(1)%angles(1)": 0.0, # x-axis rotation in radians
"patch_ib(1)%angles(2)": 0.0, # y-axis rotation
"patch_ib(1)%angles(3)": 0.78539816339, # z-axis rotation
"patch_ib(1)%angular_vel(1)": 0.0, # x-axis rotational velocity in radians per second
"patch_ib(1)%angular_vel(2)": 0.0, # y-axis rotation
"patch_ib(1)%angular_vel(3)": 100.0, # z-axis rotation
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (gam_a - 1.0e00), # 2.50(Not 1.40)
"fluid_pp(1)%pi_inf": 0,
"fluid_pp(1)%Re(1)": 2500000,
}
)
)
110 changes: 110 additions & 0 deletions examples/3D_rotating_sphere/case.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
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 sphere is placed (3,3,3)*e-3
# domain origin.
"x_domain%beg": 0.0e00,
"x_domain%end": 6.0e-03,
"y_domain%beg": 0.0e00,
"y_domain%end": 6.0e-03,
"z_domain%beg": 0.0e00,
"z_domain%end": 6.0e-03,
"cyl_coord": "F",
"m": 49,
"n": 49,
"p": 49,
"dt": 6.0e-6,
"t_step_start": 0,
"t_step_stop": 250,
"t_step_save": 25,
# 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,
# 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.0e-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,
"bc_z%beg": -3,
"bc_z%end": -3,
# Set IB to True and add 1 patch
"ib": "T",
"num_ibs": 1,
"viscous": "T",
# 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": 9,
# Uniform medium density, centroid is at the center of the domain
"patch_icpp(1)%x_centroid": 3.0e-03,
"patch_icpp(1)%y_centroid": 3.0e-03,
"patch_icpp(1)%z_centroid": 3.0e-03,
"patch_icpp(1)%length_x": 6.0e-03,
"patch_icpp(1)%length_y": 6.0e-03,
"patch_icpp(1)%length_z": 6.0e-03,
# Specify the patch primitive variables
"patch_icpp(1)%vel(1)": 0.00e00,
"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.0e00,
"patch_icpp(1)%alpha(1)": 10.0e00,
# Patch: Cylinder Immersed Boundary
"patch_ib(1)%geometry": 8,
"patch_ib(1)%x_centroid": 3.0e-03,
"patch_ib(1)%y_centroid": 3.0e-03,
"patch_ib(1)%z_centroid": 3.0e-03,
"patch_ib(1)%radius": 1e-03,
"patch_ib(1)%slip": "F",
"patch_ib(1)%moving_ibm": 1,
"patch_ib(1)%vel(1)": 0.0,
"patch_ib(1)%angles(1)": 0.0, # x-axis rotation in radians
"patch_ib(1)%angles(2)": 0.0, # y-axis rotation
"patch_ib(1)%angles(3)": 0.0, # z-axis rotation
"patch_ib(1)%angular_vel(1)": 0.0, # x-axis rotational velocity in radians per second
"patch_ib(1)%angular_vel(2)": 0.0, # y-axis rotation
"patch_ib(1)%angular_vel(3)": 100.0, # z-axis rotation
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (gam_a - 1.0e00), # 2.50(Not 1.40)
"fluid_pp(1)%pi_inf": 0,
"fluid_pp(1)%Re(1)": 2500000,
}
)
)
Loading
Loading