16
INCAS BULLETIN, Volume 6, Issue 1/ 2014, pp. 21 36 ISSN 2066 8201 Computing Method of Forces on Rivet Ion DIMA* *Corresponding author INCAS National Institute for Aerospace Research Elie Carafoli” B-dul Iuliu Maniu 220, Bucharest 061126, Romania [email protected] DOI: 10.13111/2066-8201.2014.6.1.3 Abstract: This article aims to provide a quick methodology of forces calculation on rivet in single shear using the finite element method (FEM) NASTRAN/PATRAN. These forces can be used for the calculus of bearing, inter rivet buckling and riveting check. For this method to be efficient and fast, a macro has been developed based on this methodology described in the article. The macro was wrote in Visual Basic with Excel interface. In the beginning phase of any aircraft project, when the rivets type and position are not yet precisely known, the modelling of rivets, as attachment elements between items, is made node on node in the finite element model, without taking account of the rivets position. Although the rivets are not modelled in the finite element model, this method together with the macro enable a quick extraction and calculation of the forces on the rivet. This calculation of forces on rivet is intended to critical case, selected from the stress plots of NASTRAN for max. /min. principal stress and shear. Key Words: rivet, bearing, inter rivet buckling, riveting check, reserve factor, macro, pitch of riveting, endloads, the flow of force, FEM, NASTRAN/PATRAN, Visual Basic, Excel 1. INTRODUCTION Widely, in the beginning phase of any aircraft project a rough model with finite elements is used. This model has to be easy to update at any modification of design and should give quick and reliable results. Thus with the modeling technique the shells and bars elements are used. The rivets, as attachment elements, are not modelled, because their type and position are not precisely known. Therefore the attachment between the items are made node on node, without taking account of the rivets position. Although the rivets are not modelled in the finite element model, this method enable a quick extraction and calculation of the forces on the rivet. For this method to be efficient a macro has been developed based on this methodology. The macro was wrote in Visual Basic with Excel interface. Generally, the NASTRAN/PATRAN software is used for the modeling of the aircraft structure. This calculation of forces on rivet is made for critical case, selected from stress plots of NASTRAN for max. /min. principal stress and shear. The following chapters discuss both the methodology and the macro for a fast calculation of forces on rivet. 2. COMPUTING METHOD OF FORCES ON RIVET The modeling technique with shell elements for skin, ribs and stringers, using NASTRAN/PATRAN software is shown in figures below.

Computing Method of Forces on Rivet - INCASbulletin.incas.ro/files/dima_i__vol_6_iss_1.pdf · 27 Computing Method of Forces on Rivet INCAS BULLETIN, Volume 6, Issue 1/ 2014 for riveting

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Computing Method of Forces on Rivet - INCASbulletin.incas.ro/files/dima_i__vol_6_iss_1.pdf · 27 Computing Method of Forces on Rivet INCAS BULLETIN, Volume 6, Issue 1/ 2014 for riveting

INCAS BULLETIN, Volume 6, Issue 1/ 2014, pp. 21 – 36 ISSN 2066 – 8201

Computing Method of Forces on Rivet

Ion DIMA*

*Corresponding author

INCAS – National Institute for Aerospace Research “Elie Carafoli”

B-dul Iuliu Maniu 220, Bucharest 061126, Romania

[email protected]

DOI: 10.13111/2066-8201.2014.6.1.3

Abstract: This article aims to provide a quick methodology of forces calculation on rivet in single shear

using the finite element method (FEM) – NASTRAN/PATRAN. These forces can be used for the calculus

of bearing, inter rivet buckling and riveting check. For this method to be efficient and fast, a macro has

been developed based on this methodology described in the article. The macro was wrote in Visual

Basic with Excel interface. In the beginning phase of any aircraft project, when the rivets type and

position are not yet precisely known, the modelling of rivets, as attachment elements between items, is

made node on node in the finite element model, without taking account of the rivets position. Although

the rivets are not modelled in the finite element model, this method together with the macro enable a

quick extraction and calculation of the forces on the rivet. This calculation of forces on rivet is intended

to critical case, selected from the stress plots of NASTRAN for max. /min. principal stress and shear.

Key Words: rivet, bearing, inter rivet buckling, riveting check, reserve factor, macro, pitch of riveting,

endloads, the flow of force, FEM, NASTRAN/PATRAN, Visual Basic, Excel

1. INTRODUCTION

Widely, in the beginning phase of any aircraft project a rough model with finite elements is

used. This model has to be easy to update at any modification of design and should give quick

