reconstruct_boundary_state Subroutine

public subroutine reconstruct_boundary_state(qp, control, scheme, bc, dims)

Call reconstruction based on the flag and boundary condition

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(-2:dims%imx+2, -2:dims%jmx+2, -2:dims%kmx+2, 1:dims%n_var):: qp
type(controltype), intent(in) :: control
type(schemetype), intent(in) :: scheme
type(boundarytype), intent(in) :: bc
type(extent), intent(in) :: dims

Calls

proc~~reconstruct_boundary_state~~CallsGraph proc~reconstruct_boundary_state reconstruct_boundary_state proc~reconstruct_jmin reconstruct_jmin proc~reconstruct_boundary_state->proc~reconstruct_jmin proc~reconstruct_imax reconstruct_imax proc~reconstruct_boundary_state->proc~reconstruct_imax proc~reconstruct_imin reconstruct_imin proc~reconstruct_boundary_state->proc~reconstruct_imin proc~reconstruct_jmax reconstruct_jmax proc~reconstruct_boundary_state->proc~reconstruct_jmax proc~reconstruct_kmin reconstruct_kmin proc~reconstruct_boundary_state->proc~reconstruct_kmin proc~reconstruct_kmax reconstruct_kmax proc~reconstruct_boundary_state->proc~reconstruct_kmax debugcall debugcall proc~reconstruct_boundary_state->debugcall

Called by

proc~~reconstruct_boundary_state~~CalledByGraph proc~reconstruct_boundary_state reconstruct_boundary_state proc~get_total_conservative_residue get_total_conservative_Residue proc~get_total_conservative_residue->proc~reconstruct_boundary_state 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

    subroutine reconstruct_boundary_state(qp, control, scheme, bc, dims)
      !< Call reconstruction based on the flag and boundary condition

      implicit none
      type(extent), intent(in) :: dims
      real(wp), dimension(-2:dims%imx+2, -2:dims%jmx+2, -2:dims%kmx+2, 1:dims%n_var), intent(in) :: qp
      type(controltype), intent(in) :: control
      type(schemetype), intent(in) :: scheme
      type(boundarytype), intent(in) :: bc

      DebugCall('recons_boundary_state')

      imx = dims%imx
      jmx = dims%jmx
      kmx = dims%kmx

      n_var = control%n_var
      if (scheme%interpolant == 'ppm' .or. scheme%interpolant=='weno' .or. scheme%interpolant=='weno_NM') ppm_flag=1
      if (bc%imin_id==-7 .or. bc%jmin_id==-7 .or. bc%kmin_id==-7) ppm_flag=1
      if (bc%imax_id==-7 .or. bc%jmax_id==-7 .or. bc%kmax_id==-7) ppm_flag=1
      if(scheme%interpolant /='none')then
        if(bc%imin_id<0 .and. bc%imin_id/=-10)then
          DebugCall('recons_bndry_state: imin')
          call reconstruct_imin(qp, scheme, bc)
        end if
        if(bc%imax_id<0 .and. bc%imax_id/=-10)then
          DebugCall('recons_bndry_state: imax')
          call reconstruct_imax(qp, scheme, bc)
        end if
        if(bc%jmin_id<0 .and. bc%jmin_id/=-10)then
          DebugCall('recons_bndry_state: jmin')
          call reconstruct_jmin(qp, scheme, bc)
        end if
        if(bc%jmax_id<0 .and. bc%jmax_id/=-10)then
          DebugCall('recons_bndry_state: jmax')
          call reconstruct_jmax(qp, scheme, bc)
        end if
        if(bc%kmin_id<0 .and. bc%kmin_id/=-10)then
          DebugCall('recons_bndry_state: kmin')
          call reconstruct_kmin(qp, scheme, bc)
        end if
        if(bc%kmax_id<0 .and. bc%kmax_id/=-10)then
        DebugCall('recons_bndry_state: kmax')
          call reconstruct_kmax(qp, scheme, bc)
        end if
      end if

    end subroutine reconstruct_boundary_state