force create direct torque_vector
Allows you to create a vector torque.
The TORQUE_VECTOR is a rotational force (that is, a torque) that consists of three orthogonal components. The direction of the torque action is determined by the resultant vector formed by the three component torques defined by the user along the "reference marker" axes. The reaction is equal and opposite to the action. The user may define the TORQUE_VECTOR components in Adams View through user-specified function expressions, or by specifying up to 30 user-defined parameters that are passed to a user-written subroutine (a "VTOSUB") the user links with Adams.
The TORQUE_VECTOR corresponds to the Adams VTORQUE statement.
The TORQUE_VECTOR creates an Adams rotational force element (that is, torque) that applies the forces between two parts of the system. The element applies an action to the part to which the I marker belongs and a corresponding reaction to the part to which the "floating" J marker belongs. This "floating marker" is automatically created by Adams View and is positioned to be coincident with the I marker. Subsequently, the TORQUE_VECTOR establishes the position of the "floating" J marker. As the system moves, Adams moves the "floating" J marker on its part to keep the "floating" J and I markers superimposed. Thus, Adams applies the reaction torque to the "floating" J markers part.
The components of the torque depends on expressions or subroutines that the user supplies. Its value will be the resultant (i.e. the square root of the sum of the squares) of the three mutually orthogonal torque components.
Format:
force create direct torque_vector |
|---|
torque_vector_name= | New torque name |
Adams_id= | geom._id |
comments= | String |
i_marker_name= | existing marker name |
j_floating_marker_name= | existing marker name |
j_part_name= | existing body |
j_marker_id= | integer |
ref_marker_name= | existing marker |
error= | real number |
x_torque_function= | Function |
y_torque_function= | Function |
z_torque_function= | Function |
xyz_torque_function= | Function |
user_function= | Real |
routine= | String |
Description:
Parameter | Value Type | Description |
|---|
torque_vector_name | String | Specifies the name of the new torque_vector |
Adams_id | Geom_id | Specifies an integer used to identify this element in the Adams data file. |
comments | String | Specifies comments for the object being created or modified. |
i_marker_name | Existing marker name | Specifies the marker at which Adams applies the forces and/or torques. |
j_floating_marker_name | Existing marker name | Specifies marker for j floating marker. |
j_part_name | An existing body | Specifies the part on which Adams View creates a floating marker. |
j_marker_id | Integer | Specifies the Adams ID for the floating marker which is automatically created on the J part by Adams View. This allows you to reference the floating marker in a request or function by the ID you specify, instead of letting Adams View generate one. |
ref_marker_name | Existing marker | Specifies a marker that acts as a coordinate reference for the definition of three orthogonal force and/or torque components. These components make up the force and/or torque being defined. |
error | Real | Currently not in use. |
x_torque_function | Function | Specifies the x component of the rotational torque for this element. Adams applies this torque parallel to the x axis of the reference marker in the sense of the right-hand rule, that is, a positive torque causes a counterclockwise rotation if you are looking along the axis from positive to negative. |
y_torque_function | Function | Specifies the y component of the rotational torque for the element. Adams applies this torque parallel to the y axis of the reference marker in the sense of the right-hand rule, that is, a positive torque causes a counterclockwise rotation if you are looking along the axis from positive to negative. |
z_torque_function | Function | Specifies the z component of the rotational torque for the element. Adams applies this torque parallel to the z axis of the reference marker in the sense of the right-hand rule, that is, a positive torque causes a counterclockwise rotation if you are looking along the axis from positive to negative. |
xyz_torque_function | Function | |
user_function | Real | Specifies up to 30 values for Adams to pass to a user-written subroutine. See the Adams User's Manual for information on writing user-written subroutines. |
routine | String | |
Extended Definition:
1. You may use this name later to refer to this torque_vector. Adams View will not allow you to have two torque_vector with the same name, so you must provide a unique name.
Normally, entity names are composed of alphabetic, numeric, or '_' (underscore) characters, and start with an alphabetic or '_' character. They may be of any length. For more information, see
Using Extended Names.
By enclosing the name in double quotes, you may use other printable characters, or start the name with a numeral. If a name contains characters, or starts with a numeral, you must always quote the name when entering it.
Note that you can specify the parentage of an entity (e.g. what part "owns" a marker or a geometry element) when you CREATE it by changing the name. If you enter just the entity name, then the default parent will be assigned by Adams View. If you type in the full name, then you may override the default parent. In most cases, when creating an entity, Adams View will provide a default name. The default name that Adams View provides will specify the parentage that it has assumed. You may, of course, delete this name and use your own. The form of a full name is:
"...._NAME.GRAND_PARENT_NAME.PARENT_NAME.ENTITY_NAME"
The number of levels used varies from case to case and the parentage must exist before an entity can be assigned to it.
2. When you use the FILE Adams_DATA_SET WRITE command, Adams View writes an Adams data file for your model. Adams requires that each modeling element be identified by a unique integer identifier. If you use this parameter to specify a non-zero identifier, Adams View will use it in the corresponding statement in the Adams data file.
You may also enter zero as an identifier, either explicitly or by default. The next time you write an Adams file, Adams View will replace the zero with a unique, internally-generated identifier. Adams View will permanently store this identifier with the element just as if you had entered it yourself.
Normally, you would let all identifiers default to zero, and Adams View would generate the identifiers for you. You are never required to enter a non-zero identifier. You only need to specify it if, for some reason, you wish to control the Adams file output.
3. When an Adams Solver data file (.adm) is read into Adams View, all comments associated with a statement (from the end of the previous statement through the end of the current statement) are stored with the object. Comments in the data file can be associated with the model. These comments must follow the title statement and be followed by the comment 'END OF MODEL COMMENTS'. This string must be uppercase.
When an Adams Solver data file is written, the comments for an object are written before the statement corresponding to the object.
4. The user must ensure that the I marker is a fixed marker and on a different part than the part specified in the J_PART_NAME parameter. Because the I marker is a fixed marker, and the "floating" marker will move around on the j_part to remain coincident with the I marker, Adams always applies the force action at a fixed point on the part containing the I marker. The reaction force is applied to the j_part at a point coincident with the I marker.
The "floating" marker is automatically created by Adams View on the part specified in the J_PART_NAME parameter.
5. Adams subsequently applies the reaction forces and/or torques to this "floating" J marker. The user must ensure that the j_part is a different part than the part containing the I marker. Adams will move the "floating" J marker around on the j_part to keep it superimposed on the I marker, meaning, the point of application of the reaction force may move around on the j_part. Reaction forces are not calculated when the "floating" J marker is on the ground part.
6. The user must ensure that the reference_marker is fixed on a part (i.e. not a "floating" marker). The reference_marker may be the same as the I marker and may be on any part in the model.
You may identify a marker by typing its name or by picking it from the screen.
If the marker is not visible on the screen, you must type the name. You may also find it convenient to type the name even if the marker is displayed.
If you created the marker by reading an Adams data set or graphics file, the marker name is the letters MAR followed by the Adams data set marker ID number. For example, the name of Adams MARKER/101 is MAR101. If you created the marker during preprocessing, you will have given it a name at that time.
If a marker is available by default, you may identify it by entering only its name. If it is not, you must enter its full name. To identify a marker under a different part, for instance, you may need to enter the model and part names as well. For example, you may specify marker 'pivot' from model 'links', part 'lower_arm' by entering ".links.lower_arm.pivot". If you type a "?", Adams View will list the markers available by default.
You must separate multiple marker names by commas.
If the marker is visible in one of your views, you may identify it by picking on it.
You need not separate multiple marker picks by commas.
7. The easiest way to enter a function expression in Adams View is to use the text editor in combination with the function builder. To invoke the text editor for entering a function expression, highlight the function field and then either pick the "EDIT" button at the top of the panel or type a ^t (control-t). The Adams View "function builder" is discussed below.
The syntactical correctness of a function expression can be investigated by using the "VERIFY" button at the upper right side of the text editor. If there is a syntax error, a message is printed and the cursor is put near the problem. Proper unit consistency is not checked during function expression verification.
The remainder of this explanation will cover the components of FUNCTION expressions as summarized in the following table:
Components | Examples |
|---|
Numbers | FUNCTION = 1E2 + 3.4 + 6 |
Operators | FUNCTION = 3*6/2 + 3 - 2**2 |
System Constants | FUNCTION = PI + 20 |
System Variables | FUNCTION = AX(1040, 2010) |
Arithmetic Ifs | FUNCTION = IF(DX(3, 5): -1, 0, 1) |
Fortran-77 Functions | FUNCTION = ABS(NUM) - 6 |
Blanks | FUNCTION = 1 + 2 |
Continuation Commas | FUNCTION = 1 + 1 + 1 + 1 + 1 + 1 , + 1 + 1 + 1 + 1 + 1 + 1 + 1 |
Adams Functions | FUNCTION = POLY(0, 0, 6.28) |
NUMBERS
FUNCTION expressions can include integers, real numbers, and exponents. In other words, any numbers that are legal in Adams are legal in a FUNCTION expression.
OPERATORS
In a FUNCTION expression, Adams allows any of the operators **, *, /, +, and -. Adams executes these operators according to the following precedence rules:
■From greatest to the least, the operators have the following priorities. ** then * / then + -. In other words, Adams executes exponentiation (**) before all other operators and executes multiplication (*) and division (/) before addition (+) and subtraction (-).
■When a statement has operators of the same priority, Adams executes them from left to right.
■You can use parentheses to alter the precedence of operators. For example, in the equation,
FUNCTION = (1-TIME)*30/PI
Adams subtracts TIME from one before it performs multiplication and division.
SYSTEM CONSTANTS
You can include the following system constants in a FUNCTION expression:
■ PI Value of pi (to eighteen significant digits)
■DTOR Value of pi/180 for converting degrees to radians
■RTOD Value of 180/pi for converting radians to degrees
The following example of a FUNCTION with a system constant multiplies the system constant PI by the displacement of marker 10 with respect to marker 14:
FUNCTION = PI*DM(10,14)
BLANKS
A FUNCTION expression can contain any number of blank spaces. Five consecutive blank spaces in an expression do not terminate input of the expression (by indicating that what follows is a comment) as they do in an Adams statement. However, you should remember these two restrictions.
■ You cannot put a blank space in the middle of a number.
■Adams does not accept a blank space between a function and its left bracket. (This is true for both, FORTRAN-77 functions and Adams functions.)
CONTINUATION COMMAS
You can use a comma to continue FUNCTION expressions. You can break the expression anywhere except in the middle of a number, in the middle of a name, or between a function and its left bracket. Put a continuation comma in column one of the following line before the rest of the expression. If you break the expression at a comma that is part of the expression, you must use both, the expression comma and the continuation comma. You may use more than one continuation comma to extend an expression over several lines.
FUNCTION BUILDER
The FUNCTIONS button at the right side of the Adams View text editor provides a means for constructing an Adams function string. These functions are briefly described below. Upon picking the FUNCTIONS button, you will be presented with the list of available functions in the "selection window". After you select the desired function, a panel will appear with fields representing the various parameters for the function. You will have full access to on-line help with this panel just like you have with regular panels. After you have completed the panel and selected the DONE button on the panel, the function string will be constructed and inserted at the current text cursor location in the text edit window.
SYSTEM VARIABLES
A FUNCTION expression may access the current value of a system variable and use the value in computations. These values are accessed through a collection of functions. The accessible system variables include the following: Time, Mode, Displacements (Translational and Rotational), Velocities (Translational and Rotational), Accelerations (Translational and Rotational), Forces (Translational and Rotational), and User-defined variables. Invoke the text edit window and pick the FUNCTIONS button to get a list of functions that can be accessed.
In general, you use a function character string (such as DM, VX, or FZ) and a list of values (e.g. i1, i2, and i3) to access a system variable in an expression. For example, the value i1 may be the name of the marker for which you want to measure a quantity (such as displacement, velocity, acceleration, or force), i2 is the name of the marker with respect to which you want to measure the quantity, and i3 is the name of the marker you want to use to resolve the components of the quantity. If you do not specify marker i3, Adams computes the result in the ground reference frame.
ARITHMETIC IFS
Arithmetic IFs allow you to conditionally define FUNCTION. The format for arithmetic IFs follows.
IF (expression 1: expression 2, expression 3, expression 4)
Adams evaluates expression 1. If expression 1 is less than zero, the arithmetic IF equals expression 2; if expression 1 equals zero, the arithmetic IF equals expression 3; and if expression 1 is greater than zero, the arithmetic IF equals expression 4.
A FUNCTION expression with an arithmetic IF and its four expressions is as given below:
FUNCTION = 6 * IF(VR(10,31): 0 , 0 , 100)
If the radial velocity between markers 10 and 31 is less than or equal to zero, the value of the FUNCTION expression is zero; but if the radial velocity between markers 10 and 31 is greater than zero, the value of the FUNCTION expression is six hundred.
In some ways, you may treat IF as a variable. For example, you can place it anywhere in the expression. In addition, you can nest arithmetic IFs nine levels deep.
FORTRAN-77 FUNCTIONS
You can use the FORTRAN functions ABS, ATAN, ATAN2, COS, EXP, LOG, LOG10, MIN, MAX, SIN, SQRT, and TAN in your expression. For more information about these functions, see a FORTRAN reference manual. Invoke the text edit window and pick the FUNCTIONS button to get a list of functions that can be accessed.
Adams FUNCTIONS
In general, an Adams function evaluates a mathematical equation and returns a value to your FUNCTION expression. The following table lists all the Adams functions and their purposes. Invoke the text edit window and pick the FUNCTIONS button to make a list of functions that can be accessed.
Names | Purposes |
|---|
AKISPL | Accesses the data in a SPLINE statement and uses the Akima cubic method to fit a cubic curve(a spline) to the data. |
BISTOP | Evaluates a force restricting displacement of a part in two opposite directions |
CHEBY | Evaluates a Chebyshev polynomial |
CUBSPL | Accesses the data in a SPLINE statement and uses the traditional cubic method to fit a cubic curve (a spline) to the data. |
FORCOS | Evaluates a Fourier cosine series |
FORSIN | Evaluates a Fourier sine series |
HAVSIN | Evaluates a haversine function |
IMPACT | Evaluates a force restricting displacement of a part in one direction. |
POLY | Evaluates a polynomial |
SHF | Evaluates a simple harmonic function |
STEP | Approximates a step function with a cubic polynomial |