and reliable results.

Thus with the modeling technique the shells and bars elements are used. The rivets, as

attachment elements, are not modelled, because their type and position are not precisely

known. Therefore the attachment between the items are made node on node, without taking

account of the rivets position.

Although the rivets are not modelled in the finite element model, this method enable a

quick extraction and calculation of the forces on the rivet. For this method to be efficient a

macro has been developed based on this methodology. The macro was wrote in Visual Basic

with Excel interface.

Generally, the NASTRAN/PATRAN software is used for the modeling of the aircraft

structure. This calculation of forces on rivet is made for critical case, selected from stress plots

of NASTRAN for max. /min. principal stress and shear.

The following chapters discuss both the methodology and the macro for a fast calculation

of forces on rivet.

2. COMPUTING METHOD OF FORCES ON RIVET

The modeling technique with shell elements for skin, ribs and stringers, using

NASTRAN/PATRAN software is shown in figures below.

Page 2: Computing Method of Forces on Rivet - INCASbulletin.incas.ro/files/dima_i__vol_6_iss_1.pdf · 27 Computing Method of Forces on Rivet INCAS BULLETIN, Volume 6, Issue 1/ 2014 for riveting

Ion DIMA 22

INCAS BULLETIN, Volume 6, Issue 1/ 2014

Fig. 1 CATIA and FEM structural model of the trailing edge of the wing

In PATRAN, there is the option NOELOP (PARAM, NOELOP, 1), in which the sum of

the grid point forces (GPFORCE Case Control command) is computed parallel to the edges of

adjacent elements, called endload forces.

To use this option, a group with nodes, where the endload forces shall be computed, has

to be created.

For the NASTRAN output request should be given the option GPFORCE, with PARAM,

NOELOP, 1 - see figure below.

CATIA Model

StringerFEM Model

Lateral

directionLongitudinal

direction

Skin

Riveting

Transversal

direction

Rib

Rib

Shell

elements

Rib

Stringer

Skin

Page 3: Computing Method of Forces on Rivet - INCASbulletin.incas.ro/files/dima_i__vol_6_iss_1.pdf · 27 Computing Method of Forces on Rivet INCAS BULLETIN, Volume 6, Issue 1/ 2014 for riveting

23 Computing Method of Forces on Rivet

INCAS BULLETIN, Volume 6, Issue 1/ 2014

Fig. 2 bdf file – with PARAM, NOELOP, 1 input data

After running to NASTRAN, the output results shall be printed in f06 file, as it is shown in

the figure below:

Fig. 3 f06 file – output results

Page 4: Computing Method of Forces on Rivet - INCASbulletin.incas.ro/files/dima_i__vol_6_iss_1.pdf · 27 Computing Method of Forces on Rivet INCAS BULLETIN, Volume 6, Issue 1/ 2014 for riveting

Ion DIMA 24

INCAS BULLETIN, Volume 6, Issue 1/ 2014

The meaning of the entity names from Figure 3 is:

POINT – ID is a pointed node and ORIENT – ID is an oriented node. TENSION refers to

the force which acts from POINT – ID to ORIENT – ID. Positive value is the tension and the

negative value refers to compression.

Based on these endloads forces, from NASTRAN, force diagrams along longitudinal,

transversal and lateral directions will be built, as seen in figures below:

Fig. 4 Overview of classical structure, modeling in FEM with quad elements

Node_n

Rib_n

Quads

elements

Rivet

Rivets

dir. 1 –

Longitudinal direction

dir. 3 -

Lateral direction Rib_i Node_i

dir. 2 –

Transversal direction Pitch of

riveting - p

Flange of

spar

Rib_2

Node_2 This symbol

indicates the

position of rivets Rib_1

Node_1

Node 1

POINT-ID ORIENT-ID

Node 2

Page 5: Computing Method of Forces on Rivet - INCASbulletin.incas.ro/files/dima_i__vol_6_iss_1.pdf · 27 Computing Method of Forces on Rivet INCAS BULLETIN, Volume 6, Issue 1/ 2014 for riveting

25 Computing Method of Forces on Rivet

INCAS BULLETIN, Volume 6, Issue 1/ 2014

Fig. 5 Force diagrams based on endload forces, extracted from NASTRAN

Longitudinal direction – final

force diagram

Transversal direction –

final force diagram

Lateral direction

– final force

diagram

