xref: /phasta/phSolver/common/perprep.f (revision 7acde132a6def0fe2daaec0d1a712dff0e5c6636)
159599516SKenneth E. Jansen        module periodicity
259599516SKenneth E. Jansen
359599516SKenneth E. Jansen        real*8, allocatable :: rcount(:)
459599516SKenneth E. Jansen        end module
559599516SKenneth E. Jansen
659599516SKenneth E. Jansen
759599516SKenneth E. Jansen       subroutine setper (nshg)
859599516SKenneth E. Jansen
959599516SKenneth E. Jansen       use periodicity
1059599516SKenneth E. Jansen
1159599516SKenneth E. Jansen       allocate (rcount(nshg))
1259599516SKenneth E. Jansen
1359599516SKenneth E. Jansen       return
1459599516SKenneth E. Jansen       end
1559599516SKenneth E. Jansen
16*bd5c8633SCameron Smith       subroutine clearper
17*bd5c8633SCameron Smith         use periodicity
18*bd5c8633SCameron Smith         if( allocated(rcount) ) then
19*bd5c8633SCameron Smith           deallocate(rcount)
20*bd5c8633SCameron Smith         endif
21*bd5c8633SCameron Smith       end
22*bd5c8633SCameron Smith
2359599516SKenneth E. Jansen       subroutine perprep (iBC, iper,nshg)
2459599516SKenneth E. Jansen
2559599516SKenneth E. Jansen       use periodicity
2659599516SKenneth E. Jansen
2759599516SKenneth E. Jansen       dimension iBC(nshg),
2859599516SKenneth E. Jansen     &           iper(nshg)
2959599516SKenneth E. Jansen
3059599516SKenneth E. Jansenc
3159599516SKenneth E. Jansenc..... calculate the inverse of the number of slaves + 1
3259599516SKenneth E. Jansenc
3359599516SKenneth E. Jansen       one=1.00000000000
3459599516SKenneth E. Jansen       rcount=one
3559599516SKenneth E. Jansen       do j = 1,nshg
3659599516SKenneth E. Jansen          if (btest(iBC(j),10)) then
3759599516SKenneth E. Jansen             i = iper(j)
3859599516SKenneth E. Jansen             rcount(i) = rcount(i) + one
3959599516SKenneth E. Jansen          endif
4059599516SKenneth E. Jansen       enddo
4159599516SKenneth E. Jansen       do k=1,nshg
4259599516SKenneth E. Jansen          if(rcount(k).ne.one) then
4359599516SKenneth E. Jansen             rcount(k)=one/rcount(k)
4459599516SKenneth E. Jansen          endif
4559599516SKenneth E. Jansen       enddo
4659599516SKenneth E. Jansen
4759599516SKenneth E. Jansenc
4859599516SKenneth E. Jansenc.... return
4959599516SKenneth E. Jansenc
5059599516SKenneth E. Jansen       return
5159599516SKenneth E. Jansen       end
52