Skip to content

Commit 7f097fa

Browse files
committed
Fix indentation of subroutine GetSFCElementsPartition
1 parent 6e21e9e commit 7f097fa

1 file changed

Lines changed: 68 additions & 70 deletions

File tree

Solver/src/libs/mesh/MeshPartitioning.f90

Lines changed: 68 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -394,8 +394,8 @@ subroutine GetSFCElementsPartition(mesh, no_of_domains, no_of_elements, elements
394394
integer, intent(in) :: no_of_elements
395395
integer, intent(inout) :: elementsDomain(no_of_elements)
396396
logical, intent(in) :: useWeights
397-
integer, intent(in) :: eID_Order(:)
398-
integer, intent(in) :: nElementLevel(:)
397+
integer, intent(in) :: eID_Order(:)
398+
integer, intent(in) :: nElementLevel(:)
399399
!-local-variables--------------------------------------------
400400
integer :: elems_per_domain(no_of_domains)
401401
integer :: biggerdomains
@@ -404,83 +404,81 @@ subroutine GetSFCElementsPartition(mesh, no_of_domains, no_of_elements, elements
404404
integer :: dof_per_domain(no_of_domains), start_index(no_of_domains+1)
405405
logical :: needWeights =.false.
406406
integer, allocatable, target :: weights(:)
407-
integer :: nLevel, i
408-
integer, allocatable :: bufferDomain(:)
407+
integer :: nLevel, i
408+
integer, allocatable :: bufferDomain(:)
409409
!------------------------------------------------------------
410-
nLevel = size(nElementLevel)
410+
nLevel = size(nElementLevel)
411411
if (useWeights) then
412-
allocate(weights(no_of_elements))
413-
do ielem=1,no_of_elements
414-
weights(ielem) = product(mesh % elements(ielem) % Nxyz + 1)
415-
end do
416-
if (maxval(weights) .eq. minval(weights)) then
417-
needWeights = .false.
418-
deallocate(weights)
419-
elseif (nLevel.gt.1) then
420-
needWeights = .false.
421-
deallocate(weights)
422-
else
423-
needWeights = .true.
424-
ndof = sum(weights)
425-
endif
412+
allocate(weights(no_of_elements))
413+
do ielem=1,no_of_elements
414+
weights(ielem) = product(mesh % elements(ielem) % Nxyz + 1)
415+
end do
416+
if (maxval(weights) .eq. minval(weights)) then
417+
needWeights = .false.
418+
deallocate(weights)
419+
elseif (nLevel.gt.1) then
420+
needWeights = .false.
421+
deallocate(weights)
422+
else
423+
needWeights = .true.
424+
ndof = sum(weights)
425+
endif
426+
end if
427+
first = 1
428+
do i=1,nLevel
429+
elems_per_domain = 0
430+
elems_per_domain = nElementLevel(i) / no_of_domains
431+
biggerdomains = mod(nElementLevel(i),no_of_domains)
432+
elems_per_domain(1:biggerdomains) = elems_per_domain(1:biggerdomains) + 1
433+
434+
do domain = 1, no_of_domains
435+
last = first + elems_per_domain(domain) - 1
436+
elementsDomain(first:last) = domain
437+
first = last + 1
438+
end do
439+
end do
440+
if (nLevel.gt.1) then
441+
allocate(bufferDomain(mesh % no_of_elements))
442+
bufferDomain = elementsDomain
443+
do i=1, mesh % no_of_elements
444+
elementsDomain(eID_Order(i)) = bufferDomain(i)
445+
end do
446+
deallocate(bufferDomain)
426447
end if
427-
first = 1
428-
do i=1,nLevel
429-
elems_per_domain = 0
430-
elems_per_domain = nElementLevel(i) / no_of_domains
431-
biggerdomains = mod(nElementLevel(i),no_of_domains)
432-
elems_per_domain(1:biggerdomains) = elems_per_domain(1:biggerdomains) + 1
433-
434-
do domain = 1, no_of_domains
435-
last = first + elems_per_domain(domain) - 1
436-
elementsDomain(first:last) = domain
437-
first = last + 1
438-
end do
439-
end do
440-
if (nLevel.gt.1) then
441-
allocate(bufferDomain(mesh % no_of_elements))
442-
bufferDomain = elementsDomain
443-
do i=1, mesh % no_of_elements
444-
elementsDomain(eID_Order(i)) = bufferDomain(i)
445-
end do
446-
deallocate(bufferDomain)
447-
end if
448448
if (needWeights) then
449+
max_dof = ndof / no_of_domains
450+
start_index = 1
451+
do domain = 1, no_of_domains
452+
start_index(domain+1) = start_index(domain) + elems_per_domain(domain)
453+
end do
449454

450-
max_dof = ndof / no_of_domains
451-
start_index = 1
452-
do domain = 1, no_of_domains
453-
start_index(domain+1) = start_index(domain) + elems_per_domain(domain)
454-
end do
455-
456-
do domain = 1, no_of_domains-1
457-
if (start_index(domain) .ge. start_index(domain+1)) start_index(domain+1) = start_index(domain) + 1
458-
dof_in_domain = sum(weights(start_index(domain):start_index(domain+1)))
459-
do ielem=1,no_of_elements
460-
if (dof_in_domain .lt. max_dof) then
461-
start_index(domain+1) = start_index(domain+1) + 1
462-
dof_in_domain = sum(weights(start_index(domain):start_index(domain+1)))
463-
if (abs(dof_in_domain-max_dof) .le. abs(dof_in_domain-max_dof+weights(start_index(domain+1)+1))) exit
464-
else
465-
start_index(domain+1) = start_index(domain+1) - 1
466-
dof_in_domain = sum(weights(start_index(domain):start_index(domain+1)))
467-
if (abs(dof_in_domain-max_dof) .le. abs(dof_in_domain-max_dof-weights(start_index(domain+1)-1))) exit
468-
end if
469-
end do
470-
end do
471-
472-
dof_per_domain = 0
473-
do domain = 1, no_of_domains
474-
dof_per_domain(domain) = sum(weights(start_index(domain):start_index(domain+1)-1))
475-
end do
455+
do domain = 1, no_of_domains-1
456+
if (start_index(domain) .ge. start_index(domain+1)) start_index(domain+1) = start_index(domain) + 1
457+
dof_in_domain = sum(weights(start_index(domain):start_index(domain+1)))
458+
do ielem=1,no_of_elements
459+
if (dof_in_domain .lt. max_dof) then
460+
start_index(domain+1) = start_index(domain+1) + 1
461+
dof_in_domain = sum(weights(start_index(domain):start_index(domain+1)))
462+
if (abs(dof_in_domain-max_dof) .le. abs(dof_in_domain-max_dof+weights(start_index(domain+1)+1))) exit
463+
else
464+
start_index(domain+1) = start_index(domain+1) - 1
465+
dof_in_domain = sum(weights(start_index(domain):start_index(domain+1)))
466+
if (abs(dof_in_domain-max_dof) .le. abs(dof_in_domain-max_dof-weights(start_index(domain+1)-1))) exit
467+
end if
468+
end do
469+
end do
476470

477-
do domain = 1, no_of_domains
478-
elementsDomain(start_index(domain):start_index(domain+1)-1) = domain
479-
end do
471+
dof_per_domain = 0
472+
do domain = 1, no_of_domains
473+
dof_per_domain(domain) = sum(weights(start_index(domain):start_index(domain+1)-1))
474+
end do
480475

476+
do domain = 1, no_of_domains
477+
elementsDomain(start_index(domain):start_index(domain+1)-1) = domain
478+
end do
481479
end if
482480

483-
if (allocated(weights)) deallocate(weights)
481+
if (allocated(weights)) deallocate(weights)
484482
end subroutine GetSFCElementsPartition
485483
!
486484
!///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

0 commit comments

Comments
 (0)