configure_plane_source_box Subroutine

public pure subroutine configure_plane_source_box(spec, box_min, box_max)

plane_sourceの内部面をlegacy face samplerの仮想box境界へ写像する。

Arguments

Type IntentOptional Attributes Name
type(particle_species_spec), intent(in) :: spec
real(kind=dp), intent(inout) :: box_min(3)
real(kind=dp), intent(inout) :: box_max(3)

Calls

proc~~configure_plane_source_box~~CallsGraph proc~configure_plane_source_box configure_plane_source_box proc~lower_ascii lower_ascii proc~configure_plane_source_box->proc~lower_ascii

Source Code

  pure subroutine configure_plane_source_box(spec, box_min, box_max)
    type(particle_species_spec), intent(in) :: spec
    real(dp), intent(inout) :: box_min(3), box_max(3)
    integer(i32) :: axis

    select case (trim(lower_ascii(spec%inject_face)))
    case ('x_low')
      axis = 1_i32
      box_min(axis) = spec%pos_low(axis)
    case ('x_high')
      axis = 1_i32
      box_max(axis) = spec%pos_low(axis)
    case ('y_low')
      axis = 2_i32
      box_min(axis) = spec%pos_low(axis)
    case ('y_high')
      axis = 2_i32
      box_max(axis) = spec%pos_low(axis)
    case ('z_low')
      axis = 3_i32
      box_min(axis) = spec%pos_low(axis)
    case ('z_high')
      axis = 3_i32
      box_max(axis) = spec%pos_low(axis)
    case default
      error stop 'plane_source has invalid derived face.'
    end select
  end subroutine configure_plane_source_box