additive_derivation_procedures Submodule

Contains module procedures associated with the additive derivation class


Uses


Module Functions

module function calculateAdditive(this, inputArray, indices) result(output)

Arguments

Type IntentOptional Attributes Name
class(AdditiveDerivation), intent(inout) :: this
type(RealArray), intent(in), dimension(:) :: inputArray
integer(kind=ik), intent(in), dimension(:) :: indices

Return Value real(kind=rk), allocatable, dimension(:)


Module Subroutines

module subroutine initAdditiveDeriv(this, numDerivs, expectedNumIndices, resultPower, linearCoefficients)

Initialize additive derivation object, allocating the expected number of derivation objects

Arguments

Type IntentOptional Attributes Name
class(AdditiveDerivation), intent(inout) :: this
integer(kind=ik), intent(in) :: numDerivs
integer(kind=ik), intent(in) :: expectedNumIndices
real(kind=rk), intent(in), optional :: resultPower
real(kind=rk), intent(in), optional, dimension(:) :: linearCoefficients

module subroutine addDerivation(this, deriv, activeIndices)

Adds derivation to additive derivation object

Arguments

Type IntentOptional Attributes Name
class(AdditiveDerivation), intent(inout) :: this
class(Derivation), intent(in) :: deriv
integer(kind=ik), intent(in), dimension(:) :: activeIndices

Entries of indices object passed to calculateAdditive to be passed to added derivation