*SetTorsionSpring() - asymmetric torsion spring pair with user subroutine
Sets the properties of an asymmetric torsion spring pair with a user subroutine.
Syntax
*SetTorsionSpring(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 torsion spring pair.
- SFORCE
- This argument indicates the type of user subroutine that is used to compute torsion spring pair properties.
- solver_expr_l
- A solver expression enclosed in back quotes to specify arguments for the user subroutine for the left torsion spring.
- solver_expr_r
- A solver expression enclosed in back quotes to specify arguments for the user subroutine for the right torsion 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 torsion 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 torsion spring pair.
Example
*TorsionSpringPair( spr_tbar, "Torsion bar", b_upr,
b_lwr,
p_upr,
p_lwr)
*Curve( crv_spr, "Rate")
*SetTorsionSpring(spr_tbar, , SFORCE,
`USER(1,{ spr_tbar.l.i.id, %d },
{ spr_tbar.l.j.id, %d },
{ cr() },`
`-{ crv_spr.id, %d })`,
`USER(1,{ spr_tbar.r.i.id, %d },
{ spr_tbar.r.j.id, %d },
{ cr() },`
`-{ crv_spr.id, %d })`)
Context
Comments
Torsion 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.