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 |