Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The Quaestor object is just a frame in the knowledge base such as a parameter, relation or constraint. For example PowerCalcexample PowerCalc

In a Relation, PowerCalc can  PowerCalc can be used as if it were an intrinsic function like SIN(), SELECT() etc. as in the following example:

In this example PowerCalc represents example PowerCalc represents the object (container) of a computational model that will compute Power on the basis of the values of Method="Savitsky", Speed=Vdes and the actual values of L, B, T and D. The @ character indicates that the parameter should exist in the PowerCalc object the PowerCalc object, the first parameter after the opening bracket (@Power) is the top goal of the PowerCalc objectthe PowerCalc object, @Speed:Vdes means that Speed in PowerCalc should that Speed in PowerCalc should get the value of Vdes. Values of L, B, T and D are required but not unique to this object and therefore requested as normal parameters and should be available "above" or outside the object. See also Quaestor syntax for more detail.

The following modeling rules apply:

  • If the model in PowerCalc needs in PowerCalc needs data that is not in the argument list, it is either requested to the user in the object or inherited from the models top level.
  • If input is provided manually, the value is placed in the models top level. This implies that the value is available (can be inherited) by all objects in the model.
  • If the parameter has the @LOCAL attribute in its data slot, the value is stored in the object and is only available to that object.

In the above example, the PowerCalcthe PowerCalc() function returns the value of Power that is computed by the PowerCalc model the PowerCalc model that is assembled for the top goal Power.

The object PowerCalc created object PowerCalc created by evaluating the above relation is reusable and extensible: it is possible to request other goals to the same object instance, for example the rotation rateRevs:

...

If another relation is evaluated that evaluates Power with other input, the calculation in PowerCalc is in PowerCalc is redone. Only the last results in the object are maintained in the solution. Use the@MULTICASE attribute to force the object to save all its values. Realize that this might require more memory and will let your project files grow significantly.

...