Adams Basic Package > Adams View > View Command Language > force > force create direct force_vector

force create direct force_vector

Allows you to create a vector force.
The FORCE_VECTOR is a translational vector force that is specified using three orthogonal components. The resultant vector determines the direction of the force action. This resultant vector is formed by the three component forces that the user defines along the "reference marker" axes. The reaction is equal and opposite to the action. The user may define the FORCE_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 "VFOSUB") linked to Adams.
The FORCE_VECTOR corresponds to the Adams VFORCE statement.
The FORCE_VECTOR creates an Adams translational vector force element that applies the forces between two parts of the system. The element applies an action force to the part that contains the I marker and a corresponding reaction force 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 FORCE_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 force to the "floating" J markers part at the instantaneous position of the I marker.
The total vector force that Adams supplies is the vector sum of the individual force components that the user specifies. The magnitude of the total vector force is the square root of the sum of the components squared. Its value will be the resultant (i.e. the square root of the sum of the squares) of the three mutually-orthogonal force components.

Format:

 
force create direct force_vector
force_vector_name =
new V force name
Adams_id =
geom._id
comments=
String
i_marker_name =
Existing Marker name
j_floating_marker_name =
Existing J floating marker name
j_part_name =
Existing body
j_marker_id =
integer
ref_marker_name =
existing marker
error =
real number
x_force_function =
Function
y_force_function =
Function
z_force_function =
Function
xyz_force_function =
Function
user_function =
Real
routin e=
String

Description:

 
Parameter
Value Type
Description
force_vector_name
New V Force
Specifies the name of the new force_vector. You may use this name later to refer to this force_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
Specifies the marker at which Adams applies the forces and/or torques.
j_floating_marker_name
Existing marker
Specify the J floating marker name.
j_part_name
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. 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 of the model.
error
Real
Currently not in use.
x_force_function
Function
Specifies the x component of the translational force for this element. Adams applies this force parallel to the x axis of the reference marker specified in the REF_MARKER_NAME parameter.
y_force_function
Function
Specifies the y component of the translational force for this element. Adams applies this force parallel to the y axis of the reference marker specified in the REF_MARKER_NAME parameter.
z_force_function
Function
Specifies the z component of the translational force for this element. Adams applies this force parallel to the z axis of the reference marker specified in the REF_MARKER_NAME parameter.
xyz_force_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. Adams View will not allow you to have two force_vectors 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 of be 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 (for example, 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 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. 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