Public Member Functions |
| | Implementation () |
| | Default constructor leaves the operand measure unspecified; no base class cache entries are allocated.
|
| | Implementation (const Measure_< T > &operand, Operation op) |
| | Construct a measure that returns the extreme value taken on by the operand measure during a time stepping study.
|
| void | setOperandMeasure (const Measure_< T > &operand) |
| | Set the operand measure for this Extreme measure; this is a Topology stage change so you'll have to call realizeTopology() again if you call this.
|
| void | setOperation (Operation op) |
| | Set the particular operation to be performed by this Extreme measure; this is a Topology stage change so you'll have to call realizeTopology() again if you call this.
|
| const Measure_< T > & | getOperandMeasure () const |
| | Return a reference to the operand measure for this Extreme measure.
|
| Operation | getOperation () const |
| | Return the particular operation being performed by this Extreme measure.
|
| void | setValue (State &s, const T &value) const |
| | Set the current extreme value stored in this Extreme measure's state variable.
|
| Real | getTimeOfExtremeValue (const State &s) const |
| | Return the time at which the extreme was last updated.
|
| Implementation * | cloneVirtual () const override |
| int | getNumTimeDerivativesVirtual () const override |
| | Extreme(f(t)) has the same number of derivatives as f except that they are all zero unless f(t) is a new extreme.
|
| Stage | getDependsOnStageVirtual (int order) const override |
| | The depends-on stage for this measure is the same as for its operand.
|
| const T & | getUncachedValueVirtual (const State &s, int derivOrder) const override |
| | We're not using the Measure_<T> base class cache services, but we do have one of our own.
|
| void | initializeVirtual (State &s) const override |
| | At start of a time stepping study, this should be called to set the current extreme value to the current value of the operand.
|
| void | realizeMeasureTopologyVirtual (State &s) const override |
| | Allocate the auto-updated state variable that holds the extreme seen so far.
|
| void | realizeMeasureAccelerationVirtual (const State &s) const override |
| | In case no one has updated the value of this measure yet, we have to make sure it gets updated before the integration moves ahead.
|
| bool | ensureExtremeHasBeenUpdated (const State &s) const |
| | Here we make sure that the cache entry is updated if the current value of the operand is more extreme than the previous one, and return a bool indicating whether we have a new extreme.
|
| const T & | getValue (const State &s, int derivOrder) const |
| void | setDefaultValue (const T &defaultValue) |
| | Set a new default value for this Measure.
|
| const T & | getDefaultValue () const |
| | Return a reference to the value that this Measure will use to initialize its value-level state resource (state variable or cache entry) during the next call to realizeTopology().
|
| void | setIsPresumedValidAtDependsOnStage (bool presume) |
| bool | getIsPresumedValidAtDependsOnStage () const |
Additional Inherited Members |
| | Implementation (const T &defaultValue, int numCacheEntries=1) |
| | Implementation (int numCacheEntries=1) |
| | Argument numCacheEntries should be one greater than the number of derivatives; that is, there is room for the value ("0th" derivative) also.
|
| | Implementation (const Implementation &source) |
| | Copy constructor copies the number of cache entries from the source, but not the cache indices themselves as those must be allocated uniquely for the copy.
|
| int | size () const |
| | Return the number of elements in the data type of this Measure; for Vector measures this is determined by the size of the default value.
|
| int | getNumCacheEntries () const |
| | Return the number of cache entries allocated for the value and derivatives of this Measure.
|
| const T & | getCacheEntry (const State &s, int derivOrder) const |
| | Get a const reference to the value stored in one of this Measure's cache entries, indexed by the derivative order (with the value treated as the 0th derivative).
|
| T & | updCacheEntry (const State &s, int derivOrder) const |
| | Get a writable reference to the value stored in one of this Measure's cache entries, indexed by the derivative order (with the value treated as the 0th derivative).
|
| bool | isCacheValueRealized (const State &s, int derivOrder) const |
| | Determine whether a particular one of this Measure's cache entries has already been realized since the given state was modified.
|
| void | markCacheValueRealized (const State &s, int derivOrder) const |
| | Mark one of this Measure's cache entries up to date; call this after you have calculated a value or derivative and stored it in the corresponding cache entry.
|
| void | markCacheValueNotRealized (const State &s, int derivOrder) const |
| | Invalidate one of this Measure's cache entries.
|
| virtual void | calcCachedValueVirtual (const State &, int derivOrder, T &value) const |
| | Concrete measures must override this if the state cache is used for precalculated values or derivatives.
|
| const T & | getValueZero () const |
| | Return a reference to a zero of the same type and size as this Measure's value.
|