<additional_args> ::= { , static | dynamic | modal } , (Vec3) <absolute_position> , (OrientationMatrix) <absolute_orientation_matrix> , [ orientation description , <orientation_description> , ] (Vec3) <absolute_velocity> , (Vec3) <absolute_angular_velocity> [ , assembly , (scalar) <position_initial_stiffness> , (scalar) <velocity_initial_stiffness> , (flag) <omega_rotates?> ] <orientation_description> ::= { euler123 | euler313 | euler321 | orientation vector | orientation matrix }The omega_rotates parameter determines whether the initial angular velocity should follow or not the node as it is rotated by the initial assembly procedure; it may assume the values yes/no or 0/nonzero.
The stiffness parameters, and the omega_rotates flag,
override the default values.
They are optional, but they must be supplied all together if at least
one is to be input.
The omega_rotates flag can take values yes or no;
a numerical value of 0 (no) or 1 (yes) is supported for backwards
compatibility, but its use is deprecated.
The dynamic and the modal node types allow the optional output keyword accelerations after the standard node output parameters:
<extra_arglist> ::= accelerationsto enable the output of the linear and angular accelerations of the node. Since this is a postprocessing, it is not required by the regular analysis, so it should be enabled only when strictly required.
Also note that accelerations may be inaccurate, since they are reconstructed from the momentum and the momenta moment derivatives through the inertia associated to the node.
Also dummy nodes allow the keyword accelerations, but honor it only if provided by the nodes they are related to.
Accelerations output can be controlled by means of the default output statement.
If the static model type is used in the control data block, all dynamic structural nodes are actually treated as static. This is a shortcut to ease running static analyses without the need to modify each node of a dynamic model.
Two dummy structural node types are available.
<additional_args> ::= , dummy , <base_node> , <type> , <dummy_node_data>
Dummy nodes take the label of the base_node they are attached to, followed by the type of dummy node, possibly followed by specific data. The following dummy types are available:
<type> ::= offset <dummy_node_data> ::= (Vec3) <relative_offset> , (OrientationMatrix) <relative_orientation_matrix> [ orientation description , <orientation_description> , ]It outputs the configuration of a point offset from the base node.
<type> ::= relative frame <dummy_node_data> ::= <reference_node> [ , position , <reference_offset> ] [ , orientation , <reference_orientation_matrix> ] [ orientation description , <orientation_description> , ] [ , pivot node , <pivot_node> [ position , <pivot_offset> ] [ orientation , <pivot_orientation_matrix> ] ]It outputs the configuration of the base node in the frame defined by the reference_node, optionally offset by reference_offset and with relative orientation reference_orientation_matrix.
If a pivot_node is given, the relative frame motion is transformed as if it were expressed in the reference frame of the pivot node, optionally offset by pivot_offset and with relative orientation pivot_orientation_matrix.
set: real Omega = 1.; structural: 1, static, null, eye, null, 0.,0.,Omega; structural: 1000, dummy, 1, offset, 1.,0.,0., eye; structural: 1001, dummy, 1, relative frame, 1000; structural: 2000, dynamic, 0.,0.,1., 1, 1.,0.,0., 2, 0.,0.,1., null, null, accelerations;
The .mov Output File.
The first refers to the kinematics of the node; its extension is .mov,
and for each time step it contains one row for each node whose output is
required.
The rows contain:
1 | the label of the node |
2-4 | the three components of the position of the node |
5-7 | the three Euler angles that define the orientation of the node |
8-10 | the three components of the velocity of the node |
11-13 | the three components of the angular velocity of the node |
14-16 | the three components of the linear acceleration of the dynamic nodes (optional) |
17-19 | the three components of the angular acceleration of the dynamic nodes (optional) |
There exist two variants of this output. The output of the orientation can be modified by requesting either the three components of the Euler vector, or the nine components of the orientation matrix.
When the Euler vector is requested, columns 5 to 7 contain its components. Beware that it is not possible to discriminate between the original output and this format without knowing what output type was requested.
When the orientation matrix is requested, columns 5 to 13 contains the elements of the matrix, written row-wise, that is: r11, r12, r13, r21, ..., r33. Note that in this case the total column count, if accelerations are not requested, corresponds to that of a structural node with optional accelerations, so it might be hard to discriminate as well.
This ambiguity is resolved when results are output in NetCDF format. See Section A.1.3 for details.
Note: actually, the angles denoted as ``Euler angles'' are the three angles that describe a rotation made of a sequence of three steps: first, a rotation about global axis 1, followed by a rotation about axis 2 of the frame resulting from the previous rotation, concluded by a rotation about axis 3 of the frame resulting from the two previous rotations. To consistently transform this set of parameters into some other representation, see the tools eu2rot(1), rot2eu(1), rot2eup(1), rot2phi(1). The functions that compute the relationship between an orientation matrix and the set of three angles and vice versa are MatR2EulerAngles() and EulerAngles2MatR(), in matvec3.h.
The .ine Output File.
The second output file refers only to dynamic nodes, and contains their
inertia; its extension is .ine.
For each time step, it contains information about the inertia of all the
nodes whose output is required.
Notice that more than one inertia body can be attached to one node; the
information in this file refers to the sum of all the inertia related to
the node.
The rows contain:
1 | the label of the node |
2-4 | item the three components of the momentum in the absolute reference frame |
5-7 | item the three components of the momenta moment in the absolute reference frame, with respect to the coordinates of the node, thus to a moving frame |
8-10 | the three components of the derivative of the momentum |
11-13 | the three components of the derivative of the momentum moment |
Note: Euler parameters actually do not take into account the whole orientation of a node, since they are post-processed from the orientation matrix. As a consequence, they only parametrize the minimum norm orientation that yields the current orientation matrix of the node. The same applies to the orientation vector .
Note: if accelerations are requested using the string form, their computation is enabled even if it was not explicitly enabled when the node was instantiated. However, if the index form is used, their computation must have already been explicitly enabled.
Note: dummy nodes based on dynamic nodes inherit the capability to provide access to linear and angular accelerations.