resolve_sheath_reference_plane Subroutine

public subroutine resolve_sheath_reference_plane(sim, inject_face, axis, reference_coordinate, inward_normal)

Arguments

Type IntentOptional Attributes Name
type(sim_config), intent(in) :: sim
character(len=*), intent(in) :: inject_face
integer, intent(out) :: axis
real(kind=dp), intent(out) :: reference_coordinate
real(kind=dp), intent(out) :: inward_normal(3)

Calls

proc~~resolve_sheath_reference_plane~~CallsGraph proc~resolve_sheath_reference_plane resolve_sheath_reference_plane proc~resolve_inject_face resolve_inject_face proc~resolve_sheath_reference_plane->proc~resolve_inject_face proc~resolve_inward_normal resolve_inward_normal proc~resolve_sheath_reference_plane->proc~resolve_inward_normal proc~lower_ascii lower_ascii proc~resolve_inject_face->proc~lower_ascii proc~resolve_inward_normal->proc~lower_ascii

Called by

proc~~resolve_sheath_reference_plane~~CalledByGraph proc~resolve_sheath_reference_plane resolve_sheath_reference_plane proc~resolve_sheath_injection_context resolve_sheath_injection_context proc~resolve_sheath_injection_context->proc~resolve_sheath_reference_plane 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_sheath_reference_plane(sim, inject_face, axis, reference_coordinate, inward_normal)
    type(sim_config), intent(in) :: sim
    character(len=*), intent(in) :: inject_face
    integer, intent(out) :: axis
    real(dp), intent(out) :: reference_coordinate
    real(dp), intent(out) :: inward_normal(3)
    real(dp) :: boundary_value

    call resolve_inward_normal(inject_face, inward_normal)
    call resolve_inject_face(sim%box_min, sim%box_max, inject_face, axis, boundary_value)
    if (sim%has_sheath_reference_coordinate) then
      reference_coordinate = sim%sheath_reference_coordinate
    else
      reference_coordinate = boundary_value
    end if
  end subroutine resolve_sheath_reference_plane