Page 6: Computing Method of Forces on Rivet - INCASbulletin.incas.ro/files/dima_i__vol_6_iss_1.pdf · 27 Computing Method of Forces on Rivet INCAS BULLETIN, Volume 6, Issue 1/ 2014 for riveting

Ion DIMA 26

INCAS BULLETIN, Volume 6, Issue 1/ 2014

In the figure above for lateral direction, the negative force should be neglected, because

the negative force refers to the compression force due to contact between parts. Only the

positive force, T32, should be taken into account.

The following assumptions were made: in the area where the forces keep the same sign,

the highest amplitude of forces was considered in the final force diagram- – see figures above.

The formula for calculating the maximum flow of the force in longitudinal, transversal or

lateral direction is:

i

itot

L

Tnf

max,

max

*

where:

ntot,i is the total number of subintervals of interval i;

Li is the length of interval i;

Tmax is the maximum force from the final force diagrams – see Figure 5, in

longitudinal, transversal or lateral direction.

For a better understanding of the notations used in the above formula, see figure below:

Fig. 6 Positions of nodes and rivets along the longitudinal direction

Note: The interval is defined as a length where the forces keep the same sign.

The formula for calculating the maximum force on rivet in longitudinal, transversal or lateral

direction is:

maxmaxmax, * pfF rivet

where:

Fmax,rivet is the maximum force on rivet in longitudinal, transversal or lateral direction;

pmax is the maximum pitch of riveting on the interval i.

The general formula for the reserve factor of rivet is:rivet

allrivet

rivetF

FRF

max,

, , where Frivet,all is

the allowable force of rivet (tension/shear allowable force).

Therefore, for example:

for bearing check, the max. shear force has to be used:2

,max,

2

,max, TrivetLrivetsh FFF

according to HSB 21020-01, Issue D, 1988. Fmax,rivet,L and Fmax,rivet,T are the forces in

the longitudinal and transversal direction, which act in the shear plane of the rivet;

for inter rivet buckling it has to be used Fmax,rivet,L, according with HSB 45131-01, Issue

C, 2004;

Subinterval, j Tmax li

Rivet, i

pmax

Node 2 Node 3 Node 1 Node i

(critical node) Node n Node i+1

(critical node) Li

Interval, i

Page 7: Computing Method of Forces on Rivet - INCASbulletin.incas.ro/files/dima_i__vol_6_iss_1.pdf · 27 Computing Method of Forces on Rivet INCAS BULLETIN, Volume 6, Issue 1/ 2014 for riveting

27 Computing Method of Forces on Rivet

INCAS BULLETIN, Volume 6, Issue 1/ 2014

for riveting check it has to be used: Fsh for shear of rivet and the maximum force on

rivet in lateral direction, Fmax,rivet,S for tension of rivet. The combined shear and tension

loading have to be applied, according with HSB 20210-01, Issue C, 1976 and HSB

24000-01, Issue D, 2006.

Remark:

Because in the finite element model the rivets are not modeled, the attachment between the

parts are made node on node, the Fmax,rivet, force is the total force per rivet, considering both

the skin and the flange – see figure below.

Fig. 7 Total force per rivet, with contribution both the skin and the flange

For this reason, the Fmax,rivet, force has to divide in two parts. The F1 force is force that acts

on the skin and F2 is force acting on the flange. The formulas for these forces calculation are

written below:

rivetFEtEt

EtF max,

2211

111 *

**

*

, rivetF

EtEt

EtF max,

2211

222 *

**

*

, 21max, FFF rivet

3. THE MACRO FOR CALCULATION FORCES ON RIVET

A macro was written in Visual BASIC with Excel interface, based on the method which was

described in chapter 2. This macro with Excel interface has a user guide sheet which explains

how to use it and a rivet forces calculation sheet, attached at this article.

Before launching this macro, the input data have to be prepared.

copy endload forces from NASTRAN f06 file (NASTRAN results) to the rivet forces

calculation sheet;

extract from the PATRAN bdf file (PATRAN input) the riveting nodes with their

coordinates X, Y and Z. The writing of riveting nodes has to be maintained in the same

order such as defined in FEM;

the pitch of riveting has to be defined;

run macro;

This macro is able to:

extract the endload forces from NASTRAN f06 file;

calculate the maximum force of each interval, i;

find the critical position of Node i and Node i+1, where the force is maximum on each

interval i;

find the maximum pitch pmax of each interval i;

calculate the length Li of each interval i;

count the total number of subintervals of each interval i;

calculate the total force Fmax, rivet per rivet of each interval i;

t1, E1 F1

CSK Rivet Skin

Fmax, rivet

