Model ElementMaxVal computes the approximate maximum value of a MotionSolve expression or a user subroutine during the simulation.
Description
The maximum is approximated by an alpha-soft function so that the analytical
sensitivity can be calculated.
(1)
Where
is a positive constant and satisfies
. The default value of
is 10 and should work for the majority of use
cases.
Attribute Summary
Name |
Property |
Modifiable by
Command? |
Designable |
label |
Str () |
|
|
function |
Function () |
|
✓ |
routine |
Routine () |
|
|
coef |
Double () |
|
|
Usage
#1: MaxVal specified as an expression
MaxVal (function=expressionString))
#2: Defined in a compiled user-subroutine
MaxVal (function=userString, routine=string, optional_attributes)
#3: Defined in a Python function
MaxVal (function=userString, routine=functionPointer, optional_attributes)
Attributes
Defined as the maximum value of an expression.
- function
- String
- A MotionSolve expression defining the
maximum value of a function.
- The function attribute is mandatory.
Defined as a user-subroutine in a compiled DLL.
- function
- String defining a valid user function MotionSolve expression.
- The list of parameters that are passed from the data file to the
user-defined subroutine where the MaxValis
defined.
- The function attribute is mandatory.
- routine
- String
- Specifies an alternative name for the user subroutine. The name consists
of two pieces of information, separated by "∷".
- The first is the pathname to the shared library containing the function
that computes the response of the user-defined
Variable. The second is the name of the function
in the shared library that does the computation.
- An example is: routine="/staff/Altair/engine.dll∷myMaxVal"
-
"/staff/Altair/
engine.dll is the DLL
-
"myMaxVal" is the
function within this DLL that performs the calculations.
- The attribute routine is optional.
- When not specified, routine defaults to
VARSUB.
Defined as a user-subroutine in a Python script.
- function
- String defining a valid user function MotionSolve expression.
- The list of parameters that are passed from the data file to the
user-defined subroutine where the Variable is
defined.
- The function attribute is mandatory.
- routine
- Pointer to a callable function in Python.
- An example is: routine= myMaxVal
-
myMaxVal is a Python
function or method that can be called from wherever the model
resides.
- The attribute routine is optional.
- When not specified, routine defaults to
VARSUB.
Optional attribute.
- label
- String
- Specifies the name of the MaxVal object.
- This attribute is optional. When not specified, MotionSolve creates a label for you.
- coef
- Double
- Specifies the coefficient in the soft-alpha function. The default value
is 10 and should work for the majority of use cases.
Example:
# Compute the maximum of the absolute value of the z-acceleration of a Marker
zacc = "ABS(ACCZ({},{}))".format(self.block.cm.id,self.ref.id)
zmax = MaxVal (function=zacc)
Comments
- See Properties for an explanation about what properties are, why they
are used, and how you can extend these.