*SetSolverDiffEquation() - single solver differential equation

Sets the values needed to describe an implicit or explicit differential equation for the solver to solve.

Syntax

*SetSolverDiffEquation(sde_name, USER/(nothing) , 
                                           IMPLICIT/EXPLICIT, 
                                           TYPE, 
                                           TOKEN, 
                                           STATIC_HOLD/(nothing), ic, 
                                           [deriv_ic])

Arguments

sde_name
The variable name of the differential equation values that are being set.
Data type: varname
USER/(nothing)
Include USER if the differential equation will be described in a solver user subroutine. Otherwise, leave blank by including two commas to hold the space.
IMPLICIT/ EXPLICIT
Specifies whether the differential equation is of type implicit or explicit.
Solver Function
The function expression which describes the differential equation.
STATIC_HOLD/ (nothing)
Set STATIC_HOLD if the state of the differential equation is not permitted to change during static and quasi-static analysis of the solver. Otherwise, leave blank by including two commas to hold the space.
ic
The initial condition of the differential equation.
Data type: real
[deriv_ic]
The initial condition for the first derivative of the user defined variable. This is optional and is usually used in conjunction with an implicit variable.
curve_name, AKIMA|CUBIC|LINEAR|QUINTIC, `indep_variable`
When using curve data, a curve, an interpolation method, and an independent variable must be specified, where curve_name is the variable name of an existing curve that would represent the force versus displacement/velocity in the solver differential equation. The interpolation method can be set to AKIMA, CUBIC, LINEAR, or QUINTIC. indep_variable is the independent variable representing either the displacement (in stiffness tokens) or velocity (in damping tokens) and is specified in Templex syntax.
spl3d_name, AKIMA|CUBIC|LINEAR| QUINTIC, `indep_var1` 'indep_var2'
When using spline3d, a Spline3D entity, an interpolation method, and two independent variables must be specified, where spl3d_name is the variable name of an existing Spline3D entity that would represent the force/torque v/s two independent variables. The interpolation method can be set to AKIMA, CUBIC, LINEAR, or QUINTIC. indep_var1 is the solver expression for the first independent variable. indep_var2 is the solver expression that represents the second independent variable.
`expression`
The function expression which describes the differential equation.

Example

*SolverDiffEquation(sde_equation1, "Example Diff Eq")
*SetSolverDiffEquation(sde_equation1, , EXPLICIT, `
 DIF1(sde_equation.id) + 8.0 + COS(TIME)`)

Context

*BeginMdl()

*DefineAnalysis()

*DefineSystem()

Comments

*SetSolverDiffEquation() is used to define the differential equation for the solver to solve.

To specify non-linear properties, a solver expression or curve data can be used to compare the force. When using a solver expression, Templex syntax is used and all variables are enclosed in braces {} and the rest is treated as literal. To use curve data a curve, interpolation method and an independent variable must be specified. For example,
CRV, curve_name, AKIMA, `{DX}`

where curve_name is the variable name of an existing curve, interpolation method can be set to AKIMA, CUBIC, LINEAR, or QUINTIC and the independent variable is specified in Templex syntax.