*SetBush() - asymmetric bushing pair with user subroutine
Sets the properties of an asymmetric bushing pair with a user subroutine.
Syntax
*SetBush(bush_name, , GFORCE|VFORCE|VTORQUE|FIELD,
`solver_expr_l`,
`solver_expr_r`)
*Set(bush_name.l.use_local_dll,TRUE|FALSE)
*Set(bush_name.r.use_local_dll,TRUE|FALSE)
*Set(bush.l.local_dll,"string")
*Set(bush.r.local_dll,"string")
Arguments
- bush_name
- The variable name of an existing bushing pair.
- GFORCE| VFORCE| VTORQUE| FIELD
- This argument indicates the type of user subroutine that is used to define bushing properties.
- solver_expr_l
- A solver expression enclosed in back quotes to specify arguments for the user subroutine for the left bushing.
- solver_expr_2
- A solver expression enclosed in back quotes to specify arguments for the user subroutine for the right bushing.
- bush_name.l.use_local_dll bush_name.r.use_local_dll
- Specifies if a user subroutine DLL specific to the instance of one bushing pair entity is to be used.
- bush_name.r.local_dll
- The path and filename for the user subroutine DLL to be used with an instance of the user defined bushing pair.
Example
*BushPair( bsh_strut, "Strut upr bush", b_strut,
b_frame,
p_strut_upr )
*Curve(c_ax, "Strut axial rate")
*SetBush(bsh_strut, , GFORCE,
`USER(1, { bsh_strut.l.i.id, %d },
{ bsh_strut.l.j.id, %d },
{ cr() }, `
` 3000, 3000, -{ c_ax.id, %d },
{ cr() }, `
` 50000, 50000, 10000)`,
`USER(1, { bsh_strut.r.i.id, %d },
{ bsh_strut.r.j.id, %d },
{ cr() }, `
` 3000, 3000, -{ c_ax.id, %d },
{ cr() }, `
` 50000, 50000, 10000)`)
Context
Comments
When using user subroutines to compute the properties of a bushing pair, symmetry can no longer be enforced on the bushing pair.
Bushing properties can be computed with user subroutines of type GFOSUB, VFOSUB, VTOSUB, or FIESUB. A user executable must be created when using these subroutines. The solver expression specified follows Templex syntax where all the variables to be evaluated are enclosed in braces {} and the rest of the expression is treated as literal.