periodic_bc Subroutine

private subroutine periodic_bc(face)

Single block periodic boundary condition. Not to be used for multiblock boundary condition

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: face

Called by

proc~~periodic_bc~~CalledByGraph proc~periodic_bc periodic_bc proc~populate_ghost_primitive populate_ghost_primitive proc~populate_ghost_primitive->proc~periodic_bc proc~get_total_conservative_residue get_total_conservative_Residue proc~get_total_conservative_residue->proc~populate_ghost_primitive proc~get_next_solution get_next_solution proc~get_next_solution->proc~get_total_conservative_residue proc~iterate_one_more_time_step iterate_one_more_time_step proc~iterate_one_more_time_step->proc~get_next_solution program~main main program~main->proc~iterate_one_more_time_step

Contents

Source Code


Source Code

    subroutine periodic_bc(face)
      !< Single block periodic boundary condition.
      !< Not to be used for multiblock boundary condition
      implicit none
      character(len=*), intent(in) :: face

      select case(trim(face))

        case('imin')
          qp(-2:0,:,:,:) = qp(imx-3:imx-1,:,:,:)

        case('imax')
          qp(imx:imx+2,:,:,:) = qp(1:3,:,:,:)

        case('jmin')
          qp(:,-2:0,:,:) =   qp(:,jmx-3:jmx-1,:,:)

        case('jmax')
          qp(:,jmx:jmx+2,:,:) = qp(:,1:3,:,:)

        case('kmin')
          qp(:,:,-2:0,:) = qp(:,:,kmx-3:kmx-1,:)

        case('kmax')
          qp(:,:,kmx:kmx+2,:) = qp(:,:,1:3,:)

        case Default
          Fatal_error

      end select

    end subroutine periodic_bc