resolve_inward_normal Subroutine

public subroutine resolve_inward_normal(inject_face, inward_normal)

注入面識別子から内向き法線ベクトルを返す。

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: inject_face
real(kind=dp), intent(out) :: inward_normal(3)

Calls

proc~~resolve_inward_normal~~CallsGraph proc~resolve_inward_normal resolve_inward_normal proc~lower_ascii lower_ascii proc~resolve_inward_normal->proc~lower_ascii

Called by

proc~~resolve_inward_normal~~CalledByGraph proc~resolve_inward_normal resolve_inward_normal proc~resolve_reservoir_target_weight resolve_reservoir_target_weight proc~resolve_reservoir_target_weight->proc~resolve_inward_normal proc~resolve_sheath_reference_plane resolve_sheath_reference_plane proc~resolve_sheath_reference_plane->proc~resolve_inward_normal proc~init_particle_batch_from_config init_particle_batch_from_config proc~init_particle_batch_from_config->proc~resolve_reservoir_target_weight proc~resolve_sheath_injection_context resolve_sheath_injection_context proc~init_particle_batch_from_config->proc~resolve_sheath_injection_context proc~resolve_sheath_injection_context->proc~resolve_sheath_reference_plane

Source Code

  subroutine resolve_inward_normal(inject_face, inward_normal)
    character(len=*), intent(in) :: inject_face
    real(dp), intent(out) :: inward_normal(3)

    inward_normal = 0.0d0
    select case (trim(lower_ascii(inject_face)))
    case ('x_low')
      inward_normal(1) = 1.0d0
    case ('x_high')
      inward_normal(1) = -1.0d0
    case ('y_low')
      inward_normal(2) = 1.0d0
    case ('y_high')
      inward_normal(2) = -1.0d0
    case ('z_low')
      inward_normal(3) = 1.0d0
    case ('z_high')
      inward_normal(3) = -1.0d0
    case default
      error stop 'Unknown particles.species.inject_face.'
    end select
  end subroutine resolve_inward_normal