SolverVariable
Class SolverVariable()
SolverVariable(parent='MODEL', name='SolverVariable_n', label='SolverVariable_n',
active=True, use_ic=False, ic=0, is_implicit=False, static_hold=False, autobalance='Default',
penalty=100, penalty1=100)
Creates a solver variable.
Keyword Arguments
Argument | Data Type | Description | Default |
---|---|---|---|
name | String | The variable name. | SolverVariable_n, for next available integer n. |
label | String | The descriptive label. | SolverVariable_n, for next available integer n. |
parent | Object | The parent. | MODEL |
active | Boolean | Used to activate or deactivate this entity. | True |
use_ic | Boolean | Decides if initial conditions are not to be specified. | False |
ic | Double | Optional argument which gives the value of the solver variable at the time when the solver runs an initial conditions analysis. | |
is_implicit | Boolean | This option is only valid in the MotionSolve solver mode. If this flag is set to True, the defined function is considered an implicit equation. The solver could impose a constraint to satisfy the equation based on the autobalance setting. | False |
static_hold | Boolean | This option is applicable if initial conditions are specified. This option is only applicable if implicit is True. | False |
autobalance | Enum | This option is used when implicit is set to true. One of "Default", "Unconditional", "Disabled", "Penalty". | Default |
penalty | Double | The value of penalty. This data works in conjunction with the autobalance option set to Penalty. | 100 |
penalty1 | Double | The value of penalty1. This data works in conjunction with the autobalance option set to Penalty. | 100 |
user | Boolean | Use user defined properties, if true. | False |
usr_sub | Function | The expression passed to the user dll. When using solver expressions, Templex syntax (within ``) is used and all variables are enclosed in braces {} and the rest is treated as literal. | 'USER()' |
local_funcname | String | The function/subroutine name. | 'MOTSUB' |
use_local_dll | Bool | Uses a local function instead of default if True. | False |
local_dll | File | The path of the local dll which has the local_funcname. | '' |
local_func_type | Enum | The type of the user subroutine. One of DLL, PYTHON or MATLAB. | 'DLL' |
Instances
value (Nonlinear) : The value or function expression describing the solver variable. This variable can be used to create algebraic based variables that can be used in additional function expressions.
Examples
>>> # Import the mview module
>>> from hw import mview
>>> # Create a body and sphere for visual purpose
>>> b1 = mview.Body(name = 'ball', inertia_props_from_graphic = True)
>>> s1 = mview.Sphere(origin = 'P_Global_Origin', body = b1, radius = 5)
>>> # Create a Bushing between the body and Ground
>>> bush = mview.Bushing(b1 = b1, b2 = 'B_Ground', origin = 'P_Global_Origin')
>>> # Create a SolverVariable for variable damping in the bushing
>>> solvar = mview.SolverVariable(name = 'solvar',label = 'Variable damping')
>>> # Change the type of value from linear to expression
>>> solvar.value.type
'LIN'
>>> solvar.value.type = 'EXPR'
>>> # Set the expression as the displacement of ball in Z direction
>>> solvar.value.expr = '`DZ({ball.cm.idstring})`'
>>> # Get the value to cross check the expression
>>> solvar.value.expr
'DZ(30102000)'
>>> # Set the bushing Z direction damping as SolverVariable*0.1
>>> bush.cz.type ='EXPR'
>>> bush.cz.expr = '`{solvar.VARVAL}*0.1`'
>>> # This will increase the damping as the displacement increases due to gravity