CB_ei_SD Function

private function CB_ei_SD(params, v, ne, Te, Zeff)

Arguments

Type IntentOptional AttributesName
type(KORC_PARAMS), intent(in) :: params
real(kind=rp), intent(in) :: v
real(kind=rp), intent(in) :: ne
real(kind=rp), intent(in) :: Te
real(kind=rp), intent(in) :: Zeff

Return Value real(kind=rp)


Calls

proc~~cb_ei_sd~~CallsGraph proc~cb_ei_sd CB_ei_SD proc~vte VTe proc~cb_ei_sd->proc~vte proc~clogei CLogei proc~cb_ei_sd->proc~clogei proc~g_j g_j proc~cb_ei_sd->proc~g_j proc~gammacee Gammacee proc~cb_ei_sd->proc~gammacee proc~clogee CLogee proc~cb_ei_sd->proc~clogee proc~clogei->proc~vte proc~clog0 CLog0 proc~clogei->proc~clog0 proc~gammacee->proc~clogee proc~clogee->proc~vte proc~clogee->proc~clog0

Called by

proc~~cb_ei_sd~~CalledByGraph proc~cb_ei_sd CB_ei_SD proc~include_coulombcollisionsla_gc_p include_CoulombCollisionsLA_GC_p proc~include_coulombcollisionsla_gc_p->proc~cb_ei_sd proc~include_coulombcollisions_gc_p include_CoulombCollisions_GC_p proc~include_coulombcollisions_gc_p->proc~cb_ei_sd proc~include_coulombcollisions_fo_p include_CoulombCollisions_FO_p proc~include_coulombcollisions_fo_p->proc~cb_ei_sd proc~include_coulombcollisions_fofio_p include_CoulombCollisions_FOfio_p proc~include_coulombcollisions_fofio_p->proc~cb_ei_sd proc~advance_fpeqn_vars advance_FPeqn_vars proc~advance_fpeqn_vars->proc~include_coulombcollisions_gc_p 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_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~advance_gcinterp_3dbdb1_vars advance_GCinterp_3DBdB1_vars proc~advance_gcinterp_3dbdb1_vars->proc~include_coulombcollisions_gc_p proc~advance_gcinterp_b_vars advance_GCinterp_B_vars proc~advance_gcinterp_b_vars->proc~include_coulombcollisions_gc_p proc~advance_fp3dinterp_vars advance_FP3Dinterp_vars proc~advance_fp3dinterp_vars->proc~include_coulombcollisions_fo_p proc~advance_fointerp_vars advance_FOinterp_vars proc~advance_fointerp_vars->proc~include_coulombcollisions_fo_p proc~advance_fofio_vars advance_FOfio_vars proc~advance_fofio_vars->proc~include_coulombcollisions_fofio_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_fp3deqn_vars advance_FP3Deqn_vars proc~advance_fp3deqn_vars->proc~include_coulombcollisions_fo_p proc~advance_gcinterp_b2d_vars advance_GCinterp_B2D_vars proc~advance_gcinterp_b2d_vars->proc~include_coulombcollisions_gc_p proc~advance_gcinterp_psi2x1t_vars advance_GCinterp_psi2x1t_vars proc~advance_gcinterp_psi2x1t_vars->proc~include_coulombcollisions_gc_p proc~advance_gcinterp_2dbdb_vars advance_GCinterp_2DBdB_vars proc~advance_gcinterp_2dbdb_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~adv_gceqn_top adv_GCeqn_top proc~adv_gceqn_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~adv_gcinterp_psiwe_top program~main->proc~adv_gceqn_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_fointerp_aorsa_top adv_FOinterp_aorsa_top program~main->proc~adv_fointerp_aorsa_top proc~adv_gcinterp_3dbdb_top adv_GCinterp_3DBdB_top program~main->proc~adv_gcinterp_3dbdb_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_foeqn_vars proc~adv_foeqn_top->proc~advance_fp3deqn_vars proc~adv_fointerp_aorsa_top->proc~advance_fointerp_vars proc~adv_gcinterp_3dbdb_top->proc~advance_fpinterp_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 CB_ei_SD(params,v,ne,Te,Zeff)
    TYPE(KORC_PARAMS), INTENT(IN) 	:: params
    REAL(rp), INTENT(IN) 	:: v
    REAL(rp), INTENT(IN) 	:: ne
    REAL(rp), INTENT(IN) 	:: Te
    REAL(rp), INTENT(IN) 	:: Zeff
    REAL(rp) 				:: CB_ei_SD
    REAL(rp) 				:: CB_ei_temp
    REAL(rp) 				:: x
    INTEGER :: i

    x = v/VTe(Te)
    CB_ei_SD  = (0.5_rp*Gammacee(v,ne,Te)/v)* &
         (Zeff*CLogei(v,ne,Te)/CLogee(v,ne,Te))

    if (params%bound_electron_model.eq.'HESSLOW') then
       CB_ei_temp=CB_ei_SD
       if ((cparams_ms%Zj(1).eq.0.0).and. &
            (neut_prof.eq.'UNIFORM')) then
          CB_ei_temp=CB_ei_temp+CB_ei_SD*cparams_ms%nz(1)/(ne* &
               Zeff*CLogei(v,ne,Te))*g_j(1,v)
       else if ((cparams_ms%Zj(1).eq.0.0).and. &
            (neut_prof.eq.'HOLLOW')) then
          CB_ei_temp=CB_ei_temp+CB_ei_SD*max(cparams_ms%nz(1)-ne,0._rp)/(ne* &
               Zeff*CLogei(v,ne,Te))*g_j(1,v)
       else
          CB_ei_temp=CB_ei_temp+CB_ei_SD*cparams_ms%nz(1)/(cparams_ms%ne* &
               Zeff*CLogei(v,ne,Te))*g_j(1,v)
       endif
       
       do i=2,cparams_ms%num_impurity_species
          CB_ei_temp=CB_ei_temp+CB_ei_SD*cparams_ms%nz(i)/(cparams_ms%ne* &
               Zeff*CLogei(v,ne,Te))*g_j(i,v)
       end do
       CB_ei_SD=CB_ei_temp
       
    else if (params%bound_electron_model.eq.'ROSENBLUTH') then
       CB_ei_temp=CB_ei_SD
       do i=1,cparams_ms%num_impurity_species
          CB_ei_temp=CB_ei_temp+CB_ei_SD*cparams_ms%nz(i)/cparams_ms%ne* &
               (cparams_ms%Zo(i)-cparams_ms%Zj(i))/2._rp
       end do
       CB_ei_SD=CB_ei_temp
       
    end if
    
  end function CB_ei_SD