Dataset 58 - Function at nodal DOF

1 Dataset description

Universal Dataset Number: 58

Name: Function at Nodal DOF

     Record 1:     Format(80A1)
                   Field 1    - ID Line 1

                                             NOTE

                       ID Line 1 is generally  used  for  the function
                       description.


     Record 2:     Format(80A1)
                   Field 1    - ID Line 2

     Record 3:     Format(80A1)
                   Field 1    - ID Line 3

                                             NOTE

                       ID Line 3 is generally used to identify when the
                       function  was  created.  The date is in the form
                       DD-MMM-YY, and the time is in the form HH:MM:SS,
                       with a general Format(9A1,1X,8A1).

     Record 4:     Format(80A1)
                   Field 1    - ID Line 4

     Record 5:     Format(80A1)
                   Field 1    - ID Line 5

     Record 6:     Format(2(I5,I10),2(1X,10A1,I10,I4))
                              DOF Identification
                   Field 1    - Function Type
                                0 - General or Unknown
                                1 - Time Response
                                2 - Auto Spectrum
                                3 - Cross Spectrum
                                4 - Frequency Response Function
                                5 - Transmissibility
                                6 - Coherence
                                7 - Auto Correlation
                                8 - Cross Correlation
                                9 - Power Spectral Density (PSD)
                                10 - Energy Spectral Density (ESD)
                                11 - Probability Density Function
                                12 - Spectrum
                                13 - Cumulative Frequency Distribution
                                14 - Peaks Valley
                                15 - Stress/Cycles
                                16 - Strain/Cycles
                                17 - Orbit
                                18 - Mode Indicator Function
                                19 - Force Pattern
                                20 - Partial Power
                                21 - Partial Coherence
                                22 - Eigenvalue
                                23 - Eigenvector
                                24 - Shock Response Spectrum
                                25 - Finite Impulse Response Filter
                                26 - Multiple Coherence
                                27 - Order Function
                   Field 2    - Function Identification Number
                   Field 3    - Version Number, or sequence number
                   Field 4    - Load Case Identification Number
                                0 - Single Point Excitation
                   Field 5    - Response Entity Name ("NONE" if unused)
                   Field 6    - Response Node
                   Field 7    - Response Direction
                                 0 - Scalar
                                 1 - +X Translation       4 - +X Rotation
                                -1 - -X Translation      -4 - -X Rotation
                                 2 - +Y Translation       5 - +Y Rotation
                                -2 - -Y Translation      -5 - -Y Rotation
                                 3 - +Z Translation       6 - +Z Rotation
                                -3 - -Z Translation      -6 - -Z Rotation
                   Field 8    - Reference Entity Name ("NONE" if unused)
                   Field 9    - Reference Node
                   Field 10   - Reference Direction  (same as field 7)

                                             NOTE

                       Fields 8, 9, and 10 are only relevant if field 4
                       is zero.

     Record 7:     Format(3I10,3E13.5)
                              Data Form
                   Field 1    - Ordinate Data Type
                                2 - real, single precision
                                4 - real, double precision
                                5 - complex, single precision
                                6 - complex, double precision
                   Field 2    - Number of data pairs for uneven abscissa
                                spacing, or number of data values for even
                                abscissa spacing
                   Field 3    - Abscissa Spacing
                                0 - uneven
                                1 - even (no abscissa values stored)
                   Field 4    - Abscissa minimum (0.0 if spacing uneven)
                   Field 5    - Abscissa increment (0.0 if spacing uneven)
                   Field 6    - Z-axis value (0.0 if unused)

     Record 8:     Format(I10,3I5,2(1X,20A1))
                              Abscissa Data Characteristics
                   Field 1    - Specific Data Type
                                0 - unknown
                                1 - general
                                2 - stress
                                3 - strain
                                5 - temperature
                                6 - heat flux
                                8 - displacement
                                9 - reaction force
                                11 - velocity
                                12 - acceleration
                                13 - excitation force
                                15 - pressure
                                16 - mass
                                17 - time
                                18 - frequency
                                19 - rpm
                                20 - order
                   Field 2    - Length units exponent
                   Field 3    - Force units exponent
                   Field 4    - Temperature units exponent

                    NOTE

                       Fields 2, 3 and  4  are  relevant  only  if the
                       Specific Data Type is General, or in the case of
                       ordinates, the response/reference direction is a
                       scalar, or the functions are being used for
                       nonlinear connectors in System Dynamics Analysis.
                       See Addendum 'A' for the units exponent table.

                   Field 5    - Axis label ("NONE" if not used)
                   Field 6    - Axis units label ("NONE" if not used)

                    NOTE

                       If fields  5  and  6  are  supplied,  they take
                       precendence  over  program  generated labels and
                       units.

     Record 9:     Format(I10,3I5,2(1X,20A1))
                   Ordinate (or ordinate numerator) Data Characteristics

     Record 10:    Format(I10,3I5,2(1X,20A1))
                   Ordinate Denominator Data Characteristics

     Record 11:    Format(I10,3I5,2(1X,20A1))
                   Z-axis Data Characteristics

                    NOTE

                       Records 9, 10, and 11 are  always  included and
                       have fields the same as record 8.  If records 10
                       and 11 are not used, set field 1 to zero.

     Record 12:
                               Data Values

                     Ordinate            Abscissa
         Case     Type     Precision     Spacing       Format
       -------------------------------------------------------------
           1      real      single        even         6E13.5
           2      real      single       uneven        6E13.5
           3     complex    single        even         6E13.5
           4     complex    single       uneven        6E13.5
           5      real      double        even         4E20.12
           6      real      double       uneven     2(E13.5,E20.12)
           7     complex    double        even         4E20.12
           8     complex    double       uneven      E13.5,2E20.12
       --------------------------------------------------------------

        NOTE

       See  Addendum  'B'  for  typical  FORTRAN   READ/WRITE
       statements for each case.


     General Notes:

          1.  ID lines may not be blank.  If no  information  is required,
              the word "NONE" must appear in columns 1 through 4.

          2.  ID line 1 appears on plots in Finite Element Modeling and is
              used as the function description in System Dynamics Analysis.

          3.  Dataloaders use the following ID line conventions
                 ID Line 1 - Model Identification
                 ID Line 2 - Run Identification
                 ID Line 3 - Run Date and Time
                 ID Line 4 - Load Case Name

          4.  Coordinates codes from MODAL-PLUS and MODALX are decoded into
              node and direction.

          5.  Entity names used in System Dynamics Analysis prior to I-DEAS
              Level 5 have a 4 character maximum. Beginning with Level 5,
              entity names will be ignored if this dataset is preceded by
              dataset 259. If no dataset 259 precedes this dataset, then the
              entity name will be assumed to exist in model bin number 1.

          6.  Record 10 is ignored by System Dynamics Analysis unless load
              case = 0. Record 11 is always ignored by System Dynamics
              Analysis.

          7.  In record 6, if the response or reference names are "NONE"
              and are not overridden by a dataset 259, but the correspond-
              ing node is non-zero, System Dynamics Analysis adds the node
              and direction to the function description if space is sufficie

          8.  ID line 1 appears on XY plots in Test Data Analysis along
              with ID line 5 if it is defined.  If defined, the axis units
              labels also appear on the XY plot instead of the normal
              labeling based on the data type of the function.

          9.  For functions used with nonlinear connectors in System
              Dynamics Analysis, the following requirements must be
              adhered to:

              a) Record 6: For a displacement-dependent function, the
                 function type must be 0; for a frequency-dependent
                 function, it must be 4. In either case, the load case
                 identification number must be 0.

              b) Record 8: For a displacement-dependent function, the
                 specific data type must be 8 and the length units
                 exponent must be 0 or 1; for a frequency-dependent
                 function, the specific data type must be 18 and the
                 length units exponent must be 0. In either case, the
                 other units exponents must be 0.

              c) Record 9: The specific data type must be 13. The
                 temperature units exponent must be 0. For an ordinate
                 numerator of force, the length and force units
                 exponents must be 0 and 1, respectively. For an
                 ordinate numerator of moment, the length and force
                 units exponents must be 1 and 1, respectively.

              d) Record 10: The specific data type must be 8 for
                 stiffness and hysteretic damping; it must be 11
                 for viscous damping. For an ordinate denominator of
                 translational displacement, the length units exponent
                 must be 1; for a rotational displacement, it must
                 be 0. The other units exponents must be 0.

              e) Dataset 217 must precede each function in order to
                 define the function's usage (i.e. stiffness, viscous
                 damping, hysteretic damping).

    Addendum A

     In order to correctly perform units  conversion,  length,  force, and
     temperature  exponents  must  be  supplied for a specific data type of
     General; that is, Record 8 Field 1 = 1.  For example, if the function
     has  the  physical dimensionality of Energy (Force * Length), then the
     required exponents would be as follows:

             Length = 1
             Force = 1          Energy = L * F
             Temperature = 0

     Units exponents for the remaining specific data types  should not  be
     supplied.  The following exponents will automatically be used.

                          Table - Unit Exponents
          -------------------------------------------------------
           Specific                   Direction
                    ---------------------------------------------
             Data       Translational            Rotational
                    ---------------------------------------------
             Type    Length  Force  Temp    Length  Force  Temp
          -------------------------------------------------------
              0        0       0      0       0       0      0
              1             (requires input to fields 2,3,4)
              2       -2       1      0      -1       1      0
              3        0       0      0       0       0      0
              5        0       0      1       0       0      1
              6        1       1      0       1       1      0
              8        1       0      0       0       0      0
              9        0       1      0       1       1      0
             11        1       0      0       0       0      0
             12        1       0      0       0       0      0
             13        0       1      0       1       1      0
             15       -2       1      0      -1       1      0
             16       -1       1      0       1       1      0
             17        0       0      0       0       0      0
             18        0       0      0       0       0      0
             19        0       0      0       0       0      0
          --------------------------------------------------------

            NOTE

             Units exponents for scalar points are defined within
             System Analysis prior to reading this dataset.

    Addendum B

     There are 8 distinct  combinations  of  parameters  which  affect the
     details   of  READ/WRITE  operations.   The  parameters  involved are
     Ordinate Data Type, Ordinate Data  Precision,  and  Abscissa Spacing.
     Each  combination  is documented in the examples below.  In all cases,
     the number of data values (for even abscissa spacing)  or  data pairs
     (for  uneven  abscissa  spacing)  is NVAL.  The abcissa is always real
     single precision.  Complex double precision is  handled  by  two real
     double  precision  variables  (real  part  followed by imaginary part)
     because most systems do not directly support complex double precision.

     CASE 1

     REAL
     SINGLE PRECISION
     EVEN SPACING

       Order of data in file           Y1   Y2   Y3   Y4   Y5   Y6
                                       Y7   Y8   Y9   Y10  Y11  Y12
                                                  .
                                                  .
                                                  .
       Input

                 REAL Y(6)
                   .
                   .
                   .
                 NPRO=0
              10 READ(LUN,1000,ERR=  ,END=  )(Y(I),I=1,6)
            1000 FORMAT(6E13.5)
                 NPRO=NPRO+6
                   .
                   .    code to process these six values
                   .
                 IF(NPRO.LT.NVAL)GO TO 10
                   .
                   .   continued processing
                   .

       Output

                 REAL Y(6)
                   .
                   .
                   .
                 NPRO=0
              10 CONTINUE
                   .
                   .    code to set up these six values
                   .
                 WRITE(LUN,1000,ERR=  )(Y(I),I=1,6)
            1000 FORMAT(6E13.5)
                 NPRO=NPRO+6

                 IF(NPRO.LT.NVAL)GO TO 10
                   .
                   .   continued processing
                   .

     CASE 2

     REAL
     SINGLE PRECISION
     UNEVEN SPACING

       Order of data in file          X1   Y1   X2   Y2   X3   Y3
                                      X4   Y4   X5   Y5   X6   Y6
                                       .
                                       .
                                       .

       Input

                 REAL X(3),Y(3)
                   .
                   .
                   .
                 NPRO=0
              10 READ(LUN,1000,ERR=  ,END=  )(X(I),Y(I),I=1,3)
            1000 FORMAT(6E13.5)
                 NPRO=NPRO+3
                   .
                   .    code to process these three values
                   .
                 IF(NPRO.LT.NVAL)GO TO 10
                   .
                   .   continued processing
                   .

       Output

                 REAL X(3),Y(3)
                   .
                   .
                   .
                 NPRO=0
              10 CONTINUE
                   .
                   .    code to set up these three values
                   .
                 WRITE(LUN,1000,ERR=  )(X(I),Y(I),I=1,3)
            1000 FORMAT(6E13.5)
                 NPRO=NPRO+3
                 IF(NPRO.LT.NVAL)GO TO 10
                   .
                   .   continued processing
                   .

     CASE 3

     COMPLEX
     SINGLE PRECISION
     EVEN SPACING

       Order of data in file          RY1  IY1  RY2  IY2  RY3  IY3
                                      RY4  IY4  RY5  IY5  RY6  IY6
                                       .
                                       .
                                       .

       Input

                 COMPLEX Y(3)
                   .
                   .
                   .
                 NPRO=0
              10 READ(LUN,1000,ERR=  ,END=  )(Y(I),I=1,3)
            1000 FORMAT(6E13.5)
                 NPRO=NPRO+3
                   .
                   .    code to process these six values
                   .
                 IF(NPRO.LT.NVAL)GO TO 10
                   .
                   .   continued processing
                   .


       Output

                 COMPLEX Y(3)
                   .
                   .
                   .
                 NPRO=0
              10 CONTINUE
                   .
                   .    code to set up these three values
                   .
                 WRITE(LUN,1000,ERR=  )(Y(I),I=1,3)
            1000 FORMAT(6E13.5)
                 NPRO=NPRO+3
                 IF(NPRO.LT.NVAL)GO TO 10
                   .
                   .   continued processing
                   .

     CASE 4

     COMPLEX
     SINGLE PRECISION
     UNEVEN SPACING

       Order of data in file          X1   RY1  IY1  X2  RY2  IY2
                                      X3   RY3  IY3  X4  RY4  IY4

                                       .
                                       .
                                       .

       Input

                 REAL X(2)
                 COMPLEX Y(2)
                   .
                   .
                   .
                 NPRO=0
              10 READ(LUN,1000,ERR=  ,END=  )(X(I),Y(I),I=1,2)
            1000 FORMAT(6E13.5)
                 NPRO=NPRO+2
                   .
                   .    code to process these two values
                   .
                 IF(NPRO.LT.NVAL)GO TO 10
                   .
                   .   continued processing
                   .

      Output

                 REAL X(2)
                 COMPLEX Y(2)
                   .
                   .
                   .
                 NPRO=0
              10 CONTINUE
                   .
                   .    code to set up these two values
                   .
                 WRITE(LUN,1000,ERR=  )(X(I),Y(I),I=1,2)
            1000 FORMAT(6E13.5)
                 NPRO=NPRO+2
                 IF(NPRO.LT.NVAL)GO TO 10
                   .
                   .   continued processing
                   .

     CASE 5

     REAL
     DOUBLE PRECISION
     EVEN SPACING

       Order of data in file          Y1     Y2     Y3     Y4
                                      Y5     Y6     Y7     Y8
                                       .
                                       .
                                       .
       Input

                 DOUBLE PRECISION Y(4)
                   .
                   .
                   .
                 NPRO=0
              10 READ(LUN,1000,ERR=  ,END=  )(Y(I),I=1,4)
            1000 FORMAT(4E20.12)
                 NPRO=NPRO+4
                   .
                   .    code to process these four values
                   .
                 IF(NPRO.LT.NVAL)GO TO 10
                   .
                   .   continued processing
                   .

       Output

                 DOUBLE PRECISION Y(4)
                   .
                   .
                   .
                 NPRO=0
              10 CONTINUE
                   .
                   .    code to set up these four values
                   .
                 WRITE(LUN,1000,ERR=  )(Y(I),I=1,4)
            1000 FORMAT(4E20.12)
                 NPRO=NPRO+4
                 IF(NPRO.LT.NVAL)GO TO 10
                   .
                   .   continued processing
                   .

     CASE 6

     REAL
     DOUBLE PRECISION
     UNEVEN SPACING

       Order of data in file          X1   Y1     X2   Y2
                                      X3   Y3     X4   Y4
                                       .
                                       .
                                       .
       Input

                 REAL X(2)
                 DOUBLE PRECISION Y(2)
                   .
                   .
                   .
                 NPRO=0
              10 READ(LUN,1000,ERR=  ,END=  )(X(I),Y(I),I=1,2)
            1000 FORMAT(2(E13.5,E20.12))
                 NPRO=NPRO+2
                   .
                   .    code to process these two values
                   .
                 IF(NPRO.LT.NVAL)GO TO 10
                   .
                   .   continued processing
                   .

       Output

                 REAL X(2)
                 DOUBLE PRECISION Y(2)
                   .
                   .
                   .
                 NPRO=0
              10 CONTINUE
                   .
                   .    code to set up these two values
                   .
                 WRITE(LUN,1000,ERR=  )(X(I),Y(I),I=1,2)
            1000 FORMAT(2(E13.5,E20.12))
                 NPRO=NPRO+2
                 IF(NPRO.LT.NVAL)GO TO 10
                   .
                   .   continued processing
                   .

     CASE 7

     COMPLEX
     DOUBLE PRECISION
     EVEN SPACING

       Order of data in file          RY1    IY1    RY2    IY2
                                      RY3    IY3    RY4    IY4
                                       .
                                       .
                                       .

       Input

                 DOUBLE PRECISION Y(2,2)
                   .
                   .
                   .
                 NPRO=0
              10 READ(LUN,1000,ERR=  ,END=  )((Y(I,J),I=1,2),J=1,2)
            1000 FORMAT(4E20.12)
                 NPRO=NPRO+2
                   .
                   .    code to process these two values
                   .
                 IF(NPRO.LT.NVAL)GO TO 10
                   .
                   .   continued processing
                   .

       Output

                 DOUBLE PRECISION Y(2,2)
                   .
                   .
                   .
                 NPRO=0
              10 CONTINUE
                   .
                   .    code to set up these two values
                   .
                 WRITE(LUN,1000,ERR=  )((Y(I,J),I=1,2),J=1,2)
            1000 FORMAT(4E20.12)
                 NPRO=NPRO+2
                 IF(NPRO.LT.NVAL)GO TO 10
                   .
                   .   continued processing
                   .
     CASE 8

     COMPLEX
     DOUBLE PRECISION
     UNEVEN SPACING

       Order of data in file          X1   RY1    IY1
                                      X2   RY2    IY2
                                       .
                                       .
                                       .
       Input

                 REAL X
                 DOUBLE PRECISION Y(2)
                   .
                   .
                   .
                 NPRO=0
              10 READ(LUN,1000,ERR=  ,END=  )(X,Y(I),I=1,2)
            1000 FORMAT(E13.5,2E20.12)
                 NPRO=NPRO+1
                   .
                   .    code to process this value
                   .
                 IF(NPRO.LT.NVAL)GO TO 10
                   .
                   .   continued processing
                   .

       Output

                 REAL X
                 DOUBLE PRECISION Y(2)
                   .
                   .
                   .
                 NPRO=0
              10 CONTINUE
                   .
                   .    code to set up this value
                   .
                 WRITE(LUN,1000,ERR=  )(X,Y(I),I=1,2)
            1000 FORMAT(E13.5,2E20.12)
                 NPRO=NPRO+1
                 IF(NPRO.LT.NVAL)GO TO 10
                   .
                   .   continued processing
                   .

