Solver Variables

Create algebraic parameters for equations and apply constraints for solver calculations

Solver variables are used for different applications when modeling multibody systems.

  1. Create signals of interest during the simulation that can then be used as independent variables to define forces
  2. Define inputs for generic control elements through a solver array when type is PLANT_INPUT
  3. Track outputs from control elements through a solver array when type is PLANT_OUTPUT
  4. Apply hard constraints using the implicit approach
  5. Apply soft constraints using the penalty approach

Refer to the MotionSolve help on Solver Variable to learn more.

For information on how to add or edit an entity like a bushing, see Entity Creation.

Solver Variable Properties

Descriptions of solver variable properties in the Property Editor.

Table 1.
Property Name Description
General
Name Name of the entity
Variable Name The variable name, a unique identifier string of the entity
ID A unique identifying integer
Properties
Type

Select the type of input for the solver variable.

  • Constant: In the Value (expr) field, enter a constant value.
  • Spline:
    1. Select an Interpolation method:
      • AKIMA
      • CUBIC
      • LINEAR
      • QUINTIC
    2. Enter a value under Independent variable. The independent variable should be specified in Templex syntax.
    3. Select a spline:
      1. Next to Spline (fx), click the empty field.
      2. In the microdialog, click .
      3. In the Select Spline dialog, select a spline.
      Note: To use a spline, you first need to define a spline that represents the behavior of the solver variaable.
  • Spline3D (expr):
    1. Select an Interpolation method:
      • AKIMA
      • CUBIC
      • LINEAR
      • QUINTIC
    2. Specify an expression for Independent variable X and Independent variable Z.
    3. Select a spline3D:
      1. Next to Spline3D (fx), click the empty field.
      2. In the microdialog, click .
      3. In the Select Spline3D dialog, select a spline3D.
      Note: To use a spline3D, you first need to define a spline3D that represents the behavior of the solver variable.
  • Expression (expr): Enter a solver expression.
User-defined initial conditions Use this option to specify an initial value for the variable at the beginning of the simulation.
Initial conditions Initial value (real)
Implicit Use this option to define a variable of implicit type.
Auto Balance This option is available when Implicit is set to true. This attribute tells the solver how to calculate the Lagrange Multiplier used to enforce the constraint in case the variable defines an algebraic relationship. Available options are the following:
  • Default (sets auto balance to conditional)
  • Unconditional
  • Disabled
  • Penalty

Refer to Solver Variable for more information on these options.

Penalty First penalty factor

This option is only available when Auto Balance is set to Penalty.

Penalty 1 Second penalty factor

This option is only available when Auto Balance is set to Penalty.

User-defined

Use a subroutine to define the solver variable.

  • For User expr, provide an expression with the USER solver function with parameters being passed to the user subroutine.
  • Turn on Use local file and function name to provide a local file for the subroutine. Otherwise, Inspire Motion will search for the subroutine within its search path.
    1. Specify a Local file where the subroutine code can be accessed by the solver. If this option is not specified, the application will search for a subroutine following its user subroutine loading rules.
      Note: The type of file to be specified will depend on the selected function type. For example, if DLL/SO is selected, you can specify a file with a .dll extension (for Windows) or an .so extension (for Linux).
    2. Select a Function type from the dropdown menu:
      • DLL/SO
      • Python
      • MatLab
      • Compose
    3. Specify the Function name in the subroutine that defines the entity, or accept the default name provided by the application.