term_evaluator_procedures Submodule

Contains procedures associated with the TermEvaluator class



Uses


Module Subroutines

pure module subroutine initEvaluator(this, resultVarIndex, modelIndices, termNames)

TermEvaluator initialization routine

Arguments

Type IntentOptional Attributes Name
class(TermEvaluator), intent(inout) :: this
integer(kind=ik), intent(in) :: resultVarIndex

Index of variable to write the result in

integer(kind=ik), intent(in), dimension(:) :: modelIndices

Indices of models whose named term should be evaluated

type(StringArray), intent(in), dimension(:) :: termNames

Name of evaluated term corresponding to each model

module subroutine evaluate(this, manipulatedModeller, outputVars, inputVars)

Implementation of abstract manipulate routine for the evaluator

Arguments

Type IntentOptional Attributes Name
class(TermEvaluator), intent(inout) :: this
class(ModellerSurrogate), intent(inout) :: manipulatedModeller

Modeller to be used in callbacks during manipulation

class(VariableContainer), intent(inout) :: outputVars

VariableContainer object to store the manipulation output

class(VariableContainer), intent(in) :: inputVars

VariableContainer object housing input data for the manipulation routine