2 API

Dataset58

A struct containing UFF Dataset 58 metadata.

Fields

  • type::Symbol: Data set type

  • id1::String: ID line 1

  • id2::String: ID line 2

  • id3::String: ID line 3

  • id4::String: ID line 4

  • id5::String: ID line 5

  • func_type::Int: Function type

  • func_id::Int: Function ID

  • ver_num::Int: Version number

  • load_case::Int: Load case

  • resp_name::String: Response name

  • resp_node::Int: Response node

  • resp_dir::Int: Response direction

  • ref_name::String: Reference name

  • ref_node::Int: Reference node

  • ref_dir::Int: Reference direction

  • ord_dtype::Int: Ordinate data type

  • num_pts::Int: Number of points

  • abs_spacing_type::Int: Abscissa spacing type

  • abs_start::Float64: Abscissa start

  • abs_increment::Float64: Abscissa increment

  • zval::Float64: Z-axis value

  • abs_spec_dtype::Int: Abscissa specification data type

  • abs_len_unit_exp::Int: Abscissa length unit exponent

  • abs_force_unit_exp::Int: Abscissa force unit exponent

  • abs_temp_unit_exp::Int: Abscissa temperature unit exponent

  • abs_axis_label::String: Abscissa axis label

  • abs_axis_unit_label::String: Abscissa axis unit label

  • ord_spec_dtype::Int: Ordinate specification data type

  • ord_len_unit_exp::Int: Ordinate length unit exponent

  • ord_force_unit_exp::Int: Ordinate force unit exponent

  • ord_temp_unit_exp::Int: Ordinate temperature unit exponent

  • ord_axis_label::String: Ordinate axis label

  • ord_axis_unit_label::String: Ordinate axis unit label

  • ord_denom_spec_dtype::Int: Ordinate denominator specification data type

  • ord_denom_len_unit_exp::Int: Ordinate denominator length unit exponent

  • ord_denom_force_unit_exp::Int: Ordinate denominator force unit exponent

  • ord_denom_temp_unit_exp::Int: Ordinate denominator temperature unit exponent

  • ord_denom_axis_label::String: Ordinate denominator axis label

  • ord_denom_axis_unit_label::String: Ordinate denominator axis unit label

  • z_spec_dtype::Int: Z-axis specification data type

  • z_len_unit_exp::Int: Z-axis length unit exponent

  • z_force_unit_exp::Int: Z-axis force unit exponent

  • z_temp_unit_exp::Int: Z-axis temperature unit exponent

  • z_axis_label::String: Z-axis label

  • z_axis_unit_label::String: Z-axis unit label

  • data::AbstractVector: Data values