zhao_photo_emit_current_density Function

public function zhao_photo_emit_current_density(branch, phi0_v, phi_m_v, photo_charge_c, p) result(current_a_m2)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: branch
real(kind=dp), intent(in) :: phi0_v
real(kind=dp), intent(in) :: phi_m_v
real(kind=dp), intent(in) :: photo_charge_c
type(zhao_params_type), intent(in) :: p

Return Value real(kind=dp)


Called by

proc~~zhao_photo_emit_current_density~~CalledByGraph proc~zhao_photo_emit_current_density zhao_photo_emit_current_density proc~resolve_sheath_injection_context resolve_sheath_injection_context proc~resolve_sheath_injection_context->proc~zhao_photo_emit_current_density proc~init_particle_batch_from_config init_particle_batch_from_config proc~init_particle_batch_from_config->proc~resolve_sheath_injection_context

Source Code

  real(dp) function zhao_photo_emit_current_density(branch, phi0_v, phi_m_v, photo_charge_c, p) result(current_a_m2)
    character(len=1), intent(in) :: branch
    real(dp), intent(in) :: phi0_v, phi_m_v, photo_charge_c
    type(zhao_params_type), intent(in) :: p

    select case (branch)
    case ('A')
      current_a_m2 = abs(photo_charge_c)*p%n_phe0_m3*exp((phi_m_v - phi0_v)/p%t_phe_ev)*p%v_phe_th_mps/(2.0d0*sqrt(pi))
    case ('B')
      current_a_m2 = abs(photo_charge_c)*p%n_phe0_m3*exp(-phi0_v/p%t_phe_ev)*p%v_phe_th_mps/(2.0d0*sqrt(pi))
    case ('C')
      current_a_m2 = abs(photo_charge_c)*p%n_phe0_m3*p%v_phe_th_mps/(2.0d0*sqrt(pi))
    case default
      error stop 'Unexpected Zhao sheath branch.'
    end select
  end function zhao_photo_emit_current_density