
Houses Chang-Cooper-Langdon diffusion coefficient derivation
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CCLDiffDerivation), | intent(inout) | :: | this | |||
| type(RealArray), | intent(in), | dimension(:) | :: | inputArray | ||
| integer(kind=ik), | intent(in), | dimension(:) | :: | indices |
Initialize Chang-Cooper-Langdon diffusion coefficient derivation
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CCLDiffDerivation), | intent(inout) | :: | this | |||
| type(VSpace), | intent(in) | :: | vSpaceObj |
Calculates the Chang-Cooper-Langdon diffusion coefficient for f0 Coulomb collisions assuming that the passed variables are the single harmonic f0 and the ccl interpolation weight
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
| real(kind=rk), | private, | allocatable, dimension(:) | :: | v2dv |
v^2 dv vector used for outer integration |
||
| real(kind=rk), | private, | allocatable, dimension(:) | :: | vdvPlus |
v_{m+1/2}(v_{m+1}-v_m) vector used for inner integration |
||
| real(kind=rk), | private, | allocatable, dimension(:) | :: | vStar |
(v_m+v_{m+1})/2 vector |
||
| integer(kind=ik), | private | :: | numV |
| procedure, public :: isDefined => isDefinedObject | |
| procedure, public :: makeDefined => makeDefinedObject | |
| procedure, public :: makeUndefined => makeUndefinedObject | |
| procedure, public :: init => initCCLDiff | |
| procedure, public :: calculate => calculateCCLDiff |