
Houses Shkarofsky I and J integral derivation object
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(IJIntDerivation), | intent(inout) | :: | this | |||
| type(RealArray), | intent(in), | dimension(:) | :: | inputArray | ||
| integer(kind=ik), | intent(in), | dimension(:) | :: | indices |
Initialize Shkarofsky I/J integral derivation derivation
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(IJIntDerivation), | intent(inout) | :: | this | |||
| type(VSpace), | intent(in) | :: | vSpaceObj | |||
| integer(kind=ik), | intent(in) | :: | ind |
Index of indegral |
||
| logical, | intent(in), | optional | :: | isJInt |
If true the lower triangular J integral is calculated instead of the I integral. Defaults to false. |
Calculates the Shkarofsky I or J integrals for each passed harmonic.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
| type(SparseRowData), | private | :: | ijMatBuffer |
Sparse buffer used to calculate the integrals |
|||
| integer(kind=ik), | private | :: | numV |
| procedure, public :: isDefined => isDefinedObject | |
| procedure, public :: makeDefined => makeDefinedObject | |
| procedure, public :: makeUndefined => makeUndefinedObject | |
| procedure, public :: init => initIJInt | |
| procedure, public :: calculate => calculateIJInt |