CLogee Function

public function CLogee(v, ne, Te)

Arguments

Type IntentOptional AttributesName
real(kind=rp), intent(in) :: v
real(kind=rp), intent(in) :: ne

ne is in m^-3 and below is converted to cm^-3

real(kind=rp), intent(in) :: Te

Return Value real(kind=rp)


Calls

proc~~clogee~~CallsGraph proc~clogee CLogee proc~clog0 CLog0 proc~clogee->proc~clog0 proc~vte VTe proc~clogee->proc~vte

Called by

proc~~clogee~~CalledByGraph proc~clogee CLogee proc~cf_fio CF_FIO proc~cf_fio->proc~clogee proc~cf_sd_fio CF_SD_FIO proc~cf_sd_fio->proc~clogee proc~gammacee Gammacee proc~cf_sd_fio->proc~gammacee proc~cf CF proc~cf->proc~clogee proc~gammacee->proc~clogee proc~cf_sd CF_SD proc~cf_sd->proc~clogee proc~cf_sd->proc~gammacee proc~cb_ei_sd CB_ei_SD proc~cb_ei_sd->proc~clogee proc~cb_ei_sd->proc~gammacee proc~cb_ei_sd_fio CB_ei_SD_FIO proc~cb_ei_sd_fio->proc~clogee proc~cb_ei_sd_fio->proc~gammacee proc~cb_ei_fio CB_ei_FIO proc~cb_ei_fio->proc~clogee proc~cb_ei CB_ei proc~cb_ei->proc~clogee proc~ca_sd CA_SD proc~ca_sd->proc~gammacee proc~nu_s_fio nu_S_FIO proc~nu_s_fio->proc~cf_fio proc~dca_sd dCA_SD proc~dca_sd->proc~gammacee proc~include_coulombcollisions_gc_p include_CoulombCollisions_GC_p proc~include_coulombcollisions_gc_p->proc~cf_sd_fio proc~include_coulombcollisions_gc_p->proc~cf_sd proc~include_coulombcollisions_gc_p->proc~cb_ei_sd proc~include_coulombcollisions_gc_p->proc~cb_ei_sd_fio proc~include_coulombcollisions_gc_p->proc~ca_sd proc~include_coulombcollisions_gc_p->proc~dca_sd proc~cb_ee_sd CB_ee_SD proc~include_coulombcollisions_gc_p->proc~cb_ee_sd proc~large_angle_source large_angle_source proc~large_angle_source->proc~gammacee proc~include_coulombcollisions_fo_p include_CoulombCollisions_FO_p proc~include_coulombcollisions_fo_p->proc~cf_sd proc~include_coulombcollisions_fo_p->proc~cb_ei_sd proc~include_coulombcollisions_fo_p->proc~ca_sd proc~include_coulombcollisions_fo_p->proc~dca_sd proc~include_coulombcollisions_fo_p->proc~cb_ee_sd proc~include_coulombcollisionsla_gc_p include_CoulombCollisionsLA_GC_p proc~include_coulombcollisionsla_gc_p->proc~cf_sd_fio proc~include_coulombcollisionsla_gc_p->proc~cf_sd proc~include_coulombcollisionsla_gc_p->proc~cb_ei_sd proc~include_coulombcollisionsla_gc_p->proc~cb_ei_sd_fio proc~include_coulombcollisionsla_gc_p->proc~ca_sd proc~include_coulombcollisionsla_gc_p->proc~dca_sd proc~include_coulombcollisionsla_gc_p->proc~large_angle_source proc~include_coulombcollisionsla_gc_p->proc~cb_ee_sd proc~include_coulombcollisions_gcfio_p include_CoulombCollisions_GCfio_p proc~include_coulombcollisions_gcfio_p->proc~cf_sd_fio proc~include_coulombcollisions_gcfio_p->proc~cb_ei_sd_fio proc~include_coulombcollisions_gcfio_p->proc~ca_sd proc~include_coulombcollisions_gcfio_p->proc~dca_sd proc~include_coulombcollisions_gcfio_p->proc~cb_ee_sd proc~nu_d_fio nu_D_FIO proc~nu_d_fio->proc~cb_ei_fio proc~nu_s nu_S proc~nu_s->proc~cf proc~include_coulombcollisions_fofio_p include_CoulombCollisions_FOfio_p proc~include_coulombcollisions_fofio_p->proc~cf_sd proc~include_coulombcollisions_fofio_p->proc~cb_ei_sd proc~include_coulombcollisions_fofio_p->proc~ca_sd proc~include_coulombcollisions_fofio_p->proc~dca_sd proc~include_coulombcollisions_fofio_p->proc~cb_ee_sd proc~cb_ee_sd->proc~gammacee proc~nu_d nu_D proc~nu_d->proc~cb_ei proc~adv_gcinterp_psi_top adv_GCinterp_psi_top proc~adv_gcinterp_psi_top->proc~include_coulombcollisions_gc_p proc~advance_fpinterp_vars advance_FPinterp_vars proc~adv_gcinterp_psi_top->proc~advance_fpinterp_vars proc~advance_gcinterp_3dbdb1_vars advance_GCinterp_3DBdB1_vars proc~advance_gcinterp_3dbdb1_vars->proc~include_coulombcollisions_gc_p proc~advance_fp3deqn_vars advance_FP3Deqn_vars proc~advance_fp3deqn_vars->proc~include_coulombcollisions_fo_p proc~advance_fp3dinterp_vars advance_FP3Dinterp_vars proc~advance_fp3dinterp_vars->proc~include_coulombcollisions_fo_p proc~advance_gcinterp_psi2x1t_vars advance_GCinterp_psi2x1t_vars proc~advance_gcinterp_psi2x1t_vars->proc~include_coulombcollisions_gc_p proc~advance_fpinterp_vars->proc~include_coulombcollisions_gc_p proc~advance_gcinterp_3dbdb_vars advance_GCinterp_3DBdB_vars proc~advance_gcinterp_3dbdb_vars->proc~include_coulombcollisions_gc_p proc~define_collisions_time_step define_collisions_time_step proc~define_collisions_time_step->proc~nu_s_fio proc~define_collisions_time_step->proc~nu_d_fio proc~define_collisions_time_step->proc~nu_s proc~define_collisions_time_step->proc~nu_d proc~advance_fointerp_vars advance_FOinterp_vars proc~advance_fointerp_vars->proc~include_coulombcollisions_fo_p proc~advance_gcinterp_2dbdb_vars advance_GCinterp_2DBdB_vars proc~advance_gcinterp_2dbdb_vars->proc~include_coulombcollisions_gc_p proc~adv_gceqn_top adv_GCeqn_top proc~adv_gceqn_top->proc~include_coulombcollisions_gc_p proc~advance_fofio_vars advance_FOfio_vars proc~advance_fofio_vars->proc~include_coulombcollisions_fofio_p proc~advance_gcinterp_b_vars advance_GCinterp_B_vars proc~advance_gcinterp_b_vars->proc~include_coulombcollisions_gc_p proc~advance_fpeqn_vars advance_FPeqn_vars proc~advance_fpeqn_vars->proc~include_coulombcollisions_gc_p proc~advance_gcinterp_fio_vars advance_GCinterp_fio_vars proc~advance_gcinterp_fio_vars->proc~include_coulombcollisions_gcfio_p proc~advance_gcinterp_psi_vars_fs advance_GCinterp_psi_vars_FS proc~advance_gcinterp_psi_vars_fs->proc~include_coulombcollisions_gc_p proc~advance_gcinterp_b2d_vars advance_GCinterp_B2D_vars proc~advance_gcinterp_b2d_vars->proc~include_coulombcollisions_gc_p proc~advance_foeqn_vars advance_FOeqn_vars proc~advance_foeqn_vars->proc~include_coulombcollisions_fo_p proc~adv_gcinterp_psiwe_top adv_GCinterp_psiwE_top proc~adv_gcinterp_psiwe_top->proc~include_coulombcollisions_gc_p proc~adv_gcinterp_psi_top_fs adv_GCinterp_psi_top_FS proc~adv_gcinterp_psi_top_fs->proc~advance_fpinterp_vars proc~adv_fointerp_top adv_FOinterp_top proc~adv_fointerp_top->proc~advance_fp3dinterp_vars proc~adv_fointerp_top->proc~advance_fointerp_vars proc~adv_fofio_top adv_FOfio_top proc~adv_fofio_top->proc~advance_fp3dinterp_vars proc~adv_fofio_top->proc~advance_fofio_vars proc~adv_fointerp_mars_top adv_FOinterp_mars_top proc~adv_fointerp_mars_top->proc~advance_fointerp_vars program~main main program~main->proc~adv_gcinterp_psi_top program~main->proc~define_collisions_time_step program~main->proc~adv_gceqn_top program~main->proc~adv_gcinterp_psiwe_top program~main->proc~adv_gcinterp_psi_top_fs program~main->proc~adv_fointerp_top program~main->proc~adv_fofio_top program~main->proc~adv_fointerp_mars_top proc~adv_gcinterp_psi2x1t_top adv_GCinterp_psi2x1t_top program~main->proc~adv_gcinterp_psi2x1t_top proc~adv_gcinterp_b_top adv_GCinterp_B_top program~main->proc~adv_gcinterp_b_top proc~adv_foeqn_top adv_FOeqn_top program~main->proc~adv_foeqn_top proc~adv_gcinterp_3dbdb_top adv_GCinterp_3DBdB_top program~main->proc~adv_gcinterp_3dbdb_top proc~adv_fointerp_aorsa_top adv_FOinterp_aorsa_top program~main->proc~adv_fointerp_aorsa_top proc~adv_gcinterp_3dbdb1_top adv_GCinterp_3DBdB1_top program~main->proc~adv_gcinterp_3dbdb1_top proc~adv_gcinterp_2dbdb_top adv_GCinterp_2DBdB_top program~main->proc~adv_gcinterp_2dbdb_top proc~adv_gcinterp_b2d_top adv_GCinterp_B2D_top program~main->proc~adv_gcinterp_b2d_top proc~adv_gcinterp_psi2x1t_top->proc~advance_fpinterp_vars proc~adv_gcinterp_b_top->proc~advance_fpinterp_vars proc~adv_foeqn_top->proc~advance_fp3deqn_vars proc~adv_foeqn_top->proc~advance_foeqn_vars proc~adv_gcinterp_3dbdb_top->proc~advance_fpinterp_vars proc~adv_fointerp_aorsa_top->proc~advance_fointerp_vars proc~adv_gcinterp_3dbdb1_top->proc~advance_fpinterp_vars proc~adv_gcinterp_2dbdb_top->proc~advance_fpinterp_vars proc~adv_gcinterp_b2d_top->proc~advance_fpinterp_vars

