# Force: Two Body Vector

Command ElementModifies a Force_Vector_TwoBody force element.

## Format

<Force_Vector_TwoBody
id                          = "integer"
i_marker_id                 = "integer"
j_floating_marker_id        = "integer"
ref_marker_id               = "integer"
{    type = "forceonly"
{
fx_expression         = "motionsolve_expression"
fy_expression         = "motionsolve_expression"
fz_expression         = "motionsolve_expression"
|
usrsub_dll_name       = "valid_path_name"
usrsub_param_string   = "USER([[par_1[,...][,par_n]])"
usrsub_fnc_name       = "valid_function_name"
}
|
type = "torqueonly"
{      tx_expression        = "motionsolve_expression"
ty_expression        = "motionsolve_expression"
tz_expression        = "motionsolve_expression"
|
usrsub_dll_name      = "valid_path_name"
usrsub_param_string  = "USER([[par_1[,...][,par_n]])"
usrsub_fnc_name      = "valid_function_name"
}
|
type = "forceandtorque"
{      fx_expression        = "motionsolve_expression"
fy_expression        = "motionsolve_expression"
fz_expression        = "motionsolve_expression"
tx_expression        = "motionsolve_expression"
ty_expression        = "motionsolve_expression"
tz_expression        = "motionsolve_expression"
|
usrsub_dll_name      = "valid_path_name"
usrsub_param_string  = "USER([[par_1[,...][,par_n]])"
usrsub_fnc_name      = "valid_function_name"
}
}
/>

## Attributes

id
Element identification number (integer>0). This number is unique among all Force_Vector_TwoBody elements.
i_marker_id
Modifies the Reference_Marker at which the force is applied. This is designated as the point of application of the force.
j_floating_marker_id
Modifies the Reference_Marker at which an equal and opposite reaction force is applied. This marker is moved around on the parent body so that it is always superimposed on i_marker_id. Such a construct allows Newton's third law to be automatically fulfilled. Note j_floating_marker_id may belong to rigid bodies or point masses only. They may not belong to flexible bodies.
ref_marker_id
Modifies the Reference_Marker whose coordinate system is used as the basis for defining the components of the force vector.
fx_expression, fy_expression, fz_expression
Modifies any of the three components of the force vector as function expressions.
tx_expression, ty_expression, tz_expression
Modifies any of the three components of the torque vector as function expressions.
usrsub_dll_name
Modifies the path and name of the DLL or shared library containing the user subroutine. MotionSolve uses this information to load the user subroutine in the DLL at run time.
usrsub_param_string

Modifies the list of parameters that are passed from the data file to the user defined subroutine. The name of the user-subroutine depends on the type of the element.

"FORCEONLY": defaults to VFOSUB

"TORQUEEONLY": defaults to VTOSUB

"FORCEANDTORQUE": defaults to GFOSUB

usersub_fnc_name
Modifies an alternative name for the user subroutine VFOSUB or VTOSUB or GFOSUB.

## Example

<Force_Vector_TwoBody
id            = "30101"
fx_expression = "2"
fy_expression = "-1"
fz_expression = "-2"
/>
<Force_Vector_TwoBody
id            = "30101"
tx_expression = "1"
ty_expression = "0"
tz_expression = "0"
/>