Skip to content

Commit 33c314a

Browse files
committed
Format and analytical levelset refactor
1 parent abfc4a4 commit 33c314a

File tree

5 files changed

+230
-259
lines changed

5 files changed

+230
-259
lines changed

src/common/m_constants.fpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,6 @@ module m_constants
3535
real(kind(0d0)), parameter :: threshold_vector_zero = 1d-10 !< Threshold to treat the component of a vector to be zero
3636
real(kind(0d0)), parameter :: threshold_edge_zero = 1d-8 !< Threshold to treat two edges to be overlapped
3737
real(kind(0d0)), parameter :: threshold_bary = 1d-1 !< Threshold to interpolate a barycentric facet
38-
real(kind(0d0)), parameter :: initial_distance_buffer = 1d12 !< Initialized levelset distance for the shortest path pair algorithm
38+
real(kind(0d0)), parameter :: initial_distance_buffer = 1d12 !< Initialized levelset distance for the shortest path pair algorithm
3939

4040
end module m_constants

src/pre_process/m_compute_levelset.fpp

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ module m_compute_levelset
2020

2121
implicit none
2222

23-
private; public :: s_compute_cylinder_levelset, s_compute_circle_levelset, &
24-
s_compute_airfoil_levelset, &
25-
s_compute_3D_airfoil_levelset, &
26-
s_compute_rectangle_levelset, &
27-
s_compute_cuboid_levelset, &
28-
s_compute_sphere_levelset
23+
private; public :: s_cylinder_levelset, s_circle_levelset, &
24+
s_airfoil_levelset, &
25+
s_3D_airfoil_levelset, &
26+
s_rectangle_levelset, &
27+
s_cuboid_levelset, &
28+
s_sphere_levelset
2929

3030
real(kind(0d0)) :: x_centroid, y_centroid, z_centroid
3131
real(kind(0d0)) :: length_x, length_y, length_z
@@ -39,7 +39,7 @@ module m_compute_levelset
3939

4040
contains
4141

42-
subroutine s_compute_circle_levelset(levelset, levelset_norm, ib_patch_id)
42+
subroutine s_circle_levelset(levelset, levelset_norm, ib_patch_id)
4343

4444
type(levelset_field), intent(INOUT) :: levelset
4545
type(levelset_norm_field), intent(INOUT) :: levelset_norm
@@ -73,9 +73,9 @@ contains
7373
end do
7474
end do
7575

76-
end subroutine s_compute_circle_levelset
76+
end subroutine s_circle_levelset
7777

78-
subroutine s_compute_airfoil_levelset(levelset, levelset_norm, ib_patch_id)
78+
subroutine s_airfoil_levelset(levelset, levelset_norm, ib_patch_id)
7979

8080
type(levelset_field), intent(INOUT) :: levelset
8181
type(levelset_norm_field), intent(INOUT) :: levelset_norm
@@ -156,9 +156,9 @@ contains
156156
end do
157157
end do
158158

159-
end subroutine s_compute_airfoil_levelset
159+
end subroutine s_airfoil_levelset
160160

161-
subroutine s_compute_3D_airfoil_levelset(levelset, levelset_norm, ib_patch_id)
161+
subroutine s_3D_airfoil_levelset(levelset, levelset_norm, ib_patch_id)
162162

163163
type(levelset_field), intent(INOUT) :: levelset
164164
type(levelset_norm_field), intent(INOUT) :: levelset_norm
@@ -257,10 +257,10 @@ contains
257257
end do
258258
end do
259259

260-
end subroutine s_compute_3D_airfoil_levelset
260+
end subroutine s_3D_airfoil_levelset
261261

262262
!> Initialize IBM module
263-
subroutine s_compute_rectangle_levelset(levelset, levelset_norm, ib_patch_id)
263+
subroutine s_rectangle_levelset(levelset, levelset_norm, ib_patch_id)
264264

265265
type(levelset_field), intent(INOUT) :: levelset
266266
type(levelset_norm_field), intent(INOUT) :: levelset_norm
@@ -345,9 +345,9 @@ contains
345345
end do
346346
end do
347347

348-
end subroutine s_compute_rectangle_levelset
348+
end subroutine s_rectangle_levelset
349349