F2 t2, E2

Flange

Page 8: Computing Method of Forces on Rivet - INCASbulletin.incas.ro/files/dima_i__vol_6_iss_1.pdf · 27 Computing Method of Forces on Rivet INCAS BULLETIN, Volume 6, Issue 1/ 2014 for riveting

Ion DIMA 28

INCAS BULLETIN, Volume 6, Issue 1/ 2014

The results from macro are:

the macro writes the nodes of riveting, the length between them and the endload

values;

the macro writes the nodes of riveting and the maximum endload value of each

interval i;

the macro computes the total force per rivet, Fmax,rivet, for each interval i;

the macro writes nodes and their position where there is the maximum endload value

of each interval i;

the macro writes the total number of subintervals of each interval i;

the macro writes the total length of each interval i;

the macro writes the maximum pitch between the rivets of each interval i.

A software code of this macro which performs all commands for calculating the riveting

forces, is written below in VISUAL BASIC:

Option Base 1

Type Tab_F

G1 As Long

G2 As Long

F As Single

End Type

Type Tab_N

ID As Long

X As Single

Y As Single

Z As Single

p As Single

End Type

Type Tab_Max_F

G1 As Long

G2 As Long

F As Single

End Type

Type Tab_F_Sub

G1 As Long

G2 As Long

L_Sub As Single

F As Single

p As Single

X As Single

Y As Single

Z As Single

End Type

Dim F() As Tab_F

Dim N() As Tab_N

Page 9: Computing Method of Forces on Rivet - INCASbulletin.incas.ro/files/dima_i__vol_6_iss_1.pdf · 27 Computing Method of Forces on Rivet INCAS BULLETIN, Volume 6, Issue 1/ 2014 for riveting

29 Computing Method of Forces on Rivet

INCAS BULLETIN, Volume 6, Issue 1/ 2014

Dim F_Sub() As Tab_F_Sub

Dim Max_F() As Tab_Max_F

Dim Nr_Endloads As Single

Dim Nr_Nodes As Single

Dim N1 As Long

Dim N2 As Long

Dim F_Max As Single

Dim F_Min As Single

Dim F_Z As Single

Dim L_Sub_P As Single

Dim L_Sub_N As Single

Dim L_Sub_Z As Single

Dim p_max As Single

Dim X_crit As Single

Dim Y_crit As Single

Dim Z_crit As Single

Dim N1_crit As Single

Dim N2_crit As Single

Sub Fast_Calc()

er1 = True: er2 = True: er3 = True: er4 = True: c_er1 = 0

ii = 1

While Cells(ii, 1) <> ""

ii = ii + 1

er1 = IsNumeric(Cells(ii, 1))

er2 = IsNumeric(Cells(ii, 2))

er3 = IsNumeric(Cells(ii, 3))

er4 = er1 And er2 And er3

If er4 = False Then

c_er1 = c_er1 + 1

End If

Wend

Nr_Endloads = ii - 2

If c_er1 <> 0 Then

MsgBox ("There are " & c_er1 & " error in Endload input data !!" &

& Chr(13) & "Only numerical values are allowed!!" &

& Chr(13) & "Please update the input data!!")

End If

er1 = True: er2 = True: er3 = True

er4 = True: er5 = True: er6 = True: c_er2 = 0

jj = 1

While Cells(jj, 4) <> ""

jj = jj + 1

er1 = IsNumeric(Cells(jj, 4))

er2 = IsNumeric(Cells(jj, 5))

er3 = IsNumeric(Cells(jj, 6))

Page 10: Computing Method of Forces on Rivet - INCASbulletin.incas.ro/files/dima_i__vol_6_iss_1.pdf · 27 Computing Method of Forces on Rivet INCAS BULLETIN, Volume 6, Issue 1/ 2014 for riveting

Ion DIMA 30

INCAS BULLETIN, Volume 6, Issue 1/ 2014

er4 = IsNumeric(Cells(jj, 7))

er5 = IsNumeric(Cells(jj, 8))

er6 = er1 And er2 And er3 And er4 And er5

If er6 = False Then

c_er2 = c_er2 + 1

End If

Wend

Nr_Nodes = jj - 2

If c_er2 <> 0 Then

MsgBox ("There are " & c_er2 & " error in Nodes input data !!" &

& Chr(13) & "Only numerical values are allowed!!" &

& Chr(13) & "Please update input data!!"): Exit Sub

End If

If c_er1 <> 0 Then

Exit Sub

End If

Range("I2:X1048576").Select

