lagrangian_set_ApplyPeriodicity Subroutine

private pure subroutine lagrangian_set_ApplyPeriodicity(this)

Applies periodic boundary conditions.

Type Bound

lagrangian_set

Arguments

Type IntentOptional Attributes Name
class(lagrangian_set), intent(inout) :: this

A set of Lagrangian objects


Called by

proc~~lagrangian_set_applyperiodicity~~CalledByGraph proc~lagrangian_set_applyperiodicity lagrangian_set%lagrangian_set_ApplyPeriodicity proc~cdifs_obj_advancesolutionrp cdifs_obj_AdvanceSolutionRP proc~cdifs_obj_advancesolutionrp->proc~lagrangian_set_applyperiodicity proc~grans_obj_advancesolution grans_obj_AdvanceSolution proc~grans_obj_advancesolution->proc~lagrangian_set_applyperiodicity proc~setupcaseib SetUpCaseIB proc~setupcaseib->proc~lagrangian_set_applyperiodicity proc~setupcaseib~2 SetUpCaseIB proc~setupcaseib~2->proc~lagrangian_set_applyperiodicity proc~setupcaseib~3 SetUpCaseIB proc~setupcaseib~3->proc~lagrangian_set_applyperiodicity proc~setupcaseib~4 SetUpCaseIB proc~setupcaseib~4->proc~lagrangian_set_applyperiodicity proc~setupcasepp SetUpCasePP proc~setupcasepp->proc~lagrangian_set_applyperiodicity proc~setupcasepp~2 SetUpCasePP proc~setupcasepp~2->proc~lagrangian_set_applyperiodicity proc~setupcaserespart SetUpCaseResPart proc~setupcaserespart->proc~lagrangian_set_applyperiodicity proc~setupcaserespart~2 SetUpCaseResPart proc~setupcaserespart~2->proc~lagrangian_set_applyperiodicity proc~setupcaserp SetUpCaseRP proc~setupcaserp->proc~lagrangian_set_applyperiodicity proc~setupcaserp~2 SetUpCaseRP proc~setupcaserp~2->proc~lagrangian_set_applyperiodicity proc~setupcaserp~3 SetUpCaseRP proc~setupcaserp~3->proc~lagrangian_set_applyperiodicity interface~grans_obj_advancesolution grans_obj%grans_obj_AdvanceSolution interface~grans_obj_advancesolution->proc~grans_obj_advancesolution proc~cdifs_obj_advancesolution cdifs_obj_AdvanceSolution proc~cdifs_obj_advancesolution->proc~cdifs_obj_advancesolutionrp program~main main program~main->proc~setupcaserespart program~main~14 main program~main~14->proc~setupcaseib~4 program~main~2 main program~main~2->proc~setupcaseib program~main~2->proc~setupcaserp program~main~4 main program~main~4->proc~setupcaseib~2 program~main~4->proc~setupcaserp~2 program~main~6 main program~main~6->proc~setupcasepp program~main~6->proc~setupcaserp~3 program~main~7 main program~main~7->proc~setupcasepp~2 program~main~9 main program~main~9->proc~setupcaseib~3 program~main~9->proc~setupcaserespart~2 interface~cdifs_obj_advancesolution cdifs_obj%cdifs_obj_AdvanceSolution interface~cdifs_obj_advancesolution->proc~cdifs_obj_advancesolution

Source Code

    pure subroutine lagrangian_set_ApplyPeriodicity(this)
      !> Applies periodic boundary conditions.
      implicit none
      class(lagrangian_set), intent(inout) :: this                             !! A set of Lagrangian objects
      ! Work variable
      integer :: dir
      integer :: n

      do dir=1,3
        if (this%block%periods(dir)) then
          do n=1,this%count_
            this%p(n)%p(dir) = this%block%pmin(dir) + modulo(this%p(n)%p(dir)-this%block%pmin(dir),this%block%pmax(dir) - this%block%pmin(dir))
          end do
        end if
      end do

      return
    end subroutine lagrangian_set_ApplyPeriodicity