Composite manipulator object allowing for application of multiple manipulators in series based on their priority
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
| type(ManipulatorContainer), | private, | allocatable, dimension(:) | :: | manipulators |
Manipulators contained in this composite manipulator |
||
| integer(kind=ik), | private, | allocatable, dimension(:) | :: | manipulatorPriority |
Manipulator priority for each manipulator object |
||
| integer(kind=ik), | private | :: | numManipulatorsAdded |
Counter keeping track of how many integrators have been added |
|||
| logical, | private | :: | allManipulatorsAdded |
True when all manipulators have been allocated |
Getter for userDefined
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Object), | intent(in) | :: | this |
Set userDefined to .true.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Object), | intent(inout) | :: | this |
Set userDefined to .false.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Object), | intent(inout) | :: | this |
Call affect routines of all manipulators whose manipulatorPriority <= priority
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CompositeManipulator), | intent(inout) | :: | this | |||
| class(ModellerSurrogate), | intent(inout) | :: | manipulatedModeller |
Modeller object used in callback |
||
| class(VariableContainer), | intent(inout) | :: | outputVars |
Container for manipulation output |
||
| class(VariableContainer), | intent(in) | :: | inputVars |
Manipulation input variables |
||
| integer(kind=ik), | intent(in) | :: | priority |
Priority for this call |
Add Manipulator object to composite manipulator
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CompositeManipulator), | intent(inout) | :: | this | |||
| class(Manipulator), | intent(in) | :: | manip | |||
| integer(kind=ik), | intent(in) | :: | priority |
Compostite manipulator initialization routine
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CompositeManipulator), | intent(inout) | :: | this | |||
| integer(kind=ik), | intent(in) | :: | numManipulators |
Number of manipulators expected |