Selection.Clear

ReDim F(1 To Nr_Endloads)

For i = 1 To Nr_Endloads

F(i).G1 = Cells(i + 1, 1).Value

F(i).G2 = Cells(i + 1, 2).Value

F(i).F = Cells(i + 1, 3).Value

Next i

ReDim N(1 To Nr_Nodes)

For i = 1 To Nr_Nodes

N(i).ID = Cells(i + 1, 4).Value

N(i).X = Cells(i + 1, 5).Value

N(i).Y = Cells(i + 1, 6).Value

N(i).Z = Cells(i + 1, 7).Value

N(i).p = Cells(i + 1, 8).Value

Next i

ReDim F_Sub(1 To Nr_Nodes - 1)

For i = 1 To Nr_Nodes - 1

N1 = N(i).ID: N2 = N(i + 1).ID

For j = 1 To Nr_Endloads

If F(j).G1 = N1 And F(j).G2 = N2 Then

F_Sub(i).G1 = N1: F_Sub(i).G2 = N2

F_Sub(i).L_Sub = Sqr((N(i + 1).X - N(i).X) ^ 2 +

+ (N(i + 1).Y - N(i).Y) ^ 2 + (N(i + 1).Z - N(i).Z) ^ 2)

F_Sub(i).F = F(j).F

F_Sub(i).p = N(i).p

F_Sub(i).X = N(i).X

F_Sub(i).Y = N(i).Y

F_Sub(i).Z = N(i).Z

Page 11: Computing Method of Forces on Rivet - INCASbulletin.incas.ro/files/dima_i__vol_6_iss_1.pdf · 27 Computing Method of Forces on Rivet INCAS BULLETIN, Volume 6, Issue 1/ 2014 for riveting

31 Computing Method of Forces on Rivet

INCAS BULLETIN, Volume 6, Issue 1/ 2014

End If

Next j

Cells(i + 1, 9).Value = F_Sub(i).G1

Cells(i + 1, 10).Value = F_Sub(i).G2

Cells(i + 1, 11).Value = F_Sub(i).L_Sub

Cells(i + 1, 12).Value = F_Sub(i).F

Next i

cont = 1

While Cells(cont, 9) <> ""

cont = cont + 1

Wend

nr_row = cont - 2

cont = 0: F_Max = 0: F_Min = 0: F_Z = 0

L_Sub_P = 0: L_Sub_N = 0: L_Sub_Z = 0: p_max = 0

X_crit = 0: Y_crit = 0: Z_crit = 0

i_p = 0: i_n = 0: i_z = 0

Do

cont = cont + 1

If cont <> 1 Then

If F_Sub(cont - 1).F > 0 Then

If F_Sub(cont - 1).F > F_Max Then

F_Max = F_Sub(cont - 1).F

X_crit = F_Sub(cont - 1).X

Y_crit = F_Sub(cont - 1).Y

Z_crit = F_Sub(cont - 1).Z

N1_crit = F_Sub(cont - 1).G1: N2_crit = F_Sub(cont - 1).G2

End If

Cells(cont - i_p + i, 13).Value = Max_F(i).G1

Cells(cont - i_p + i, 14).Value = Max_F(i).G2

Cells(cont - i_p + i, 15).Value = Max_F(i).F

If F_Sub(cont - i_p - 1 + i).p > p_max Then

p_max = F_Sub(cont - i_p - 1 + i).p

End If

Next i

Cells(cont - i_p + 1, 16).Value = i_p * F_Max * p_max / L_Sub_P

Cells(cont - i_p + 1, 17).Value = N1_crit

Cells(cont - i_p + 1, 18).Value = N2_crit

Cells(cont - i_p + 1, 19).Value = X_crit

Cells(cont - i_p + 1, 20).Value = Y_crit

Cells(cont - i_p + 1, 21).Value = Z_crit

Cells(cont - i_p + 1, 22).Value = i_p

Cells(cont - i_p + 1, 23).Value = L_Sub_P

Cells(cont - i_p + 1, 24).Value = p_max

Range("S" & cont - i_p + 1 & ":U" & cont - i_p + 1).Select

Selection.NumberFormat = "0.0"

Page 12: Computing Method of Forces on Rivet - INCASbulletin.incas.ro/files/dima_i__vol_6_iss_1.pdf · 27 Computing Method of Forces on Rivet INCAS BULLETIN, Volume 6, Issue 1/ 2014 for riveting

Ion DIMA 32

INCAS BULLETIN, Volume 6, Issue 1/ 2014

