From 05fbe8f607bf892065e528b686fdb76d6da7c8e9 Mon Sep 17 00:00:00 2001 From: "Daniel J. Vickers" Date: Wed, 6 May 2026 19:10:59 -0400 Subject: [PATCH 1/3] one-line change that should fix stbility issues in periodicity for mobing IBs --- src/simulation/m_ibm.fpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/simulation/m_ibm.fpp b/src/simulation/m_ibm.fpp index 5f865cffeb..d1f0e88cd4 100644 --- a/src/simulation/m_ibm.fpp +++ b/src/simulation/m_ibm.fpp @@ -201,6 +201,7 @@ contains k = gp%loc(2) l = gp%loc(3) patch_id = ghost_points(i)%ib_patch_id + call s_decode_patch_periodicity(patch_id, patch_id) ! Calculate physical location of GP if (p > 0) then From cda6e68ba8f783f8a41b98a42b4f8ff6d9037bb2 Mon Sep 17 00:00:00 2001 From: "Daniel J. Vickers" Date: Sat, 16 May 2026 08:43:37 -0400 Subject: [PATCH 2/3] Fixed sign error --- src/simulation/m_compute_levelset.fpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/simulation/m_compute_levelset.fpp b/src/simulation/m_compute_levelset.fpp index 96fdebb357..1f88456399 100644 --- a/src/simulation/m_compute_levelset.fpp +++ b/src/simulation/m_compute_levelset.fpp @@ -166,9 +166,9 @@ contains end if end if end do - dist_vec(1) = xy_local(1) - airfoil_grid_l(global_id)%x - dist_vec(2) = xy_local(2) - airfoil_grid_l(global_id)%y - dist_vec(3) = 0 + dist_vec(1) = airfoil_grid_l(global_id)%x - xy_local(1) + dist_vec(2) = airfoil_grid_l(global_id)%y - xy_local(2) + dist_vec(3) = 0._wp dist = global_dist end if @@ -230,14 +230,14 @@ contains end if end if end do - dist_vec(1) = xyz_local(1) - airfoil_grid_u(global_id)%x - dist_vec(2) = xyz_local(2) - airfoil_grid_u(global_id)%y + dist_vec(1) = airfoil_grid_u(global_id)%x - xyz_local(1) + dist_vec(2) = airfoil_grid_u(global_id)%y - xyz_local(2) dist_vec(3) = 0._wp dist_surf = global_dist else do k = 1, Np - dist_vec(1) = xyz_local(1) - airfoil_grid_l(k)%x - dist_vec(2) = xyz_local(2) - airfoil_grid_l(k)%y + dist_vec(1) = airfoil_grid_l(k)%x - xyz_local(1) + dist_vec(2) = airfoil_grid_l(k)%y - xyz_local(2) dist_vec(3) = 0 dist_surf = sqrt(sum(dist_vec**2)) if (k == 1) then @@ -250,8 +250,8 @@ contains end if end if end do - dist_vec(1) = xyz_local(1) - airfoil_grid_l(global_id)%x - dist_vec(2) = xyz_local(2) - airfoil_grid_l(global_id)%y + dist_vec(1) = airfoil_grid_l(global_id)%x - xyz_local(1) + dist_vec(2) = airfoil_grid_l(global_id)%y - xyz_local(2) dist_vec(3) = 0._wp dist_surf = global_dist end if @@ -378,8 +378,8 @@ contains xy_local = matmul(inverse_rotation, xy_local) normal_vector = xy_local - normal_vector(2) = normal_vector(2)*(ellipse_coeffs(1)/ellipse_coeffs(2)) & - & **2._wp ! get the normal direction via the coordinate transformation method + ! get the normal direction via the coordinate transformation method + normal_vector(2) = normal_vector(2)*(ellipse_coeffs(1)/ellipse_coeffs(2))**2._wp normal_vector = normal_vector/sqrt(dot_product(normal_vector, normal_vector)) ! normalize the vector gp%levelset_norm = matmul(rotation, normal_vector) ! save after rotating the vector to the global frame From 6838efd63c5d2c377988b14213be6418728054be Mon Sep 17 00:00:00 2001 From: "Daniel J. Vickers" Date: Sat, 16 May 2026 08:48:06 -0400 Subject: [PATCH 3/3] Removing accidental additino --- src/simulation/m_ibm.fpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/simulation/m_ibm.fpp b/src/simulation/m_ibm.fpp index d1f0e88cd4..5f865cffeb 100644 --- a/src/simulation/m_ibm.fpp +++ b/src/simulation/m_ibm.fpp @@ -201,7 +201,6 @@ contains k = gp%loc(2) l = gp%loc(3) patch_id = ghost_points(i)%ib_patch_id - call s_decode_patch_periodicity(patch_id, patch_id) ! Calculate physical location of GP if (p > 0) then