resolve_inject_face Subroutine

public subroutine resolve_inject_face(box_min, box_max, inject_face, axis, boundary_value)

注入面識別子から法線軸と対応境界座標を返す。

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: box_min(3)
real(kind=dp), intent(in) :: box_max(3)
character(len=*), intent(in) :: inject_face
integer, intent(out) :: axis
real(kind=dp), intent(out) :: boundary_value

Calls

proc~~resolve_inject_face~~CallsGraph proc~resolve_inject_face resolve_inject_face proc~lower_ascii lower_ascii proc~resolve_inject_face->proc~lower_ascii

Called by

proc~~resolve_inject_face~~CalledByGraph proc~resolve_inject_face resolve_inject_face proc~resolve_sheath_reference_plane resolve_sheath_reference_plane proc~resolve_sheath_reference_plane->proc~resolve_inject_face proc~sample_zhao_reservoir_state sample_zhao_reservoir_state proc~sample_zhao_reservoir_state->proc~resolve_inject_face proc~resolve_sheath_injection_context resolve_sheath_injection_context proc~resolve_sheath_injection_context->proc~resolve_sheath_reference_plane proc~resolve_sheath_injection_context->proc~sample_zhao_reservoir_state proc~init_particle_batch_from_config init_particle_batch_from_config proc~init_particle_batch_from_config->proc~resolve_sheath_injection_context

Source Code

  subroutine resolve_inject_face(box_min, box_max, inject_face, axis, boundary_value)
    real(dp), intent(in) :: box_min(3), box_max(3)
    character(len=*), intent(in) :: inject_face
    integer, intent(out) :: axis
    real(dp), intent(out) :: boundary_value

    select case (trim(lower_ascii(inject_face)))
    case ('x_low')
      axis = 1; boundary_value = box_min(1)
    case ('x_high')
      axis = 1; boundary_value = box_max(1)
    case ('y_low')
      axis = 2; boundary_value = box_min(2)
    case ('y_high')
      axis = 2; boundary_value = box_max(2)
    case ('z_low')
      axis = 3; boundary_value = box_min(3)
    case ('z_high')
      axis = 3; boundary_value = box_max(3)
    case default
      error stop 'Unknown particles.species.inject_face.'
    end select
  end subroutine resolve_inject_face