Range("W" & cont - i_p + 1 & ":X" & cont - i_p + 1).Select

Selection.NumberFormat = "0.0"

F_Max = 0: L_Sub_P = 0: i_p = 0: i_z = 0: p_max = 0

End If

Else

For i = 1 To i_p

ReDim Preserve Max_F(i)

Max_F(i).G1 = F_Sub(cont - i_p - 1 + i).G1

Max_F(i).G2 = F_Sub(cont - i_p - 1 + i).G2: Max_F(i).F = F_Max

Cells(cont - i_p + i, 13).Value = Max_F(i).G1

Cells(cont - i_p + i, 14).Value = Max_F(i).G2

Cells(cont - i_p + i, 15).Value = Max_F(i).F

If F_Sub(cont - i_p - 1 + i).p > p_max Then

p_max = F_Sub(cont - i_p - 1 + i).p

End If

Next i

Cells(cont - i_p + 1, 16).Value = i_p * F_Max * p_max / L_Sub_P

Cells(cont - i_p + 1, 17).Value = N1_crit

Cells(cont - i_p + 1, 18).Value = N2_crit

Cells(cont - i_p + 1, 19).Value = X_crit

Cells(cont - i_p + 1, 20).Value = Y_crit

Cells(cont - i_p + 1, 21).Value = Z_crit

Cells(cont - i_p + 1, 22).Value = i_p

Cells(cont - i_p + 1, 23).Value = L_Sub_P

Cells(cont - i_p + 1, 24).Value = p_max

Range("S" & cont - i_p + 1 & ":U" & cont - i_p + 1).Select

Selection.NumberFormat = "0.0"

Range("W" & cont - i_p + 1 & ":X" & cont - i_p + 1).Select

Selection.NumberFormat = "0.0"

F_Max = 0: L_Sub_P = 0: i_p = 0: i_z = 0: p_max = 0

End If

ElseIf F_Sub(cont - 1).F < 0 Then

If F_Sub(cont - 1).F < F_Min Then

F_Min = F_Sub(cont - 1).F

X_crit = F_Sub(cont - 1).X: Y_crit = F_Sub(cont - 1).Y

Z_crit = F_Sub(cont - 1).Z

N1_crit = F_Sub(cont - 1).G1: N2_crit = F_Sub(cont - 1).G2

End If

L_Sub_N = L_Sub_N + F_Sub(cont - 1).L_Sub

i_n = i_n + 1

If cont <= nr_row Then

If F_Sub(cont).F >= 0 Then

For i = 1 To i_n

ReDim Preserve Max_F(i)

Max_F(i).G1 = F_Sub(cont - i_n - 1 + i).G1

Max_F(i).G2 = F_Sub(cont - i_n - 1 + i).G2: Max_F(i).F = F_Min

Cells(cont - i_n + i, 13).Value = Max_F(i).G1

Cells(cont - i_n + i, 14).Value = Max_F(i).G2

Page 13: Computing Method of Forces on Rivet - INCASbulletin.incas.ro/files/dima_i__vol_6_iss_1.pdf · 27 Computing Method of Forces on Rivet INCAS BULLETIN, Volume 6, Issue 1/ 2014 for riveting

33 Computing Method of Forces on Rivet

INCAS BULLETIN, Volume 6, Issue 1/ 2014

Cells(cont - i_n + i, 15).Value = Max_F(i).F

If F_Sub(cont - i_n - 1 + i).p > p_max Then

p_max = F_Sub(cont - i_n - 1 + i).p

End If

Next i

Cells(cont - i_n + 1, 16).Value = i_n * F_Min * p_max / L_Sub_N

Cells(cont - i_n + 1, 17).Value = N1_crit

Cells(cont - i_n + 1, 18).Value = N2_crit

Cells(cont - i_n + 1, 19).Value = X_crit

Cells(cont - i_n + 1, 20).Value = Y_crit

Cells(cont - i_n + 1, 21).Value = Z_crit

Cells(cont - i_n + 1, 22).Value = i_n

Cells(cont - i_n + 1, 23).Value = L_Sub_N

Cells(cont - i_n + 1, 24).Value = p_max

Range("S" & cont - i_n + 1 & ":U" & cont - i_n + 1).Select

Selection.NumberFormat = "0.0"

Range("W" & cont - i_n + 1 & ":X" & cont - i_n + 1).Select

Selection.NumberFormat = "0.0"

F_Min = 0: L_Sub_N = 0: i_n = 0: i_z = 0: p_max = 0