350-
subroutine s_compute_cuboid_levelset(levelset, levelset_norm, ib_patch_id)
350+
subroutine s_cuboid_levelset(levelset, levelset_norm, ib_patch_id)
351351

352352
type(levelset_field), intent(INOUT) :: levelset
353353
type(levelset_norm_field), intent(INOUT) :: levelset_norm
@@ -459,9 +459,9 @@ contains
459459
end do
460460
end do
461461

462-
end subroutine s_compute_cuboid_levelset
462+
end subroutine s_cuboid_levelset
463463

464-
subroutine s_compute_sphere_levelset(levelset, levelset_norm, ib_patch_id)
464+
subroutine s_sphere_levelset(levelset, levelset_norm, ib_patch_id)
465465

466466
type(levelset_field), intent(INOUT) :: levelset
467467
type(levelset_norm_field), intent(INOUT) :: levelset_norm
@@ -496,9 +496,9 @@ contains
496496
end do
497497
end do
498498

499-
end subroutine s_compute_sphere_levelset
499+
end subroutine s_sphere_levelset
500500

501-
subroutine s_compute_cylinder_levelset(levelset, levelset_norm, ib_patch_id)
501+
subroutine s_cylinder_levelset(levelset, levelset_norm, ib_patch_id)
502502

503503
type(levelset_field), intent(INOUT) :: levelset
504504
type(levelset_norm_field), intent(INOUT) :: levelset_norm
@@ -569,6 +569,6 @@ contains
569569
end do
570570
end do
571571

572-
end subroutine s_compute_cylinder_levelset
572+
end subroutine s_cylinder_levelset
573573

574574
end module m_compute_levelset

src/pre_process/m_initial_condition.fpp

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -149,15 +149,15 @@ contains
149149
!> @{
150150
! Spherical patch
151151
if (patch_icpp(i)%geometry == 8) then
152-
call s_sphere(i, patch_id_fp, q_prim_vf, .false.)
152+
call s_sphere(i, patch_id_fp, q_prim_vf)
153153

154154
! Cuboidal patch
155155
elseif (patch_icpp(i)%geometry == 9) then
156156
call s_cuboid(i, patch_id_fp, q_prim_vf)
157157

158158
! Cylindrical patch
159159
elseif (patch_icpp(i)%geometry == 10) then
160-
call s_cylinder(i, patch_id_fp, q_prim_vf, .false.)
160+
call s_cylinder(i, patch_id_fp, q_prim_vf)
161161

162162
! Swept plane patch
163163
elseif (patch_icpp(i)%geometry == 11) then
@@ -181,7 +181,7 @@ contains
181181

182182
! 3D STL patch
183183
elseif (patch_icpp(i)%geometry == 21) then
184-
call s_model(i, patch_id_fp, q_prim_vf, .false.)
184+
call s_model(i, patch_id_fp, q_prim_vf)
185185

186186
end if
187187

@@ -197,19 +197,19 @@ contains
197197
end if
198198

199199
if (patch_ib(i)%geometry == 8) then
200-
call s_sphere(i, ib_markers%sf, q_prim_vf, .true.)
201-
call s_compute_sphere_levelset(levelset, levelset_norm, i)
200+
call s_sphere(i, ib_markers%sf, q_prim_vf, ib)
201+
call s_sphere_levelset(levelset, levelset_norm, i)
202202
! Cylindrical patch
203203
elseif (patch_ib(i)%geometry == 10) then
204-
call s_cylinder(i, ib_markers%sf, q_prim_vf, .true.)
205-
call s_compute_cylinder_levelset(levelset, levelset_norm, i)
204+
call s_cylinder(i, ib_markers%sf, q_prim_vf, ib)
205+
call s_cylinder_levelset(levelset, levelset_norm, i)
206206
elseif (patch_ib(i)%geometry == 11) then
207-
call s_3D_airfoil(i, ib_markers%sf, q_prim_vf, .true.)
208-
call s_compute_3D_airfoil_levelset(levelset, levelset_norm, i)
207+
call s_3D_airfoil(i, ib_markers%sf, q_prim_vf, ib)
208+
call s_3D_airfoil_levelset(levelset, levelset_norm, i)
209209

210210
! STL+IBM patch
211211
elseif (patch_ib(i)%geometry == 12) then
212-
call s_model(i, ib_markers%sf, q_prim_vf, .true., levelset, levelset_norm)
212+
call s_model(i, ib_markers%sf, q_prim_vf, ib, levelset, levelset_norm)
213213
end if
214214
end do
215215
!> @}
@@ -279,18 +279,18 @@ contains
279279
print *, 'Processing 2D ib patch ', i
280280
end if
281281
if (patch_ib(i)%geometry == 2) then
282-
call s_circle(i, ib_markers%sf, q_prim_vf, .true.)
283-
call s_compute_circle_levelset(levelset, levelset_norm, i)
282+
call s_circle(i, ib_markers%sf, q_prim_vf, ib)
283+
call s_circle_levelset(levelset, levelset_norm, i)
284284
! Rectangular patch
285285
elseif (patch_ib(i)%geometry == 3) then
286-
call s_rectangle(i, ib_markers%sf, q_prim_vf, .true.)
287-
call s_compute_rectangle_levelset(levelset, levelset_norm, i)
286+
call s_rectangle(i, ib_markers%sf, q_prim_vf, ib)
287+
call s_rectangle_levelset(levelset, levelset_norm, i)
288288
elseif (patch_ib(i)%geometry == 4) then
289-
call s_airfoil(i, ib_markers%sf, q_prim_vf, .true.)
290-
call s_compute_airfoil_levelset(levelset, levelset_norm, i)
289+
call s_airfoil(i, ib_markers%sf, q_prim_vf, ib)
290+
call s_airfoil_levelset(levelset, levelset_norm, i)
291291
! STL+IBM patch
292292
elseif (patch_ib(i)%geometry == 5) then
293-
call s_model(i, ib_markers%sf, q_prim_vf, .true., levelset, levelset_norm)
293+
call s_model(i, ib_markers%sf, q_prim_vf, ib, levelset, levelset_norm)
294294
end if
295295
end do
296296
!> @}

