-
Notifications
You must be signed in to change notification settings - Fork 121
Add rotating mibms #1014
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add rotating mibms #1014
Changes from 43 commits
d953d5b
9f6af97
8d3941d
734b649
e1c3b3f
effd324
ac0013d
50799ab
c04cfae
e80952b
6ddc795
ce5f071
007949d
ddfcd0f
0cabfff
372ddf0
603b42f
ab29c8a
71437fd
fcccef7
d13de48
91e0f50
42e1177
367bea6
24b25ec
c6c55b7
c7c8d8a
6b1ee94
3208814
9dc62dd
6febe45
78fd281
7cf947e
63c87c5
1af3670
5a60a7f
272ca02
8fc4902
64fa336
29db19a
c29ec88
604e1db
cbfb2da
7560a02
8906927
d4a1280
876f16a
f1b6fb7
21d0594
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Large diffs are not rendered by default.
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. High-level SuggestionThe logic for updating Immersed Boundary (IB) motion is duplicated across several time-stepping subroutines in Solution Walkthrough:Before:subroutine s_tvd_rk2(...)
...
! Step 1
if (moving_immersed_boundary_flag) then
do i = 1, num_ibs
if (patch_ib(i)%moving_ibm == 1) then
! ... save state and perform Euler step ...
end if
end do
call s_update_mib(...)
end if
...
! Step 2
if (moving_immersed_boundary_flag) then
do i = 1, num_ibs
if (patch_ib(i)%moving_ibm == 1) then
! ... perform RK2 update step ...
end if
end do
call s_update_mib(...)
end if
end subroutine
After:subroutine s_update_ib_position(rk_stage, rk_order)
! Logic to update IB position based on RK stage and order
if (moving_immersed_boundary_flag) then
do i = 1, num_ibs
if (patch_ib(i)%moving_ibm == 1) then
! ... unified update logic using rk_stage/order ...
end if
end do
call s_update_mib(...)
end if
end subroutine
subroutine s_tvd_rk2(...)
...
call s_update_ib_position(rk_stage=1, rk_order=2)
...
call s_update_ib_position(rk_stage=2, rk_order=2)
end subroutine
|
Uh oh!
There was an error while loading. Please reload this page.