End If

Else

For i = 1 To i_n

ReDim Preserve Max_F(i)

Max_F(i).G1 = F_Sub(cont - i_n - 1 + i).G1

Max_F(i).G2 = F_Sub(cont - i_n - 1 + i).G2: Max_F(i).F = F_Min

Cells(cont - i_n + i, 13).Value = Max_F(i).G1

Cells(cont - i_n + i, 14).Value = Max_F(i).G2

Cells(cont - i_n + i, 15).Value = Max_F(i).F

If F_Sub(cont - i_n - 1 + i).p > p_max Then

p_max = F_Sub(cont - i_n - 1 + i).p

End If

Next i

Cells(cont - i_n + 1, 16).Value = i_n * F_Min * p_max / L_Sub_N

Cells(cont - i_n + 1, 17).Value = N1_crit

Cells(cont - i_n + 1, 18).Value = N2_crit

Cells(cont - i_n + 1, 19).Value = X_crit

Cells(cont - i_n + 1, 20).Value = Y_crit

Cells(cont - i_n + 1, 21).Value = Z_crit

Cells(cont - i_n + 1, 22).Value = i_n

Cells(cont - i_n + 1, 23).Value = L_Sub_N

Cells(cont - i_n + 1, 24).Value = p_max

Range("S" & cont - i_n + 1 & ":U" & cont - i_n + 1).Select

Selection.NumberFormat = "0.0"

Range("W" & cont - i_n + 1 & ":X" & cont - i_n + 1).Select

Selection.NumberFormat = "0.0"

F_Min = 0: L_Sub_N = 0: i_n = 0: i_z = 0: p_max = 0

End If

Else

Page 14: Computing Method of Forces on Rivet - INCASbulletin.incas.ro/files/dima_i__vol_6_iss_1.pdf · 27 Computing Method of Forces on Rivet INCAS BULLETIN, Volume 6, Issue 1/ 2014 for riveting

Ion DIMA 34

INCAS BULLETIN, Volume 6, Issue 1/ 2014

If F_Sub(cont - 1).F = F_Z Then

F_Z = F_Sub(cont - 1).F

X_crit = F_Sub(cont - 1).X: Y_crit = F_Sub(cont - 1).Y

Z_crit = F_Sub(cont - 1).Z

N1_crit = F_Sub(cont - 1).G1: N2_crit = F_Sub(cont - 1).G2

Else

