*SetBush() - single bushing with user subroutine

Sets the properties of a bushing with a user subroutine.

Syntax

*SetBush(bush_name, GFORCE|VFORCE|VTORQUE|FIELD, 
                              `solver_expression`) 
*Set(bush_name.use_local_dll,TRUE|FALSE) 
*Set(bush.local_dll,"string")

Arguments

bush_name
The variable name of an existing bushing.
Data type: varname
GFORCE|VFORCE| VTORQUE|FIELD
This argument indicates the type of user subroutine that is used to compute bushing properties.
solver_expression
A solver expression enclosed in back quotes to specify arguments for the user subroutine.
Data type: string
bush_name.use_local_dll
Specifies if a user subroutine DLL is specific to the instance of one coupler entity.
Data type: boolean
bush_name.local_dll
The path and filename for the user subroutine DLL to be used with an instance of the user defined coupler.
Data type: string

Example

*Bush( bsh_strut, "Strut upr bush", b_strut, 
 b_frame, 
 p_strut_upr )
*Curve(c_ax, "Bushing axial rate")
*SetBush(bsh_strut, FIELD, `USER(1, { bsh_strut.i.id, %d }, 
{ bsh_strut.j.id, %d }, 
 { cr() }, `
 ` 3000, 3000, 
 -{ c_ax.id, %d }, 
 { cr() }, `
 ` 50000, 50000, 10000)`)

Context

*BeginMdl()

*DefineAnalysis()

*DefineSystem()

Comments

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.