*SetCoilSpring() - asymmetric coil spring pair with user subroutine

Sets the properties of an asymmetric coil spring pair with a user sub routine.

Syntax

*SetCoilSpring(spr_name, ,SFORCE, 
                                   `solver_expr_l`, 
                                   `solver_expr_r`) 
*Set(spr_name.l.use_local_dll, TRUE|FALSE) 
*Set(spr_name.r.use_local_dll, TRUE|FALSE) 
*Set(spr.l.local_dll,"string") 
*Set(spr.r.local_dll,"string")

Arguments

spr_name
The variable name of an existing coil spring pair.
Data type: varname
SFORCE
This argument indicates the type of user subroutine that is used to compute coil spring pair properties.
solver_expr_l
A solver expression enclosed in back quotes to specify arguments for the user sub routine for the left coil spring.
Data type: string
solver_expr_r
A solver expression enclosed in back quotes to specify arguments for the user sub routine for the left coil spring.
Data type: string
spr_name.l.use_local_dll spr_name.r.use_local_dll
Specifies if a user subroutine DLL specific to the instance of one coil spring pair entity is to be used.
Data type: boolean
spr_name.l.local_dll spr_name.r.local_dll
The path and filename for the user subroutine DLL to be used with an instance of the user defined coil spring pair.
Data type: string

Example

*CoilSpringPair( cspr, "Coil spring", b_frame, 
 b_lca, 
 p_spr_upr, 
 p_spr_lwr )
*Curve( crv_spr, "Spring rate")
 
*SetCoilSpring(cspr, , SFORCE, 
 `USER(1, { cspr.l.i.id, %d }, 
 { cspr.l.j.id, %d }, 
 { cr() }, `
 `-{ crv_spr.id, %d }, 350)`, 
 `USER(1, { cspr.r.i.id, %d }, 
 { cspr.r.j.id, %d }, 
 { cr() }, `
 `-{ crv_spr.id, %d }, 350)`)

Context

*BeginMdl()

*DefineAnalysis()

*DefineSystem()

Comments

Coil spring properties can be computed with user subroutines of type SFOSUB. 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.