src/pre_process/m_model.fpp

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -704,13 +704,13 @@ contains
704704
interpolate = .false.
705705

706706
do j = 1, boundary_edge_count
707-
edge_v(1,1) = boundary_v(j, 1, 1)
708-
edge_v(2,1) = boundary_v(j, 2, 1)
709-
edge_v(1,2) = boundary_v(j, 1, 2)
710-
edge_v(2,2) = boundary_v(j, 2, 2)
707+
edge_v(1, 1) = boundary_v(j, 1, 1)
708+
edge_v(2, 1) = boundary_v(j, 2, 1)
709+
edge_v(1, 2) = boundary_v(j, 1, 2)
710+
edge_v(2, 2) = boundary_v(j, 2, 2)
711711

712-
l1 = dsqrt((edge_v(2,1) - edge_v(1,1))**2 + &
713-
(edge_v(2,2) - edge_v(1,2))**2)
712+
l1 = dsqrt((edge_v(2, 1) - edge_v(1, 1))**2 + &
713+
(edge_v(2, 2) - edge_v(1, 2))**2)
714714

715715
if ((l1 > cell_width)) then
716716
interpolate = .true.
@@ -737,23 +737,23 @@ contains
737737

738738
do i = 1, model%ntrs
739739
do j = 1, 3
740-
tri_v(1, j) = model%trs(i)%v(1, j)
741-
tri_v(2, j) = model%trs(i)%v(2, j)
742-
tri_v(3, j) = model%trs(i)%v(3, j)
740+
tri_v(1, j) = model%trs(i)%v(1, j)
741+
tri_v(2, j) = model%trs(i)%v(2, j)
742+
tri_v(3, j) = model%trs(i)%v(3, j)
743743
end do
744744