Contents

Source Code


Source Code

  function CLogee(v,ne,Te)
    
    REAL(rp), INTENT(IN) 	:: v
    REAL(rp), INTENT(IN) 	:: ne
    !! ne is in m^-3 and below is converted to cm^-3
    REAL(rp), INTENT(IN) 	:: Te ! In Joules
    REAL(rp) 				:: CLogee
    REAL(rp)  :: k=5._rp
    REAL(rp)  :: gam
    REAL(rp) :: gam_min

    gam=1/sqrt(1-v**2)
    gam_min=cparams_ss%gam_min
    
    if (cparams_ss%Clog_model.eq.'HESSLOW') then
       CLogee = CLog0(ne,Te)+ &
            log(1+(2*(gam-1)/VTe(Te)**2)**(k/2._rp))/k
       
    else if (cparams_ss%Clog_model.eq.'CONSTANT') then
       CLogee = cparams_ss%Clog_const
       
    else if (cparams_ss%Clog_model.eq.'MCDEVITT') then
       CLogee = CLog0(ne,Te)+ &
            log(1+(2*(gam-1)/VTe(Te)**2)**(k/2._rp))/k+ &
            log(sqrt(2*(gam_min-1._rp)/(gam-1._rp)))
    end if

!    write(output_unit_write,*) gam,CLogee
  end function CLogee