5. Annexe#
5.1. Documentation unv sur les data set de maillage#
Data set 2411: description des nœuds:
Name: Nodes - Double Precision
Status: Current
Owner: Simulation
Revision Date: 23-OCT-1992
Record 1: FORMAT(4I10)
Field 1 – node label
Field 2 – export coordinate system number
Field 3 – displacement coordinate system number
Field 4 – color
Record 2: FORMAT(1P3D25.16)
Fields 1-3 – node coordinates in the part coordinate
system
Records 1 and 2 are repeated for each node in the model.
Example:
-1
2411
121 1 1 11
5.0000000000000000D+00 1.0000000000000000D+00 0.0000000000000000D+00
122 1 1 11
6.000000000
Data set 82: description des connectivités : ce data set n’est plus utilisé que dans les cas très particuliers de maillages expérimentaux. Les éléments sont plus généralement décrits par le data set 2412.
Name: Tracelines
Status: Obsolete
Owner: Simulation
Revision Date: 27-Aug-1987
Additional Comments: This dataset is written by I-DEAS Test.
Record 1: FORMAT(3I10)
Field 1 - trace line number
Field 2 - number of nodes defining trace line
(maximum of 250)
Field 3 - color
Record 2: FORMAT(80A1)
Field 1 - Identification line
Record 3: FORMAT(8I10)
Field 1 - nodes defining trace line
= > 0 draw line to node
= 0 move to node (a move to the first
node is implied)
Notes: 1) MODAL-PLUS node numbers must not exceed 8000.
Identification line may not be blank.
Systan only uses the first 60 characters of the
identification text.
MODAL-PLUS does not support trace lines longer than
125 nodes.
Supertab only uses the first 40 characters of the
identification line for a name.
Repeat Datasets for each Trace_Line
Data set 2412: description des éléments (modèle EF classique):
Name: Elements
Status: Current
Owner: Simulation
Revision Date: 14-AUG-1992
Record 1: FORMAT(6I10)
Field 1 – element label
Field 2 – fe descriptor id
Field 3 – physical property table number
Field 4 – material property table number
Field 5 – color
Field 6 – number of nodes on element
Record 2: * FOR NON-BEAM ELEMENTS *
FORMAT(8I10)
Fields 1-n – node labels defining element
Record 2: * FOR BEAM ELEMENTS ONLY *
FORMAT(3I10)
Field 1 – beam orientation node number
Field 2 – beam fore-end cross section number
Field 3 – beam aft-end cross section number
Record 3: * FOR BEAM ELEMENTS ONLY *
FORMAT(8I10)
Fields 1-n – node labels defining element
Records 1 and 2 are repeated for each non-beam element in the model.
Records 1 - 3 are repeated for each beam element in the model.
Example:
-1
2412
1 11 1 5380 7 2
0 1 1
1 2
2 21 2 5380 7 2
0 1 1
3 4
3 22 3 5380 7 2
0 1 2
5 6
6 91 6 5380 7 3
11 18 12
9 95 6 5380 7 8
22 25 29 30 31 26 24 23
14 136 8 0 7 2
53 54
36 116 16 5380 7 20
152 159 168 167 166 158 150 151
154 170 169 153 157 161 173 172
171 160 155 156
-1
5.2. Documentation de référence sur le data set 58#
Number: 58
Name: Function at Nodal DOF
Status: Current
Owner: Test
Revision Date: 23-Apr-1993
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:
ID lines may not be blank. If no information is required,
the word « NONE » must appear in columns 1 through 4.
ID line 1 appears on plots in Finite Element Modeling and is
used as the function description in System Dynamics Analysis.
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
Coordinates codes from MODAL-PLUS and MODALX are decoded into
node and direction.
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.
Record 10 is ignored by System Dynamics Analysis unless load
case = 0. Record 11 is always ignored by System Dynamics
Analysis.
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
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.
For functions used with nonlinear connectors in System
Dynamics Analysis, the following requirements must be
adhered to:
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.
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.
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.
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.
Dataset 217 must precede each function in order to
define the function’s usage (i.e. stiffness, viscous
damping, hysteretic damping).
5.3. Documentation de référence sur le data set 55#
Name: Data at Nodes
Status: Obsolete
Owner: Simulation
Revision Date: 07-Mar-1997
Additional Comments: This dataset is written and read by I-DEAS Test.
RECORD 1: Format (40A2)
FIELD 1: ID Line 1
RECORD 2: Format (40A2)
FIELD 1: ID Line 2
RECORD 3: Format (40A2)
FIELD 1: ID Line 3
RECORD 4: Format (40A2)
FIELD 1: ID Line 4
RECORD 5: Format (40A2)
FIELD 1: ID Line 5
RECORD 6: Format (6I10)
Data Definition Parameters
FIELD 1: Model Type
0: Unknown
1: Structural
2: Heat Transfer
3: Fluid Flow
FIELD 2: Analysis Type
0: Unknown
1: Static
2: Normal Mode
3: Complex eigenvalue first order
4: Transient
5: Frequency Response
6: Buckling
7: Complex eigenvalue second order
FIELD 3: Data Characteristic
0: Unknown
1: Scalar
2: 3 DOF Global Translation
Vector
3: 6 DOF Global Translation
& Rotation Vector
4: Symmetric Global Tensor
5: General Global Tensor
FIELD 4: Specific Data Type
0: Unknown
1: General
2: Stress
3: Strain (Engineering)
4: Element Force
5: Temperature
6: Heat Flux
7: Strain Energy
8: Displacement
9: Reaction Force
10: Kinetic Energy
11: Velocity
12: Acceleration
13: Strain Energy Density
14: Kinetic Energy Density
15: Hydro-Static Pressure
16: Heat Gradient
17: Code Checking Value
18: Coefficient Of Pressure
FIELD 5: Data Type
2: Real
5: Complex
FIELD 6: Number Of Data Values Per Node (NDV)
Records 7 And 8 Are Analysis Type Specific
General Form
RECORD 7: Format (8I10)
FIELD 1: Number Of Integer Data Values
1 < Or = Nint < Or = 10
FIELD 2: Number Of Real Data Values
1 < Or = Nrval < Or = 12
FIELDS 3-N: Type Specific Integer Parameters
RECORD 8: Format (6E13.5)
FIELDS 1-N: Type Specific Real Parameters
For Analysis Type = 0, Unknown
RECORD 7:
FIELD 1: 1
FIELD 2: 1
FIELD 3: ID Number
RECORD 8:
FIELD 1: 0.0
For Analysis Type = 1, Static
RECORD 7:
FIELD 1: 1
FIELD 2: 1
FIELD 3: Load Case Number
RECORD 8:
FIELD 11: 0.0
For Analysis Type = 2, Normal Mode
RECORD 7:
FIELD 1: 2
FIELD 2: 4
FIELD 3: Load Case Number
FIELD 4: Mode Number
RECORD 8:
FIELD 1: Frequency (Hertz)
FIELD 2: Modal Mass
FIELD 3: Modal Viscous Damping Ratio
FIELD 4: Modal Hysteretic Damping Ratio
For Analysis Type = 3, Complex Eigenvalue
RECORD 7:
FIELD 1: 2
FIELD 2: 6
FIELD 3: Load Case Number
FIELD 4: Mode Number
RECORD 8:
FIELD 1: Real Part Eigenvalue
FIELD 2: Imaginary Part Eigenvalue
FIELD 3: Real Part Of Modal A
FIELD 4: Imaginary Part Of Modal A
FIELD 5: Real Part Of Modal B
FIELD 6: Imaginary Part Of Modal B
For Analysis Type = 4, Transient
RECORD 7:
FIELD 1: 2
FIELD 2: 1
FIELD 3: Load Case Number
FIELD 4: Time Step Number
RECORD 8:
FIELD 1: Time (Seconds)
For Analysis Type = 5, Frequency Response
RECORD 7:
FIELD 1: 2
FIELD 2: 1
FIELD 3: Load Case Number
FIELD 4: Frequency Step Number
RECORD 8:
FIELD 1: Frequency (Hertz)
For Analysis Type = 6, Buckling
RECORD 7:
FIELD 1: 1
FIELD 2: 1
FIELD 3: Load Case Number
RECORD 8:
FIELD 1: Eigenvalue
RECORD 9: Format (I10)
FIELD 1: Node Number
RECORD 10: Format (6E13.5)
FIELDS 1-N: Data At This Node (NDV Real Or
Complex Values)
Records 9 And 10 Are Repeated For Each Node.
5.4. Script pour la représentation 3D d’un diagramme de MAC#
Ce script peut être recopié en bas d’un fichier de commande, en remplaçant les noms \(\mathit{B1}\) et \(\mathit{B2}\) sur la dernière ligne par les noms des deux bases que l’on souhaite comparer par MAC.
Attention: ce script s’appuie sur la bibliothèque matplotlib qui doit être installée.
def mac_plot_lib(BASE1,BASE2):
« « » calcule le mac entre deux bases, l’extrait et le represente dans un graphe 3d
matplotlib » » »
__MAC=MAC_MODES(BASE_1=BASE1,
BASE_2=BASE2);
mactmp=__MAC.EXTR_TABLE()
mac = mactmp[“NUME_MODE_1”,”NUME_MODE_2”,”MAC”].Croise()
mac_py = mac.values()
import numpy as np
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
freq_1 = BASE1.LIST_PARA()[“FREQ”]
freq_2 = BASE2.LIST_PARA()[“FREQ”]
nume_ordre_1 = BASE1.LIST_PARA()[“NUME_ORDRE”]
nume_ordre_2 = BASE2.LIST_PARA()[“NUME_ORDRE”]
nb_freq_1 = len(freq_1)
nb_freq_2 = len(freq_2)
matrice_mac = np.transpose(np.array([ mac_py[kk] for kk in nume_ordre_1]))
fig = plt.figure()
ax = axes3d.Axes3D(fig)
# Create regular mesh from coordinates
xpos,ypos = np.meshgrid(np.arange(nb_freq_1),range(nb_freq_2))
xpos = xpos + 0.5*(np.ones(matrice_mac.shape)-matrice_mac)
ypos = ypos + 0.5*(np.ones(matrice_mac.shape)-matrice_mac)
xpos = xpos.flatten()
ypos = ypos.flatten()
dx = matrice_mac.flatten()
dy = dx.copy()
dz = dx.copy()
zpos=np.zeros(nb_freq_1*nb_freq_2)
for kk in range(len(xpos)):
if dx[kk]<1.0E-6:
# pour eviter les plantages en cas de mac trop petit
dx[kk]=dy[kk]=dz[kk]=1.0E-6
ax.bar3d(xpos[kk],ypos[kk],zpos[kk],
dx[kk],dy[kk],dz[kk],
color=mac2col(dz[kk]))
ax.set_xlabel(u’FREQ_I”)
ax.set_ylabel(u’FREQ_J”)
ax.set_zlabel(u’MAC”)
plt.show()
def mac2col(value):
# donne la valeur de la couleur correspondant a une valeur de MAC
# comprise entre 0 et 1
import matplotlib.colors as colors
import matplotlib.cm as cm
value = 1-value
desc=cm.RdYlBu._segmentdata
segments=[desc[“blue”][kk][0] for kk in range(len(desc[“blue”]))]
num_seg=0
for kk in segments:
if value > kk:
num_seg = num_seg+1
tri=(desc[“red”][num_seg][1],
desc[“green”][num_seg][1],
desc[“blue”][num_seg][1])
return colors.rgb2hex(tri)
mac_plot_lib(B1,B2)
Image 5.4-1 : MAC 3D.