*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.
- 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.
- solver_expr_r
- A solver expression enclosed in back quotes to specify arguments for the user sub routine for the left coil spring.
- 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.
- 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.
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
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.