745-
edge_l(1) = dsqrt((tri_v(1, 2) - tri_v(1, 1))**2 + &
746-
(tri_v(2, 2) - tri_v(2, 1))**2 + &
745+
edge_l(1) = dsqrt((tri_v(1, 2) - tri_v(1, 1))**2 + &
746+
(tri_v(2, 2) - tri_v(2, 1))**2 + &
747747
(tri_v(3, 2) - tri_v(3, 1))**2)
748-
edge_l(2) = dsqrt((tri_v(1, 3) - tri_v(1, 2))**2 + &
749-
(tri_v(2, 3) - tri_v(2, 2))**2 + &
748+
edge_l(2) = dsqrt((tri_v(1, 3) - tri_v(1, 2))**2 + &
749+
(tri_v(2, 3) - tri_v(2, 2))**2 + &
750750
(tri_v(3, 3) - tri_v(3, 2))**2)
751-
edge_l(3) = dsqrt((tri_v(1, 1) - tri_v(1, 3))**2 + &
752-
(tri_v(2, 1) - tri_v(2, 3))**2 + &
751+
edge_l(3) = dsqrt((tri_v(1, 1) - tri_v(1, 3))**2 + &
752+
(tri_v(2, 1) - tri_v(2, 3))**2 + &
753753
(tri_v(3, 1) - tri_v(3, 3))**2)
754754

755755
if ((edge_l(1) > cell_width) .or. &
756-
(edge_l(2) > cell_width) .or. &
756+
(edge_l(2) > cell_width) .or. &
757757
(edge_l(3) > cell_width)) then
758758
interpolate = .true.
759759
end if
@@ -791,7 +791,7 @@ contains
791791
edge_y(2) = boundary_v(i, 2, 2)
792792

793793
! Compute the length of the edge
794-
edge_length = dsqrt((edge_x(2) - edge_x(1))**2 + &
794+
edge_length = dsqrt((edge_x(2) - edge_x(1))**2 + &
795795
(edge_y(2) - edge_y(1))**2)
796796

797797
! Determine the number of segments
@@ -818,7 +818,7 @@ contains
818818
edge_y(2) = boundary_v(i, 2, 2)
819819

820820
! Compute the length of the edge
821-
edge_length = dsqrt((edge_x(2) - edge_x(1))**2 + &
821+
edge_length = dsqrt((edge_x(2) - edge_x(1))**2 + &
822822
(edge_y(2) - edge_y(1))**2)
823823

824824
! Determine the number of segments and interpolation step
@@ -896,7 +896,7 @@ contains
896896
tri(2, 3) = model%trs(i)%v(mod(j, 3) + 1, 3)
897897

898898
! Compute the length of the edge
899-
edge_length = dsqrt((tri(2, 1) - tri(1, 1))**2 + &
899+
edge_length = dsqrt((tri(2, 1) - tri(1, 1))**2 + &
900900
(tri(2, 2) - tri(1, 2))**2 + &
901901
(tri(2, 3) - tri(1, 3))**2)
902902

@@ -943,7 +943,7 @@ contains
943943
tri(2, 3) = model%trs(i)%v(mod(j, 3) + 1, 3)
944944

945945
! Compute the length of the edge
946-
edge_length = dsqrt((tri(2, 1) - tri(1, 1))**2 + &
946+
edge_length = dsqrt((tri(2, 1) - tri(1, 1))**2 + &
947947
(tri(2, 2) - tri(1, 2))**2 + &
948948
(tri(2, 3) - tri(1, 3))**2)
949949

@@ -1034,13 +1034,13 @@ contains
10341034
tri(j, 2) = model%trs(i)%v(j, 2)
10351035
tri(j, 3) = model%trs(i)%v(j, 3)
10361036
dist_buffer(j) = dsqrt((point(1) - tri(j, 1))**2 + &
1037-
(point(2) - tri(j, 2))**2 + &
1038-
(point(3) - tri(j, 3))**2)
1037+
(point(2) - tri(j, 2))**2 + &
1038+
(point(3) - tri(j, 3))**2)
10391039
end do
1040-
1040+
10411041
! Get the surface center of each triangle facet
10421042
do j = 1, 3
1043-
midp(j) = (tri(1, j) + tri(2, j)+ tri(3, j))/3
1043+
midp(j) = (tri(1, j) + tri(2, j) + tri(3, j))/3
10441044
end do
10451045

10461046
dist_t_min = minval(dist_buffer(1:3))
@@ -1163,7 +1163,7 @@ contains
11631163
do i = 1, total_vertices
11641164
dist_buffer = dsqrt((point(1) - interpolated_boundary_v(i, 1))**2 + &
11651165
(point(2) - interpolated_boundary_v(i, 2))**2 + &
1166-
(point(3)- interpolated_boundary_v(i, 3))**2)
1166+
(point(3) - interpolated_boundary_v(i, 3))**2)
11671167

11681168
if (min_dist > dist_buffer) then
11691169
min_dist = dist_buffer

0 commit comments

Comments
 (0)