SFORCE

The SFORCE command lists or changes the characteristics of an SFORCE statement.

Format

Arguments

 
ACTIONONLY
Respecifies an action-only force. Adams Solver (C++) applies no reaction at the J marker.
Respecifies an expression or redefines and passes constants to a user-written subroutine to redefine a single-component force. To redefine the force with an expression, follow FUNCTION with an equal sign and the expression. To redefine the force with a user-written subroutine, follow FUNCTION with an equal sign, the character string USER, and the values (r1[,...,r30]) that you want Adams Solver (C++) to pass to the user-written evaluation subroutine SFOSUB (see the SFOSUB subroutine). If the FUNCTION argument is used, it must either be the last argument in the SFORCE statement or be followed by a backslash (\). The force function may be changed from an expression to the subroutine or the reverse. If neither argument is given, the force definition does not change. FUNCTION must either be the last argument given, or be followed by a backslash (\).
I=id,J=id
Respecifies the identifiers of two markers necessary to define the force. If the SFORCE command defines a translational action-reaction force, I and J specify the identifiers of the two markers between which you want to exert the force. Adams Solver (C++) applies the translational action-reaction force along the line of action defined by the line segment connecting I and J. If the SFORCE command defines an action-only force, I specifies the point of application, and the z-axis of J specifies the direction of the force. If SFORCE defines a torque, the z-axis of the J marker specifies the axis of rotation. In the case of action-reaction torques, the z-axis of the J marker must be parallel to, and pointed in the same direction, as the z-axis of the I marker.
LIST
Lists the current values of the data in the SFORCE statement.
REACTION
Respecifies an action-reaction force. Adams Solver (C++) applies reaction forces or torques at the J marker.
ROUTINE=libname::subname
Specifies an alternative library and name for the user subroutine SFOSUB.
Learn more about the ROUTINE Argument.

Extended Defintion

The SFORCE command lists or changes the characteristics of an existing SFORCE element. You can alter one or both points of force application, change the force from ACTIONONLY to ACTION-REACTION, or the reverse, or change the force from TRANSLATION to ROTATION, or the reverse. In addition, you can change the force definition function expression or SFOSUB parameter list, or switch the definition between function expression and subroutine.
After a change to an SFORCE, Adams Solver (C++) reprocesses the model at the next SIMULATE command, as if it had just been read in from the dataset. During the reprocessing, Adams Solver (C++) checks the entire model for consistency, reinitializes user subroutines, and recomputes initial conditions.
While checking, Adams Solver (C++) verifies that the model is still valid with the new SFORCE. If, for example, the SFORCE function expression refers to an inactive element, Adams Solver (C++) issues an error.
Adams Solver (C++) also reinitializes all user subroutines to re-establish functional dependencies. For each element that refers to a user-written subroutine, Adams Solver (C++) calls the user-written subroutine with IFLAG set to true.
Prior to the actual simulation, Adams Solver (C++) computes initial conditions for the model. If this is the first simulation, Adams Solver (C++) begins with the positions and velocities specified in the dataset. If you ran a previous simulation, Adams Solver (C++) begins with the final displacements and velocities. Adams Solver (C++) then adjusts the initial conditions to ensure that they are consistent with the model constraints. If this is the first simulation, Adams Solver (C++) also maintains any user supplied joint initial-conditions and positions specified as EXACT.

Examples

SFORCE/201,FUNCTION=-10.*VR(101,201)
This SFORCE command changes the force definition for SFORCE 201.
SFORCE/6,I=28
This SFORCE command applies SFORCE 6 to Marker 28, leaving the J marker unchanged.
See other Forces available.