Returns values of the coulomb log based on electron density and temperature variables (and optionally ionization). The passed indices are assumed to be in T,n,Z order if ee or ei logarithm, or in n1,n2,T1,T2 order if ii logarithm. Assumes that density is normalized to m^{-3} units, and temperature to eV.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
logical, | private | :: | electronLog |
If true returns the electron-electron Coulomb log instead of the electron-ion log. Default is false |
|||
logical, | private | :: | ionLog |
If true returns the ion-ion Coulomb log instead of the electron-ion log. Default is false |
|||
logical, | private | :: | removeLogLeiDiscontinuity |
If true and this is a logLei derivation will remove the logLei discontinuity at 10Z*2 eV |
|||
real(kind=rk), | private | :: | ionZ |
The ion Z used if no ionization variable is passed, or if calculating ion-ion logarithm |
|||
real(kind=rk), | private | :: | ionZ2 |
The second ion Z used if calculating ion-ion logarithm (Defaults to ionZ) |
|||
real(kind=rk), | private | :: | ionMassRatio |
Mass ratio used if calculating ion-ion logarithm (Defaults to 1) |
|||
integer(kind=ik), | private | :: | locNumX |
Local number of cells (used to avoid dividing by zero in ghost/halo cells) |
|||
real(kind=rk), | private | :: | densNorm |
Density normalization |
|||
real(kind=rk), | private | :: | tempNorm |
Temperature normalization |
Getter for userDefined
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Object), | intent(in) | :: | this |
Set userDefined to .true.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Object), | intent(inout) | :: | this |
Set userDefined to .false.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Object), | intent(inout) | :: | this |
Initialize Coulomb Log derivation object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(CoulombLogDerivation), | intent(inout) | :: | this | |||
real(kind=rk), | intent(in) | :: | ionZ | |||
integer(kind=ik), | intent(in) | :: | locNumX | |||
real(kind=rk), | intent(in) | :: | densNorm | |||
real(kind=rk), | intent(in) | :: | tempNorm | |||
logical, | intent(in), | optional | :: | electronLog | ||
logical, | intent(in), | optional | :: | ionLog | ||
real(kind=rk), | intent(in), | optional | :: | ionZ2 | ||
real(kind=rk), | intent(in), | optional | :: | ionMassRatio | ||
logical, | intent(in), | optional | :: | removeLogLeiDiscontinuity |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(CoulombLogDerivation), | intent(inout) | :: | this | |||
type(RealArray), | intent(in), | dimension(:) | :: | inputArray | ||
integer(kind=ik), | intent(in), | dimension(:) | :: | indices |