Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
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