MsgBox ("There is an error in input data. &

& Please check input data (it should be only real numbers)!")

End If

L_Sub_Z = L_Sub_Z + F_Sub(cont - 1).L_Sub

i_z = i_z + 1

If cont <= nr_row Then

If F_Sub(cont).F > 0 Or F_Sub(cont).F < 0 Then

For i = 1 To i_z

ReDim Preserve Max_F(i)

Max_F(i).G1 = F_Sub(cont - i_z - 1 + i).G1

Max_F(i).G2 = F_Sub(cont - i_z - 1 + i).G2: Max_F(i).F = F_Z

Cells(cont - i_z + i, 13).Value = Max_F(i).G1

Cells(cont - i_z + i, 14).Value = Max_F(i).G2

Cells(cont - i_z + i, 15).Value = Max_F(i).F

If F_Sub(cont - i_z - 1 + i).p > p_max Then

p_max = F_Sub(cont - i_z - 1 + i).p

End If

Next i

If L_Sub_Z = 0 Then L_Sub_Z = 1

Cells(cont - i_z + 1, 16).Value = i_z * F_Z * p_max / L_Sub_Z

Cells(cont - i_z + 1, 17).Value = N1_crit

Cells(cont - i_z + 1, 18).Value = N2_crit

Cells(cont - i_z + 1, 19).Value = X_crit

Cells(cont - i_z + 1, 20).Value = Y_crit

Cells(cont - i_z + 1, 21).Value = Z_crit

Cells(cont - i_z + 1, 22).Value = i_z

Cells(cont - i_z + 1, 23).Value = L_Sub_Z

Cells(cont - i_z + 1, 24).Value = p_max

Range("S" & cont - i_z + 1 & ":U" & cont - i_z + 1).Select

Selection.NumberFormat = "0.0"

Range("W" & cont - i_z + 1 & ":X" & cont - i_z + 1).Select

Selection.NumberFormat = "0.0"

F_Z = 0: L_Sub_Z = 0: i_n = 0: i_p = 0: i_z = 0: p_max = 0

End If

Else

For i = 1 To i_z

ReDim Preserve Max_F(i)

Max_F(i).G1 = F_Sub(cont - i_z - 1 + i).G1

Max_F(i).G2 = F_Sub(cont - i_z - 1 + i).G2: Max_F(i).F = F_Z

Cells(cont - i_z + i, 13).Value = Max_F(i).G1

Cells(cont - i_z + i, 14).Value = Max_F(i).G2

Cells(cont - i_z + i, 15).Value = Max_F(i).F

Page 15: Computing Method of Forces on Rivet - INCASbulletin.incas.ro/files/dima_i__vol_6_iss_1.pdf · 27 Computing Method of Forces on Rivet INCAS BULLETIN, Volume 6, Issue 1/ 2014 for riveting

35 Computing Method of Forces on Rivet

INCAS BULLETIN, Volume 6, Issue 1/ 2014

If F_Sub(cont - i_z - 1 + i).p > p_max Then

p_max = F_Sub(cont - i_z - 1 + i).p

End If

Next i

If L_Sub_Z = 0 Then L_Sub_Z = 1: MsgBox ("There are not endloads!!")

Cells(cont - i_z + 1, 16).Value = i_z * F_Z * p_max / L_Sub_Z

Cells(cont - i_z + 1, 17).Value = N1_crit

Cells(cont - i_z + 1, 18).Value = N2_crit

Cells(cont - i_z + 1, 19).Value = X_crit

Cells(cont - i_z + 1, 20).Value = Y_crit

Cells(cont - i_z + 1, 21).Value = Z_crit

Cells(cont - i_z + 1, 22).Value = i_z

Cells(cont - i_z + 1, 23).Value = L_Sub_Z

Cells(cont - i_z + 1, 24).Value = p_max

Range("S" & cont - i_z + 1 & ":U" & cont - i_z + 1).Select

Selection.NumberFormat = "0.0"

Range("W" & cont - i_z + 1 & ":X" & cont - i_z + 1).Select

Selection.NumberFormat = "0.0"

F_Z = 0: L_Sub_Z = 0: i_n = 0: i_p = 0: i_z = 0: p_max = 0

End If

End If

End If

Loop Until Cells(cont + 1, 9).Value = ""

Range("K2:L" & Nr_Nodes).Select

Selection.NumberFormat = "0.0"

Range("O2:P" & Nr_Nodes).Select

Selection.NumberFormat = "0.0"

End Sub

4. CONCLUSIONS

Using this methodology together with the macro, enables us to perform very quickly the

following:

extract the endload forces from NASTRAN f06 file;

calculate the maximum force of each interval, i;

find the critical position of Node i and Node i+1, where the force is maximum on each

interval i;

find the maximum pitch pmax of each interval i;

calculate the length Li of each interval i;

count the total number of subintervals of each interval i;

calculate the total force Fmax, rivet per rivet of each interval i;

The macro works with:

only numerical values, no other characters, no blank lines, no blank cells, no other

code for input data;

this issue of the macro works only load by load case (critical case);

Page 16: Computing Method of Forces on Rivet - INCASbulletin.incas.ro/files/dima_i__vol_6_iss_1.pdf · 27 Computing Method of Forces on Rivet INCAS BULLETIN, Volume 6, Issue 1/ 2014 for riveting

Ion DIMA 36

INCAS BULLETIN, Volume 6, Issue 1/ 2014

at the beginning of the execution, the macro checks the input data. If the non -

numerical values are found, the macro stops the execution. After the input data have

been updated, the execution of macro can start.

This method is a useful tool to assess riveted assemblies when the finite elements model

is rough, the positions of the rivets are not respected and the attachment between the parts are

made node on node.

REFERENCES

[1] *** MSC NASTRAN Quick Reference Guide, 1999.

[2] *** MSC PATRAN Structural Analysis, Version 9, 1999.

[3] *** HSB 21020-01, Issue D, 1988.

[4] *** HSB 45131-01, Issue C, 2004.

[5] *** HSB 20210-01, Issue C, 1976.

[6] *** HSB 24000-01, Issue D, 2006.

[7] *** AIRBUS Static Stress Manual, Metallic Materials, MTS 004, Issue C, 1999.

[8] *** MIL – HDBK – 5J, January 2003.

[9] I. Dima, Additional Method WP 3.1.7 Part Stress Analysis, Fastener Check, INCAS Methodology, November

2013.

[10] I. Dima, Fastener Calculation Macro, Excel file, Issue 01, Internal Report INCAS, December 2013.