You are on page 1of 220

Eindhoven University of Technology

MASTER

Lateral torsional buckling of a spreader beam in a hoisting construction

Ploegmakers, D.G.

Award date:
2017

Link to publication

Disclaimer
This document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Student
theses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the document
as presented in the repository. The required complexity or quality of research of student theses may vary by program, and the required
minimum study period may vary in duration.

General rights
Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners
and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.

• Users may download and print one copy of any publication from the public portal for the purpose of private study or research.
• You may not further distribute the material or use it for any profit-making activity or commercial gain
Lateral torsional buckling of a spreader beam
in a hoisting construction

A/O-0017.180

D.G. Ploegmakers
Hoenderbosplein 78
5406 AJ Uden
Student number: 0728608
Phone: 06-53512164
e-mail:d.g.ploegmakers@student.tue.nl

Supervisors:
Prof. ir. H.H. Snijder
Prof. dr. ir. J. Maljaars
Ir. R.W.A. Dekker

27-01-2017
Structural Design
Department of the Built Environment
Eindhoven University of Technology
PREFACE

This report concludes the Master’s research project about the lateral torsional buckling
resistance of an I-shaped spreader beam, performed at the Eindhoven University of
Technology for the master track Architecture, Building and Planning with the specialization
Structural Design at the Department of the Built Environment.

I would like to thank my graduation committee: Prof. ir. H.H. Snijder, ir. R.W.A. Dekker and
Prof. dr. ir. J. Maljaars for their professional supervision. And ing. H.L.M. Wijen and A.W. van
Alen for their support during the experiment.

I also want to thank my wife Laura and my parents Iedje and Geert for the support
throughout my whole academic career.

Finally, I want to mention that this graduation project could not have been done without the
help of other students who were always there to answer questions, help me and show
interest during this project

Dirk Ploegmakers

Uden, January 2017

2
ABSTRACT

I-shaped beams that are subjected to a bending moment might be sensitive to lateral
torsional buckling. Currently the Eurocode and the Dutch national annex provide calculation
methods to determine the lateral torsional buckling resistance of an I-shaped beam.
However, it is only allowed to use the method to determine the critical moment provided in
the Dutch National Annex, when fork ended conditions are present. This is not the case for
spreader beams. Therefore, the currently available calculation methods cannot be used.

Extensive research on lateral torsional buckling has been conducted. However, almost all
research focused on beams with fork ended conditions. Therefore, little literature on the
subject is included.

A calculation method to determine the lateral torsional buckling resistance of an I-shaped


spreader beam numerical tests has been developped. Different types of beams, different
lengths and different configurations in the way the beam is suspended are considered. The
used numerical model is validated using an experiment.

First a method to determine the critical moment of a spreader beam is developed. This
method uses the factors C1 and C2, which are also used in the method provided in the Dutch
National Annex, therefore making implementation very straightforward. A statistical
evaluation has been performed on this calculation method to determine partial safety
factors. This safety factor is within the acceptance limit for γM1=1.0.

The calculation method to determine the lateral torsional buckling resistance in the Eurocode
uses buckling curves to determine a reduction factor. Therefore, the applicable buckling
curve is determined by choosing the least conservative curve of which the determined safety
factor is within the acceptance limit. In this case buckling curve c for steel grades S355 and
S460, and buckling curve d for beams with steel grades S235.

3
TABLE OF CONTENTS

Preface .................................................................................................................................... 2
Abstract .................................................................................................................................. 3
Notations ................................................................................................................................ 6
1 Introduction ......................................................................................................................... 8
1.1 Problem statement ..................................................................................................................... 8
1.2 Aim ............................................................................................................................................10

2 Literature survey ................................................................................................................ 11


2.1 Analytical research .....................................................................................................................11
2.2 Experimental research ...............................................................................................................14
2.3 Numerical research ....................................................................................................................14
2.4 Numerical models ......................................................................................................................16

3 Experiment ......................................................................................................................... 18
3.1 Introduction ...............................................................................................................................18
3.2 Tensile test.................................................................................................................................19
3.3 Experiment ................................................................................................................................28

4 Finite Element Model .......................................................................................................... 36


4.1 Material properties ....................................................................................................................37
4.2 Boundary conditions ..................................................................................................................38
4.3 Loads .........................................................................................................................................39
4.4 Element type ..............................................................................................................................39
4.5 Solving methods.........................................................................................................................40
4.6 validation with experiment ........................................................................................................41
4.7 Adaptions for Steel profiles ........................................................................................................42
4.9 Mesh ..........................................................................................................................................48
4.10 Validation plastic moment resistance .......................................................................................49

5 Development design rule .................................................................................................... 50


5.1 Parameters ................................................................................................................................50

4
5.2 Change from simply supported beam to the final model ............................................................57
5.3 design a method to determine the critical moment ....................................................................65
5.4 Develop a method to determine the ultimate LTB resistance .....................................................78
5.4 Summary....................................................................................................................................96
5.5 Calculation example ...................................................................................................................98

6 Conclusions and recommendations ................................................................................... 100


6.1 Conclusions .............................................................................................................................. 100
6.2 Recommendations ................................................................................................................... 100

References .......................................................................................................................... 102


Appendix ............................................................................................................................. 104
Appendix A: script.......................................................................................................................... 104
Appendix B: Various lengths and ratios for considered beams ....................................................... 142
Appendix C .................................................................................................................................... 144
Appendix D: overview of different models used. ............................................................................ 150
Appendix E: PARTIAL DERIVATIVES OF Mcr WITH RESPECT TO THE BASIC VARIABLES...................... 170
Appendix F: 153 models used for evaluation of the buckling curves ............................................... 180
Appendix G: PARTIAL DERIVATIVES OF GRT,I WITH RESPECT TO THE BASIC VARIABLES .................. 184
Appendix H: plots of subsets .......................................................................................................... 190
Appendix I: Acceptance limit plots ................................................................................................. 200

5
NOTATIONS

All symbols are in order of occurrence.

Mb,Rd : Lateral torsional buckling resistance of a prismatic beam in bending (Nmm)


χ LT : Reduction factor (-)
Wy : Applicable section modulus (mm3)
fy : Yield strength (N/mm2)
γ M1 : Partial safety factor for resistance of elements with relation to stability (-)

Φ LT χ LT (-)
: Value used to determine the reduction factor

λ LT : Relative slenderness for lateral torsional buckling stability (-)

α LT : Imperfection factor (-)


Mcr : Critical moment (Nmm)
h : Height of the beam (mm)
tw : Thickness of the web (mm)
Lg : Length of the beam between fork ended supports (mm)
E : Modulus of elasticity (N/mm2)
Iz : Moment of inertia around the z-axis (mm4)
G : Shear modulus (N/mm2)
It : torsional moment of inertia (mm4)
Iwa : Camber moment of inertia (mm4)
Fb : Allowable bending stress (N/mm2)
Cb : Bending coefficient dependent upon moment gradient (-)
Nd : Design factor (-)
Lb : Distance between cross sections braced against twist or lateral
(mm)
displacement of the compression flange
d : Depth of the section (mm)
Af : Area of the compression flange (mm2)
Fy : Specified minimum yield strength (N/mm2)
CLTB : Factor describing the ratio between the two models in figure 2.7 (-)
Iy : moment of inertia around the y-axis (mm4)
J : St. Venant torsion constant (mm4)
b : Width of the section (mm)
νc : crosshead separation rate (mm/min)
Lc : parallel length, in this case 75mm (mm)
eLc : estimated strain rate over the parallel length (1/s)
tf : thickness of the flanges (mm)
Wpl,y : plastic section modulus (mm3)
Wel,y : elastic section modulus (mm3)
σr : residual stress where a positive sign indicates a tensile stress and
(N/mm2))
negative sign a compressive stress
C : Coefficient dependent on beam length, cross sectional properties,
(-)
nature and application point of load

6
C1 : Coefficient dependent on the nature of the load (-)
C2 : coefficient dependent on the application point of the load relative to
(-)
the neutral axis
σ cr ,LTB : Critical stress for lateral torsional buckling (N/mm2)
rt,i : Theoretical resistance values (Nmm)
re,i : Experimental resistance values (Nmm)
ri : Resistance values (Nmm)
b : Least-square approximation factor (-)
δi : Error terms (-)
Δi : Natural logarithm of error terms (-)
µ∆ : Estimated mean value of the error terms (-)
sΔ : Estimated standard deviation of the error terms (-)
Vδ i : Coefficient of variation with respect to the error terms (-)

Vrt ,i : Coefficient of variation with respect to the resistance values (-)

Vri : Coefficient of variation with respect to the resistance values (-)


Qδ i : Lognormal coefficient with respect to the error terms (-)
Qrt ,i : Lognormal coefficient with respect to the theoretical resistance values (-)

Qri : Lognormal coefficient with respect to the resistance values (-)

rd ,i : Design resistance values (-)

k d ,∞ : Design fractile factors for n>100 single test results (-)

k d ,n : Design fractile factors for n single test results (-)

γ M* 1 : Corrected partial safety factor (-)


fa : Acceptance limit (-)
γM,target : Target value of the partial safety factor, already existing safety factor (-)
γ Rd : Partial factor only accounting for the model accuracy (-)

7
1 INTRODUCTION

During construction of a building usually hoisting of numerous materials is needed. A


spreader beam may be used for this purpose. In general practice an I-shaped steel beam is
used as spreader beam, the beam is suspended by cables and loads act on both beam ends.
This results in a bending moment during hoisting. Subsequently, lateral torsional buckling
(LTB) might be decisive when designing an I-shaped spreader beam for hoisting purposes.

1.1 PROBLEM STATEMENT

In the case that an I-shaped steel beam is subjected to a bending moment, lateral torsional
buckling should be taken into account as a failure mechanism. A typical configuration of an
I-shaped hoisting spreader beam, see figure 1.1, is connected to a crane by cables and is
subjected to two loads at both beam ends representing the force of the weight lifted.

Figure 1.1: mechanical schematization of a suspended spreader beam

EN 1993-1-1 [1] clause 6.3.2.2 [1] describes the design rule used for determination of the
lateral torsional buckling resistance of prismatic beams loaded with a bending moment, see
equation (1.1) to (1.4).

χ LTWy fy
Mb,Rd = (1.1)
γ M1

Mb,Rd : Lateral torsional buckling resistance of a prismatic beam in bending


χ LT : Reduction factor
Wy : Applicable section modulus
fy : Yield strength
γ M1 : Partial safety factor for resistance of elements with relation to stability

1
χ LT ; χ LT ≤ 1,0 (1.2)
2
Φ LT + Φ 2LT − λ LT
Φ LT : Value used to determine the reduction factor χ LT
λ LT : Relative slenderness for lateral torsional buckling stability

8
χ LT can also be determined using the buckling curves given in figure 6.4, clause 6.3.1.2 of
EN 1993-1-1.

0,5 1 + α LT ( λ LT − 0,2 ) + λ LT 


2
Φ=
LT
(1.3)

Wy fy
λ LT = (1.4)
Mcr

α LT : Imperfection factor

Mcr : Critical moment

For a beam with h/tw≤75 and a constant bending moment:

π  π 2EI 
=Mcr EI zGIt 1 + 2 wa  (1.5)
Lg  LgGIt 

h : Height of the beam


tw : Thickness of the web
Lg : Length of the beam between fork ended supports
E : Modulus of elasticity
Iz : Moment of inertia around the z-axis
G : Shear modulus
It : torsional moment of inertia
Iwa : Camber moment of inertia

In order to make use of this calculation procedure, the critical moment Mcr is required. The
Dutch National Annex describes a procedure to obtain this critical moment, see equation 1.5.
However, in paragraph 6.3.2.5 “supports and lateral restraints” (“opleggingen en zijdelingse
steunen”) of the Dutch National Annex of EN 1993-1-1 [1] it is stated that the beam has to
have specific boundary conditions to allow for this calculation. The spreader beam in a
hoisting structure does not fulfill this requirement. Therefore, the national annex in its
current form cannot be used to calculate the critical moment. Subsequently, the lateral
torsional buckling resistance cannot be determined. Because, there is no procedure given for
calculating the critical moment of a spreader beam in a hoisting structure.

Taras, et al. [2] proposed for a new design rule similar to the currently used method
following the Dutch National Annex of EN 1993-1-1. The main difference is presented by
introducing a new procedure for calculating the reduction factor. However, still no method to
calculate Mcr is added. Therefore, it still is impossible to use this design procedure for a
suspended spreader beam in bending.

9
1.2 AIM

The goal of this project is to develop a method to calculate the lateral torsional buckling
resistance of spreader beams in a hoisting structure. In order to achieve this, the currently
used buckling curves applicable for this structure need to be assessed.

10
2 LITERATURE SURVEY

Although the lateral torsional buckling behavior of symmetric I-beams has been researched
extensively, these studies were primarily aimed at beams with forked end supports. For
example recent research by Dahmani et al [3] compared numerical models with the EN
1993-1-1 [1] calculation method to define the ultimate lateral torsional buckling load of steel
beams. The current EN 1993-1-1 design rule corresponded well with the numerical results,
leading to the conclusion that the EN 1993-1-1 method is an accurate and conservative
method.

Despite of this good accordance between the method provided in the Eurocode and the
numerical simulations. Steel beams that are suspended by cables or chains have not
received much attention.

2.1 ANALYTICAL RESEARCH

Dux et al [4] presented an analytical solution of the lateral torsional buckling resistance of a
suspended I-shaped beam. This research first states that since the problem is symmetrical
there are two possible buckling mode shapes, see figure 2.1. In this figure the lateral
displacement of the middle of the beam is visualized.

Figure 2.1: possible buckling modes, Dux et al. [4]

The research continued with a setup of the differential equations for a suspended I-shaped
beam in bending based on the buckling shapes. Four different regions of the beam were
regarded (following figure 2.2):

region 1: (from the right point load to the end of the beam)

region 2: (from the cable attachment point to the right point load)

region 3: (from the left point load to the cable attachment point)

region 4: (from the middle of the beam to the left point load)

11
Only half the beam is shown because symmetry is used. Note that both point loads at the
bottom of the beam are not situated at the end of the beam. Since the problem statement of
this research is aimed at only one point load at the end of the beam, region 1 is not
considered. And because of the fact that λ1=0, region 3 and region 4 will merge. This means
only region two and three will be considered. The force is defined as W and λ1 and λ2 are
defined as the ratio between the two point loads, λ2 will be considered as 1.0. In the
differential equations they considered a uniformly distributed load w (which is not displayed
in figure 2.2). This uniformly distributed load may represent the self-weight of the beam. In
figure 2.3 a representation is shown of the displaced cross section with associated symbols
used.

Figure 2.2: geometry of suspended beam, Dux et al. [4]

Figure 2.3: displaced cross section, Dux et al. [4]

The differential equations for region two are equations 2.1 and 2.2, for region three
equations 2.3 and 2.4 are the differential equations.

 L2 LZ Z 2 
M
=y W ϕ ( α 2 − Z ) − wϕ  − +  (2.1)
8 2 2 
L 2
 du L du  L2 LZ Z 2 
=Mz W  (α2 − Z ) + u − uA − a2ϕ A  − w ∫ udZ + wu  − Z  + w  − +  (2.2)
 dZ  Z
2  dZ  8 2 2 

a  L2 LZ Z 2  wL a
My Wϕ (α2 − a ) + W
=
b
( )
a1ϕ − u − wϕ  −
8 2
+ +
2 
aϕ −u
2 b 1
( ) (2.3

12
L2
 du  a du L 
=Mz W  ( α2 − a ) − uA − a2ϕ A  − W a1 −w ∫ udZ + wu  2 − Z 
 dZ  b dZ Z
(2.4)
du  L LZ Z  wL 
2 2
a 
+w  − + −  u +  a1 + a − Z  
dZ  8 2 2  2  b 

These differential equations were solved using the Finite Integral Method. Two relevant
numerical examples are discussed.

First the influence of the load position along the beam length and the angle in which the
cables are connected to the beam is discussed. In Figure 2.4 a graph with associated
equations made by Dux et al. [4]. The vertical axis shows a non-dimensional buckling load
and the horizontal axis refers to the load position on the beam. Where on the left of the
horizontal axis at Z/L=0 the load is in the middle of the beam and on the right of the
horizontal axis the load is at the end of the beam.

1
π  EI  2
K=  ω
L  GJ 
h
µ= L
tan θ

Figure 2.4: Beams with variable cable Angle and load position, Dux et al. [4]

The load position varies from the exact middle of the beam to the end of the beam which is
the case in this research. There are four different graphs in figure 2.4 that indicate different
cable angles (from top to bottom: 90°, 60°, 45° and 30°). It may be obvious that the angle
of the cables has a large impact on the buckling strength of the beam when the load is
applied between Z/L=0.1 and Z/L=0.3. If the load is placed towards the end of the beam
this influence becomes negligible. Which may indicate that the cable angle and thus the
normal force in the beam has no influence on the buckling strength if the load is located at
the end of the beam.

Another important factor in the ultimate buckling strength of the suspended I-beam is the
distance between the actual beam and the cable- and load attachment on the beam. These
distances have two effects. Increasing the distance of the load attachment increases the
torsional restraint and therefore increases the maximum buckling strength of the beam. But
at the same time increasing the height of the cable attachment increases the maximum
major axis moments and thus lowering the maximum buckling capacity of the beam. In
figure 2.5 four graphs are drawn. The dotted lines have an increased distance of the load
attachment and the two graphs most right have an increased distance of the cable
attachment.

13
Figure 2.5: influence of cable and load attachment height, Dux et al. [4]

2.2 EXPERIMENTAL RESEARCH

In the research of Dux et al. a number of experiments were conducted. These were small
scale experiments using an extruded aluminum profile with a height of 75,2mm and a width
of 31,4mm. Figure 2.6 shows the set-up and the clamping method of the cables and the
loads to the beam. In this experiment the beam was laterally fixed at the cable attachment
points. This is allowed because these cables will not move laterally. The beam was loaded
using lead weights.

Figure 2.6: experiment set up and attachment details, Dux an Kitipornchai (1990) [4]

They compared there experimental values with the theoretical ones obtained from the
differential equations. They were all within 5% of each other which was probably due to
additional restrained caused by friction in the attachment devices.

2.3 NUMERICAL RESEARCH

Duerr [5] developed numerical models to find a correction factor for suspended beams in
order to calculate the buckling strength of these beams using existing commonly used
equations like the ones given by ASME [6], see equation 2.5. The numerical models
represented torsional restrained beams and suspended beams.

14
0.66 ECb F
Fb = ≤ y
N d ( Lbd Af )
(2.5)
Nd

Fb : Allowable bending stress


Cb : Bending coefficient dependent upon moment gradient
Nd : Design factor
Lb : Distance between cross sections braced against twist or lateral
displacement of the compression flange
d : Depth of the section
Af : Area of the compression flange
Fy : Specified minimum yield strength

In equation 2.5 the distance between cross sections braced against twist or lateral
displacement of the compression flange is needed. Subsequently this equation cannot be
used to design a suspended beam in bending for lateral torsional buckling since there are no
cross sections that are braced against twist or lateral displacement.

Figure 2.7 gives a representation of the numerical models. Note that the beam section after
the load attachment point is excluded, for this part has no influence on the buckling
strength. Moreover, there is a big difference between this research and the one performed
by Dux et al. [4]. Where they had two cables under an angle, Duerr modelled a so called
spreader beam which has only one attachment at the top. This model shows that you can
laterally restrain the beam at certain places which reduces the complexity and inaccuracy of
the model, because no springs have to be added.

Figure 2.7: model for beam-buckling analyses, Duerr (2015)

Fifty different beams were modelled this way and through the ratio between these models
Duerr found a so called CLTB-factor, see equation 2.6.
EI y
2,00
=
CLTB GJ + 0, 275 ≤ 1,00
2 (2.6)
 b
L
 
 b 

15
CLTB : Factor describing the ratio between the two models in figure 2.7
Iy : moment of inertia around the y-axis
J : St. Venant torsion constant
b : Width of the section

Subsequently, this factor was used to compare one experimental result from the research of
Dux et al. with a calculation using the method of ASME [6] (equation 2.5) from which the
final result was altered with the CLTB. The difference in the maximum allowable bending
stress according to ASME and the maximum bending stress in the experiment of Dux et al.
was 3.6%. So it is safe to say that the model created by Duerr is a good working model and
the idea of restraining the bottom flange at certain places is a useful tool in creating a
numerical model of buckling analyses of a suspended beam.

2.4 NUMERICAL MODELS

As stated before, a Finite Element (FE)-program cannot work with too many degrees of
freedom. The research of Duerr [5] is very helpful in showing that some points of the lower
flange of the beam can be laterally restrained.

Several studies Kucukler et al. [7], Jovic [8] and van der Aa [9] have documented about the
build-up of a model in which an I-beam shows lateral torsional buckling.

All the models in these studies were build up out of shell elements where, Jovic and van der
Aa used 8 node elements and Kuculer used 4-node elements. Though, none of them explains
why the specific shell element was chosen.

All of these studies indicate that a small error occurs in their model. The fillet radius is not
modelled, because of the use of shell elements. Jovic stated that this is a small error and
that it is possible to continue with this error, but when comparing results of his model with
analytical solutions this should be considered likewise. Kuculer solved this error by adding
beam elements at the flange-web intersection so that the section properties in steel section
tables are achieved. Van der Aa showed that it is not necessary to compensate for these
fillet radii using the study of Taras [10]. This showed that there is a minor difference
between models with or without the fillet radius using an IPE2400 section. This is important
to know before making the model, because determining the right beam elements is an
iterative and therefore time consuming process.

Jovic and Kuculer also take note of a geometrically error that exists in model of I-beams
which consists out of shell elements. This occurs because of the fact that when thickness is
added to a shell element this is done in two directions the flange of the beam than overlaps
the web of the beam, so a small are is accounted for twice as can be seen in figure 2.8.
Jovic states that this error is small and not of a big influence on the results. While Kuculer
states that this error is easily solved by offsetting the flange, so overlapping will be avoided.

16
Figure 2.8: real beam cross compared with FE-model, Jovic [8]

In actual beams residual stresses with a triangular shape are present. All three studies have
modelled residual stresses by dividing the cross section into small parts where a straight
residual stress pattern is modelled with the average value of the triangular stress pattern
from the original cross section. The final residual stress pattern corresponds well with the
triangular stress pattern.

Big differences between the three studies were regarding the width-to-length ratio of the
shell elements. Where Kuculer used a maximum ratio of 20, Jovic used a ratio of
approximately 5 and van der Aa used a ratio of 4. Only in the study of Jovic the ideal ratio
was determined using a mesh density study. The abaqus documentation [11] however
defined the length to width ratio to never exceed 10. There is no right answer for the
question what ratio to use. The maximum ratio of the abaqus manual should not be
exceeded, but a mesh density study will be necessary to determine the optimal ratio.
Furthermore a mesh density study will be needed to determine the maximum element size
needed for reliable results.

17
3 EXPERIMENT

3.1 INTRODUCTION

To define the buckling shape of a suspended beam in bending an experiment was executed.
Based on the buckling shape the boundary conditions, which can be used in the FE-model,
are determined. The test results (for instance the lateral displacement with associated
vertical loads) are used in validation of the numerical model. The experiment consists of a
small aluminum (alloy AW-6060 T6), prismatic, I-section beam which is suspended by two
steel cables and subjected to two loads at the ends of the beam, see figure 3.1. Where point
A and E are the sections where the loads are attached, point B and D are the sections where
the cables are attached, point C is the middle section, S is the suspension point and α is the
angle between the cables. The different locations within a section are identified with
subscripts, where Aupper is the top surface of the upper flange, Abottom is the bottom surface of
the bottom flange and Aatt is the position where the load, or cable at points B and D, is
attached.

Figure 3.1: Scheme of the experiment

In order to define the material properties tensile tests on coupons originating from the
flanges and web are executed. This results in stress strain diagrams presenting the material
properties.

18
3.2 TENSILE TEST

The tensile test coupons are loaded in tension to determine the material properties, for
instance the Young’s modulus (E), 0.2% proof stress (f0.2,p) and ultimate tensile strength
(fu). Three coupons originate from the beam, one from each flange and one from the web.

3.2.1 TENSILE TEST SET-UP

In the international standard ISO 6892-1 [12] it is prescribed what the different conditions
of a coupon tensile test should be.

The tensile tests are executed in the Pieter van Musschenbroek Laboratory at the Eindhoven
University of Technology following ISO 6892-1. This standard describes the test conditions,
including geometry of the test specimens. A 250 kN Instron testing machine was used, it is
equipped with a video extensometer to define the longitudinal strains. The three coupons
were marked with two dots to indicate the original gauge length (L0). The video
extensometer registers the deformations between the two dots and therefore the elongation.
Figure 3.2 shows a picture of the test setup.

Figure 3.2: Test set up of tensile coupon

19
3.2.1.1 DIMENSIONS OF THE TEST COUPON

The dimensions of the coupons are based on the international standard ISO 6892-1 [1].
Both flanges are 1.5 mm in thickness and the web is 2.0 mm thick, see figure 3.3. Annex B
of ISO 6892-1 was used to determine the dimensions of the coupons, see figure 3.4 and 3.5.
The chosen configuration required only 250mm of the beam leaving adequate length to
perform the experiment. The three coupons are taken from the same beam with which the
experiment is conducted.

Figure 3.3: Cross section of the aluminum beam

Figure 3.4: Tensile coupons originating from the web

20
Figure 3.5: Tensile coupons originating from the flanges
To be able to determine the stress-strain diagrams the actual dimensions of the coupons are
needed. The widths and thicknesses of the coupons were measured at three places on the
coupons, see figure 3.5. Table 1 present these measurements.

Figure 3.5: Positions used for cross-sectional measurements

Table 3.1: Cross-sectional dimensions of the different coupons

Coupon 1 Coupon 2 Coupon 3


Upper flange Bottom flange Web
Thickness 1 1.5 mm 1.5 mm 2.0 mm
Width 1 12.6 mm 12.5 mm 12.5 mm
Thickness 2 1.5 mm 1.5 mm 2.0 mm
Width 2 12.6 mm 12.5 mm 12.5 mm
Thickness 3 1.5 mm 1.5 mm 2.0 mm
Width 3 12.5 mm 12.5 mm 12.5 mm
Average thickness 1.5 mm 1.5 mm 2.0 mm
Average width 12.6 mm 12.5 mm 12.5 mm
Average area 18.9 mm2 18.8 mm2 25.0 mm2

3.2.1.3 THE STRAIN RATE

ISO 6892-1 [12] gives guidelines to determine the strain rate. For different purposes
different rates are given with sometimes changes in rate at the various stages of the tensile
test. For instance high accuracy is required when the Young’s modulus is determined
therefore a low strain rate is needed. When regarding the ultimate tensile strength lower
accuracy is required consequently higher strain rates are allowed. In this case a constant
strain rate was maintained during the tests.

Section 10.3 of ISO 6892-1 gives two possibilities to control the testing rate based on strain
rate control. Where ‘method A’ controls the rate of the test using the specified strain rate
(ėLe). Which means that the crosshead separation rate (νc) is adapted during the test
depending on the strain rate. This method is not possible with the testing machine used,
because no extensometer is clamped to the test piece. Therefore ‘method B’ is used. This
method uses the estimated strain rate (ėLc) over the parallel length (Lc) to calculate the
crosshead separation rate which can be inserted in the machine. The cross head separation
rate used in testing is calculated using formula 3.1.

21
ν c = LceLc (3.1)

νc : crosshead separation rate


Lc : parallel length, in this case 75mm
eLc : estimated strain rate over the parallel length

ISO 6892-1 [12] gives an estimated strain rate of 0.00007s-1 with a relative tolerance of
20%. Using equation 3.1 the maximum and minimum crosshead separation rate can be
calculated:

νc =
75mm ⋅ 0.00007 s −1 =
0.00525 mm =
s
0.315 mm
min
upper limit:
ν c,upper= 120% ⋅ν =
c 0.378
mm
min
lower limit:
ν c,lower = 80% ⋅ν c = 0.252 mm min
ν c,chosen = 0.300 mm min

The test was stopped for about two minutes at a strain of approximately 2%, 4% and 6%,
according to the technical memorandum [13]. This can be used to determine the static
stress values which exclude the influence of strain rate.

22
3.2.2 TENSILE TEST RESULTS

The tensile tests result in stress-strain diagrams, which can be used to determine the
material properties like the E, f0.2,p, and fu.

The three stress-strain diagrams of the tensile test of the coupons are shown in figure 3.6.
In figure 3.7 an enlargement of the elastic branch of the stress-strain diagram is shown.

Figure 3.6: stress-strain diagram coupon tensile tests: whole test

Figure 3.7: Stress-strain diagram coupon tensile test: enlargement elastic


branch

23
3.2.2.1 DETERMINING THE YOUNG’S MODULUS

The beam is made of aluminum alloy AW-6060 T6. The nominal material properties for this
alloy given in the Eurocode EN 1993‐1‐1 [1] are:
• fu = 170 N/mm2
• f0.2,p = 140 N/mm2
• E = 70 kN/mm2.

The Young’s modulus of the material can be determined by calculating the slope of the
elastic branch of the stress-strain diagram. ISO 6892-1 [12] states that the elastic branch of
the diagram has its lower limit at 10% and its upper limit at 50% of the nominal 0.2% proof
stress. However Huang et al. [14] recommends an interval between 25% and 35% of the
nominal 0.2% proof stress for an aluminum T6 alloy.

When comparing the stress-strain diagrams, figure 3.6, from the tensile tests and the given
nominal value of the 0.2% proof stress a big difference is expected. The nominal value of
the 0.2% proof stress is given as 140 N/mm2, but in figure 3.7 it is clear that the 0.2%
proof stress is a lot higher for all coupons tested. This is the reason for initial visually
determination of the 0.2% proof stress from figure 3.7, instead of using the nominal value.
The 25-35% interval of these values are used to determine the Young’s modulus. With this
Young’s modulus the 0.2% proof stress is determined. This results in a new interval for
determination of the Young’s modulus, see table 2. A loop arises in which the Young’s
modulus is needed to determine the 0.2% proof stress and conversely the 0.2% proof stress
is used to determine the interval at which the Young’s modulus is determined. This loop is
repeated if the determined Young’s modulus shows a significant difference with the previous
iteration.

To calculate the slope of the elastic branch a linear trend line is produced which fits the
stress and strain data on the used interval the best. The R2-value is the correlation
coefficient and when this value is above 0.95 the correlation between the values from the
test and the linear trend line is very high and thus gives a reliable value of the Young’s
modulus.

24
Table 3.2: Determination of the Young’s modulus using 25-35% interval of visual determined f0.2,p

Coupon 1 Coupon 2 Coupon 3


Upper flange Bottom flange Web
Visually determined 0,2% proof
200 N/mm2 200 N/mm2 215 N/mm2
stress
25%-35% interval 53,75-75,25
50-70 N/mm2 50-70 N/mm2
N/mm2
Young’s modulus 65976 N/mm2 66218 N/mm2 70074 N/mm2
R2-value 0,993 0,978 0,990
0,2% proof stress belonging to this
200,7 N/mm2 201,0 N/mm2 212,8 N/mm2
Young’s modulus
25%-35% interval 50,18-70,25 50,25-70,35 53,2-74,5
N/mm2 N/mm2 N/mm2
Young’s modulus 66065 N/mm2 66218 N/mm2 70004 N/mm2
R2-value 0,993 0,978 0,990
Difference between first and
+0,13% - -0,10%
second E- modulus
More iterations needed no no no

A big difference is present in the determined Young’s modulus of the flanges and the web.
Where for the flanges the Young’s modulus is around 66000 N/mm2 the web showed a much
larger value namely 70000 N/mm2. Therefore the Young’s modulus will be determined using
other intervals, namely the 10-50% and the 25-35% interval of the nominal value of the
0,2% proof stress of 140 N/mm2 and the 10-50% interval of the visual determined 0,2%
proof stress, see table 3.3, 3.4 and 3.5.

Table 3.3: Determination of the Young’s modulus using 10-50% interval of the nominal f0.2,p

Coupon 1 Coupon 2 Coupon 3


Upper flange Bottom flange Web
nominal 0,2% proof stress 140 N/mm2 140 N/mm2 140 N/mm2
10%-50% interval 12-60 N/mm2 12-60 N/mm2 12-60 N/mm2
Young’s modulus 67839 N/mm2 66504 N/mm2 68735 N/mm2
R2-value 0,999 0,997 0,999

Table 3.4: Determination of the Young’s modulus using 25-35% interval of the nominal f0.2,p

Coupon 1 Coupon 2 Coupon 3


Upper flange Bottom flange Web
nominal 0,2% proof stress 140 N/mm2 140 N/mm2 140 N/mm2
25%-35% interval 35-49 N/mm2 35-49 N/mm2 35-49 N/mm2
Young’s modulus 68529 N/mm2 64470 N/mm2 70125 N/mm2
R2-value 0,989 0,967 0,985

25
Table 3.5: Determination of the Young’s modulus using 10-50% interval of visual determined f0.2,p

Coupon 1 Coupon 2 Coupon 3


Upper flange Bottom flange Web
Visually determined 0,2% proof
200 N/mm2 200 N/mm2 215 N/mm2
stress
25%-35% interval 21,5-107,5
20-100 N/mm2 20-100 N/mm2
N/mm2
Young’s modulus 67404 N/mm2 65928 N/mm2 69258 N/mm2
R2-value 0,999 0,999 0,999
0,2% proof stress belonging to this
200,6 N/mm2 201,1 N/mm2 212,9 N/mm2
Young’s modulus
25%-35% interval 20,1-100,3 20,1-100,5 21,29-106,5
N/mm2 N/mm2 N/mm2
Young’s modulus 67401 N/mm2 65912 N/mm2 69284 N/mm2
R2-value 0,999 0,999 0,999
Difference between first and
-0,00% -0,02% +0,04%
second E- modulus
More iterations needed no no no

It is clear that the determination of the Young’s modulus on different intervals of the stress-
strain diagram gives a wide range of values. Where the lowest Young’s modulus, with a
value of 62817 N/mm2, is found in the bottom flange on the 25-35% interval of the nominal
f0.2,p and the highest value, which is 70004 N/mm2, is found in the web on the 25-35%
interval of the visual determined f0.2,p. With a margin greater than 10% between these
values. This does not give one value to use in the FE-model. To choose a value which can be
used the method described in the international standard ISO 6892-1 [12] will be used.
According to this standard the Young’s modulus needs to be determined using a 10-50%
interval of the nominal f0.2,p, see table 3.3. This results in an average value of 67693 N/mm2.

26
3.2.2.2 DETERMINING THE ULTIMATE TENSILE STRENGTH

The ultimate tensile strength (fu,max) is determined for the three coupons. The displacement
of the testing machine was kept constant three times during the test at a strain of 2, 4 and
6%. The difference between the dynamic and static values is determined at these
interruptions. The average difference at these strains is used to lower the dynamic values of
the stress-strain diagram to obtain the static stress-strain diagram, see figure 3.8. The
maximum stress value of the dynamic stress-strain diagram is the dynamic ultimate tensile
strength (fu,d,max). The maximum stress value of the lowered stress-strain diagram is the
static ultimate tensile strength (fu,s,max). These values are indicated by the red and blue dot
on the diagram in figure 3.8. The values of the static and dynamic ultimate tensile stresses
of the three coupons are given in table 3.6.

Figure 3.8: dynamic and static stress-strain diagrams of coupon 1

Table 3.6: dynamic and static ultimate tensile strengths of all three coupons

Coupon fu,d,max fu,s,max

Coupon 1 216.75 N/mm2 205.29 N/mm2

Coupon 2 219.95 N/mm2 208.62 N/mm2

Coupon 3 232.29 N/mm2 220.47 N/mm2

Average 223.00 N/mm2 211.46 N/mm2

27
3.3 EXPERIMENT

An experiment is conducted to explore the behavior of a suspended, prismatic, I-section


beam in bending. The buckling mode can give information about possible boundary
conditions to use in the FE-model. Furthermore the experiment will be used in verification of
the FE-model by comparison of the loads and associated lateral displacements.

Four points are expected to show behavior which can be used as boundary conditions in the
numerical model. Namely the two points were the cable is attached to the beam (Batt and
Datt) and the two points where the load is attached to the beam (Aatt and Eatt), see figure
3.1. To determine the boundary conditions to be used in the numerical model the
experiment is executed four times with different boundary conditions on these points. During
the experiments the points are either constrained from moving in the lateral direction using
wire, see figure 3.9, or they are free to move.

Figure 3.9: Lateral restrained point using wire

When the test results show that the different boundary conditions on these points have no
influence on the behavior of the beam these points can be laterally constrained in the FE-
model. The four different situations are:

• Test 1: all four points laterally constrained, ux,Aatt= ux,Batt = ux,Datt= ux,Eatt =0.

• Test 2: two cable attachment points laterally constrained, ux,Batt= ux,Datt =0.

• Test 3: two load attachment points laterally constrained, ux,Aatt= ux,Eatt =0.

• Test 4: no lateral constraints on the beam.

28
3.3.1 EXPERIMENT SET-UP

An aluminum beam is suspended by two steel cables connected to the top flange. The axial
stiffness of the cables is very large in comparison to the forces acting on them. Two buckets
are attached to the bottom flange of the beam to apply the loads. Weights are added to the
buckets to increase the load gradually and no connection between the beam and the fixed
world is necessary. The cables are hung 825mm above the beam. The attachments of the
cables on the beam are 1650mm apart. This results in a cable angle of 45 degrees. The two
buckets are placed 50mm from the ends of the beam. A scheme of the set-up of the
experiment can be seen in figure 3.1 and an overview pictures is seen in figure 3.10.

Figure 3.10: Overview picture of the experiment

3.3.1.1 DIMENSIONS OF THE ALUMINUM BEAM

The beam is a 2750mm long, prismatic, I-section, aluminum beam with an AW-6060 T6
alloy. The height of the beam is 53mm, Both flanges are 1.5 mm in thickness and the web is
2.0 mm thick, see figure 3.3.

29
3.3.1.2 CONECTIONS ON THE BEAM

The suspension point of the cable consists of a steel rod that is bent in a way that causes the
cables to be on the same height and in line with the beam, see figure 3.11. The connection
between the cable and the beam is constructed so the beam is able to rotate with minimum
friction, see figure 3.12. The buckets are connected to the beam in similar manner also
being able to rotate freely and minimizing the friction, see figure 3.13.

Figure 3.11: Suspension point of cables

Figure 3.12: Connection Figure 3.13: Connection


between cable and beam between bucket and beam

30
3.3.1.3 LOAD STEPS DURING EXPERIMENT

The load on the beam is gradually increased by adding equal weights simultaneously in the
two buckets. After each increase in weight a picture is taken to determine the associated
lateral displacements. At the start of the experiment the weight of the buckets itself are
already present (step 0). During the experiment the weight added each step is decreased to
evaluate the buckling and post buckling behavior with high accuracy, see table 3.7.

Table 3.7: Load steps during the experiment

step Ftotal (N) ∆F (N) step Ftotal (N) ∆F (N)


0 3.9 3.9 17 121.2 3.7
1 13.9 10.0 18 125.0 3.7
2 23.9 10.0 19 128.7 3.7
3 33.9 10.0 20 130.6 1.9
4 43.9 10.0 21 132.5 1.9
5 53.9 10.0 22 134.3 1.9
6 61.4 7.5 23 136.2 1.9
7 68.9 7.5 24 138.1 1.9
8 76.3 7.5 25 140.0 1.9
9 83.8 7.5 26 140.9 0.9
10 91.3 7.5 27 141.9 0.9
11 98.8 7.5 28 142.8 0.9
12 102.5 3.7 29 143.7 0.9
13 106.3 3.7 30 144.7 0.9
14 110.0 3.7 31 145.6 0.9
15 113.7 3.7 32 146.6 0.9
16 117.5 3.7 33 147.5 0.9

31
3.3.1.4 MEASURING LATERAL DISPLACEMENTS

In order to verify the FE-model comparison is needed between the load and associated
displacements. Subsequently the displacements of the beam need to be determined. This is
done taking a picture from above the beam at each load step, see figure 3.14.

Figure 3.14: Picture of the beam used to determine the locations of the red marks (test 1, load step 21)

Five red dots are marked on the top flange of the beam (Atop, Btop, Ctop, Dtop and Etop)

During the experiment the complete beam is able to rotate, therefore no absolute
displacements can be determined. To determine displacements that correspond with the
loads a picture is taken every load step, see figure 3.14. This picture is a top view of the
beam. Software is used to determine the center coordinates of the red markers on the
beam, using the bottom left corner of the picture as origin. Subsequently the displacements
of a red marker relative to the other markers can be determined.

For verification of the numerical model the relative displacement between Btop, Ctop and Dtop
are considered. This relative displacement is determined by evaluating the height (Δ) of the
triangle constructed by these three points for every load step, see figure 3.15.

Figure 3.15: Scheme of determination of relative displacement h

32
3.3.2 RESULTS

During the experiment lateral torsional buckling occurred, see figure 3.16. This picture
shows lateral displacement and twist in torsion of the beam which confirms lateral torsional
buckling.

Figure 3.16: Rotation about length axis, test 4


load step 21
During the experiment without any lateral constraints it was possible to visually verify the
fact that the four points where the cables and buckets were connected (Aatt, Batt, Datt and
Eatt) can be laterally constrained. Although this is not definite no lateral displacement was
observed at these positions, see figure 3.18. Although the top view scheme in figure 3.15
suggests that section A deflects laterally the scheme in figure 3.17 shows that Aatt does not.

33
Section C

Section B

Section A

Figure 3.17: Scheme showing no lateral Figure 3.18: Visual confirmation of


displacement at point A, B and C boundary conditions, test 4 load step 21

34
3.3.2.1 FORCE-DISPLACEMENT DIAGRAMS

The results of the four experiments are force-displacement diagrams, see figure 3.19. On
the horizontal axis the relative displacement between the middle of the beam and the cable
attachment point is set out. On vertical axis the force that acts on one end of the beam is
set out. The four graphs represent the four experiments with different boundary conditions
namely:

• Test 1: all four points laterally constrained.


• Test 2: two cable attachment point laterally constrained.
• Test 3: two load attachment points laterally constrained.
• Test 4: no lateral constraints on the beam.

The four force-displacement diagrams show little differences. Subsequently it can be


concluded that the boundary conditions applied to the beam during the different
experiments have no influence on the behavior of the beam. Therefore the point where the
cables and buckets are attached to the beam can be modelled laterally restrained in the
numerical model.

Figure 3.19: force displacement diagrams of four experiments conducted.

35
4 FINITE ELEMENT MODEL

To achieve the goal of this research and develop a calculation method a FE-model is
constructed.

For verification a numerical model representing the aluminum beam is constructed, see
figure 4.1. The research on the suspended beams contains steel, rolled, I-section beams,
therefore during the parameter study the material properties of the model are adapted. In
rolled steel beams residual stresses may need to be taken into account. These properties
may be added during the development of the new calculation method.

The numerical model is built in the FE-software ABAQUS 6.14. Appendix A holds the script of
the model.

Figure 4.1: Numerical model that is used

36
4.1 MATERIAL PROPERTIES

4.1.1 ALUMINUM

During the analysis of the model representing the experiment, discussed in §3.3, stresses
remain in the elastic range of the stress-strain diagram. Subsequently, no plasticity is
modelled. The Young’s modulus is the average of the earlier, §3.2.2.2 table 3.2, determined
Young’s moduli resulting in a Young’s modulus of 67692 N/mm2, see figure 4.2. The
Poisson’s ration (ν) used for aluminum is 0.33.

4.1.2 STEEL

The numerical models with steel beams contain a Young’s modulus of 210000 N/mm2 and a
The Poisson’s ration of 0.3. In the Linear Buckling Analysis (LBA) no plasticity is considered.
However, stresses may exceed the yield strength of 235 N/mm2 during Geometrical and
Material Nonlinear Imperfection Analysis (GMNIA). Subsequently, this yield strength is added
resulting in a bilinear true stress-strain relationship, see figure 4.2.

Figure 4.2: True stress and strain diagrams of steel and aluminum

37
4.2 BOUNDARY CONDITIONS
4.2.1 SYMMETRY

The model is symmetric over the middle of the beam. Subsequently, half the beam can be
modelled to decrease the computation time. Therefore, a symmetry boundary condition is
placed at the end of the beam, see figure 4.3. All the points at the end of the beam have
restricted movement in the z-direction and rotation about the x- and y-axis
(U3=UR1=UR2=0).

To ensure that half the beam may be modelled the whole beam was also modelled, see
figure 4.4. Both models show the exact same results when performing a LBA and a GMNIA,
see figure 4.5. Subsequently the model using only half the beam in combination with a
symmetry boundary condition may be used.

Figure 4.3: symmetry Figure 4.4: Numerical model of the whole beam
boundary condition

Figure 5.5: Figure comparing the results of the whole and half beam
38
4.2.2 REFERENCE POINTS

Three reference points in the model are indicated as RP-1, RP-2 and RP-3, see figure 4.2.
These correspond with A, B and S, see figure 3.1. The suspension point is constraint from
movement in the x-, y- and z-direction (Ux=Uy=Uz=0). Points A and B are restrained from
lateral movement (Ux=0) as discussed in paragraph 3.3.2.1

4.2.3 RIGID BODIES

The connection between the load and the beam is modelled using rigid bodies between the
points Aatt and Abottom. The connection between the cable and beam is modelled the same
using a rigid body between the points Batt and Bupper. A rigid body connection between two
points causes the relative position of the nodes to stay constant throughout the analysis.
Subsequently, the rigid body between the nodes cannot deform, but can undergo rotations.

4.2.4 LINK

The suspension cables between point S and Batt


are modelled using a link constrained between the
two corresponding reference points. This
constrained connects associated points with
hinges and keeps the distance between the points Figure 4.6: Scheme of link constrained [11]
constants during the analysis, see figure 4.6.

4.3 LOADS

In an LBA the load, which is applied at Aatt, is used to indicate the direction of the load.
Subsequently the program calculates at which load the bifurcation point of the load
displacement relation is reached.

In the GMNIA the load is applied as a vertical displacement on Aatt. Subsequently the
associated load is gained by measuring the vertical reaction force in point S. It is chosen to
use a displacement instead of a force, because the model handles a maximum in the force
displacement graph better.

4.4 ELEMENT TYPE

Shell elements are used for the model. The length and width of the beams is large compared
to the thickness of the flanges and web besides this the stresses in the thickness direction of
the elements are negligible, subsequently shell elements can be used. The elements used
are called S4R-elements (shell, 4 nodes and reduced integration) in abaqus. These are so
called general-purpose shells with four nodes at the corners and five integration points over
the thickness in the middle of the element. All nodes have six degrees of freedom, three
displacement and three rotational degrees of freedom. The element uses reduced integration
which means there is only one integration point in a plane instead of four, Therefore
calculation time of a model is reduced significantly. The thickness of the different elements is
defined in section properties.

39
4.5 SOLVING METHODS

During this project two different types of calculations are used in abaqus. Several different
solving methods are possible for an LBA and GMNIA.

4.5.1 LINEAR BUCKLING ANALYSIS

To determine Mcr of a beam an LBA is executed. This analysis finds Mcr by calculating the
bifurcation point. This point is calculated by solving an eigen value problem and determining
when the stiffness matrix becomes singular and gives nontrivial solutions. This analysis is
executed in abaqus using the linear perturbation procedure type with buckling. Abaqus gives
Lanczos and subspace iteration as two possible solving methods for this analysis. However
the Lanczos method cannot be used in combination with rigid bodies. Subsequently the
subspace iteration method is used.

4.5.2 GEOMATRICAL AND MATERIAL NON-LINEAR ANALYSIS

A GMNIA is used to determine the maximum resistance of a model. During a GMNIA the
calculations performed by the program are done using an iteration method. During this
research the modified RIKS method in abaqus is used. This method is recommended to use
when analyzing post buckling behavior, because this method is capable of calculating for
example snapback in force or displacement. The Riks method includes nonlinear effects of
large displacements in the model. The general calculation method in abaqus solves for either
the displacement or the force using the other as a known quantity. Where the RIKS method
solves both displacement
and force simultaneously.
Subsequently the arc-
length is introduced as an
additional quantity to be
able to solve for both
displacement and force
simultaneously. This arc-
length is used by the
program to create a
spherical path, using the
last solution point as
center, on which the next
solution point is
calculated through
iterations in a force-
displacement space, see
Figure 4.7: visualization of the arc-length
figure 4.7.

40
4.6 VALIDATION WITH EXPERIMENT

The behavior of the FE-model including the links, rigid bodies and lateral restrained points is
validated using the experiments discussed in paragraph 3.3. The beam in the experiment is
an extruded aluminum profile, subsequently no residual stresses are considered. The
distance between Abottom and Aatt or the eccentricity of the load is 15 mm as is the distance
between Bupper and Batt or the eccentricity of the cable. The imperfection used in the GMNIA
is obtained from an LBA. The imperfection shape and magnitude is unknown for the actual
beam used for the experiment. Therefore a range of different maximum magnitudes of the
imperfection shape is used. The modulus of Elasticity is set to 68014 N/mm2 as discussed in
paragraph 3.2.2.1. To compare the FE-model with the experiment the result is plotted
including the results of the experiment from figure 3.19, see figure 4.8. The behavior of the
beam in the FE-model compares very well to the behavior of the beam during the
experiment, subsequently this model can be used to evaluate other configurations.

Figure 4.8: Result of the FE-model compared to the experimental results

41
4.7 ADAPTIONS FOR STEEL PROFILES

4.7.1 FILLET RADIUS

The currently used calculation methods to determine the lateral torsional buckling resistance
use Iy, Iz, It, Iwa and Wy as cross sectional properties of a beam. Subsequently the same
cross sectional properties will be used in the calculation method for the lateral torsional
buckling resistance of spreader beams in a hoisting structure. Therefore it is not needed to
incorporate the fillet radius in the FE-model. It is a time consuming process to add the fillet
radius of a profile in the FE-model and a number of different profiles are used to develop the
calculation method. Common profiles such as HEA400 without the fillet radius will be
indicated as HEA400*.

4.7.2 CROSS SECTIONAL PROPERTIES

When an I-shaped beam is constructed in abaqus using shell elements it is possible to offset
the flanges to avoid a geometrical error where the flanges and web overlap. This is done
during the section assignment by offsetting the top flange to the top surface and the bottom
flange to the bottom surface.

The four parameters to construct an I-shaped profile, which is symmetrical over the height
and width, are the height of the web (hw), the thickness of the web (tw), the width of the
flanges (b) and the thickness of the flanges (tf). These parameters are shown for an
HEA400*, see figure 4.9.

Figure 4.9: Four parameters in a HEA400* cross section

Using these parameters the cross sectional properties Iy, Iz, It, Iwa and Wy of a beam can be
calculated using formula’s 4.1 To 4.6.

42
2
1 1 1 1 
Iy
= tw (h − 2tf )3 + 2 ⋅ btf3 + 2 ⋅ tf b  (h − 2tf ) + tf  (4.1)
12 12 2 2 
1 1
Iz = 2⋅ tf b3 + (h − 2tf )tw3 (4.2)
12 12
1 3 1
It =⋅ 2 bt + (h − 2tf )tw3 (4.3)
3 f 3
1
Iwa
= t (h − 2tf )2 b3 (4.4)
24 f
1
Wpl=,y tf b (tf + (h − 2tf )) + tw (h − 2tf )2 (4.5)
4
Iy
Wel ,y =
1 (4.6)
h
2

tf : thickness of the flanges


Wpl,y : plastic section modulus
Wel,y : elastic section modulus

4.7.3 IMPERFECTIONS

The Eigen mode obtained from the LBA, see figure 4.10
where the blue crosses are the reference points, as
discussed in §4.2.2, is inserted into GMNIA as imperfection.
The magnitude of the maximum displacement, located at
Cbottom, is defined by determining the difference in
displacement in the z-direction of Bbottom and Cbottom. This
distance is then scaled to a factor of the length between B
and D (LBD). Two different scaling factors are used. One
when residual stresses are incorporated in the model and
another when residual stresses are not in the model. For the
model including residual stresses an imperfection of L/1000
is used. This a generally accepted approach. When residual
stresses are neglected the Eurocode [1] gives the values of
the imperfections that should be taken into account, see
table 4.1. Although the Eurocode gives more information
about imperfections along with this table it is chosen to use
the eigen mode as an imperfection with a magnitude of
L/250.
Figure 4.10: Eigen mode

43
Table 4.1: values of the initial imperfection for beams [1]

Buckling curve Elastic calculation Plastic calculation

According to table 6.2 [1]


eo/L eo/L

a0 1/350 1/300

a 1/300 1/250

b 1/250 1/200

c 1/200 1/150

d 1/150 1/100

The two different methods to introduce imperfection with or without residual stresses is
compared using a simply supported beam with fork end supports, see figure 4.11. Different
lengths of the beam are modelled to ensure different slendernesses are considered. The
results are plotted in figure 4.10 Together with the buckling curves that are currently used in
EN 1993-1-1 [1]. The slenderness and reduction factor are calculated using equations 1.4
and 1.1.

Figure 4.11: Scheme of a simply supported beam with fork ended support

44
Figure 4.12: Results of comparison between two different imperfection possibilities

The results of these calculations are plotted together with the according buckling curves, see
figure 4.12. The red markers show the results of the models where residual stresses are
taken into account and an imperfection of L/1000 is used. The blue markers show the results
of the model with the bigger imperfection of L/250. The difference between the red markers
and the buckling curve is negligible compared to the difference between the blue markers
and the buckling curve in the region of low slenderness. When slenderness is higher both
results are comparable accurate. Therefore during this project an imperfection of L/1000
including residual stresses will be modelled.

45
4.7.4 RESIDUAL STRESSES

As a result of the production process of hot rolled steel I-shaped beams residual stresses
remain in the beam. These compressive and tensile stresses in the longitudinal direction can
be simplified to linear triangular shapes, see figure 4.13. Equations 4.6 and 4.7 are used to
calculate the values of σr.

Figure 4.13: residual stress pattern of a hot rolled, Figure 4.14: visualization of a discrete
steel, I-shaped beam residual stress pattern.

h
<1.2 → σ r =0.5fy (4.6)
b
h
>1.2 → σ r =0.3fy (4.7)
b

σr : Residual stress where a positive sign indicates a tensile stress and


negative sign a compressive stress

The program abaqus does not allow for an linear distributed residual stress pattern.
Therefore, the residual stresses are approximated using a discrete pattern, see figure 4.14.
This example shows a distribution where the flanges and web are divided in eight smaller
areas

To ensure results are accurate a small study is done to determine how many partitions are
needed for the discrete initial stress pattern. Four different patterns are used, see figure
4.15. The results show that the pattern with 32 partitions is very accurate when compared
to the analytical calculation using the Eurocode [1], see figure 4.16. Subsequently, this
pattern is used.

46
Figure 4.15: visualization of discrete residual stress patterns using 4, 8, 16 and 32 partitions

Figure 4.16: results residual stress pattern study

47
4.9 MESH

To ensure the results of the FE-model are accurate a mesh convergence study is executed.
This is done using a simply supported HEA400* beam with fork ended supports, a length of
9000 mm including residual stresses, see figure 4.10. The Eigen mode of the LBA is inserted
in the GMNIA as imperfection with a maximum displacement of Lg/1000. The analytical
answer for Mcr and Mb,Rd is known for this system, subsequently it is possible to ensure
accurate results from the model.

Using equations 1.1 to 1.5 the analytical values of Mcr and Mb,Rd of this beam can be
determined.

M
=cr 643 ⋅ 106 Nmm
Mb=
,Rd 405 ⋅ 106 Nmm

During the mesh convergence study three different meshes are used, see figure 4.17. The
meshes have 16, 32 and 64 elements over the length of the flanges and web. Residual
stresses must be constant on one element. Subsequently the model using 16 elements has a
residual stress pattern including 16 partitions. The length of the elements is approximately 5
times the width of the elements. The different meshes are used to evaluate Mcr and Mb,Rd,
these are compared to the analytical values, see table 4.2. The results show a mesh with 32
elements along the flanges and web is accurate and is chosen to be used.

Figure 4.17: Visualization of the three meshes used during the mesh convergence study

48
Table 4.2: mesh convergence study

Number of Mcr using Mcr Difference Mb,Rd using Mb,Rd Difference


elements LBA (kNm) analytical GMNIA analytical
along the (kNm) (kNm) (kNm)
flanges
and web

16 659.34 643.07 2.53% 392.85 405.17 -3.04%

32 657.45 643.07 2.24% 405.42 405.17 0.06%

64 655.98 643.07 2.01% 403.85 405.17 -0.33%

4.10 VALIDATION PLASTIC MOMENT RESISTANCE

Initially the cross sectional dimensions are validated by determining the plastic moment
resistance around the y-axis (Mpl,y) analytically, using equation 4.5, and using the FE-model.
The difference between the analytical value of 577.0∙106 Nmm and the value obtained with
the FE-model of 575.2∙106 Nmm is 0.3%. Although this difference is negligible the value
obtained using the FE-model is too low. This can be explained using figure 4.18, which
shows a part of the beam at the maximum moment. In this figure the elements that are
colored red are already plasticized and the blue elements are still in the elastic phase. Few
elements in the middle of the web did not reach plasticity which explains the lower plastic
moment resistance.

Figure 4.18: Visualization of a part the beam in bending. Elements


coloured red are in the plastic branch of the stress strain diagram
and the blue coloured elements are in the elastic branch.

49
5 DEVELOPMENT DESIGN RULE

In this chapter a design rule for the lateral torsional buckling resistance of an I-shaped
spreader beam is developed.

At first the boundaries of the parameters are determined for an I-shaped spreader beam. To
be able to develop a design rule, the behavior of a spreader beam is investigated. This is
done by first modelling a beam with fork ended supports and a constant bending moment
and changing this in small steps to the final model of an I-shaped spreader beam.

Currently the Eurocode NEN-EN 1993-1-1 [1] provides a method to determine the lateral
torsional buckling resistance of a beam, see equations 1.1 to 1.4. As stated, this method
requires the critical moment to be known. A method to determine the critical moment is
provided in the Dutch National Annex of the code. Since these two calculation methods are
currently provided in two different codes, two separate design rules are developed. One to
determine the critical moment and one to determine the lateral torsional buckling resistance.
Both of the design rules are developed in a way that implementation in the current
calculation methods is straightforward.

5.1 PARAMETERS

5.1.1 SECTION PROPERTIES OF THE BEAM


In this project the section dimensions of common (IPE, HEA and HEB) I-shaped steel beams
are considered. When designing a spreader beam, deflections of the beam are not taken into
account. Therefore, only beams with the capability of reaching the plastic moment capacity
are considered, subsequently only beams of class 1 and 2 are considered.

5.1.2 CABLE ANGLE

According to Dutch safety regulations [15], the angle a between the two cables may not
exceed 120°. This is because of the fact that above this angle the tension force in the cable
becomes bigger than the weight of the load lifted. Therefore it is too difficult to estimate
what forces are in the cables. This leads to an angle a with a maximum of 120°.

Fourteen different models using all ranges of all parameters have been created and modelled
using an angle a of 120°. The same models have been created using an angle between the
cable and beam of 90°. These are two extreme values of this parameter and causes a
difference in the normal force between the cable attachment points. The difference between
the critical moment, obtained via an LBA, of both models and the maximum moment
resistance, obtained via a GMNIA, of both models is negligible, see table 5.2. When the cable
angle a is smaller the normal force in the beam gets smaller, subsequently the beams with
the cable perpendicular to the beam have a higher moment resistance. Therefore, only a

50
cable angle of 120° will be considered during the development of the calculation methods for
both Mcr and Mb,Rd.

This negligible difference might be caused by the fact that the occurring axial compressive
force is not present in critical parts of the cross section of the beam. Therefore, the axial
stresses in different parts of the cross sections will be compared between two models.

Lateral torsional buckling is caused by lateral buckling of the flange and a small part of the
web in the compression zone, in case of a spreader beam, the bottom flange. The normal
force in the beam is caused by the cables. These cables are attached at the top of the beam
in the tension zone. This axial compressive force, only occurring when the angle between
cable and beam is below 90o, might therefore only influence the tension zone.

The compressive axial forces in the bottom flanges are approximately the same for a model
with an angle a of 120o and a model where the cables and the beam are perpendicular. This
fact is checked by comparing the axial stresses of the top and bottom flanges in the middle
of the beam for a model with an angle a of 120o and a model where the cables and the
beam are perpendicular. Although the force and moment are comparable, deflections are
different. Therefore, stresses are different between the two models. Subsequently, this
comparison is done with two models which have lateral restraints in the top flange, so no
actual lateral torsional buckling occurs. The model used for comparison is the model in the
top row of table 5.2. The axial stresses are obtained at the nodes in the middle of the beam
in the top and bottom flange. This value is the average of the stresses in the integration
points of the elements attached to the node. The results show a 1.1% higher average axial
compressive stress in the bottom flange in the model with an a of 120o and a 7.9% lower
average axial tensile stress in the top flange, see table 5.1. This shows that the normal force
induced by the cables under an angle is almost completely taken by the top flange in the
tension zone. Subsequently the compression stresses in the bottom flange are not much
higher when the cables are under an steeper angle. Therefore the lateral torsional buckling
resistance is nearly equal.

Table 5.1: Axial stresses of a model with α=120o and a model with perpendicular beams and cables

Perpendicular α=120o Difference


Beam and cables average stress
average stress (N/mm2)
(N/mm2)
Top flange 238.00 219.11 -7.9%
(tension)
Bottom flange 235.63 238.20 1.1%
(compression

51
Table 5.2: comparing models with different cable angles

profile fy (N/ LAE LBD Ecc Mcr,α=120 Mcr,perp Mb,Rd,α=120 Mb,Rd,α=perp


mm2) (m) (m) (mm) (N) (N) (N) (N)
HEA450* 235 14.5 7.26 133 4.91∙108 4.92∙108 0.2% 3.83∙108 3.89E+08 1.6%
HEB1000* 355 15.0 7.5 162 1.50∙109 1.52∙109 1.1% 1.32∙109 1.34E+09 2.1%
HEB1000* 355 15.0 7.5 43 1.31∙109 1.35∙109 2.5% 1.18∙109 1.21E+09 2.6%
HEB1000* 460 15.0 3.45 162 1.63∙109 1.63∙109 0.1% 1.44∙109 1.45E+09 0.5%
HEB1000* 460 15.0 3.45 77 1.47∙109 1.47∙109 0.3% 1.33∙109 1.33E+09 0.5%
HEB200* 355 3.0 0.69 61 9.38∙108 9.23∙108 -1.5% 1.96∙108 1.95E+08 -0.5%
HEB200* 460 3.0 0.69 10 7.46∙108 7.47∙108 0.2% 2.46∙108 2.52E+08 2.6%
HEB600* 460 9.0 4.5 162 2.08∙109 2.03∙109 -2.3% 1.50∙109 1.53E+09 2.4%
HEB600* 460 9.0 4.5 26 1.68∙109 1.71∙109 1.9% 1.35∙109 1.36E+09 1.3%
IPE100* 235 1.5 0.75 30 1.57∙107 1.54∙107 -1.7% 6.89∙106 6.92E+06 0.5%
IPE360* 235 5.4 1.24 28 2.45∙108 2.45∙108 0.1% 1.33∙108 1.33E+08 0.2%
IPE360* 355 5.4 1.24 16 2.34∙108 2.34∙108 0.2% 1.59∙108 1.59E+08 -0.4%
IPE600* 235 9.0 2.07 26 4.69∙108 4.71∙108 0.3% 3.17∙108 3.15E+08 -0.4%
IPE600* 355 9.0 2.07 162 5.97∙108 5.93∙108 -0.7% 4.28∙108 4.41E+08 3.0%

5.1.3 TOTAL BEAM LENGTH

The maximum total beam length (LAE) is 28 meters which is the longest beam that is
generally available. Rules of thumb are used in preliminary structural designs to determine
beam heights. Commonly these rules have L/h ratios of 20 to 40 [16]. To cover all
commonly used beam lengths a higher ratio of 50 is used, subsequently the maximum
length of a beam can be determined using equation 5.1.

L
=AE ,max min(50 ⋅ h;28000mm) (5.1)

As stated before the beams are able to reach the plastic moment capacity. The maximum
moment is between point B and D, see figure 5.11. Besides the moment, a shear force is
present between points A and B. When shear force and a bending moment are combined on
a steel I-shaped beam, the Eurocode [1] prescribes that the moment resistance of the beam
does not have to be reduced if the shear force acting on the beam is lower than half the
plastic shear force resistance of the beam. When LAB has a sufficient length reduction of the
moment resistance is not needed, see equations 5.2 to 5.5. Equation 5.3 seems very
conservative, because the Eurocode allows for a part of the flanges to be added to the total
shear area. However, in the models during this project no fillet radii are modelled. This
minimum value for LAB is used to determine the minimum value for the total length of the
beam and the maximum value of the ratio between LBD and LAE. Extreme values are used to
define the boundaries of the parameters. Subsequently, not all beams will have shear forces
lower than half the plastic resistance, this will also result in beams failing in shear.

52
F = VEd (5.2)
1
Vpl =twhw fy (5.3)
3
1 1 1
VEd ≤ Vpl → Fmax=VEd ,max= twhw fy (5.4)
2 2 3
Mpl ,y Mpl ,y Wpl ,y
LAB
= ,min = =
Fmax 1 1 1 1 (5.5)
twhw fy twhw
2 3 2 3

F : Force at the end of the beam


VEd : Design shear force
Vpl : Plastic shear force capacity

The minimum length of a beam, and the maximum ratio between the values of LBD and LAE is
determined using equations 5.6 to 5.8. All the results of these equations for all different
sections are shown in the table in appendix B. An absolute minimum length of approximately
1500mm is found. Besides this, the ratio between LAE,min/hbeam is considered and the lowest
ratio is approximately 15. Subsequently, the minimum value of LAE can be determined using
equation 5.9.

 LBD  L − 2 ⋅ LAB,min
  = AE ,max (5.6)
 LAE max LAE ,max
1
LAE ,min= 2 ⋅ LAB,min
 LBD  (5.7)
L 
 AE max
LBD= LAE − 2 ⋅ LAB (5.8)
LAE ,min min(15 ⋅ h;1500mm)
= (5.9)

5.1.4 DISTANCE BETWEEN CABLE ATTACHMENT POINTS

The distance between the two cable attachment points (LBD) is smaller than the distance
between the loads, because if LBD=LAE only normal force will act on the beam. Subsequently,
lateral torsional buckling is not a relevant failure mechanism. The maximum ratio of LBD/LAE
is calculated using equations 5.6 and 5.7.

Appendix B shows the table with this ratio for all cross sections considered, calculated using
equation 5.6. The maximum ratio is 0.77, subsequently LBD,max=0.77∙LAE

When the distance between the cable attachments is very small the use of one cable in the
middle would become more suitable. Besides this, when the angle between the cables is at
120° the distance between the beam and the suspension point decreases when LBD
decreases, see figure 5.1. In this space the connections have to be made. Therefore, a
minimum distance of 100mm is chosen to ensure making the connections is still possible.

53
For an angle between cable and beam of 30°, the minimum value for LAE of 1500mm and a
minimum distance between beam and suspension point of 100mm the minimum value for
LBD is 346mm. Subsequently, LBD,min =0.23∙LAE. The biggest and smallest ratio of LBD/LAE are
shown in figure 5.1.

Figure 5.1: Visualization of the biggest and smallest ratio


LBD/LAE with a cable angle a of 120o

5.1.5 EXCENTRICITIES OF THE CABLE AND LOAD

A spreader beam usually has a strip on the top and bottom flange with holes to attach the
cables or chains. Subsequently, an eccentricity is introduced where the loads and cables are
attached. When beams for small loads are used, the loads and the cables are accordingly
thin. Therefore the eccentricity may be small for both the cables and loads. When loads
increase, so will the attachment equipment.

To determine the minimum and maximum eccentricity for the considered beams, first the
maximum and minimum tension force in the cables are calculated using equation 5.9 to
5.12.

Mpl ,y
Fmax = (5.9)
LAB,min
Fmax Mpl ,y
F=
t ,max = 2
=Fmax 2 (5.10)
cos 60o LAB,min
 L  
LAB,max =
0.5 1 −  BD   ⋅ LAE ,max (5.11)
  LAE max 

54
Mpl ,y Mpl ,y
Ft=
,min F=
min =
LAB,max  L   (5.12)
0.5 1 −  BD   ⋅ LAE ,max
  LAE max 

Ft : Tension force in the cables

The calculation of a pin connection described in the Eurocode [21] is used to estimate the
maximum and minimum dimensions of the connections between beams, loads and cables.
The resistance of a pin connection is calculated using equation 5.13.

0.6 Afup
FV ,Rd = (5.13)
γ m2
N
fup,S 235 = 360
mm2
N
fup,S355 = 490
mm2
N
fup,S 460 = 570
mm2

FV,Rd : Shear force resistance in connection in this case equal to Ft,max or Ft,min
fup : tensile strength

Using equation 5.13 and inserting the maximum and minimum tension force for the
resistance of the pin the minimum and maximum required diameter of the circular pin can
be calculated, see equations 5.14 to 5.16. Using the diameter of the pin, the maximum and
minimum eccentricity can be calculated using equations 5.17 and 5.18. In these equations
the diameter is enlarged because of hole clearance. A common way of producing a spreader
beam includes a strip welded on top with holes in it, so different configurations can be used
for various situations, see figure 5.2. For this reason the maximum eccentricity is increased
with 50% in equation 5.18. An absolute minimum for the eccentricity is found when a small
ring is welded on a small beam where cables can be hooked on, see figure 5.3. This figure
shows an eccentricity of 10.0mm which seems fairly small, subsequently emphasizing that
the whole range is considered. In appendix C.1, C.2 and C.3 these calculations are done for
all beams considered for steel grades S235, S355 and S460. From these tables it can be
derived that the minimum eccentricity e=h/23 and the maximum eccentricity e=h/3.3.
Including the absolute minimum of 10.0mm and the absolute maximum found in the table of
approximately 162.0mm the minimum and maximum eccentricities are calculated using
equations 5.19 and 5.20. Where the maximum value of the eccentricity seems very large
this only emphasizes that the whole range of possible eccentricities is considered.

γ M 2Ft ,min
Apin,min = (5.14)
0.6fup

55
γ M 2Ft ,max
Apin,max = (5.15)
0.6fup
4A
Dpin = (5.16)
π
emin= D + 3 (5.17)
emax = ( D + 3) ⋅ 1.5 (5.18)
 h 
emin = min  ;8.0  (5.19)
 23 
 h 
emax = min  ;162.0  (5.20)
 3.3 

Apin : Cross sectional area of the pin in the connection


γ M2 : Partial safety factor for the resistance on cross sections considering
fracture because of tensile stress
Dpin : Diameter of the circular pin
e : eccentricity of the attachment of cables and loads

Figure 5.2: Visualization of an HEA550 beam with the maximum eccentricity using a strip with holes

Figure 5.3: Visualization of an IPE80 beam with the


minimum eccentricity using rings welded on the beam

5.1.5 YIELD STRESS

In this project three different yield stresses are considered. The most commonly used are
235 N/mm2, 355 N/mm2 and 460 N/mm2.

56
5.2 CHANGE FROM SIMPLY SUPPORTED BEAM TO THE FINAL MODEL

The simply supported model with fork ended supports, see figure 4.11, is changed step by
step to the final model to evaluate the influence of the different changes on the model. This
is done in seven steps. The models created in these steps are calculated using an LBA to
determine the critical buckling force and associated Eigen mode. Subsequently, this Eigen
mode is inserted as imperfection into a GMNIA calculation. The maximum magnitude of this
imperfection is determined by scaling the difference in lateral deflection of Bbottom and Cbottom
to LBD/250. The mechanical schemes show half the beam, which can be done because of
symmetry. However, the mechanical scheme of the original is the full scheme. The results of
the different models are shown in table 5.3. For comparison purposes the vertical forces are
converted to moments by multiplying them with the distance LAB, in this case 3500mm.
Table 5.3: Overview results changing the model from simply supported with fork ended supports to
the final model
Mcr Mb,R
Imperfection
LBA GMNIA Mechanical scheme
(mm)
(kNm) (kNm)

Original 641 422 36 mm

Step 1 190 258 97 mm

Step 2 251 239 98 mm

Step 3 294 249 83 mm

Step 4 353 270 95 mm

57
Step 5 377 279 85 mm

Step 6 382 278 86 mm

5.2.1 STEP ZERO: ORIGINAL BEAM WITH FORK ENDED SUPPORTS

The original beam with fork ended supports is used in §4.7.3 to determine the way of
implementing the imperfections, see figure 4.11. The HEA400* beam with a length of
9000mm is used for evaluation of the influence of the changes in the next six sections. The
LBA of this model gives a critical moment of 641 kNm and the GMNIA gives a maximum
lateral torsional buckling resistance of 422 kNm.

5.2.2 STEP ONE: NO FORK ENDED SUPPORTS


In the first step the beam is longer and the fork ended conditions are changed. In the
original scheme the top and bottom flange were laterally restrained at one cross section.
However in this step the bottom flange is supported at the end of the beam where later the
vertical load is applied. The same constant bending moment is applied on the same length of
the beam, see figure 5.4. Both Mcr and Mb,Rd decrease significantly. The critical moment
decreases 70.4% and the maximum resistance decreases 38.9%. This decrease is caused
because of the increasing beam length and the fact that the beam has more freedom to
rotate. When fork ended conditions are present the beam can not rotate around its own axis,
Subsequently when only the top or bottom flange is supported laterally the beam can.

Figure 5.4: Mechanical scheme of step 1

58
Because this decrease in resistance is very drastic the change to this scheme is done in
steps. The length between the two supports is increased gradually. This is done to make
sure no unexpected behavior occurred in between the two schemes. The results show no
abnormalities, see figure 5.5. This figure shows the relation of the moment and the relative
displacement Δ of the beam modelled with different LAB. It is clear that the maximum lateral
torsional buckling resistance decreases when LAB increases. Moreover, the stiffness
decreases as well. This can be seen by looking at the slope of the lines in the elastic branche
of the graphs.

Δ (mm)
Figure 5.5: figure showing the relations between models with increasing LAB

5.2.3 STEP TWO: VERTICAL FORCE INSTEAD OF CONSTANT MOMENT

In this step the cable support at the top flange of the beam is introduced and the constant
bending moment is replaced by a vertical force on the end of the beam. Subsequently, a
linearly distributed bending moment and a constant shear force act on the beam between
the cable attachment and the vertical force, see figure 5.6. Although extra bending moment
and shear force act on the beam compared to the previous step the critical moment
increases with 32.1%. This is caused by the vertical force which “pulls” the beam back into a
straight position. However the maximum resistance in this step decreases slightly with 7.4%
compared to the previous step.

The effect of the force pulling the beam straight at the end is minimized when the force is
applied at the middle of the web. To show that this effect is the cause of the increase in
critical moment the force is first applied at the middle of the beam and lowered until it is
applied at the bottom. The results show a linear increase in both Mcr and Mb,Rd, see figures
5.7 And 5.8. This ensures the straightening effect of the vertical force causes the increase.

59
Figure 5.6: mechanical scheme of step 2

Δ (mm)

Figure 5.7: Figure showing the relations when the force is applied at different heights

60
Figure 5.8: Figure showing Mb,Rd and Mcr for different heights of applying the load

5.2.4 STEP THREE: INCLUDING EXCENTRICITY TO THE FORCE

In this step the eccentricity is added to the point where the force is applied, see figure 5.9.
This results in a 17.1% higher critical moment and 4.2% increase of the maximum
resistance. This increase is caused by the same effect as the increase in the previous step.
The effect of the force pulling the beam back into a straight position is increased. This
eccentricity is gradually increased up to 200mm. The results of this gradual increase shows
the effect increases when the eccentricity is enlarged, see figure 5.11, where the relation of
the increase in eccentricity appears linear when compared to Mcr and Mmax.

Figure 5.9: Mechanical scheme step three

61
Figure 5.11: Relation of Mb,Rd and Mcr with increasing load eccentricity

5.2.5 STEP FOUR: INCLUDING EXCENTRICITY TO THE CABLE ATTACHMENT

In this step the eccentricity is added at the point where the cable is attached to the beam.
However, the eccentricity at the load point is removed, see figure 5.12. Subsequently, this
step will be compared to step 2. This change shows the same effect as step three. However,
the influence is bigger. The increase of the critical moment is 40.6% and the increase of the
maximum resistance is 13.0%. The maximum lateral displacement of the beam when lateral
torsional buckling occurs is at the middle. The cable attachment point are situated more to
the middle of the beam. Therefore, the “pulling” effect is presumably stronger when the
eccentricity is added at the cable attachments when compared to the added eccentricity at
the load attachment points. This eccentricity is applied gradually increasing in size. This
shows a linear distribution of the increase of both the critical moment and the maximum
resistance, see figure 5.13.

Figure 5.12: Mechanical scheme of step 4


62
Figure 5.13: Relation between Mb,Rd and Mcr with increasing cable eccentricity

5.2.6 STEP FIVE: COMBINING BOTH EXCENTRICITIES

The second to last step is combining the eccentricities at the loads and the cables, see figure
5.14. When compared to step 2 the increase of the critical moment is 50.2%. This is close to
the sum of increase in step 3 and 4 which is 57.8%. The increase of the maximum
resistance compared to step 2 is 16.7%. This difference between this increase and the sum
of the increase in step 3 and 4, which is 17.2%, is also very small. This result shows that the
effect of the forces pulling the beam back into a straight position when both eccentricities
are present is almost the sum of the influence of the two individual eccentricities.

Figure 5.14: Mechanical scheme of step 5

63
5.2.7 STEP SIX: CHANGING CABLE ANGLE

In the final step the angle between the cable and beam is changed from 90o to 30o, see
figure 5.15. As stated before in §5.1.2 this change causes a normal force in the beam
between the cable attachment points. Although the critical moment shows an increase of
1.3% the maximum resistance shows a decrease of 0.4% it may be concluded that the
influence of the cable angle is negligible for this model.

Figure 5.15: Mechanical scheme of step 6

5.2.7 CONCLUSIONS

Step 1 shows that removing the fork ended support has a big negative influence on the
lateral torsional buckling resistance of a beam. This is caused by the increase of the total
length of the beam, but also because of the different placement of the lateral restraints. At
no cross section along the beam length rotation of the beam is prevented.

Steps two to five clearly show that the location, with respect to the neutral axis, where the
force is applied has a very large influence on both the critical moment and the ultimate
lateral torsional buckling resistance of a spreader beam. The critical moment increases each
step. The ultimate LTB resistance decreases slightly between steps two and three slightly,
which might be because of the added moment on part AB. However, when the eccentricities
of the cables and loads are introduced the ultimate resistance increases because the force
“pulls” the beam back into a straight position.

The final step shows that the influence of the cable angle is negligible. This was earlier
discussed in §5.1.2.

64
5.3 DEVELOP A METHOD TO DETERMINE THE CRITICAL MOMENT

In the currently used Dutch national annex of NEN-EN 1993-1-1 [1] a procedure to
determine the critical moment is provided, see equations 5.21 to 5.23. However, this
calculation method may only be used if the beam has fork ended conditions and the load is
not applied above or below 0.1h of the beam. Subsequently, this method cannot be used for
a spreader beam. The calculation method in the Dutch national annex uses two coefficients,
C1 and C2, to determine the critical moment. Where C1 is dependent on the mechanical
scheme of the structure and C2 is dependent on the height where the force is applied
compared to the neutral axis of the beam. In this research that same calculation method is
used. Subsequently, C1 and C2 need to be determined to create a new method which can be
used to obtain the critical moment of a spreader beam. Table NB.6 of the calculation method
in the Dutch national annex [1] shows that C1 and C2 change when the type of loading
changes. Subsequently, C1 and C2 for a spreader beam will be developed as equations with
different variables. During this project multiple ways were attempted to create this
calculation method. The sets of models used to determine C1 and C2 are collections of all LBA
done during this project and include a very wide range of the different parameters defined in
§5.1.

C
Mcr ,M= EI zGIt (5.21)
Lg

π C1Lg  π 2S 2 2 πS 
C=
Lkip
 1+ 2
 Lkip
(
C2 + 1 + )
Lkip
C2 

(5.22)
 
EIw
S= (5.23)
GIt
L kip
= L=
g LAE (5.24)

C : Coefficient dependent on beam length, cross sectional properties, nature


and application point of load

First the coefficient C1 is determined. To do this a set of 421 LBA have been used in which
the load is applied in the heart of the flange and eccentricities are zero, see figure 5.17, and
the critical moment is calculated, see appendix D.1 for a table with all models. Combining
equations 5.21 to 5.24 and solving this for C1 gives equation 5.25. Using equation 5.25 the
coefficient C1 can be determined for all different models. However in this equation the
coefficient C2 is still a variable. Subsequently, a provisionally coefficient for C2 is determined
first to make the determination of C1 possible. This first determination of C2 will not be used
later to determine the final coefficient for C2, Instead it is just used as a tool to make
determination of C1 possible.

65
When the coefficient C1 is known the coefficient C2 is determined using a set of 295 models
in which various eccentricities of the cables and loads are present, see appendix D.2 for a
table with all models. Combining equations 5.21 to 5.24 and solving this for C2 gives
equation 5.26. Using equations 5.26 and 5.35 which is determined in §5.3.2 the coefficient
C2 can be determined for all different models.

Finally when the coefficients of C1 and C2 are known a full calculation method to determine
the critical moment for a spreader beam within the parameters discussed in §5.1 is can be
set out. This calculation method will be reviewed using a statistical analysis comparing it
with the set of 295 models including eccentricities.
Mcr Lkip
C1 =
 EIw 
π C2

π  1+
π 2
EIw (C 2
2 + 1
+
) GIt

 EI GI (5.25)
 GIt Lkip Lkip  z t
 
 
 
2 2 4 2 2 2 4 2
1 C1 E Iw I zπ + C1 EGIt I z Lkipπ − LkipMcr
C2 =
2 EIw 2 (5.26)
C1L2kipMcr EI z GIt π
GIt

C1 : Coefficient dependent on the nature of the load


C2 : coefficient dependent on the application point of the load relative to the
neutral axis

5.3.1 DETERMINE PROVISIONAL COEFFICIENT C 2

In the calculation method to determine the critical moment provided by the Dutch national
annex of NEN-EN 1993-1-1 [1] the coefficient C2 is zero when loads are applied at the
neutral axis of a beam. Using this, the critical moment obtained via an LBA and equation
5.25 the coefficient C1 can be determined for a beam. Two simple models have been
created, see figure 5.16 and 5.17. These models have been created using an HEA400 beam
with a length of 9 meters. The load in the first model (figure 5.16) is applied on the neutral
axis of the beam and as explained before can be used to determine C1. Since C1 changes
when the mechanical scheme changes the distance LBD is varied from 3LAE/4 to LAE/4 or
6.75m to 2.25m. For all different lengths C1 is determined using equation 5.25, see table
5.4. When C1 is known for different lengths of LBD C2 can be obtained using the second
model (figure 5.17). In this model the load is applied on the bottom flange. C2 also changes
when the mechanical scheme changes. Subsequently the same varying length of LBD is used
as in the first model. For all lengths of LBD C2 is determined using equation 5.26, see table
5.4. Finally the least square method is used to determine a formula that describes C2 with
LBD/LAE as variable, see equation 5.27. This is the provisional value for C2 used to determine
coefficient C1.

2
L  L 
C2, provisional =-0.6  BD  − 0.056  BD  + 0.558 (5.27)
 LAE   LAE 

66
Figure 5.16: Scheme of FE-model to determine C1

Figure 5.17: Scheme of FE-model to determine C2,provisional and C1

Table 5.4: C1 and C2 determined using simple models with varying LBD/LAE

LBD/LAE Mcr (kNm) C1 (-) Mcr (kNm) C2 (-)


first model second model
(load on (load on
neutral axis) bottom flange)
12/16 593.96 0.924 662.34 0.182
11/16 579.26 0.901 666.25 0.234
10/16 563.23 0.876 668.16 0.286
9/16 547.95 0.852 669.33 0.337
8/16 534.81 0.832 670.75 0.381
7/16 524.65 0.816 673.33 0.421
6/16 518.02 0.806 677.86 0.453
5/16 515.36 0.801 685.28 0.483
4/16 517.10 0.804 696.45 0.505

67
5.3.2 DETERMINE COEFFICIENT C 1

Using equation 5.25 C1 can be determined for all 421 models used, see figure 5.14. A new
factor is introduced to ensure the calculation method works well for all beam types and all
lengths within the parameters defined in §5.1. The new factor fsb=LAEtf/bh is similar to the
equation of the lateral torsion buckling stresses, see equation 5.28. Both factors were tested
and the new factor works better when creating the calculation model for a spreader beam.

0.66E
σ cr ,LTB=
Lh (5.28)
btf

σ cr ,LTB : Critical stress for lateral torsional buckling

When using only the variable LAEtf/bh a large deviation in the calculated C1 is found, see
figure 5.18. Subsequently another variable is needed to create an accurate calculation
method. C1 is supposed to be dependent of the nature of load application on the beam, the
length and type of beam is already incorporated in the first variable. Subsequently the other
variable is the ratio between the lengths LBD and LAE. When all results as shown in figure
5.18 are separated by this ratio, different lines of points can be distinguished. Different
ratios have been given different colors in the graph. These different lines can be
approximated using a second degree polynomial with the factor LAEtf/bh as a variable, see
equation 5.29 and 5.30. In equation 5.29 the parameters aC1, bC1 and cC1 can be determined
using the least square method. However, they will be different for each line of points
considered. Subsequently a variable needs to be incorporated in these parameters. This is
the factor LBD/LAE which is inserted as a linear function, see equations 5.31 to 5.33. The least
square method has been used to determine the regression coefficients. This equation gives
an average absolute difference of 2.2%.

C1 = aC1 fsb2 + bC1 fsb + cC1 (5.29)


LAE tf
fsb = (5.30)
bh
LBD
aC1 = − 0.019 + 0.0185 (5.31)
LAE
LBD
bC1 =0.184 − 0.248 (5.32)
LAE
LBD
cC1 = − 0.117 + 1.11 (5.33)
LAE

68
LBD/LAE

Figure 5.15: Visualization of all models comparing the factor LAEtf/bh to the calculated C1

5.3.3 DETERMINE COEFFICIENT C 2

The coefficient C2 is developed in a similar way as C1, using a set of 295 models including
eccentricities of loads and cable attachments, see figure 5.19 for model type and appendix
D.2 for the full table of models. The same factor fsb=LAEtf/bh is used to ensure the calculation
method works for all beams within the parameters. When the calculated values for C2, using
equations 5.26 and 5.29, of all models are set out using the factor LAEtf/bh very large
deviations occur, see figure 5.20. The calculation model of C2 is supposed to be dependent
on the location where the loads are applied relative to the neutral axis of the beam.
Therefore in this case the models have been separated in 6 sets using h/e as factor. In
figure 5.20 the different groups of points are given different colors and several relations
between C2 and the factor LAEtf/bh become visible. Therefore, the same procedure is used as
during the development of the formula for C1. Subsequently the initial equation 5.34 is very
similar to equation 5.29. The parameters aC2, bC2, cC2 and dC2 can be determined for a set of
points. However, these parameters will be different for every set. Therefore these
parameters are substituted for quadratic functions with the factor h/e as variable, see
equations 5.36 to 5.39. The least square method has been used to determine the regression
coefficients in these equations.

69
Figure 5.19: Scheme of FE-model to determine C2

Using the equations 5.21, 5.22, 5.23, 5.29 and 5.34 The critical moment of any spreader
beam within the parameters discussed in §5.1 can be determined. When the calculation
method is compared to the results from the set of 295 FE-models the average absolute
difference is 8.7%.

C2 = aC2 fsb3 + bC2 fsb2 + cC2 fsb + dC2 (5.34)


LAE tf
fsb = (5.35)
bh
2
 h  h
aC2 =0.000184   − 0.004   − 0.032 (5.36)
e
  e
2
 h  h
bC2 =-0.0013   + 0.027   + 0.29 (5.37)
e
  e
2
 h  h
cC2 =0.0032   − 0.076   − 0.43 (5.38)
e
  e
2
 h  h
dC2 =-0.0003   − 0.005   + 0.9 (5.39)
e
  e

70
Figure 5.20: Visualization of all models comparing the factor LAEtf/bh to the calculated C2

5.3.4 ASSESMENT OF CALCULATION METHOD USING STATISTAL ANALYSIS

To evaluate the accuracy and safety of the calculation method to determine the critical
moment of a spreader beam for lateral torsional buckling a statistical evaluation is
conducted.

The Eurocode EN-1990-1-1 Annex D [17] provides a safety assessment procedure which is
used to perform this statistical evaluation. In this procedure experimental results are
compared with a calculation model.

The different steps of the procedure are set out in §5.3.4.1 to §5.3.4.7.

71
5.3.4.1 STEP 1: DEFINE A CALCULATION MODEL

The theoretical calculation model has nine basic variables (Xj) b, h, tf, tw, E, G, LAE, LBD and
e. inserting equations 4.2, 4.3, 4.4, 5.22, 5.23, 5.29 and 5.35 into equation 5.21 gives the
theoretical resistance function rt,i, see figure 5.21. re,i is the critical moment obtained from
the set of 295 finite element models, see appendix D.2.

Figure 5.21: Equation 5.40 obtained using the program maple

rt,i : Theoretical resistance values (Nmm)


re,i : Experimental resistance values (Nmm)

5.3.4.2 STEP 2: COMPARE THEORETICAL AND EXPERIMENTAL VALUES

The theoretical and experimental critical moment is compared for all 295 models, see figure
5.22 with re,i on the horizontal axis and rt,i on the vertical axis. The blue line shows when
both the experimental and theoretical critical moment would be the same.

72
Figure 5.22: Comparison of the theoretical and experimental values of the critical moment

5.3.4.3 STEP 3: ESTIMATE CORRECTION FACTOR B

Using linear regression the relation between the theoretical and the experimental resistance
values can be modelled. The regression line is assumed to be linear and given in equation
5.41. In this equation the slope is defined by the least-square approximation of factor b
which can be obtained using equation 5.42.

ri = brt ,iδ i (5.41)


n

∑r t , i re, i
b= i =1
n (5.42)

i =1
rt2,i

ri : Resistance values (Nmm)


b : Least-square approximation factor (-)
δi : Error terms (-)

73
5.3.4.4 STEP 4: ESTIMATE THE COEFFICIENT OF VARIATION WITH RESPECT
TO THE ERROR TERMS

The coefficient of variation with respect to the error terms, which is defined as the scatter of
the pairs in figure 5.18, is estimated. Initially, the error term is defined in equation 5.43 and
the natural logarithm is taken in equation 5.44. Then the estimated mean value is calculated
using equation 5.45. In equation 5.46 the estimated standard deviation is defined. Finally
the coefficient of variation with respect to the error terms can be determined using equation
5.47.

re,i
δi = (5.43)
brt ,i
∆ i =ln (δ i ) (5.44)
n
1
µ∆
=
n
∑∆
i =1
i (5.45)

2
1 n
=s∆2 ∑(
∆ −∆
n − 1 i =1 i
) (5.46)

2
Vδ i
= e s∆ − 1 (5.47)

Δi : Natural logarithm of error terms (-)


µ∆ : Estimated mean value of the error terms (-)
sΔ : Estimated standard deviation of the error terms (-)
Vδ i : Coefficient of variation with respect to the error terms (-)

5.3.4.5 STEP 5: ESTIMATE THE COEFFICIENT OF VARIATION WITH RESPECT


TO THE THEORETICAL RESISTANCE MODEL

The coefficient of variation with respect to the theoretical resistance model Vrt,i is defined as
the scatter of the values rt,i compared to the mean values of the theoretical resistance model
grt,i(μX), see equations 5.48 and 5.49. The partial derivatives with respect to the basic
variables are given in appendix E.1 through E.6 and are obtained using the program maple.
The mean value and standard deviation for the variables E is obtained from the research by
Taras et al [19]. The variable G is dependent of E, subsequently the same mean value and
standard deviation is considered. The statistical distributions for the yield strength are
obtained from the safebrictile project [20]. The nominal values of the yield strength are split
in two by the thickness of the flange. Where for flanges thinner than 16mm the nominal
values for S235 is 235 N/mm2, for S355 it is 355 N/mm2 and for S460 it is 460 N/mm2.
However for flanges thicker than 16mm the nominal values are 225 N/mm2, 345 N/mm2,
and 440 N/mm2. Two different sets of mean values and standard deviations for the basic
variables b,h, tf and tw are used. The first set, referred to as SB (Safebrictile), is obtained
from the research executed by da Silva et al [20]. This set of statistical distributions is

74
developed using the database of measurements provided by the Safebritile project
supplemented with other literature. The second set of statistical distributions, referred to as
SP (steel producers), is provided by steel producers. Among them are Arcellor Mittal,
Dillinger and Salzgitter AG. The steel producers provided measurements and these results
are processed by RWTH Aachen. All mean values and standard deviations for the basic
variables are shown in table 5.5.

Table 5.5: Different mean values and standard deviations for six basic variables

mean c.o.v. source

Emean/Enom 1.0 5.0%


[19]
Gmean/Gnom 1.0 5.0%

fy,mean/fy,nom (S235) 1.2651 5.76%

fy,mean/fy,nom (S355) 1.1814 4.83% [20]

fy,mean/fy,nom (S460) 1.1323 5.15%

SB SP SB SP

bmean/bnom 1.0 1.0015 0.9% 0.6%

hmean/hnom 1.0 0.9965 0.9% 0.05%


[20]
tf,mean/ tf,nom 0.975 0.962 2.5% 1.7%

tw,mean/ tw,nom 1.0 0.993 2.5% 2.5%

Using these values and the partial derivatives the coefficient of variation with respect to the
theoretical values can be calculated using equation 5.55.

grt ,i = rt ,i (5.48)
VARgr ( X )  ∂grt ,i
2

  ≅ 1
V 2
rt ,i =
t ,i

grt ,i ( µ X )
2
rt2,i
∑ 
 ∂X j
σXj 

(5.49)
 

Vrt ,i : Coefficient of variation with respect to the resistance values (-)

75
5.3.4.6 STEP 6: DETERMINE THE DESIGN VALUE OF THE RESISTANCE

The coefficient of variation with respect to the resistance value is defined using equation
5.50. The lognormal coefficient with respect to the error terms can be determined using
equation 5.51 to 5.53. Using this the design resistance can be determined using equation
5.54. The design failure factor kd,n is obtained EN 1990-1-1 table D2 [17], see table 5.6, and
has a value of 3.04 when the number of test results is higher than 100. When the number of
test results is in between two values the lower n was taken since there is no description
which states that the value for kd,n may be interpolated in any way and this is the
conservative approach.

2
V
=ri Vr2t ,i + Vδ2i (5.50)

Qδ i
= (
ln Vδ2i + 1 ) (5.51)

Qrt ,i
= (
ln Vr2t ,i + 1 ) (5.52)

=Qri (
ln Vr2i + 1 ) (5.53)
 Q2 Q2 
 rt ,i δi 
− k
 d ,∞ Q − k − 0.5Qr 2 
(5.54)
d ,n
 ri Qr i

i
rd ,i = bgrt ,i (µ X )e  

Vri : Coefficient of variation with respect to the resistance values (-)


Qδ i : Lognormal coefficient with respect to the error terms (-)
Qrt ,i : Lognormal coefficient with respect to the theoretical resistance values (-)

Qri : Lognormal coefficient with respect to the resistance values (-)

rd ,i : Design resistance values (-)

k d ,∞ : Design fractile factors for n>100 single test results (-)

k d ,n : Design fractile factors for n single test results (-)

Table 5.6: Values for kd,n according to EN 1990-1-1 table D2 [17]

N 1 2 3 4 5 6 8 10 20 30 ∞ (n≥100)

Vx known 4.36 3.77 3.56 3.44 3.37 3.33 3.27 3.23 3.16 3.13 3.04

76
5.3.4.7 STEP 7: DETERMINE THE CORRECTED PARTIAL SAFETY FACTOR

In this step the corrected partial safety factor γM1* is determined. In EN 1990-1-1 [17] the
equation to determine the safety factor is defined as equation 5.55.

1 n
rnom,i
γ M* 1 =
n

i =1 rd ,i
(5.55)

γ M* 1 : Corrected partial safety factor (-)

5.3.5 RESULTS OF THE STATISTICAL ANALYSIS

The results of the statistical analysis are presented in table 5.7. It shows that the number of
models considered, the factor b and the coefficient of variation with respect to the error
terms are the same for the two different mean values in combination with standard
deviations considered. The partial safety factors are evaluated in §5.3.5.1. This shows that
both options result in a partial safety factor that is below the acceptance limit.

Table 5.7: Results of the statistical evaluation considering the calculation method for Mcr

n b Vδi Vrt,i Vr,i γ*Mo

SB 0.0555 0.0692 1.000


295 1.0317 0.0414
SP 0.0477 0.0631 1.015

5.3.5.1 ACCEPTANCE LEVELS FOR γ M0 *

One way to evaluate the corrected partial safety factors obtained through the statistical
analysis is given in the research by Taras et al [19]. This research states that the corrected
partial safety factor can be compared with a target safety factor γM,target, which in this case is
γM1=1.0, using equation 5.56. In this equation fa is the acceptance limit provided by the
research of Taras et al [19], see figure 5.23. The black continuous line is the acceptance
limit fa, the blue dot represents SB and the red dot SP. On the vertical axis the ratio between
the corrected partial safety factor and the target partial safety factor is set out and on the
horizontal axis the Coefficient of variation with respect to the resistance values is set out.
Both results are within the acceptance limit. Therefore, γM1=1.0 is accepted

γ M* 1
fa ≤ (5.56)
γ M ,target

fa : Acceptance limit (-)


γM,target : Target value of the partial safety factor, already existing safety factor (-)

77
Figure 5.23: Acceptance limit plot of the partial safety factors determined for Mcr

5.4 DEVELOP A METHOD TO DETERMINE THE ULTIMATE LTB RESISTANCE

To develop a calculation method for the lateral torsional buckling resistance of a suspended
spreader beam a variety of different compositions using the parameters will be modelled.
The results of these models will be compared to the currently used buckling curves. Finally a
statistical evaluation is performed to determine a corresponding safety factor. The GMNIA
models are set up using the initial imperfections discussed in §4.7.3, the residual stresses
discussed in §4.7.4 and the mesh determined in §4.9.

5.4.1 DIFFERENT COMPOSITIONS USING THE PARAMETERS

The table below, table 5.8, shows the different compositions of beams modelled.

Table 5.8: Different configurations considered during the assessment of the buckling curves

Profile Profile size LAE (max length ec,el (min e=10.0mm,


LAB/LAE Steel grade
type is 28m.) max e=162.0mm)

100*
IPE 360*
15h 0.23 h/3.3 S235
600*
33h 0.50 h/13.0 S355
100*
50h 0.77 h/23.0 S460
HEA 450*
900*

78
200* 15h 0.23 h/3.3 S235
HEB 600* 33h 0.50 h/13.0 S355
1000* 50h 0.77 h/23.0 S460

5.4.2 CURRENTLY USED BUCKLING CURVES

Mcr can be determined using equations 5.21 to 5.23 and the equations for C1 and C2
developed in §5.3.2 and §5.3.3. However, the critical moment can also be obtained
numerically using an LBA. The maximum moment capacity of a model is found by
determining the maximum force F during a GMNIA calculation and multiplying this with
length LAB. The buckling curves as provided in the Eurocode NEN-EN 1993-1-1 [1] §6.3.1.2
figure 6.4, see figure 5.23, are developed using a relative slenderness and a corresponding
reduction factor. The relative slenderness of the different models is determined using
equation 5.58. The corresponding reduction factor is determined using values obtained from
a GMNIA and equation 5.59. The buckling curves in the Eurocode are presented as a figure
with which the reduction factor can be visually determined using a known slenderness.
However, the Eurocode also provides equations for buckling curves a through d to determine
the reduction factor of a beam, see equation 5.60 And 5.61. In equation 5.61 the difference
between the curves a, b, c and d is made by using different imperfection factors αLT. The
different imperfection factors are given in the Eurocode NEN-EN 1993-1-1 [1] §6.3.1.4 table
6.3, see table 5.9.

79
Figure 5.24: buckling curves as provided by the Eurocode [1]

Table 5.9: Recommended values for imperfection factors for the buckling curves

Buckling curve a b c d

imperfection factor αLT 0.21 0.34 0.49 0.76

fyWy
λ LT = (5.58)
Mcr
Fmax,FEM LAB
χ LT ,FEM = (5.59)
Wy fy
1
=χ LT ≤ 1.0 (5.60)
2
Φ LT + Φ 2LT −λ LT

(
0.5 1 + α LT λ LT − 0.2 + λ LT  )
2
Φ=
LT (5.61)
 

80
5.4.3 OBTAINING RESULTS

Not all configurations have given results which can be compared to the buckling curves.
During the LBA a number of configurations give errors, see figure 5.25, although this model
was built up using the same python script. It is not clear why Abaqus gives this error or how
to resolve this. One possible way to resolve this would be to use a different solving method.
However as discussed in §4.5.1 only the subspace method can be applied in this model.
Subsequently, Mcr cannot be determined. Moreover, no initial imperfection can be inserted in
the corresponding GMNIA calculations.

Figure 5.25: Print screen of message area in abaqus during an LBA resulting in a common error

Another reason why some results are not used for comparison is the failure mode in the
GMNIA. This project focusses on lateral torsional buckling. Therefore only beams that fail
due to lateral torsional buckling are taken into account. However, some slender beams fail
because of weak axis bending and some stocky beams fail because of shear failure. To
determine which models are not taken into account in the development of the design rule
two methods are used. Initially, visual determination of the failure mode is used. This is
done by looking at the image showing the von Mises stresses of the deformed beam at the
moment of the highest reaction force. Shear failure can be determined with high certainty,
see figure 5.26. Some cases of weak axis bending failure can be visually determined as well,
see figure 5.27. In this figure it is clear that the beam is rotated approximately 90 degrees
and the stresses between the cable attachment points at both flange tips are high compared
to the point where the web and flanges meet. A typical lateral torsional buckling failure
shows high stresses on one side of the top flange and high stresses on the opposing side in
the bottom flange, it also shows a smaller rotation of the beam, see figure 5.28. However
the visual difference between lateral torsional buckling and weak axis bending can become
fairly small. Subsequently, hard to determine visually. In this case the reduction factor is
compared to the factor Mz,pl/My,pl. When the difference is small, below 10%, the failure mode
is considered as weak axis bending.

81
Figure 5.26: An image of a spreader beam showing shear failure

Figure 5.27: An image of a spreader beam showing weak axis bending failure

Figure 5.28: An image of a spreader beam showing lateral torsional buckling failure

82
5.4.4 RESULTS

Results are obtained from 153 models, see appendix F for the full table, These results are
presented together with the four buckling curves a through d, see figure 5.29. In this figure
the buckling curves a through d are represented as purple, yellow, red and blue lines, the
grey line indicates the Euler curve (ΧLT=1/λ2LT) and the dots are the numerical values of the
different models.

Figure 5.29: All results plotted with the buckling curves a-d

5.4.5 PROCEDURE OF STATISTICAL EVALUATION

Two types of statistical evaluations regarding the total set of 153 models and subsets is
performed to determine the partial safety factor, similar to the evaluation executed in
§5.3.4.

In the research executed by da Silva et al [18] a statistical evaluation is performed. A


comparison is made between numerical results and the buckling curves. Two assumptions
are considered in the research of da Silva [18]:

• Vrt=0. There is no calculation method used to determine Mcr, but each value for λLT
and ΧLT are determined numerically considering one case. Subsequently no partial
derivatives can be estimated.

• Basic variable Xm is considered as Xnom because of the first assumption. Which means
that the nominal properties of for example the yield stress are considered in this
evaluation.

83
In the second statistical evaluation equations 5.58 to 5.62 are used as a calculation model to
determine the ultimate lateral torsional buckling resistance of a beam. In this procedure the
slenderness of a beam is determined using the critical moment obtained via equations 5.21
to 5.23 and 5.29 to 5.39. The Mcr obtained using these equations is inserted as a value.
Subsequently, the average value and the Coefficient of variation with respect to the
resistance values determined in §5.3.4.6 are taken in to account during the evaluation.

Mb,Rd =χ LTWpl ,y fy (5.62)

The different steps of the procedure are set out in §5.4.5.1 to §5.4.5.7. However, because
of the two different methodologies some steps have two different approaches. When this is
the case the step will be split up into two explanations one considering the procedure
applied by da Silva et al [18] and the other considering the method provided by the
Eurocode EN 1990-1-1 annex D [17]. Moreover, since the procedures are very similar to the
followed procedure in §5.3.4 only differences will be discussed.

5.4.5.1 STEP 1: DEFINE A CALCULATION MODEL

5.4.5.1.1 DA SILVA ET AL [18]

There is no calculation model to determine Mcr. Subsequently, the theoretical resistance rt,I is
considered as the reduction factor of the different buckling curves, which are calculated
using equations 5.60 and 5.61. Using the numerically determined critical moment to
determine the slenderness. The experimental resistance values are obtained via numerical
models and using equation 5.59. This results in equation 5.63 for the theoretical resistance
and equation 5.64 for the experimental resistance. Where equation 5.63 contains four
equations (5.63a to 5.63d) for the different buckling curves.

rt ,i = χLT,buckling curve (5.63)


rt ,i,a = χLT,buckling curve a (5.63a)
rt ,i,b = χLT,buckling curve b (5.63b)
rt ,i,c = χLT,buckling curve c (5.63c)
rt ,i,d = χLT,buckling curve d (5.63d)
re,i = χ LT ,FEM (5.64)

84
5.4.5.1.2 EUROCODE EN 1990-1-1 ANNEX D [17]

Combining equations 4.5 and 5.58 to 5.62 gives the theoretical calculation model rt,i, see
equation 5.65 and figure 5.19, obtained using the program maple. This calculation model
has seven basic variables (Xj) b, h, tf, tw, fy, Mcr and αLT. The imperfection factor is given in
table 5.5. In §5.4.5.1.1. The theoretical resistance model is split into four different
equations. The same can be done with equation 5.66 changing αLT for the different buckling
curves. The experimental resistance is the maximum moment obtained using GMNIA, see
equation 5.67.

rt ,i = Mb,R (5.65)

Figure 5.19: equation 5.66, resistance of a beam considering lateral torsional buckling

re,i = Mmax,FEM (5.67)

5.4.5.2 STEP 2: COMPARE THEORETICAL AND EXPERIMENTAL VALUES

For all 153 models the theoretical resistance rt,i and the experimental resistance re,i are
known. All corresponding pairs are plotted in a scatter plot with rt,i on the horizontal axis and
re,i on the vertical axis. This is done for all four buckling curves, see figure 5.20 and 5.21. In
this figure the blue line represents the values where the theoretical and experimental
resistance is equal.

85
5.4.5.2.1 DA SILVA ET AL [18]

Figure 5.30 below shows the comparison between rt,I and re,I using the method of da Silva et
al [18] for all buckling curves.

Figure 5.30: Comparison of re,I and rt,i of buckling curves a through d (da Silva et al [18])

86
5.4.5.2.2 EUROCODE EN 1990-1-1 ANNEX D [17]

Figure 5.31 below shows the comparison between rt,I and re,I using the method provided by
the Eurocode EN 1990-1-1 annex D [17] for all buckling curves.

Figure 5.31: Comparison of re,I and rt,i of buckling curves a through d (Eurocode [17])

5.4.5.3 STEP 3: ESTIMATE CORRECTION FACTOR B

See §5.3.4.3

5.4.5.4 STEP 4: ESTIMATE THE COEFFICIENT OF VARIATION WITH RESPECT


TO THE ERROR TERMS

See §5.3.4.4

87
5.4.5.5 STEP 5: ESTIMATE THE COEFFICIENT OF VARIATION WITH RESPECT
TO THE THEORETICAL RESISTANCE MODEL

5.4.5.5.1 DA SILVA ET AL [18]

As stated in §5.4.5, because of the fact that there is no theoretical resistance model no
partial derivatives can be derived. Subsequently this coefficient of variation is zero, see
equation 5.68.

V=
rt ,i V=
rt 0 (5.68)

5.4.5.5.2 EUROCODE EN 1990-1-1 ANNEX D [17]

Since this method does have a theoretical resistance model the same procedure as
described in §5.3.4.5 can be used.

The six partial derivatives with respect to b, h, tf, tw, fy and Mcr are provided in appendix G.1
to G.6. For the basic variable αLT no statistical distribution is possible. Therefore, no partial
derivative is calculated.

The statistical distributions used are given in table 5.5. However, the mean value and
coefficient of variation of Mcr are not in this table. These are determined during the statistical
analysis set out in §5.3.4, see table 5.10. The mean value (μMcr)is calculated by dividing the
critical moment obtained using an LBA by the critical moment calculated with the formula
created in §5.3.1 to §5.3.3, see equation 5.69. Only one coefficient of variation is used,
since the difference between the two options is negligible. Moreover, the biggest coefficient
is chosen which is the most conservative option.

Table 5.10: Mean value and coefficient of variation for Mcr

μMcr c.o.v.

Mcr,FEM/Mcr,formula 1.0232 6.92% (see table 5.7)

1 n
re,i
µMcr =
n
∑r
i =1 t ,i
(5.69)

5.4.5.6 STEP 6: DETERMINE THE DESIGN VALUE OF THE RESISTANCE

See §5.3.4.6.

88
5.4.5.7 STEP 7: DETERMINE THE CORRECTED PARTIAL SAFETY FACTOR

5.4.5.7.1 DA SILVA ET AL [18]


Using this method a partial factor γRd is determined which only accounts for the model
accuracy, see equation 5.70. This factor is different from γM1*, which also accounts for the
statistical distributions of the material and geometrical properties of the members.
1
γ Rd = (5.70)
be
( − kd ,∞Q − 0.5Q2 )

γ Rd : Partial factor only accounting for the model accuracy (-)


5.4.5.7.2 EUROCODE EN 1990-1-1 ANNEX D [17]

See §5.3.4.7.

5.3.6 RESULTS OF THE STATISTICAL EVALUATION

5.3.6.1 PARTIAL SAFETY FACTORS FOR THE DIFFERENT (SUB)SETS

The partial safety factors are determined for both methods. For the method provided by the
Eurocode two partial safety factors are determined one for each option of the statistical
distributions, see table 5.11. Several subsets were made during this statistical analysis. At
first S235, S355 and S460 have been calculated as subsets, see table 5.12. Also IPE, HEA
and HEB beams have been calculated as subsets, see table 5.13. Several subsets have been
made using the slenderness. Three different variations in range are used, because in §V.1 in
the research of Taras et al [19] small ranges in the slenderness are recommended, see table
5.14. This leads to very small numbers of tests in some subsets. Subsequently bigger ranges
have been used were one range is chosen so the number of tests is approximately evenly
divided, see table 5.15 and one range divides the whole range of the slenderness exactly in
half, see table 5.16. The last subsets made are two sets divided by the h/b ratio, see table
5.17. This break-up is also used in the current calculation method for the lateral torsional
buckling resistance in the Eurocode.

Table 5.11: Results of the statistical evaluations using the whole set

b γRd γ*M1
Buckling
(sub)set n Da Silva Eurocode Da Silva Eurocode Eurocode
curve
[18] [17] [18] [17] SB [17] SP
a 0.97 0.99 1.30 1.23 1.23
b 1.06 1.07 1.19 1.13 1.13
All 153
c 1.14 1.15 1.11 1.05 1.05
d 1.28 1.30 1.02 0.95 0.95

89
Table 5.12: Results of the statistical evaluations using subsets divided by strength class

b γRd γ*M1
Buckling
(sub)set n Da Silva Eurocode Da Silva Eurocode Eurocode
curve
[18] [17] [18] [17] SB [17] SP
a 0.98 0.96 1.35 1.31 1.31
b 1.07 1.04 1.23 1.19 1.19
S235 75
c 1.16 1.13 1.14 1.10 1.10
d 1.31 1.29 1.03 0.98 0.98
a 0.97 0.98 1.27 1.21 1.21
b 1.05 1.06 1.16 1.10 1.11
S355 38
c 1.14 1.15 1.07 1.03 1.03
d 1.29 1.29 0.97 0.93 0.93
a 0.97 1.02 1.24 1.14 1.14
b 1.04 1.09 1.16 1.06 1.06
S460 40
c 1.11 1.17 1.12 1.00 1.00
d 1.23 1.30 1.06 0.92 0.92

Table 5.13: Results of the statistical evaluations using subsets divided by beam type

b γRd γ*M1
Buckling
(sub)set N Da Silva Eurocode Da Silva Eurocode Eurocode
curve
[18] [17] [18] [17] SB [17] SP
a 0.94 0.94 1.38 1.32 1.33
b 1.03 1.02 1.23 1.18 1.19
IPE 55
c 1.13 1.11 1.11 1.07 1.08
d 1.30 1.26 0.96 0.94 0.94
a 1.04 1.00 1.13 1.13 1.14
b 1.15 1.08 1.05 1.07 1.07
HEA 34
c 1.25 1.17 0.98 1.01 1.01
d 1.43 1.31 0.89 0.92 0.93
a 0.98 0.99 1.27 1.20 1.21
b 1.04 1.06 1.21 1.12 1.12
HEB 64
c 1.11 1.15 1.16 1.06 1.06
d 1.22 1.29 1.11 0.97 0.98

90
Table 5.14: Results of the statistical evaluations using subsets divided by 5 ranges of slenderness

b γRd γ*M1
Buckling
(sub)set n Da Silva Eurocode Da Silva Eurocode Eurocode
curve
[18] [17] [18] [17] SB [17] SP
a 0.95 0.98 1.15 1.03 1.04
b 0.98 1.04 1.10 1.00 1.01
λLT<0.5 6
c 1.02 1.11 1.06 0.98 0.99
d 1.09 1.21 1.00 0.96 0.97
a 0.95 0.95 1.30 1.18 1.19
b 1.03 1.05 1.18 1.07 1.07
0.5<λLT<1.0 21
c 1.13 1.15 1.09 0.98 0.99
d 1.28 1.32 0.99 0.88 0.88
a 1.00 0.96 1.35 1.34 1.34
b 1.11 1.06 1.23 1.21 1.21
1.0<λLT<1.5 51
c 1.22 1.17 1.12 1.05 1.05
d 1.40 1.34 0.98 0.96 0.96
a 0.99 0.98 1.24 1.22 1.22
b 1.07 1.06 1.14 1.12 1.12
1.5<λLT<2.0 50
c 1.15 1.14 1.06 1.03 1.03
d 1.30 1.28 0.93 0.90 0.90
a 1.04 1.03 1.03 1.02 1.03
b 1.10 1.09 0.97 0.96 0.96
2.0<λLT<3.0 25
c 1.16 1.16 0.91 0.90 0.90
d 1.28 1.28 0.83 0.82 0.82

Table 5.15: Results of the statistical evaluations using subsets divided by 3 ranges of slenderness

b γRd γ*M1
Buckling
(sub)set N Da Silva Eurocode Da Silva Eurocode Eurocode
curve
[18] [17] [18] [17] SB [17] SP
a 0.96 0.96 1.31 1.23 1.24
b 1.04 1.06 1.21 1.12 1.13
λLT<1.2 47
c 1.12 1.17 1.15 1.04 1.05
d 1.26 1.35 1.06 0.95 0.95
a 0.99 0.96 1.34 1.32 1.32
b 1.09 1.05 1.22 1.21 1.21
1.2<λLT<1.7 51
c 1.19 1.14 1.12 1.11 1.11
d 1.36 1.30 0.98 0.98 0.98
a 1.03 1.01 1.11 1.11 1.12
b 1.10 1.08 1.04 1.04 1.04
1.7<λLT<3.0 55
c 1.18 1.15 0.97 0.97 0.97
d 1.31 1.28 0.88 0.88 0.88

91
Table 5.16: Results of the statistical evaluations using subsets divided by 2 ranges of slenderness

b γRd γ*M1
Buckling
(sub)set N Da Silva Eurocode Da Silva Eurocode Eurocode
curve
[18] [17] [18] [17] SB [17] SP
a 0.97 0.96 1.37 1.23 1.23
b 1.05 1.06 1.26 1.13 1.13
λLT<1.5 78
c 1.14 1.17 1.18 1.05 1.05
d 1.28 1.34 1.07 0.94 0.94
a 0.99 1.00 1.19 1.17 1.17
b 1.07 1.07 1.10 1.07 1.07
1.5<λLT<3.0 75
c 1.16 1.15 1.02 0.99 0.99
d 1.30 1.28 0.90 0.88 0.89

Table 5.17: Results of the statistical evaluations using subsets divided by the factor h/b

b γRd γ*M1
Buckling
(sub)set N Da Silva Eurocode Da Silva Eurocode Eurocode
curve
[18] [17] [18] [17] SB [17] SP
a 0.98 0.99 1.29 1.22 1.22
b 1.07 1.09 1.20 1.10 1.11
h/b≤2.0 73
c 1.15 1.20 1.14 1.02 1.02
d 1.29 1.38 1.07 0.92 0.92
a 0.94 0.99 1.29 1.23 1.23
b 1.03 1.06 1.11 1.10 1.11
h/b>2.0 80
c 1.12 1.14 1.00 1.00 1.00
d 1.27 1.27 0.87 0.88 0.88

Table 5.18: Results of the statistical evaluations using subsets IPE and excluding strength class S235

b γRd γ*M1
Buckling
(sub)set N Da Silva Eurocode Da Silva Eurocode Eurocode
curve
[18] [17] [18] [17] SB [17] SP
a 0.95 0.96 1.34 1.30 1.30
IPE
b 1.05 1.03 1.20 1.18 1.18
excluding 47
S235 c 1.16 1.12 1.09 1.04 1.04
d 1.33 1.27 0.95 0.94 0.94
a 0.99 1.00 1.34 1.13 1.13
1.2<λLT<1.7 b 1.09 1.10 1.22 1.03 1.03
excluding 13
c 1.19 1.20 1.12 0.94 0.94
S235
d 1.36 1.38 0.98 0.82 0.82

92
5.3.6.2 ACCEPTANCE LEVELS FOR γ M0 *

The acceptance check described in §5.3.5.1 is done for all test results and the subsets using
γm1,target=1.0. The safety factors that are below the acceptance line are shown green and the
others are red in tables 5.11 to 5.17. All acceptance limit plots from the method used in the
research of da Silva et al [18] are provided in Appendix I.1. All acceptance limit plots
obtained using the method provided by Eurocode EN 1990-1-1 annex D [17] are given in
appendix I.2. The differences between the two options within the method provided by the
Eurocode are negligible. Subsequently, only the plots using the statistical distributions
provided by the safebrictile project (SB) are provided, see figure 5.32 for the acceptance
limit plot of the complete set. The black continuous line is the acceptance limit fa and the
four dots show the position of the corrected partial safety factor of the four different
buckling curves. On the vertical axis the ratio between the corrected partial safety factor and
the target partial safety factor is set out and on the horizontal axis the Coefficient of
variation with respect to the resistance values is set out.

Figure 5.32: Acceptance limit plot of the whole set using the method including geometrical and
material statistical distributions, see table 5.11

93
5.3.7 CONCLUSIONS

The difference between the two methods provided by da Silva [18] and the Eurocode [17] is
whether the statistical distributions of the basic variables are taken into account.
Subsequently, it is likely that the assessment including the statistical distributions is more
accurate. The mean value of the yield strengths, see table 5.5, is high. Subsequently, the
results of the statistical analysis including the statistical distributions are less conservative.
Only the results of the analysis including the statistical distributions is considered for
drawing conclusions.

The differences between the two different sets of statistical distributions within the method
provided by the Eurocode are negligible. Therefore, these results will be considered as one.
The only difference between the two options is for the subset λLT<0.5 where SB gives an
accepted partial safety factor for all buckling curves and SP gives an accepted value for
buckling curves b, c and d, see figure 5.33.

a b

Figure 5.33: Acceptance limit plots of the subset λLT<0.5 for both different statistical distributions, see
table 5.14 a) SB b) SP

When the whole set is considered the partial safety factor belonging to buckling curve c is
within the acceptance limit. However, for the subsets S235, IPE and 1.2<λLT<1.7 only
buckling curve d is applicable, see figure 5.34. When the strength class S235 is removed
from the subsets IPE and 1.2<λLT<1.7, see table 5.18, buckling curve c is applicable for
subset IPE and buckling curve b for the subset 1.2<λLT<1.7, see figure 5.35. Subsequently,
it can be concluded that buckling curve d is recommended when a beam is designed using
strength class S235 and buc. Kling curve c is recommended when using strength class S355
or S460

94
a b c

Figure 5.34: Acceptance limit plots of subsets with statistical distribution SB, see tables 5.12, 5.13 and
5.15 a) S235 b) IPE c) 1.2<λLT<1.7

a b

Figure 5.35: Acceptance limit plots of subsets with statistical distribution SB, see table 5.18
a) IPE excluding S235 b) 1.2<λLT<1.7 excluding S235

The partial safety factors obtained using the different subsets only result in a less
conservative buckling curve for really stocky beams, λLT<0.5, and really slender beams,
λLT>2.0. Subsequently, when the slenderness range is split in three parts buckling curve b
may be used for λLT<0.5, buckling curve c for 0.5λLT<2.0 and buckling curve a for 2.0<λLT.
However, beams designed with a slenderness lower than 0.5 will be very rare in practice,
because a beam within this range is likely to fail in shear. This is also the reason why there
are only six results in this range. In the range 2.0<λLT<3.0 the differences between the
buckling curves are very small. Therefore the use of a less conservative buckling curve gives
a low increase in resistance.

Using one buckling curve for the whole range gives the most simple design rule. This may
seem less conservative when compared to the previously discussed splitting of the
slenderness range, but in practice this difference is negligible. Therefore, buckling curve c is
recommended for strength class S355 and S460 and buckling curve d is recommended for
strength class S235.

95
5.4 SUMMARY

The critical moment can be obtained using equations 5.21 to 5.23 and 5.29 to 5.39 as
shown below. Equations 5.21 to 5.23 are obtained from the Dutch National Annex from the
Eurocode [1]. Therefore, implementation in the currently used calculation method is
straightforward. Equations 5.29 to 5.39 are developed during this project and are means to
determine the factor C1 and C2 which are needed to be able to use the method currently
provided.

C
Mcr ,M= EI zGIt (5.21)
Lg

π C1Lg  π 2S 2 2 πS 
C=
Lkip
 1+ 2
 Lkip
C2 + 1 + (
Lkip
)C2 

(5.22)
 
EIw
S= (5.23)
GIt
C1 = aC1 fsb2 + bC1 fsb + cC1 (5.29)
LAE tf
fsb = (5.30)
bh
LBD
aC1 = − 0.019 + 0.0185 (5.31)
LAE
LBD
bC1 =0.184 − 0.248 (5.32)
LAE
LBD
cC1 = − 0.117 + 1.11 (5.33)
LAE
C2 = aC2 fsb3 + bC2 fsb2 + cC2 fsb + dC2 (5.34)
LAE tf
fsb = (5.35)
bh
2
 h  h
aC2 =0.000184   − 0.004   − 0.032 (5.36)
e e
2
 h  h
bC2 =-0.0013   + 0.027   + 0.29 (5.37)
e e
2
 h  h
cC2 =0.0032   − 0.076   − 0.43 (5.38)
e e
2
 h  h
dC2 =-0.0003   − 0.005   + 0.9 (5.39)
e e

96
The lateral torsional buckling resistance of a spreader beam can be calculated using
equations 5.58 to 5.62. All these equations are provided by the Eurocode [1], which causes
this method to be almost exactly the same. However, in the currently used calculation
method other buckling curves are prescribed. For spreader beams with steel grade S355 and
S460 buckling curve c is applicable and for beams with steel grade S235 buckling curve d is
applicable.

fyWy
λ LT = (5.58)
Mcr
Fmax,FEM LAB
χ LT ,FEM = (5.59)
Wy fy
1
=χ LT ≤ 1.0 (5.60)
2
Φ LT + Φ 2LT −λ LT

( )
0.5 1 + α LT λ LT − 0.2 + λ LT 
2
Φ=
LT (5.61)
 
Mb,Rd =χ LTWpl ,y fy (5.62)

Statistical evaluations were done comparing these methods with the finite element
calculations. The results are within the acceptance limits provided by Taras et al [19].
Subsequently the theoretical methods can be used using a partial safety factor of γM1=1.0.

97
5.5 CALCULATION EXAMPLE

This project was induced by a question from an engineering company, Vissers&Vissers B.V.,
who were calculating a spreader beam. However, they could not determine the lateral
torsional buckling resistance with high certainty. In this paragraph that beam will be
calculated as an example taken from practice.

An HEA400 beam with steel grade S235 was used, This is a class 1 profile. The total length,
LAE, is 12m and the distance between the cable attachments, LBD, is 8m. The eccentricity of
the cables and loads, e, are 85mm. Since this beam is designed using steel grade S235
buckling curve d will be used to determine the lateral torsional buckling resistance.

12000mm ⋅ 19mm
fsb = 1.95 (5.35)
300mm ⋅ 390mm
2
 390mm   390mm 
aC2 =0.000184   − 0.004   − 0.032 =
−0.0465 (5.36)
 85mm   85mm 
2
 390mm   390mm 
bC2 =-0.0013   + 0.027   + 0.29 =
0.387 (5.37)
 85mm   85mm 
2
 390mm   390mm 
cC2 =0.0032   − 0.076   − 0.43 =
−0.711 (5.38)
 85mm   85mm 

2
 390mm   390mm 
dC2 =-0.0003   − 0.005   + 0.9 =
0.871 (5.39)
 85mm   85mm 
−0.0465 ⋅ 1.953 + 0.387 ⋅ 1.952 − 0.711 ⋅ 1.95 + 0.871 =
C2 = 0.611 (5.34)
8000mm
aC1 = − 0.019 + 0.0185 = 0.00583 (5.31)
12000mm
8000mm
bC1 =0.184 − 0.248 = −0.125 (5.32)
12000mm
8000mm
cC1 = − 0.117 + 1.11 = 1.03 (5.33)
12000mm
C1 0.00583 ⋅ 1.952 − 0.125 ⋅ 1.95 + 1.03
= = 0.808 (5.29)

2.1 ⋅ 105 N 9
2 ⋅ 2894 ⋅ 10 mm
6

S= mm = 2001.0mm (5.23)
7.93 ⋅ 104 N 4
2 ⋅ 191.4 ⋅ 10 mm
4
mm
 
π 2 ⋅ (2001.0mm )
2
π ⋅ 2001.0mm

C=0.808 ⋅ π 1 +

2
(
0.611 + 1 + ) 0.611  =

3.79 (5.22)
(12000mm )
2
12000 mm
 
3.79
Mcr ,M= 2.1 ⋅ 105 N ⋅ 8564 ⋅ 104 mm4 ⋅ 7.93 ⋅ 104 N ⋅ 191.4 ⋅ 104 mm4 = 522 ⋅ 106 Nmm (5.21)
12000mm mm2 mm2

98
235 N 3
2 ⋅ 2562 ⋅ 10 mm
3

λ LT = mm 1.074 (5.58)
522 ⋅ 106 Nmm
Φ=
LT (
0.5 1 + 0.76 (1.074 − 0.2 ) + 1.074=
2
)
1.41 (5.61)
1
χ LT
= = 0.496 ≤ 1.0 (5.60)
1.41 + 1.412 − 1.0742
Mb,Rd =0.496 ⋅ 2562 ⋅ 103 mm3 ⋅ 235 N = 298.6 ⋅ 106 Nmm (5.62)
mm2
MEd 300 ⋅ 106 Nmm
U.C. =
= = 1.0047 > 1.0 (5.62)
Mb,Rd 298.6 ⋅ 106 Nmm

The lateral torsional buckling resistance of the beam in this example is 298.6 kNm.
Subesequently, the maximal value of a load on one side of the beam is Mb,Rd/LAB=149.3kN.
This beam has been designed for a load of 100kN. However all these calculations are static,
where the behavior of the beam during hoisting is dynamic. Therefore the calculation was
done using a safety factor of 1.5 on the load. This would lead to a load of 150kN and a
moment of 300kN. Subsequently, the design of the beam has a unity check of 1.0047, see
equation 5.63. Therefore just a little unsafe, but almost perfect.

99
6 CONCLUSIONS AND RECOMMENDATIONS

6.1 CONCLUSIONS

The goal of this project was to create a calculation method to determine the lateral torsional
buckling resistance of a steel I-shaped spreader beam.

During the literature research only two researches were found that treated lateral torsional
buckling of a suspended beam without fork ended supports.

Using the finite element method, models were made to determine the critical moment of a
spreader beam using linear buckling analysis. Moreover, the ultimate lateral torsional
buckling resistance has been determined determined using geometrical and material,
nonlinear analysis including imperfections. These finite element models have been validated
using an experiment that has been done during this project. This experiment was done using
a small aluminum I-shaped beam.

Using the results of the finite element models two calculation methods have been developed.
One to determine the critical moment of a spreader beam and another to determine the
ultimate lateral torsional buckling resistance.

Both methods that have been developed have been evaluated using a statistical analysis.
This has confirmed that the methods are safe when using a partial safety factor of γM1=1.0.

One example calculation has been made using a beam that is used in practice.

6.2 RECOMMENDATIONS

An enrichment to this project would be to evaluate the parameters used during this project.
For example one could investigate at what maximum LBD/LAE ratio it becomes more economic
to use different types of beams like square hollow sections.

During this project only one basic load case is considered. Therefore, a study can be
performed where different load cases are considered. For example three loads, two at the
ends of the beam and one in the middle.

Furthermore different types of beams can be tested. For example welded beams or beams
including stiffeners.

Besides the extension of the research, experimental research can be conducted to validate
the numerical results of this research since only one experiment is done using a small
aluminum beam.

100
101
REFERENCES

[1] EN 1993‐1‐1 including Dutch national annex, Eurocode 3: Design of steel structures.
Part 1‐1: General rules and rules for buildings, Brussels, Belgium, 2011.

[2] Taras, A., Greiner, R., Unterweger, H., Proposal for amended rules for member
buckling and semi-compact cross-section design, Doc. CEN-TC250-SC3_N1898,
2013.

[3] Dahmani, L., Boudjemia, A., LATERAL TORSIONAL BUCKLING RESPONSE OF STEEL
BEAM WITH DIFFERENT BOUNDARY CONDITIONS AND LOADING, UDC 539.4. (2014),
46(3), 429–432.

[4] Dux, P. and Kitipornchai, S. (1990) ”Buckling of Suspended I‐Beams” J. Struct. Eng.,
116(7), 1877–1891.

[5] Duerr, D., and Asce, M. (2014). Lateral – Torsional Buckling of Suspended I-Shape
Lifting Beams, (1), 2–5. http://doi.org/10.1061/(ASCE)SC.1943-5576.0000263.

[6] The American Society of Mechanical Engineers. (2006). Design of Below-the-Hook


Lifting Devices.

[7] Kucukler, M., Gardner, L., & Macorini, L. (2015). Lateral–torsional buckling
assessment of steel beams through a stiffness reduction method. Journal of
Constructional Steel Research, 109, 87–100.
http://doi.org/10.1016/j.jcsr.2015.02.008

[8] Jovic, M. (2015) “Lateral torsional buckling analysis of multiple laterally restrained I-
beams in bending” Master thesis A-2015.102. Eindhoven University of Technology -
Department of the Built Environment - Structural Design.

[9] Van der Aa, R.P. (2015) “Numerical assessment of the design imperfections for steel
beam lateral torsional buckling” Master thesis A-2015.102. Eindhoven University of
Technology - Department of the Built Environment - Structural Design.

[10] Taras, A., Contribution to the Development of Consistent Stability Design Rules for
Steel Members, PhD thesis, Graz University of Technology, 2010.

[11] ABAQUS (2011) `ABAQUS Documentation', Dassault Systèmes, Providence, RI, USA.

[12] ISO. (2009). ISO INTERNATIONAL STANDARD ISO 6892-1: First edition 2009-08-
15, Metallic materials – Tensile testing – part 1: Method of test at room temperature.
Geneva, Switzerland: International Organization for Standardization (ISO).

[13] Ziemian, R. (2010). Guide to stability design criteria for metal structures. Sixth
edition. 22 February 2010.

[14] Huang, Y. and Young, B. (2014). The art of coupon tests. Journal of Constructional
Steel Research 2014(96), 159-175. doi:10.1016/j.jcsr.2014.01.010

102
[15] Blommers, R. (2015). Lesboek veilig hijsen en aanslaan van lasten: Theorieboek.
Uitgavenummer 3- Rev: 3. Hengelo: BLOM Opleindingen.

[16] Barendse, P (12-03-2001), Vuistregels bij het ontwerpen van een draagconstructies,
Gedownload op 18-10-2016, van
http://wiki.bk.tudelft.nl/mw_bk-wiki/images/5/59/Vuistregels_dc.pdf

[17] EN 1993‐1‐1, Eurocode 3: Basis of Structural Design, Brussels, Belgium, 2011.

[18] da Silva, L.S., Marques, L., Tankova, T., Andrade, A., Canha, J. (2016).
SAFEBRICTILE: Standardization of Safety Assessment Procedures across Brittle to
Ductile Failure Modes Deliverable D4.1, Report of the safety assessment of the
general method in EC3-1-1, University of Coimbra, Portugal.

[19] Taras, A., Dehan, V., da Silva, L.S., Marques, L., Tankova, T. (2016). SAFEBRICTILE:
Standardization of Safety Assessment Procedures across Brittle to Ductile Failure
Modes Deliverable D1.1, Guideline for the safety assessment of Design Rules for
Steel Structures in Line with EN 1990.

[20] Taras, A., Dehan, V., da Silva, L.S., Marques, L., Tankova, T. (2016). SAFEBRICTILE:
Report on the statistical distribution of the variables analyzed from the test results
Deliverable D2.1.

[21] EN 1993‐1‐8+C2 including Dutch national annex, Eurocode 3: Design of steel


structures. Part 1‐8: Design of joints, Brussels, Belgium, 2011.

103
APPENDIX

APPENDIX A: SCRIPT

# -*- coding: mbcs -*-


from part import *
from material import *
from section import *
from assembly import *
from step import *
from interaction import *
from load import *
from mesh import *
from optimization import *
from job import *
from sketch import *
from visualization import *
from connectorBehavior import *

### input ###


LAE=16000.0
LAB=3500.0

hw=352.0
b=300.0
tf=19.0
tw=11.0

e=100.0

elementspersurface=2

bigseed=(5*b)/(32*elementspersurface)

Emod=210000.0
poisson=0.3
fy=235.0

alpha=30

nameLBA='1_LBA'
nameRIKS='1_RIKS'

### calculations ###


load=50.0
length=LAE+100.0
LAB=LABe+50.0
halfb=b/2
excentricitycable=200.0
excentricityload=200.0
RPcable=hw+excentricitycable

104
RPload=-excentricityload
cable2=length-LABe
load2=length-load
halflength=length/2

LBC=0.5*(length-2*LABe)
pi=3.14159
alpha1=(alpha*pi)/180
h=(tan(alpha1))*LBC
heightattachment=h+RPcable

h=hw+2*tf

if h/b<1.2:
factor=0.5

if h/b>1.2:
factor=0.3

resstress1=fy*0.9375*factor
resstress2=fy*0.8125*factor
resstress3=fy*0.6875*factor
resstress4=fy*0.5625*factor
resstress5=fy*0.4375*factor
resstress6=fy*0.3125*factor
resstress7=fy*0.1875*factor
resstress8=fy*0.0625*factor

### LBA ###

### create beam ###


mdb.models['Model-1'].ConstrainedSketch(name='__profile__', sheetSize=200.0)
mdb.models['Model-1'].sketches['__profile__'].Line(point1=(0.0, 0.0), point2=(
0.0, hw))
mdb.models['Model-1'].sketches['__profile__'].VerticalConstraint(addUndoState=
False, entity=mdb.models['Model-1'].sketches['__profile__'].geometry[2])
mdb.models['Model-1'].sketches['__profile__'].Line(point1=(-halfb, 0.0), point2=
(halfb, 0.0))
mdb.models['Model-1'].sketches['__profile__'].HorizontalConstraint(
addUndoState=False, entity=
mdb.models['Model-1'].sketches['__profile__'].geometry[3])
mdb.models['Model-1'].sketches['__profile__'].Line(point1=(-halfb, hw),
point2=(halfb, hw))
mdb.models['Model-1'].sketches['__profile__'].HorizontalConstraint(
addUndoState=False, entity=
mdb.models['Model-1'].sketches['__profile__'].geometry[4])
mdb.models['Model-1'].Part(dimensionality=THREE_D, name='beam', type=
DEFORMABLE_BODY)
mdb.models['Model-1'].parts['beam'].BaseShellExtrude(depth=length, sketch=
mdb.models['Model-1'].sketches['__profile__'])
del mdb.models['Model-1'].sketches['__profile__']
mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#6 ]',
), ), name='bottom flange')

105
mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#18 ]',
), ), name='top flange')
mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#1 ]',
), ), name='web')

### materials ###


mdb.models['Model-1'].Material(name='steel')
mdb.models['Model-1'].materials['steel'].Elastic(table=((Emod, poisson), ))
mdb.models['Model-1'].materials['steel'].Plastic(table=((fy, 0.0), ))

### create sets ###


mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#1 ]', ),
), name='web')
mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#6 ]', ),
), name='bottom flange')
mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#18 ]', ),
), name='top flange')

### sections ###


mdb.models['Model-1'].HomogeneousShellSection(idealization=NO_IDEALIZATION,
integrationRule=SIMPSON, material='steel', name='flange', numIntPts=5,
poissonDefinition=DEFAULT, preIntegrate=OFF, temperature=GRADIENT,
thickness=tf, thicknessField='', thicknessModulus=None, thicknessType=
UNIFORM, useDensity=OFF)
mdb.models['Model-1'].HomogeneousShellSection(idealization=NO_IDEALIZATION,
integrationRule=SIMPSON, material='steel', name='web', numIntPts=5,
poissonDefinition=DEFAULT, preIntegrate=OFF, temperature=GRADIENT,
thickness=tw, thicknessField='', thicknessModulus=None, thicknessType=
UNIFORM, useDensity=OFF)

### section assignment###


mdb.models['Model-1'].parts['beam'].SectionAssignment(offset=0.0, offsetField=
'', offsetType=BOTTOM_SURFACE, region=
mdb.models['Model-1'].parts['beam'].sets['bottom flange'], sectionName=
'flange', thicknessAssignment=FROM_SECTION)
mdb.models['Model-1'].parts['beam'].SectionAssignment(offset=0.0, offsetField=
'', offsetType=TOP_SURFACE, region=
mdb.models['Model-1'].parts['beam'].sets['top flange'], sectionName=
'flange', thicknessAssignment=FROM_SECTION)
mdb.models['Model-1'].parts['beam'].SectionAssignment(offset=0.0, offsetField=
'', offsetType=MIDDLE_SURFACE, region=
mdb.models['Model-1'].parts['beam'].sets['web'], sectionName='web',
thicknessAssignment=FROM_SECTION)

### create partitions for residual stresses ###


mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#8 ]', ),
), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[10], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(

106
mdb.models['Model-1'].parts['beam'].edges[12], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#20 ]', ),
), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[18], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[16], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#8 ]', ),
), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[11], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[13], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#20 ]', ),
), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[19], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[17], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#10 ]', ),
), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[16], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[17], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#1 ]', ),
), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[3], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[1], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#40 ]', ),
), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[22], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[23], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#20 ]', ),
), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[21], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[19], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#1000 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[39], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[38], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#100 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[30], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[29], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#2000 ]',

107
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[43], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[41], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#20 ]', ),
), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[21], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[20], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#80 ]', ),
), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[26], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[25], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#40 ]', ),
), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[24], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[23], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#4000 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[48], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[47], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#800 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[40], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[38], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#40000 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[59], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[58], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#4000 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[49], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[48], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#80000 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[63], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[61], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#100 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[30], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(

108
mdb.models['Model-1'].parts['beam'].edges[32], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#800000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[72], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[73], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#100000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[66], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[68], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#1000 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[43], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[44], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#4000 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[49], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[50], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#10000000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[86], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[87], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#800000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[75], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[77], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#40000 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[61], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[63], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#8000 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[56], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[54], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#400000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(

109
mdb.models['Model-1'].parts['beam'].edges[75], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[73], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#1000000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[80], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[79], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#20000 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[63], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[62], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#20000 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[63], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[62], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#2000000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[85], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[83], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#0 #2 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[106], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[105], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#80000 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[70], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[69], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#80000 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[70], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[68], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#0 #1 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[104], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[102], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#0 #80 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[122], MIDDLE), point2=

110
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[121], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#200000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[77], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[76], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#200000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[77], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[76], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#0 #20 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[119], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[117], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0 #400 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[132], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[131], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#800000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[84], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[82], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#80 ]', ),
), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[28], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[26], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#10000000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[99], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[97], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0 #200 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[132], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[131], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=

111
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#200 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[35], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[34], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#200 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[35], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[34], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0 #40000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[155], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[154], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#0 #1 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[112], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[111], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#800 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[42], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[41], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#800 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[42], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[41], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#0 #4 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[119], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[117], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0 #40000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[158], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[157], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#2000 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[49], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[48], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#2000 ]',

112
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[49], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[48], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0 #2000000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[177], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[176], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#0 #40 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[132], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[131], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#8000 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[56], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[54], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#80000000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[108], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[106], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0 #10000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[159], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[157], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0 #800000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[176], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[175], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#0 #2 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[115], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[114], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#0 #2 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[115], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[114], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=

113
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0 #8000000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[187], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[186], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0 #100000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[172], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[171], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#0 #8 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[122], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[121], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#0 #8 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[122], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[121], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0 #400000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[179], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[177], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0 #40000000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[198], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[197], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#0 #20 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[129], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[128], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#0 #20 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[129], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[128], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0:2 #100 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[223], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(

114
mdb.models['Model-1'].parts['beam'].edges[222], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0 #4000000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[192], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[191], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask(('[#0 #80 ]',
), ), point1=mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[136], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[135], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0:2 #1 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[205], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[207], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0 #1000000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[190], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[191], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0 #1000000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[190], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[192], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0:2 #20000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[246], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[247], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0:2 #4000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[240], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[242], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0 #4000000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[197], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[198], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=

115
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0 #4000000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[197], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[199], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0:2 #100 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[229], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[230], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0:2 #400 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[234], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[235], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0 #10000000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[204], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[205], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0 #10000000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[204], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[206], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0:2 #4000000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[272], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[273], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0:2 #200000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[261], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[263], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0 #40000000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[211], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[212], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((

116
'[#0 #40000000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[211], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[213], MIDDLE))
mdb.models['Model-1'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#0:2 #40000 ]', ), ), point1=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[257], MIDDLE), point2=
mdb.models['Model-1'].parts['beam'].InterestingPoint(
mdb.models['Model-1'].parts['beam'].edges[259], MIDDLE))

### create datum planes for loads and cables ###


mdb.models['Model-1'].parts['beam'].DatumPlaneByPrincipalPlane(offset=load,
principalPlane=XYPLANE)
mdb.models['Model-1'].parts['beam'].DatumPlaneByPrincipalPlane(offset=LABe,
principalPlane=XYPLANE)
mdb.models['Model-1'].parts['beam'].DatumPlaneByPrincipalPlane(offset=cable2,
principalPlane=XYPLANE)
mdb.models['Model-1'].parts['beam'].DatumPlaneByPrincipalPlane(offset=load2,
principalPlane=XYPLANE)
mdb.models['Model-1'].parts['beam'].DatumPlaneByPrincipalPlane(offset=length/2.0,
principalPlane=XYPLANE)

### create partitions for loads and cables ###


mdb.models['Model-1'].parts['beam'].PartitionFaceByDatumPlane(datumPlane=
mdb.models['Model-1'].parts['beam'].datums[102], faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#ffffffff:3 ]', ), ))
mdb.models['Model-1'].parts['beam'].PartitionFaceByDatumPlane(datumPlane=
mdb.models['Model-1'].parts['beam'].datums[101], faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#aaaaaaaa #aaaaffff #8000aaaa #ff00 #ff7fff #75830ff0 ]', ), ))
mdb.models['Model-1'].parts['beam'].PartitionFaceByDatumPlane(datumPlane=
mdb.models['Model-1'].parts['beam'].datums[103], faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#aaaaaaaa #aaaaffff #aa80aaaa #0:3 #ff00 #7f1fff #758307f0 ]', ), ))
mdb.models['Model-1'].parts['beam'].PartitionFaceByDatumPlane(datumPlane=
mdb.models['Model-1'].parts['beam'].datums[100], faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#aaaaaaaa #aaaaffff #aaab6aaa #0:6 #ff00 #3f07ff #750307f0 ]', ), ))
mdb.models['Model-1'].parts['beam'].PartitionFaceByDatumPlane(datumPlane=
mdb.models['Model-1'].parts['beam'].datums[99], faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#aaaaaaaa #6aaaffff #ab6db6db #0:9 #ff00 #1f01ff #550307f0 ]', ), ))

### assembly ###


mdb.models['Model-1'].rootAssembly.DatumCsysByDefault(CARTESIAN)
mdb.models['Model-1'].rootAssembly.Instance(dependent=ON, name='beam-1', part=
mdb.models['Model-1'].parts['beam'])
mdb.models['Model-1'].rootAssembly.rotate(angle=90.0, axisDirection=(0.0, 1.0,
0.0), axisPoint=(0.0, 0.0, 0.0), instanceList=('beam-1', ))

### create rp ###


mdb.models['Model-1'].rootAssembly.ReferencePoint(point=(halflength, heightattachment, 0))
mdb.models['Model-1'].rootAssembly.ReferencePoint(point=(load, RPload, 0))

117
mdb.models['Model-1'].rootAssembly.ReferencePoint(point=(LABe, RPcable, 0))
mdb.models['Model-1'].rootAssembly.ReferencePoint(point=(cable2, RPcable, 0))
mdb.models['Model-1'].rootAssembly.ReferencePoint(point=(load2, RPload, 0))

### create sets ###

#points on beam
mdb.models['Model-1'].parts['beam'].Set(name='Abottom', vertices=
mdb.models['Model-1'].parts['beam'].vertices.getSequenceFromMask((
'[#0:15 #4 ]', ), ))
mdb.models['Model-1'].parts['beam'].Set(name='Ebottom', vertices=
mdb.models['Model-1'].parts['beam'].vertices.getSequenceFromMask((
'[#0:5 #8000 ]', ), ))
mdb.models['Model-1'].parts['beam'].Set(name='Bbottom', vertices=
mdb.models['Model-1'].parts['beam'].vertices.getSequenceFromMask((
'[#0:11 #80000000 ]', ), ))
mdb.models['Model-1'].parts['beam'].Set(name='Btop', vertices=
mdb.models['Model-1'].parts['beam'].vertices.getSequenceFromMask((
'[#0:10 #2000 ]', ), ))
mdb.models['Model-1'].parts['beam'].Set(name='Dbottom', vertices=
mdb.models['Model-1'].parts['beam'].vertices.getSequenceFromMask((
'[#0:9 #4 ]', ), ))
mdb.models['Model-1'].parts['beam'].Set(name='Dtop', vertices=
mdb.models['Model-1'].parts['beam'].vertices.getSequenceFromMask((
'[#0:2 #2 ]', ), ))
mdb.models['Model-1'].parts['beam'].Set(name='Ctop', vertices=
mdb.models['Model-1'].parts['beam'].vertices.getSequenceFromMask((
'[#0:7 #10 ]', ), ))
mdb.models['Model-1'].parts['beam'].Set(name='Cbottom', vertices=
mdb.models['Model-1'].parts['beam'].vertices.getSequenceFromMask((
'[#0:9 #8 ]', ), ))

#residual stresses
mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#3 #38000 #10 #3 #40038000 #0 #3',
' #38000 #4000 #3 #38000 #800000 #3 #38000',
' #80000000 #1800000 #8001 #90000 ]'), ), name='f1')
mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#c #c4000 #80 #c #c4000 #2 #c',
' #c4000 #20000 #c #c4000 #2000000 #c #c4000',
' #40000000 #8001 #18810000 ]'), ), name='f2')
mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#30 #302000 #400 #30 #302000 #10 #30',
' #302000 #80000 #30 #302000 #8000000 #30 #302000',
' #20000000 #4002 #0 #6900 ]'), ), name='f3')
mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#c0 #c01000 #2000 #c0 #c01000 #80 #c0',
' #c01000 #200000 #c0 #c01000 #20000000 #c0 #c01000',
' #10000000 #2400000 #4002 #81 ]'), ), name='f4')
mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#300 #3000800 #10000 #300 #3000800 #400 #300',
' #3000800 #800000 #300 #3000800 #80000000 #300 #3000800',

118
' #8000000 #4200000 #2004 #42 ]'), ), name='f5')
mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#c00 #c000400 #80000 #c00 #c000400 #2000 #c00',
' #c000400 #2000000 #c00 #c000400 #40000000 #c00 #c000400',
' #4000000 #2004 #0 #10d00000 ]'), ), name='f6')
mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#3000 #30000200 #400000 #3000 #30000200 #10000 #3000',
' #30000200 #8000000 #3000 #30000200 #10000000 #3000 #30000200',
' #2000000 #1008 #24420000 ]'), ), name='f7')
mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#c000 #c0000100 #1000000 #c000 #80000100 #80001 #c000',
' #c0000100 #20000000 #c000 #c0000100 #4000000 #c000 #c0000100',
' #1000000 #8100000 #1008 #42000000 ]'), ), name='f8')
mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#30000 #80 #4000003 #30000 #80 #40000c #30000',
' #80 #80000003 #30000 #80 #1000003 #30000 #80',
' #800003 #10080000 #810 #84000000 ]'), ), name='f9')
mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#c0000 #40 #1000000c #c0000 #40 #2000060 #c0000',
' #40 #4000000c #c0000 #40 #40000c #c0000 #40',
' #40000c #810 #42240000 ]'), ), name='f10')
mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#300000 #20 #40000060 #300000 #20 #8000300 #300000',
' #20 #10000030 #300000 #20 #200030 #300000 #20',
' #200030 #420 #0 #29200000 ]'), ), name='f11')
mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#c00000 #10 #80000300 #c00000 #10 #20001800 #c00000',
' #10 #40000c0 #c00000 #10 #1000c0 #c00000 #10',
' #1000c0 #20040000 #420 #24 ]'), ), name='f12')
mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#3000000 #8 #20001800 #3000000 #8 #8000c000 #3000000',
' #8 #1000300 #3000000 #8 #80300 #3000000 #8',
' #80300 #40020000 #240 #18 ]'), ), name='f13')
mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#c000000 #4 #800c000 #c000000 #4 #40060000 #c000000',
' #4 #400c00 #c000000 #4 #40c00 #c000000 #4', ' #40c00 #240 #0 #9600 ]'), )
, name='f14')
mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#30000000 #2 #2060000 #30000000 #2 #10300000 #30000000',
' #2 #103000 #30000000 #2 #23000 #30000000 #2',
' #23000 #180 #81180000 ]'), ), name='f15')
mdb.models['Model-1'].parts['beam'].Set(faces=
mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#c0000000 #1 #b00000 #c0000000 #1 #5800000 #c0000000',
' #1 #58000 #c0000000 #1 #1c000 #c0000000 #1',
' #1c000 #80010000 #180 #60000 ]'), ), name='f16')

119
# sets reference points
mdb.models['Model-1'].rootAssembly.Set(name='RP S', referencePoints=(
mdb.models['Model-1'].rootAssembly.referencePoints[4], ))
mdb.models['Model-1'].rootAssembly.Set(name='RP Aatt', referencePoints=(
mdb.models['Model-1'].rootAssembly.referencePoints[8], ))
mdb.models['Model-1'].rootAssembly.Set(name='RP Batt', referencePoints=(
mdb.models['Model-1'].rootAssembly.referencePoints[7], ))
mdb.models['Model-1'].rootAssembly.Set(name='RP Datt', referencePoints=(
mdb.models['Model-1'].rootAssembly.referencePoints[6], ))
mdb.models['Model-1'].rootAssembly.Set(name='RP Eatt', referencePoints=(
mdb.models['Model-1'].rootAssembly.referencePoints[5], ))
mdb.models['Model-1'].rootAssembly.Set(name='RP load', referencePoints=(
mdb.models['Model-1'].rootAssembly.referencePoints[5],
mdb.models['Model-1'].rootAssembly.referencePoints[8]))

### BC ###

mdb.models['Model-1'].DisplacementBC(amplitude=UNSET, createStepName='Initial',
distributionType=UNIFORM, fieldName='', localCsys=None, name='RP S',
region=mdb.models['Model-1'].rootAssembly.sets['RP S'], u1=SET, u2=SET,
u3=SET, ur1=UNSET, ur2=UNSET, ur3=UNSET)
mdb.models['Model-1'].DisplacementBC(amplitude=UNSET, createStepName='Initial',
distributionType=UNIFORM, fieldName='', localCsys=None, name='RP Aatt',
region=mdb.models['Model-1'].rootAssembly.sets['RP Aatt'], u1=UNSET, u2=
UNSET, u3=SET, ur1=UNSET, ur2=UNSET, ur3=UNSET)
mdb.models['Model-1'].DisplacementBC(amplitude=UNSET, createStepName='Initial',
distributionType=UNIFORM, fieldName='', localCsys=None, name='RP Batt',
region=mdb.models['Model-1'].rootAssembly.sets['RP Batt'], u1=UNSET, u2=
UNSET, u3=SET, ur1=UNSET, ur2=UNSET, ur3=UNSET)
mdb.models['Model-1'].DisplacementBC(amplitude=UNSET, createStepName='Initial',
distributionType=UNIFORM, fieldName='', localCsys=None, name='RP Datt',
region=mdb.models['Model-1'].rootAssembly.sets['RP Datt'], u1=UNSET, u2=
UNSET, u3=SET, ur1=UNSET, ur2=UNSET, ur3=UNSET)
mdb.models['Model-1'].DisplacementBC(amplitude=UNSET, createStepName='Initial',
distributionType=UNIFORM, fieldName='', localCsys=None, name='RP Eatt',
region=mdb.models['Model-1'].rootAssembly.sets['RP Eatt'], u1=UNSET, u2=
UNSET, u3=SET, ur1=UNSET, ur2=UNSET, ur3=UNSET)

### create constraint ###


### rigid bodies ###
mdb.models['Model-1'].RigidBody(name='Constraint-1', refPointRegion=
mdb.models['Model-1'].rootAssembly.sets['RP Aatt'], tieRegion=
mdb.models['Model-1'].rootAssembly.instances['beam-1'].sets['Abottom'])
mdb.models['Model-1'].RigidBody(name='Constraint-2', refPointRegion=
mdb.models['Model-1'].rootAssembly.sets['RP Batt'], tieRegion=
mdb.models['Model-1'].rootAssembly.instances['beam-1'].sets['Btop'])
mdb.models['Model-1'].RigidBody(name='Constraint-3', refPointRegion=
mdb.models['Model-1'].rootAssembly.sets['RP Datt'], tieRegion=
mdb.models['Model-1'].rootAssembly.instances['beam-1'].sets['Dtop'])
mdb.models['Model-1'].RigidBody(name='Constraint-4', refPointRegion=
mdb.models['Model-1'].rootAssembly.sets['RP Eatt'], tieRegion=
mdb.models['Model-1'].rootAssembly.instances['beam-1'].sets['Ebottom'])

### link ###


mdb.models['Model-1'].ConnectorSection(name='ConnSect-1', translationalType=

120
LINK)
mdb.models['Model-1'].rootAssembly.WirePolyLine(mergeType=IMPRINT, meshable=OFF
, points=((mdb.models['Model-1'].rootAssembly.referencePoints[4],
mdb.models['Model-1'].rootAssembly.referencePoints[6]), (
mdb.models['Model-1'].rootAssembly.referencePoints[4],
mdb.models['Model-1'].rootAssembly.referencePoints[7])))
mdb.models['Model-1'].rootAssembly.Set(edges=
mdb.models['Model-1'].rootAssembly.edges.getSequenceFromMask(('[#3 ]', ), )
, name='Wire-1-Set-1')
mdb.models['Model-1'].rootAssembly.SectionAssignment(region=
mdb.models['Model-1'].rootAssembly.sets['Wire-1-Set-1'], sectionName=
'ConnSect-1')

### create job ###


mdb.Job(atTime=None, contactPrint=OFF, description='', echoPrint=OFF,
explicitPrecision=SINGLE, getMemoryFromAnalysis=True, historyPrint=OFF,
memory=90, memoryUnits=PERCENTAGE, model='Model-1', modelPrint=OFF,
multiprocessingMode=DEFAULT, name=nameLBA, nodalOutputPrecision=SINGLE,
numCpus=1, numGPUs=0, queue=None, resultsFormat=ODB, scratch='', type=
ANALYSIS, userSubroutine='', waitHours=0, waitMinutes=0)

### create step ###


mdb.models['Model-1'].BuckleStep(maxIterations=300, name='lba', numEigen=2,
previous='Initial', vectors=4)

### create load ###


mdb.models['Model-1'].ConcentratedForce(cf2=-1.0, createStepName='lba',
distributionType=UNIFORM, field='', localCsys=None, name='Load-1', region=
mdb.models['Model-1'].rootAssembly.sets['RP load'])

### MESH ###


mdb.models['Model-1'].parts['beam'].seedEdgeByNumber(constraint=FINER, edges=
mdb.models['Model-1'].parts['beam'].edges.getSequenceFromMask((
'[#b6db6d55 #6db6db6d #db6db6db #b6db6db6 #db56db6d #b6db6db6 #db6adb6d',
' #b6db6db6 #b6db6dbd #cccccc95 #cccccccc #5555555c #cccccca5 #d5965964',
' #ad5ab56a #66649ad6 #66666666 #aaaae666 #66652aaa #66666666 #66672666',
' #9926b5ad #99999999 #aab99999 #994aaaaa #99999999 #55599999 #49ad6b55',
' #66666666 #ae666666 #52aaaaaa #66666666 #56666666 #56db5555 #a525294a',
' #a5294a94 #5293294 #33301980 #7eefed6b #3e ]'), ), number=elementspersurface)
mdb.models['Model-1'].parts['beam'].seedEdgeBySize(constraint=FINER,
deviationFactor=0.1, edges=
mdb.models['Model-1'].parts['beam'].edges.getSequenceFromMask((
'[#492492aa #92492492 #24924924 #49249249 #24a92492 #49249249 #24952492',
' #49249249 #49249242 #3333336a #33333333 #aaaaaaa3 #3333335a #2a69a69b',
' #52a54a95 #999b6529 #99999999 #55551999 #999ad555 #99999999 #9998d999',
' #66d94a52 #66666666 #55466666 #66b55555 #66666666 #aaa66666 #b65294aa',
' #99999999 #51999999 #ad555555 #99999999 #a9999999 #a924aaaa #5adad6b5',
' #5ad6b56b #fad6cd6b #cccfe67f #81101294 #1 ]'), ), size=bigseed)
mdb.models['Model-1'].parts['beam'].setElementType(elemTypes=(ElemType(
elemCode=S4R, elemLibrary=STANDARD, secondOrderAccuracy=OFF,
hourglassControl=DEFAULT), ElemType(elemCode=S3, elemLibrary=STANDARD)),
regions=(mdb.models['Model-1'].parts['beam'].faces.getSequenceFromMask((
'[#ffffffff:18 ]', ), ), ))
mdb.models['Model-1'].parts['beam'].generateMesh()

121
### NODE FILE OUTPUT ###
mdb.models['Model-1'].keywordBlock.synchVersions(storeNodesAndElements=False)
mdb.models['Model-1'].keywordBlock.replace(124,
'\n*Output, field, variable=PRESELECT\n*NODE FILE\nU')

mdb.models['Model-1'].rootAssembly.regenerate()

mdb.jobs[nameLBA].submit(consistencyChecking=OFF)

### RIKS ###

mdb.Model(modelType=STANDARD_EXPLICIT, name='Model-2')

### create beam ###


mdb.models['Model-2'].ConstrainedSketch(name='__profile__', sheetSize=200.0)
mdb.models['Model-2'].sketches['__profile__'].Line(point1=(0.0, 0.0), point2=(
0.0, hw))
mdb.models['Model-2'].sketches['__profile__'].VerticalConstraint(addUndoState=
False, entity=mdb.models['Model-2'].sketches['__profile__'].geometry[2])
mdb.models['Model-2'].sketches['__profile__'].Line(point1=(-halfb, 0.0), point2=
(halfb, 0.0))
mdb.models['Model-2'].sketches['__profile__'].HorizontalConstraint(
addUndoState=False, entity=
mdb.models['Model-2'].sketches['__profile__'].geometry[3])
mdb.models['Model-2'].sketches['__profile__'].Line(point1=(-halfb, hw),
point2=(halfb, hw))
mdb.models['Model-2'].sketches['__profile__'].HorizontalConstraint(
addUndoState=False, entity=
mdb.models['Model-2'].sketches['__profile__'].geometry[4])
mdb.models['Model-2'].Part(dimensionality=THREE_D, name='beam', type=
DEFORMABLE_BODY)
mdb.models['Model-2'].parts['beam'].BaseShellExtrude(depth=length, sketch=
mdb.models['Model-2'].sketches['__profile__'])
del mdb.models['Model-2'].sketches['__profile__']
mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#6 ]',
), ), name='bottom flange')
mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#18 ]',
), ), name='top flange')
mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#1 ]',
), ), name='web')

### materials ###


mdb.models['Model-2'].Material(name='steel')
mdb.models['Model-2'].materials['steel'].Elastic(table=((Emod, poisson), ))
mdb.models['Model-2'].materials['steel'].Plastic(table=((fy, 0.0), ))

### create sets ###


mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#1 ]', ),
), name='web')

122
mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#6 ]', ),
), name='bottom flange')
mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#18 ]', ),
), name='top flange')

### sections ###


mdb.models['Model-2'].HomogeneousShellSection(idealization=NO_IDEALIZATION,
integrationRule=SIMPSON, material='steel', name='flange', numIntPts=5,
poissonDefinition=DEFAULT, preIntegrate=OFF, temperature=GRADIENT,
thickness=tf, thicknessField='', thicknessModulus=None, thicknessType=
UNIFORM, useDensity=OFF)
mdb.models['Model-2'].HomogeneousShellSection(idealization=NO_IDEALIZATION,
integrationRule=SIMPSON, material='steel', name='web', numIntPts=5,
poissonDefinition=DEFAULT, preIntegrate=OFF, temperature=GRADIENT,
thickness=tw, thicknessField='', thicknessModulus=None, thicknessType=
UNIFORM, useDensity=OFF)

### section assignment###


mdb.models['Model-2'].parts['beam'].SectionAssignment(offset=0.0, offsetField=
'', offsetType=BOTTOM_SURFACE, region=
mdb.models['Model-2'].parts['beam'].sets['bottom flange'], sectionName=
'flange', thicknessAssignment=FROM_SECTION)
mdb.models['Model-2'].parts['beam'].SectionAssignment(offset=0.0, offsetField=
'', offsetType=TOP_SURFACE, region=
mdb.models['Model-2'].parts['beam'].sets['top flange'], sectionName=
'flange', thicknessAssignment=FROM_SECTION)
mdb.models['Model-2'].parts['beam'].SectionAssignment(offset=0.0, offsetField=
'', offsetType=MIDDLE_SURFACE, region=
mdb.models['Model-2'].parts['beam'].sets['web'], sectionName='web',
thicknessAssignment=FROM_SECTION)

### create partitions for residual stresses ###


mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#8 ]', ),
), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[10], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[12], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#20 ]', ),
), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[18], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[16], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#8 ]', ),
), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[11], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[13], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#20 ]', ),
), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[19], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(

123
mdb.models['Model-2'].parts['beam'].edges[17], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#10 ]', ),
), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[16], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[17], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#1 ]', ),
), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[3], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[1], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#40 ]', ),
), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[22], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[23], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#20 ]', ),
), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[21], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[19], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#1000 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[39], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[38], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#100 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[30], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[29], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#2000 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[43], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[41], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#20 ]', ),
), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[21], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[20], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#80 ]', ),
), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[26], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[25], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#40 ]', ),

124
), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[24], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[23], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#4000 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[48], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[47], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#800 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[40], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[38], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#40000 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[59], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[58], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#4000 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[49], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[48], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#80000 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[63], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[61], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#100 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[30], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[32], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#800000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[72], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[73], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#100000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[66], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[68], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#1000 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(

125
mdb.models['Model-2'].parts['beam'].edges[43], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[44], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#4000 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[49], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[50], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#10000000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[86], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[87], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#800000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[75], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[77], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#40000 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[61], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[63], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#8000 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[56], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[54], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#400000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[75], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[73], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#1000000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[80], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[79], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#20000 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[63], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[62], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#20000 ]',

126
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[63], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[62], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#2000000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[85], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[83], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#0 #2 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[106], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[105], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#80000 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[70], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[69], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#80000 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[70], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[68], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#0 #1 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[104], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[102], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#0 #80 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[122], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[121], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#200000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[77], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[76], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#200000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[77], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[76], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#0 #20 ]',

127
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[119], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[117], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0 #400 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[132], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[131], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#800000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[84], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[82], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#80 ]', ),
), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[28], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[26], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#10000000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[99], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[97], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0 #200 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[132], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[131], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#200 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[35], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[34], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#200 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[35], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[34], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0 #40000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[155], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[154], MIDDLE))

128
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#0 #1 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[112], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[111], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#800 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[42], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[41], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#800 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[42], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[41], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#0 #4 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[119], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[117], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0 #40000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[158], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[157], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#2000 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[49], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[48], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#2000 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[49], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[48], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0 #2000000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[177], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[176], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#0 #40 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[132], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[131], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=

129
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#8000 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[56], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[54], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#80000000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[108], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[106], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0 #10000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[159], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[157], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0 #800000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[176], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[175], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#0 #2 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[115], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[114], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#0 #2 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[115], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[114], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0 #8000000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[187], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[186], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0 #100000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[172], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[171], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#0 #8 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[122], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(

130
mdb.models['Model-2'].parts['beam'].edges[121], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#0 #8 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[122], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[121], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0 #400000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[179], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[177], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0 #40000000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[198], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[197], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#0 #20 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[129], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[128], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#0 #20 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[129], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[128], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0:2 #100 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[223], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[222], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0 #4000000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[192], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[191], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask(('[#0 #80 ]',
), ), point1=mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[136], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[135], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0:2 #1 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(

131
mdb.models['Model-2'].parts['beam'].edges[205], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[207], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0 #1000000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[190], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[191], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0 #1000000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[190], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[192], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0:2 #20000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[246], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[247], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0:2 #4000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[240], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[242], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0 #4000000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[197], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[198], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0 #4000000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[197], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[199], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0:2 #100 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[229], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[230], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0:2 #400 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[234], MIDDLE), point2=

132
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[235], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0 #10000000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[204], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[205], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0 #10000000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[204], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[206], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0:2 #4000000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[272], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[273], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0:2 #200000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[261], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[263], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0 #40000000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[211], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[212], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0 #40000000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[211], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[213], MIDDLE))
mdb.models['Model-2'].parts['beam'].PartitionFaceByShortestPath(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#0:2 #40000 ]', ), ), point1=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[257], MIDDLE), point2=
mdb.models['Model-2'].parts['beam'].InterestingPoint(
mdb.models['Model-2'].parts['beam'].edges[259], MIDDLE))

### create datum planes for loads and cables ###


mdb.models['Model-2'].parts['beam'].DatumPlaneByPrincipalPlane(offset=load,
principalPlane=XYPLANE)
mdb.models['Model-2'].parts['beam'].DatumPlaneByPrincipalPlane(offset=LABe,
principalPlane=XYPLANE)

133
mdb.models['Model-2'].parts['beam'].DatumPlaneByPrincipalPlane(offset=cable2,
principalPlane=XYPLANE)
mdb.models['Model-2'].parts['beam'].DatumPlaneByPrincipalPlane(offset=load2,
principalPlane=XYPLANE)
mdb.models['Model-2'].parts['beam'].DatumPlaneByPrincipalPlane(offset=length/2.0,
principalPlane=XYPLANE)

### create partitions for loads and cables ###


mdb.models['Model-2'].parts['beam'].PartitionFaceByDatumPlane(datumPlane=
mdb.models['Model-2'].parts['beam'].datums[102], faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#ffffffff:3 ]', ), ))
mdb.models['Model-2'].parts['beam'].PartitionFaceByDatumPlane(datumPlane=
mdb.models['Model-2'].parts['beam'].datums[101], faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#aaaaaaaa #aaaaffff #8000aaaa #ff00 #ff7fff #75830ff0 ]', ), ))
mdb.models['Model-2'].parts['beam'].PartitionFaceByDatumPlane(datumPlane=
mdb.models['Model-2'].parts['beam'].datums[103], faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#aaaaaaaa #aaaaffff #aa80aaaa #0:3 #ff00 #7f1fff #758307f0 ]', ), ))
mdb.models['Model-2'].parts['beam'].PartitionFaceByDatumPlane(datumPlane=
mdb.models['Model-2'].parts['beam'].datums[100], faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#aaaaaaaa #aaaaffff #aaab6aaa #0:6 #ff00 #3f07ff #750307f0 ]', ), ))
mdb.models['Model-2'].parts['beam'].PartitionFaceByDatumPlane(datumPlane=
mdb.models['Model-2'].parts['beam'].datums[99], faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#aaaaaaaa #6aaaffff #ab6db6db #0:9 #ff00 #1f01ff #550307f0 ]', ), ))

### assembly ###


mdb.models['Model-2'].rootAssembly.DatumCsysByDefault(CARTESIAN)
mdb.models['Model-2'].rootAssembly.Instance(dependent=ON, name='beam-1', part=
mdb.models['Model-2'].parts['beam'])
mdb.models['Model-2'].rootAssembly.rotate(angle=90.0, axisDirection=(0.0, 1.0,
0.0), axisPoint=(0.0, 0.0, 0.0), instanceList=('beam-1', ))

### create rp ###


mdb.models['Model-2'].rootAssembly.ReferencePoint(point=(halflength, heightattachment, 0))
mdb.models['Model-2'].rootAssembly.ReferencePoint(point=(load, RPload, 0))
mdb.models['Model-2'].rootAssembly.ReferencePoint(point=(LABe, RPcable, 0))
mdb.models['Model-2'].rootAssembly.ReferencePoint(point=(cable2, RPcable, 0))
mdb.models['Model-2'].rootAssembly.ReferencePoint(point=(load2, RPload, 0))

### create sets ###

### points on beam ###


mdb.models['Model-2'].parts['beam'].Set(name='Abottom', vertices=
mdb.models['Model-2'].parts['beam'].vertices.getSequenceFromMask((
'[#0:15 #4 ]', ), ))
mdb.models['Model-2'].parts['beam'].Set(name='Ebottom', vertices=
mdb.models['Model-2'].parts['beam'].vertices.getSequenceFromMask((
'[#0:5 #8000 ]', ), ))
mdb.models['Model-2'].parts['beam'].Set(name='Bbottom', vertices=
mdb.models['Model-2'].parts['beam'].vertices.getSequenceFromMask((
'[#0:11 #80000000 ]', ), ))
mdb.models['Model-2'].parts['beam'].Set(name='Btop', vertices=
mdb.models['Model-2'].parts['beam'].vertices.getSequenceFromMask((

134
'[#0:10 #2000 ]', ), ))
mdb.models['Model-2'].parts['beam'].Set(name='Dbottom', vertices=
mdb.models['Model-2'].parts['beam'].vertices.getSequenceFromMask((
'[#0:9 #4 ]', ), ))
mdb.models['Model-2'].parts['beam'].Set(name='Dtop', vertices=
mdb.models['Model-2'].parts['beam'].vertices.getSequenceFromMask((
'[#0:2 #2 ]', ), ))
mdb.models['Model-2'].parts['beam'].Set(name='Ctop', vertices=
mdb.models['Model-2'].parts['beam'].vertices.getSequenceFromMask((
'[#0:7 #10 ]', ), ))

### residual stresses ###


mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#3 #38000 #10 #3 #40038000 #0 #3',
' #38000 #4000 #3 #38000 #800000 #3 #38000',
' #80000000 #1800000 #8001 #90000 ]'), ), name='f1')
mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#c #c4000 #80 #c #c4000 #2 #c',
' #c4000 #20000 #c #c4000 #2000000 #c #c4000',
' #40000000 #8001 #18810000 ]'), ), name='f2')
mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#30 #302000 #400 #30 #302000 #10 #30',
' #302000 #80000 #30 #302000 #8000000 #30 #302000',
' #20000000 #4002 #0 #6900 ]'), ), name='f3')
mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#c0 #c01000 #2000 #c0 #c01000 #80 #c0',
' #c01000 #200000 #c0 #c01000 #20000000 #c0 #c01000',
' #10000000 #2400000 #4002 #81 ]'), ), name='f4')
mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#300 #3000800 #10000 #300 #3000800 #400 #300',
' #3000800 #800000 #300 #3000800 #80000000 #300 #3000800',
' #8000000 #4200000 #2004 #42 ]'), ), name='f5')
mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#c00 #c000400 #80000 #c00 #c000400 #2000 #c00',
' #c000400 #2000000 #c00 #c000400 #40000000 #c00 #c000400',
' #4000000 #2004 #0 #10d00000 ]'), ), name='f6')
mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#3000 #30000200 #400000 #3000 #30000200 #10000 #3000',
' #30000200 #8000000 #3000 #30000200 #10000000 #3000 #30000200',
' #2000000 #1008 #24420000 ]'), ), name='f7')
mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#c000 #c0000100 #1000000 #c000 #80000100 #80001 #c000',
' #c0000100 #20000000 #c000 #c0000100 #4000000 #c000 #c0000100',
' #1000000 #8100000 #1008 #42000000 ]'), ), name='f8')
mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#30000 #80 #4000003 #30000 #80 #40000c #30000',
' #80 #80000003 #30000 #80 #1000003 #30000 #80',
' #800003 #10080000 #810 #84000000 ]'), ), name='f9')

135
mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#c0000 #40 #1000000c #c0000 #40 #2000060 #c0000',
' #40 #4000000c #c0000 #40 #40000c #c0000 #40',
' #40000c #810 #42240000 ]'), ), name='f10')
mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#300000 #20 #40000060 #300000 #20 #8000300 #300000',
' #20 #10000030 #300000 #20 #200030 #300000 #20',
' #200030 #420 #0 #29200000 ]'), ), name='f11')
mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#c00000 #10 #80000300 #c00000 #10 #20001800 #c00000',
' #10 #40000c0 #c00000 #10 #1000c0 #c00000 #10',
' #1000c0 #20040000 #420 #24 ]'), ), name='f12')
mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#3000000 #8 #20001800 #3000000 #8 #8000c000 #3000000',
' #8 #1000300 #3000000 #8 #80300 #3000000 #8',
' #80300 #40020000 #240 #18 ]'), ), name='f13')
mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#c000000 #4 #800c000 #c000000 #4 #40060000 #c000000',
' #4 #400c00 #c000000 #4 #40c00 #c000000 #4', ' #40c00 #240 #0 #9600 ]'), )
, name='f14')
mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#30000000 #2 #2060000 #30000000 #2 #10300000 #30000000',
' #2 #103000 #30000000 #2 #23000 #30000000 #2',
' #23000 #180 #81180000 ]'), ), name='f15')
mdb.models['Model-2'].parts['beam'].Set(faces=
mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#c0000000 #1 #b00000 #c0000000 #1 #5800000 #c0000000',
' #1 #58000 #c0000000 #1 #1c000 #c0000000 #1',
' #1c000 #80010000 #180 #60000 ]'), ), name='f16')

### sets reference points ###


mdb.models['Model-2'].rootAssembly.Set(name='RP S', referencePoints=(
mdb.models['Model-2'].rootAssembly.referencePoints[4], ))
mdb.models['Model-2'].rootAssembly.Set(name='RP Aatt', referencePoints=(
mdb.models['Model-2'].rootAssembly.referencePoints[8], ))
mdb.models['Model-2'].rootAssembly.Set(name='RP Batt', referencePoints=(
mdb.models['Model-2'].rootAssembly.referencePoints[7], ))
mdb.models['Model-2'].rootAssembly.Set(name='RP Datt', referencePoints=(
mdb.models['Model-2'].rootAssembly.referencePoints[6], ))
mdb.models['Model-2'].rootAssembly.Set(name='RP Eatt', referencePoints=(
mdb.models['Model-2'].rootAssembly.referencePoints[5], ))
mdb.models['Model-2'].rootAssembly.Set(name='RP load', referencePoints=(
mdb.models['Model-2'].rootAssembly.referencePoints[5],
mdb.models['Model-2'].rootAssembly.referencePoints[8]))

### BC ###

mdb.models['Model-2'].DisplacementBC(amplitude=UNSET, createStepName='Initial',
distributionType=UNIFORM, fieldName='', localCsys=None, name='RP S',

136
region=mdb.models['Model-2'].rootAssembly.sets['RP S'], u1=SET, u2=SET,
u3=SET, ur1=UNSET, ur2=UNSET, ur3=UNSET)
mdb.models['Model-2'].DisplacementBC(amplitude=UNSET, createStepName='Initial',
distributionType=UNIFORM, fieldName='', localCsys=None, name='RP Aatt',
region=mdb.models['Model-2'].rootAssembly.sets['RP Aatt'], u1=UNSET, u2=
UNSET, u3=SET, ur1=UNSET, ur2=UNSET, ur3=UNSET)
mdb.models['Model-2'].DisplacementBC(amplitude=UNSET, createStepName='Initial',
distributionType=UNIFORM, fieldName='', localCsys=None, name='RP Batt',
region=mdb.models['Model-2'].rootAssembly.sets['RP Batt'], u1=UNSET, u2=
UNSET, u3=SET, ur1=UNSET, ur2=UNSET, ur3=UNSET)
mdb.models['Model-2'].DisplacementBC(amplitude=UNSET, createStepName='Initial',
distributionType=UNIFORM, fieldName='', localCsys=None, name='RP Datt',
region=mdb.models['Model-2'].rootAssembly.sets['RP Datt'], u1=UNSET, u2=
UNSET, u3=SET, ur1=UNSET, ur2=UNSET, ur3=UNSET)
mdb.models['Model-2'].DisplacementBC(amplitude=UNSET, createStepName='Initial',
distributionType=UNIFORM, fieldName='', localCsys=None, name='RP Eatt',
region=mdb.models['Model-2'].rootAssembly.sets['RP Eatt'], u1=UNSET, u2=
UNSET, u3=SET, ur1=UNSET, ur2=UNSET, ur3=UNSET)

### create constraint ###


### rigid bodies ###
mdb.models['Model-2'].RigidBody(name='Constraint-1', refPointRegion=
mdb.models['Model-2'].rootAssembly.sets['RP Aatt'], tieRegion=
mdb.models['Model-2'].rootAssembly.instances['beam-1'].sets['Abottom'])
mdb.models['Model-2'].RigidBody(name='Constraint-2', refPointRegion=
mdb.models['Model-2'].rootAssembly.sets['RP Batt'], tieRegion=
mdb.models['Model-2'].rootAssembly.instances['beam-1'].sets['Btop'])
mdb.models['Model-2'].RigidBody(name='Constraint-3', refPointRegion=
mdb.models['Model-2'].rootAssembly.sets['RP Datt'], tieRegion=
mdb.models['Model-2'].rootAssembly.instances['beam-1'].sets['Dtop'])
mdb.models['Model-2'].RigidBody(name='Constraint-4', refPointRegion=
mdb.models['Model-2'].rootAssembly.sets['RP Eatt'], tieRegion=
mdb.models['Model-2'].rootAssembly.instances['beam-1'].sets['Ebottom'])

### link ###


mdb.models['Model-2'].ConnectorSection(name='ConnSect-1', translationalType=
LINK)
mdb.models['Model-2'].rootAssembly.WirePolyLine(mergeType=IMPRINT, meshable=OFF
, points=((mdb.models['Model-2'].rootAssembly.referencePoints[4],
mdb.models['Model-2'].rootAssembly.referencePoints[6]), (
mdb.models['Model-2'].rootAssembly.referencePoints[4],
mdb.models['Model-2'].rootAssembly.referencePoints[7])))
mdb.models['Model-2'].rootAssembly.Set(edges=
mdb.models['Model-2'].rootAssembly.edges.getSequenceFromMask(('[#3 ]', ), )
, name='Wire-1-Set-1')
mdb.models['Model-2'].rootAssembly.SectionAssignment(region=
mdb.models['Model-2'].rootAssembly.sets['Wire-1-Set-1'], sectionName=
'ConnSect-1')

### create job ###


mdb.Job(activateLoadBalancing=False, atTime=None, contactPrint=OFF,
description='', echoPrint=OFF, explicitPrecision=SINGLE,
getMemoryFromAnalysis=True, historyPrint=OFF, memory=80, memoryUnits=
PERCENTAGE, model='Model-2', modelPrint=OFF, multiprocessingMode=DEFAULT,
name=nameRIKS, nodalOutputPrecision=SINGLE, numCpus=2, numDomains=2,
parallelizationMethodExplicit=DOMAIN, queue=None, resultsFormat=ODB,

137
scratch='', type=ANALYSIS, userSubroutine='', waitHours=0, waitMinutes=0)

### create step ###


mdb.models['Model-2'].StaticStep(name='equilibrium stresses', nlgeom=ON,
previous='Initial')
mdb.models['Model-2'].StaticRiksStep(initialArcInc=10000.0, maxArcInc=1e+36,
maxNumInc=100000, minArcInc=1.0, name='RIKS', previous=
'equilibrium stresses', totalArcLength=100000.0)
mdb.models['Model-2'].steps['RIKS'].setValues(dof=2, maximumDisplacement=
-1000.0, nodeOn=ON, region=
mdb.models['Model-2'].rootAssembly.sets['RP Aatt'])

### create load ###


mdb.models['Model-2'].DisplacementBC(amplitude=UNSET, createStepName='RIKS',
distributionType=UNIFORM, fieldName='', fixed=OFF, localCsys=None, name=
'load', region=mdb.models['Model-2'].rootAssembly.sets['RP load'], u1=UNSET
, u2=-1.0, u3=UNSET, ur1=UNSET, ur2=UNSET, ur3=UNSET)

### MESH ###


mdb.models['Model-2'].parts['beam'].seedEdgeByNumber(constraint=FINER, edges=
mdb.models['Model-2'].parts['beam'].edges.getSequenceFromMask((
'[#b6db6d55 #6db6db6d #db6db6db #b6db6db6 #db56db6d #b6db6db6 #db6adb6d',
' #b6db6db6 #b6db6dbd #cccccc95 #cccccccc #5555555c #cccccca5 #d5965964',
' #ad5ab56a #66649ad6 #66666666 #aaaae666 #66652aaa #66666666 #66672666',
' #9926b5ad #99999999 #aab99999 #994aaaaa #99999999 #55599999 #49ad6b55',
' #66666666 #ae666666 #52aaaaaa #66666666 #56666666 #56db5555 #a525294a',
' #a5294a94 #5293294 #33301980 #7eefed6b #3e ]'), ), number=elementspersurface)
mdb.models['Model-2'].parts['beam'].seedEdgeBySize(constraint=FINER,
deviationFactor=0.1, edges=
mdb.models['Model-2'].parts['beam'].edges.getSequenceFromMask((
'[#492492aa #92492492 #24924924 #49249249 #24a92492 #49249249 #24952492',
' #49249249 #49249242 #3333336a #33333333 #aaaaaaa3 #3333335a #2a69a69b',
' #52a54a95 #999b6529 #99999999 #55551999 #999ad555 #99999999 #9998d999',
' #66d94a52 #66666666 #55466666 #66b55555 #66666666 #aaa66666 #b65294aa',
' #99999999 #51999999 #ad555555 #99999999 #a9999999 #a924aaaa #5adad6b5',
' #5ad6b56b #fad6cd6b #cccfe67f #81101294 #1 ]'), ), size=bigseed)
mdb.models['Model-2'].parts['beam'].setElementType(elemTypes=(ElemType(
elemCode=S4R, elemLibrary=STANDARD, secondOrderAccuracy=OFF,
hourglassControl=DEFAULT), ElemType(elemCode=S3, elemLibrary=STANDARD)),
regions=(mdb.models['Model-2'].parts['beam'].faces.getSequenceFromMask((
'[#ffffffff:18 ]', ), ), ))
mdb.models['Model-2'].parts['beam'].generateMesh()

### insert residual stress ###

mdb.models['Model-2'].Stress(distributionType=UNIFORM, name=
'Predefined Field-1', region=
mdb.models['Model-2'].rootAssembly.instances['beam-1'].sets['f1'], sigma11=
-resstress1, sigma12=0.0, sigma13=None, sigma22=0.0, sigma23=None, sigma33=None)
mdb.models['Model-2'].Stress(distributionType=UNIFORM, name=
'Predefined Field-2', region=
mdb.models['Model-2'].rootAssembly.instances['beam-1'].sets['f2'], sigma11=
-resstress2, sigma12=0.0, sigma13=None, sigma22=0.0, sigma23=None, sigma33=None)
mdb.models['Model-2'].Stress(distributionType=UNIFORM, name=
'Predefined Field-3', region=
mdb.models['Model-2'].rootAssembly.instances['beam-1'].sets['f3'], sigma11=

138
-resstress3, sigma12=0.0, sigma13=None, sigma22=0.0, sigma23=None, sigma33=None)
mdb.models['Model-2'].Stress(distributionType=UNIFORM, name=
'Predefined Field-4', region=
mdb.models['Model-2'].rootAssembly.instances['beam-1'].sets['f4'], sigma11=
-resstress4, sigma12=0.0, sigma13=None, sigma22=0.0, sigma23=None, sigma33=None)
mdb.models['Model-2'].Stress(distributionType=UNIFORM, name=
'Predefined Field-5', region=
mdb.models['Model-2'].rootAssembly.instances['beam-1'].sets['f5'], sigma11=
-resstress5, sigma12=0.0, sigma13=None, sigma22=0.0, sigma23=None, sigma33=None)
mdb.models['Model-2'].Stress(distributionType=UNIFORM, name=
'Predefined Field-6', region=
mdb.models['Model-2'].rootAssembly.instances['beam-1'].sets['f6'], sigma11=
-resstress6, sigma12=0.0, sigma13=None, sigma22=0.0, sigma23=None, sigma33=None)
mdb.models['Model-2'].Stress(distributionType=UNIFORM, name=
'Predefined Field-7', region=
mdb.models['Model-2'].rootAssembly.instances['beam-1'].sets['f7'], sigma11=
-resstress7, sigma12=0.0, sigma13=None, sigma22=0.0, sigma23=None, sigma33=None)
mdb.models['Model-2'].Stress(distributionType=UNIFORM, name=
'Predefined Field-8', region=
mdb.models['Model-2'].rootAssembly.instances['beam-1'].sets['f8'], sigma11=
-resstress8, sigma12=0.0, sigma13=None, sigma22=0.0, sigma23=None, sigma33=None)
mdb.models['Model-2'].Stress(distributionType=UNIFORM, name=
'Predefined Field-9', region=
mdb.models['Model-2'].rootAssembly.instances['beam-1'].sets['f16'], sigma11=
resstress1, sigma12=0.0, sigma13=None, sigma22=0.0, sigma23=None, sigma33=None)
mdb.models['Model-2'].Stress(distributionType=UNIFORM, name=
'Predefined Field-10', region=
mdb.models['Model-2'].rootAssembly.instances['beam-1'].sets['f15'], sigma11=
resstress2, sigma12=0.0, sigma13=None, sigma22=0.0, sigma23=None, sigma33=None)
mdb.models['Model-2'].Stress(distributionType=UNIFORM, name=
'Predefined Field-11', region=
mdb.models['Model-2'].rootAssembly.instances['beam-1'].sets['f14'], sigma11=
resstress3, sigma12=0.0, sigma13=None, sigma22=0.0, sigma23=None, sigma33=None)
mdb.models['Model-2'].Stress(distributionType=UNIFORM, name=
'Predefined Field-12', region=
mdb.models['Model-2'].rootAssembly.instances['beam-1'].sets['f13'], sigma11=
resstress4, sigma12=0.0, sigma13=None, sigma22=0.0, sigma23=None, sigma33=None)
mdb.models['Model-2'].Stress(distributionType=UNIFORM, name=
'Predefined Field-13', region=
mdb.models['Model-2'].rootAssembly.instances['beam-1'].sets['f12'], sigma11=
resstress5, sigma12=0.0, sigma13=None, sigma22=0.0, sigma23=None, sigma33=None)
mdb.models['Model-2'].Stress(distributionType=UNIFORM, name=
'Predefined Field-14', region=
mdb.models['Model-2'].rootAssembly.instances['beam-1'].sets['f11'], sigma11=
resstress6, sigma12=0.0, sigma13=None, sigma22=0.0, sigma23=None, sigma33=None)
mdb.models['Model-2'].Stress(distributionType=UNIFORM, name=
'Predefined Field-15', region=
mdb.models['Model-2'].rootAssembly.instances['beam-1'].sets['f10'], sigma11=
resstress7, sigma12=0.0, sigma13=None, sigma22=0.0, sigma23=None, sigma33=None)
mdb.models['Model-2'].Stress(distributionType=UNIFORM, name=
'Predefined Field-16', region=
mdb.models['Model-2'].rootAssembly.instances['beam-1'].sets['f9'], sigma11=
resstress8, sigma12=0.0, sigma13=None, sigma22=0.0, sigma23=None, sigma33=None)

### output ###


mdb.models['Model-2'].HistoryOutputRequest(createStepName='RIKS', name=
'reaction force', rebar=EXCLUDE, region=

139
mdb.models['Model-2'].rootAssembly.sets['RP S'], sectionPoints=DEFAULT,
variables=('RF2', ))
mdb.models['Model-2'].HistoryOutputRequest(createStepName='RIKS', name=
'Uz Ctop', rebar=EXCLUDE, region=
mdb.models['Model-2'].rootAssembly.allInstances['beam-1'].sets['Ctop'],
sectionPoints=DEFAULT, variables=('U3', ))
mdb.models['Model-2'].HistoryOutputRequest(createStepName='RIKS', name=
'Uz Btop', rebar=EXCLUDE, region=
mdb.models['Model-2'].rootAssembly.allInstances['beam-1'].sets['Btop'],
sectionPoints=DEFAULT, variables=('U3', ))

### input imperfection ###


mdb.models['Model-2'].keywordBlock.synchVersions(storeNodesAndElements=False)
mdb.models['Model-2'].keywordBlock.replace(132,
'\n** ----------------------------------------------------------------\n** \n** STEP: equilibrium
stresses\n** \n*IMPERFECTION, FILE=change, step=1\n2,change')

mdb.models['Model-2'].rootAssembly.regenerate()

140
141
APPENDIX B: VARIOUS LENGTHS AND RATIOS FOR CONSIDERED BEAMS

profile tw Hw Wy,pl LAB,min LAE,min LAE ,min LAE,max  LBD 


name (mm) (mm) (mm3) (mm) (mm) (mm)  
hbeam  LAE max
IPE 80* 3.8 69.6 2.25E+04 589.2 1571.3 19.6 4000 0.71
IPE 100* 4.1 88.6 3.76E+04 717.3 1912.8 19.1 5000 0.71
IPE 120* 4.4 107.4 5.85E+04 858.1 2288.4 19.1 6000 0.71
IPE 140* 4.7 126.2 8.58E+04 1001.7 2671.1 19.1 7000 0.71
IPE 160* 5 145.2 1.19E+05 1135.2 3027.1 18.9 8000 0.72
IPE 180* 5.3 164 1.61E+05 1282.1 3419.0 19.0 9000 0.72
IPE 200* 5.6 183 2.10E+05 1417.4 3779.8 18.9 10000 0.72
IPE 220* 5.9 201.6 2.73E+05 1591.8 4244.7 19.3 11000 0.71
IPE 240* 6.2 220.4 3.46E+05 1754.3 4678.1 19.5 12000 0.71
IPE 270* 6.6 249.6 4.61E+05 1936.9 5165.0 19.1 13500 0.71
IPE 300* 7.1 278.6 6.02E+05 2108.9 5623.6 18.7 15000 0.72
IPE 330* 7.5 307 7.63E+05 2295.1 6120.3 18.5 16500 0.72
IPE 360* 8 334.6 9.74E+05 2520.3 6720.7 18.7 18000 0.72
IPE 400* 8.6 373 1.24E+06 2674.5 7132.1 17.8 20000 0.73
IPE 450* 9.4 420.8 1.62E+06 2844.3 7584.9 16.9 22500 0.75
IPE 500* 10.2 468 2.11E+06 3058.5 8155.9 16.3 25000 0.76
IPE 550* 11.1 515.6 2.66E+06 3222.7 8593.9 15.6 27500 0.77
IPE 600* 12 562 3.38E+06 3468.3 9248.9 15.4 28000 0.75
HEA 100* 5 80 7.84E+04 1357.9 3621.1 37.7 4800 0.43
HEB 100* 6 80 9.96E+04 1437.6 3833.6 38.3 5000 0.42
HEB 120* 6.5 98 1.59E+05 1734.6 4625.7 38.5 6000 0.42
HEB 140* 7 116 2.39E+05 2035.7 5428.5 38.8 7000 0.42
HEB 160* 8 134 3.42E+05 2208.2 5888.5 36.8 8000 0.45
HEB 180* 8.5 152 4.67E+05 2506.5 6683.9 37.1 9000 0.44
HEB 200* 9 170 6.20E+05 2807.6 7487.0 37.4 10000 0.44
HEB 220* 9.5 188 8.02E+05 3111.2 8296.5 37.7 11000 0.43
HEB 240* 10 206 1.02E+06 3416.8 9111.4 38.0 12000 0.43
HEB 260* 10 225 1.23E+06 3787.2 10099.3 38.8 13000 0.42
HEB 320* 11.5 279 2.07E+06 4460.6 11894.8 37.2 16000 0.44

142
profile tw Hw Wy,pl (mm3) LAB,min LAE,min LAE ,min LAE,max  LBD 
name (mm) (mm) (mm) (mm)  
hbeam  LAE max
HEB 340* 12 297 2.32E+06 4507.9 12021.1 35.4 17000 0.47
HEB 360* 12.5 315 2.59E+06 4554.1 12144.2 33.7 18000 0.49
HEB 400* 13.5 352 3.13E+06 4556.7 12151.1 30.4 20000 0.54
HEA 450* 11.5 398 3.10E+06 4685.1 12493.5 28.4 22000 0.57
HEB 450* 14 398 3.86E+06 4801.5 12804.0 28.5 22500 0.57
HEA 500* 12 444 3.81E+06 4959.1 13224.3 27.0 24500 0.60
HEB 500* 14.5 444 4.68E+06 5035.7 13428.6 26.9 25000 0.60
HEA 550* 12.5 492 4.47E+06 5037.5 13433.3 24.9 27000 0.63
HEB 550* 15 492 5.44E+06 5107.4 13619.7 24.8 27500 0.63
HEA 600* 13 540 5.19E+06 5117.4 13646.4 23.1 28000 0.63
HEB 600* 15.5 540 6.26E+06 5181.6 13817.7 23.0 28000 0.63
HEA 650* 13.5 588 5.96E+06 5198.4 13862.4 21.7 28000 0.63
HEB 650* 16 588 7.14E+06 5257.8 14020.7 21.6 28000 0.62
HEA 700* 14.5 636 6.84E+06 5136.1 13696.3 19.8 28000 0.63
HEB 700* 17 636 8.13E+06 5210.8 13895.6 19.9 28000 0.63
HEA 800* 15 734 8.42E+06 5299.1 14131.0 17.9 28000 0.62
HEB 800* 17.5 734 9.95E+06 5366.9 14311.8 17.9 28000 0.62
HEA 900* 16 830 1.05E+07 5475.6 14601.5 16.4 28000 0.61
HEB 900* 18.5 830 1.23E+07 5535.6 14761.7 16.4 28000 0.60
HEA 1000* 16.5 928 1.25E+07 5642.8 15047.4 15.2 28000 0.60
HEB 1000* 19 928 1.45E+07 5698.3 15195.3 15.2 28000 0.59

min 589.2 1571.3 15.2 0.42


max 5698.3 15195.3 38.8 0.77

143
APPENDIX C

APPENDIX C.1: LIMITS OF E FOR CONSIDERED BEAMS IN S235

profile Ft,max Ft,min min min min h/ max max max e h/


name Apen Dpen e min e Apen Dpen max e
IPE 80* 17942.0 3432.5 19.9 5.0 8.0 10.0 103.8 11.5 21.7 3.7
IPE 100* 24643.1 4591.3 26.6 5.8 8.8 11.3 142.6 13.5 24.7 4.0
IPE 120* 32057.8 5954.6 34.5 6.6 9.6 12.5 185.5 15.4 27.6 4.4
IPE 140* 40237.8 7477.8 43.3 7.4 10.4 13.4 232.9 17.2 30.3 4.6
IPE 160* 49250.9 9075.8 52.5 8.2 11.2 14.3 285.0 19.0 33.1 4.8
IPE 180* 58965.4 10909.2 63.1 9.0 12.0 15.0 341.2 20.8 35.8 5.0
IPE 200* 69521.1 12797.4 74.1 9.7 12.7 15.7 402.3 22.6 38.4 5.2
IPE 220* 80690.0 15164.2 87.8 10.6 13.6 16.2 467.0 24.4 41.1 5.4
IPE 240* 92700.2 17600.0 101.9 11.4 14.4 16.7 536.5 26.1 43.7 5.5
IPE 270* 111754.7 20822.9 120.5 12.4 15.4 17.5 646.7 28.7 47.5 5.7
IPE 300* 134188.9 24501.0 141.8 13.4 16.4 18.3 776.6 31.4 51.7 5.8
IPE 330* 156198.5 28216.9 163.3 14.4 17.4 18.9 903.9 33.9 55.4 6.0
IPE 360* 181590.5 33019.9 191.1 15.6 18.6 19.4 1050.9 36.6 59.4 6.1
IPE 400* 217612.8 37793.0 218.7 16.7 19.7 20.3 1259.3 40.0 64.6 6.2
IPE 450* 268337.2 44054.4 254.9 18.0 21.0 21.4 1552.9 44.5 71.2 6.3
IPE 500* 323834.6 51451.2 297.8 19.5 22.5 22.3 1874.0 48.8 77.8 6.4
IPE 550* 388251.5 59089.9 342.0 20.9 23.9 23.0 2246.8 53.5 84.7 6.5
IPE 600* 457503.9 73598.0 425.9 23.3 26.3 22.8 2647.6 58.1 91.6 6.6
HEA 100* 27135.5 9969.7 57.7 8.6 11.6 8.3 157.0 14.1 25.7 3.7
HEB 100* 32562.6 12159.0 70.4 9.5 12.5 8.0 188.4 15.5 27.7 3.6
HEB 120* 43213.2 16224.8 93.9 10.9 13.9 8.6 250.1 17.8 31.3 3.8
HEB 140* 55085.0 20804.5 120.4 12.4 15.4 9.1 318.8 20.1 34.7 4.0
HEB 160* 72723.0 26069.1 150.9 13.9 16.9 9.5 420.9 23.1 39.2 4.1
HEB 180* 87647.5 31700.7 183.5 15.3 18.3 9.8 507.2 25.4 42.6 4.2
HEB 200* 103793.1 37845.7 219.0 16.7 19.7 10.2 600.7 27.7 46.0 4.3
HEB 220* 121159.8 44504.2 257.5 18.1 21.1 10.4 701.2 29.9 49.3 4.5
HEB 240* 139747.6 51676.1 299.1 19.5 22.5 10.7 808.7 32.1 52.6 4.6
HEB 260* 152637.0 57749.3 334.2 20.6 23.6 11.0 883.3 33.5 54.8 4.7
HEB 320* 217660.3 78805.8 456.1 24.1 27.1 11.8 1259.6 40.0 64.6 5.0
HEB 340* 241777.0 83262.6 481.8 24.8 27.8 12.2 1399.2 42.2 67.8 5.0
HEB 360* 267114.7 87767.3 507.9 25.4 28.4 12.7 1545.8 44.4 71.0 5.1
HEB 400* 322369.3 95384.9 552.0 26.5 29.5 13.6 1865.6 48.7 77.6 5.2
HEA 450* 310497.5 85873.8 497.0 25.2 28.2 15.6 1796.9 47.8 76.2 5.8
HEB 450* 377997.0 104759.5 606.2 27.8 30.8 14.6 2187.5 52.8 83.7 5.4

144
HEA 500* 361444.4 95014.2 549.9 26.5 29.5 16.6 2091.7 51.6 81.9 6.0
HEB 500* 436745.3 114250.7 661.2 29.0 32.0 15.6 2527.5 56.7 89.6 5.6
HEA 550* 417207.7 101090.7 585.0 27.3 30.3 17.8 2414.4 55.4 87.7 6.2
HEB 550* 500649.3 120755.9 698.8 29.8 32.8 16.8 2897.3 60.7 95.6 5.8
HEA 600* 476227.4 113035.4 654.1 28.9 31.9 18.5 2755.9 59.2 93.4 6.3
HEB 600* 567809.6 136464.6 789.7 31.7 34.7 17.3 3285.9 64.7 101.5 5.9
HEA 650* 538503.3 129840.5 751.4 30.9 33.9 18.9 3116.3 63.0 99.0 6.5
HEB 650* 638226.1 155642.3 900.7 33.9 36.9 17.6 3693.4 68.6 107.4 6.1
HEA 700* 625608.1 149035.3 862.5 33.1 36.1 19.1 3620.4 67.9 106.3 6.5
HEB 700* 733471.6 177272.6 1025.9 36.1 39.1 17.9 4244.6 73.5 114.8 6.1
HEA 800* 746903.6 183577.6 1062.4 36.8 39.8 19.9 4322.4 74.2 115.8 6.8
HEB 800* 871387.5 216914.1 1255.3 40.0 43.0 18.6 5042.8 80.1 124.7 6.4
HEA 900* 900897.4 228800.2 1324.1 41.1 44.1 20.2 5213.5 81.5 126.7 7.0
HEB 900* 1041662.6 267452.3 1547.8 44.4 47.4 19.0 6028.1 87.6 135.9 6.6
HEA 1000* 1038745.5 271865.0 1573.3 44.8 47.8 20.7 6011.3 87.5 135.7 7.3
HEB 1000* 1196131.2 316134.4 1829.5 48.3 51.3 19.5 6922.1 93.9 145.3 6.9

145
APPENDIX C.2: LIMITS OF E FOR CONSIDERED BEAMS IN S355

profile Ft,max Ft,min min min min h/ max max max e h/


name Apen Dpen e min e Apen Dpen max e
IPE 80*
27103.8 5185.3 22.0 5.3 8.3 9.6 115.2 12.1 22.7 3.5
IPE 100*
37226.8 6935.7 29.5 6.1 9.1 11.0 158.3 14.2 25.8 3.9
IPE 120*
48427.8 8995.2 38.2 7.0 10.0 12.0 205.9 16.2 28.8 4.2
IPE 140*
60784.8 11296.2 48.0 7.8 10.8 12.9 258.4 18.1 31.7 4.4
IPE 160*
74400.2 13710.3 58.3 8.6 11.6 13.8 316.3 20.1 34.6 4.6
IPE 180*
89075.3 16479.9 70.1 9.4 12.4 14.5 378.7 22.0 37.4 4.8
IPE 200*
105021.2 19332.2 82.2 10.2 13.2 15.1 446.5 23.8 40.3 5.0
IPE 220*
121893.4 22907.5 97.4 11.1 14.1 15.6 518.3 25.7 43.0 5.1
IPE 240*
140036.4 26587.2 113.0 12.0 15.0 16.0 595.4 27.5 45.8 5.2
IPE 270*
168820.9 31455.8 133.7 13.0 16.0 16.8 717.8 30.2 49.8 5.4
IPE 300*
202710.9 37012.1 157.4 14.2 17.2 17.5 861.9 33.1 54.2 5.5
IPE 330*
235959.4 42625.5 181.2 15.2 18.2 18.1 1003.2 35.7 58.1 5.7
IPE 360*
274317.6 49881.1 212.1 16.4 19.4 18.5 1166.3 38.5 62.3 5.8
IPE 400*
328734.3 57091.5 242.7 17.6 20.6 19.4 1397.7 42.2 67.8 5.9
IPE 450*
405360.4 66550.3 283.0 19.0 22.0 20.5 1723.5 46.8 74.8 6.0
IPE 500*
489197.0 77724.2 330.5 20.5 23.5 21.3 2079.9 51.5 81.7 6.1
IPE 550*
586507.6 89263.5 379.5 22.0 25.0 22.0 2493.7 56.3 89.0 6.2
IPE 600*
691122.9 111179.9 472.7 24.5 27.5 21.8 2938.4 61.2 96.2 6.2
HEA 100*
40991.9 15060.6 64.0 9.0 12.0 8.0 174.3 14.9 26.8 3.6
HEB 100*
49190.2 18367.8 78.1 10.0 13.0 7.7 209.1 16.3 29.0 3.5
HEB 120*
65279.6 24509.8 104.2 11.5 14.5 8.3 277.5 18.8 32.7 3.7
HEB 140*
83213.5 31428.1 133.6 13.0 16.0 8.7 353.8 21.2 36.3 3.9
HEB 160*
109858.2 39381.0 167.4 14.6 17.6 9.1 467.1 24.4 41.1 3.9
HEB 180*
132403.7 47888.2 203.6 16.1 19.1 9.4 562.9 26.8 44.7 4.0
HEB 200*
156793.9 57171.1 243.1 17.6 20.6 9.7 666.6 29.1 48.2 4.1
HEB 220*
183028.7 67229.7 285.8 19.1 22.1 10.0 778.2 31.5 51.7 4.3
HEB 240*
211108.1 78063.9 331.9 20.6 23.6 10.2 897.6 33.8 55.2 4.3
HEB 260*
230579.3 87238.3 370.9 21.7 24.7 10.5 980.4 35.3 57.5 4.5
HEB 320*
328806.0 119047.1 506.2 25.4 28.4 11.3 1398.0 42.2 67.8 4.7
HEB 340*
365237.6 125779.7 534.8 26.1 29.1 11.7 1552.9 44.5 71.2 4.8
HEB 360*
403513.7 132584.7 563.7 26.8 29.8 12.1 1715.6 46.7 74.6 4.8
HEB 400*
486983.4 144092.0 612.6 27.9 30.9 12.9 2070.5 51.3 81.5 4.9
HEA 450*
469049.5 129724.3 551.5 26.5 29.5 14.9 1994.3 50.4 80.1 5.5
HEB 450*
571016.7 158253.7 672.8 29.3 32.3 13.9 2427.8 55.6 87.9 5.1
HEA 500*
546011.7 143532.1 610.3 27.9 30.9 15.9 2321.5 54.4 86.1 5.7
HEB 500*
659764.1 172591.5 733.8 30.6 33.6 14.9 2805.1 59.8 94.1 5.3

146
HEA 550*
630250.0 152711.5 649.3 28.8 31.8 17.0 2679.6 58.4 92.1 5.9
HEB 550*
756300.0 182418.5 775.6 31.4 34.4 16.0 3215.6 64.0 100.5 5.5
HEA 600*
719407.3 170755.7 726.0 30.4 33.4 17.7 3058.7 62.4 98.1 6.0
HEB 600*
857754.9 206148.6 876.5 33.4 36.4 16.5 3646.9 68.1 106.7 5.6
HEA 650*
813483.6 196142.0 833.9 32.6 35.6 18.0 3458.7 66.4 104.0 6.2
HEB 650*
964128.8 235119.2 999.7 35.7 38.7 16.8 4099.2 72.2 112.9 5.8
HEA 700*
945067.5 225138.4 957.2 34.9 37.9 18.2 4018.1 71.5 111.8 6.2
HEB 700*
1108010.2 267794.7 1138.6 38.1 41.1 17.0 4710.9 77.4 120.7 5.8
HEA 800*
1128301.2 277319.4 1179.1 38.7 41.7 18.9 4797.2 78.2 121.7 6.5
HEB 800*
1316351.4 327678.7 1393.2 42.1 45.1 17.7 5596.7 84.4 131.1 6.1
HEA 900*
1360930.1 345634.3 1469.5 43.3 46.3 19.2 5786.3 85.8 133.2 6.7
HEB 900*
1573575.4 404023.7 1717.8 46.8 49.8 18.1 6690.4 92.3 142.9 6.3
HEA 1000*
1569168.7 410689.7 1746.1 47.2 50.2 19.7 6671.6 92.2 142.7 6.9
HEB 1000*
1806921.6 477564.7 2030.5 50.8 53.8 18.6 7682.5 98.9 152.9 6.5

147
APPENDIX C.3: LIMITS OF E FOR CONSIDERED BEAMS IN S460

profile Ft,max Ft,min min min min h/ max max max e h/


name Apen Dpen e min e Apen Dpen max e
IPE 80*
35120.4 6719.0 24.6 5.6 8.6 9.3 128.4 12.8 23.7 3.4
IPE 100*
48237.5 8987.1 32.8 6.5 9.5 10.6 176.3 15.0 27.0 3.7
IPE 120*
62751.5 11655.7 42.6 7.4 10.4 11.6 229.4 17.1 30.1 4.0
IPE 140*
78763.4 14637.4 53.5 8.3 11.3 12.4 287.9 19.1 33.2 4.2
IPE 160*
96405.9 17765.5 64.9 9.1 12.1 13.2 352.4 21.2 36.3 4.4
IPE 180*
115421.6 21354.2 78.0 10.0 13.0 13.9 421.9 23.2 39.3 4.6
IPE 200*
136083.8 25050.2 91.6 10.8 13.8 14.5 497.4 25.2 42.2 4.7
IPE 220*
157946.4 29683.0 108.5 11.8 14.8 14.9 577.3 27.1 45.2 4.9
IPE 240*
181455.6 34451.0 125.9 12.7 15.7 15.3 663.2 29.1 48.1 5.0
IPE 270*
218753.9 40759.7 149.0 13.8 16.8 16.1 799.5 31.9 52.4 5.2
IPE 300*
262667.7 47959.4 175.3 14.9 17.9 16.7 960.0 35.0 56.9 5.3
IPE 330*
305750.3 55233.1 201.9 16.0 19.0 17.3 1117.5 37.7 61.1 5.4
IPE 360*
355453.8 64634.6 236.2 17.3 20.3 17.7 1299.2 40.7 65.5 5.5
IPE 400*
425965.6 73977.7 270.4 18.6 21.6 18.6 1556.9 44.5 71.3 5.6
IPE 450*
525255.7 86234.2 315.2 20.0 23.0 19.5 1919.8 49.4 78.7 5.7
IPE 500*
633889.0 100713.1 368.1 21.6 24.6 20.3 2316.8 54.3 86.0 5.8
IPE 550*
759981.6 115665.4 422.8 23.2 26.2 21.0 2777.7 59.5 93.7 5.9
IPE 600*
895539.5 144064.1 526.6 25.9 28.9 20.8 3273.2 64.6 101.3 5.9
HEA 100*
53116.2 19515.2 71.3 9.5 12.5 7.7 194.1 15.7 28.1 3.4
HEB 100*
63739.5 23800.5 87.0 10.5 13.5 7.4 233.0 17.2 30.3 3.3
HEB 120*
84587.6 31759.2 116.1 12.2 15.2 7.9 309.2 19.8 34.3 3.5
HEB 140*
107825.9 40723.7 148.8 13.8 16.8 8.4 394.1 22.4 38.1 3.7
HEB 160*
142351.5 51028.9 186.5 15.4 18.4 8.7 520.3 25.7 43.1 3.7
HEB 180*
171565.4 62052.3 226.8 17.0 20.0 9.0 627.1 28.3 46.9 3.8
HEB 200*
203169.6 74080.9 270.8 18.6 21.6 9.3 742.6 30.7 50.6 4.0
HEB 220*
237163.9 87114.6 318.4 20.1 23.1 9.5 866.8 33.2 54.3 4.0
HEB 240*
273548.6 101153.2 369.7 21.7 24.7 9.7 999.8 35.7 58.0 4.1
HEB 260*
298778.8 113041.2 413.2 22.9 25.9 10.0 1092.0 37.3 60.4 4.3
HEB 320*
426058.5 154258.2 563.8 26.8 29.8 10.7 1557.2 44.5 71.3 4.5
HEB 340*
473265.6 162982.1 595.7 27.5 30.5 11.1 1729.8 46.9 74.9 4.5
HEB 360*
522862.8 171799.9 627.9 28.3 31.3 11.5 1911.0 49.3 78.5 4.6
HEB 400*
631020.8 186710.8 682.4 29.5 32.5 12.3 2306.4 54.2 85.8 4.7
HEA 450*
607782.4 168093.4 614.4 28.0 31.0 14.2 2221.4 53.2 84.3 5.2
HEB 450*
739909.0 205061.2 749.5 30.9 33.9 13.3 2704.3 58.7 92.5 4.9
HEA 500*
707508.1 185985.2 679.8 29.4 32.4 15.1 2585.9 57.4 90.6 5.4
HEB 500*
854905.6 223639.7 817.4 32.3 35.3 14.2 3124.7 63.1 99.1 5.0

148
HEA 550*
816662.0 197879.7 723.2 30.3 33.3 16.2 2984.9 61.6 97.0 5.6
HEB 550*
979994.3 236373.3 863.9 33.2 36.2 15.2 3581.9 67.5 105.8 5.2
HEA 600*
932189.7 221260.9 808.7 32.1 35.1 16.8 3407.1 65.9 103.3 5.7
HEB 600*
1111457.0 267122.2 976.3 35.3 38.3 15.7 4062.3 71.9 112.4 5.3
HEA 650*
1054091.5 254155.8 928.9 34.4 37.4 17.1 3852.7 70.0 109.6 5.8
HEB 650*
1249293.6 304661.5 1113.5 37.7 40.7 16.0 4566.1 76.2 118.9 5.5
HEA 700*
1224594.6 291728.7 1066.3 36.8 39.8 17.3 4475.9 75.5 117.7 5.9
HEB 700*
1435731.6 347001.6 1268.3 40.2 43.2 16.2 5247.6 81.7 127.1 5.5
HEA 800*
1462024.1 359343.4 1313.4 40.9 43.9 18.0 5343.7 82.5 128.2 6.2
HEB 800*
1705694.8 424597.8 1551.9 44.5 47.5 16.9 6234.3 89.1 138.1 5.8
HEA 900*
1763458.7 447864.2 1636.9 45.7 48.7 18.3 6445.4 90.6 140.4 6.3
HEB 900*
2038999.1 523523.6 1913.5 49.4 52.4 17.2 7452.5 97.4 150.6 6.0
HEA 1000*
2033289.1 532161.3 1945.0 49.8 52.8 18.8 7431.6 97.3 150.4 6.6
HEB 1000*
2341363.2 618816.2 2261.8 53.7 56.7 17.6 8557.6 104.4 161.1 6.2

149
APPENDIX D: OVERVIEW OF DIFFERENT MODELS USED.

APPENDIX D.1: 421 MOELS USED TO CREATE C 1


Profile LAE (m) LBD/LAE (-) Mcr,FEM (kNm) C2,provisional (-) C1,FEM(-)
HEA 400* 17.00 0.23 214.5 0.514 0.606
HEA 400* 16.00 0.24 239.6 0.509 0.627
HEA 360* 5.40 0.25 1477.6 0.507 0.884
IPE 400* 6.00 0.25 247.1 0.507 0.854
IPE 400* 6.00 0.25 247.1 0.507 0.854
HEA 400* 7.00 0.25 1106.6 0.507 0.854
IPE 500* 7.50 0.25 325.9 0.507 0.839
HEB 200* 3.00 0.25 678.1 0.507 0.839
HEB 400* 6.00 0.25 1907.1 0.507 0.833
IPE 200* 3.00 0.25 53.5 0.507 0.826
HEA 400* 8.00 0.25 864.6 0.507 0.829
HEA 800* 12.00 0.25 1192.5 0.507 0.805
IPE 140* 2.10 0.25 24.2 0.507 0.796
HEA 400* 9.00 0.25 695.5 0.507 0.802
HEA 360* 9.00 0.25 575.4 0.507 0.797
IPE 100* 1.50 0.25 12.0 0.507 0.765
HEA 400* 10.00 0.25 572.5 0.507 0.775
HEA 450* 11.25 0.25 572.2 0.507 0.748
HEA 400* 11.00 0.25 480.1 0.507 0.748
IPE 400* 10.00 0.25 95.9 0.507 0.726
HEA 400* 12.00 0.25 408.7 0.507 0.722
HEB 200* 5.00 0.25 265.4 0.507 0.716
HEB 400* 10.00 0.25 745.3 0.507 0.704
IPE 200* 5.00 0.25 20.7 0.507 0.680
HEA 400* 13.00 0.25 352.3 0.507 0.697
IPE 400* 12.00 0.25 68.3 0.507 0.666
HEA 400* 14.00 0.25 307.0 0.507 0.672
HEA 800* 20.00 0.25 464.1 0.507 0.657
IPE 500* 15.00 0.25 90.1 0.507 0.640
HEA 360* 14.40 0.25 240.9 0.507 0.656
HEA 400* 15.00 0.25 270.0 0.507 0.649
IPE 600* 18.00 0.25 120.0 0.507 0.611
HEA 400* 16.00 0.25 239.3 0.507 0.626
HEA 400* 17.00 0.25 213.6 0.507 0.605
IPE 140* 4.20 0.25 6.7 0.507 0.572
HEA 450* 18.00 0.25 238.8 0.507 0.593
IPE 400* 16.00 0.25 39.8 0.507 0.565

150
Profile LAE (m) LBD/LAE (-) Mcr,FEM (kNm) C2,provisional (-) C1,FEM(-)
HEA 400* 18.00 0.25 191.8 0.507 0.585
HEA 400* 19.00 0.25 173.2 0.507 0.566
IPE 100* 3.00 0.25 3.3 0.507 0.530
HEB 200* 8.00 0.25 110.4 0.507 0.557
HEA 800* 28.00 0.25 246.8 0.507 0.539
HEB 400* 16.00 0.25 309.8 0.507 0.544
IPE 200* 8.00 0.25 8.6 0.507 0.514
HEB 260* 3.90 0.25 1333.4 0.506 0.859
HEA 500* 7.35 0.25 1521.4 0.506 0.847
HEB 400* 6.00 0.25 1906.4 0.506 0.833
HEA 600* 8.85 0.25 1406.0 0.506 0.832
HEB 180* 2.70 0.25 512.6 0.506 0.831
HEA 700* 10.35 0.25 1327.2 0.506 0.816
HEB 140* 2.10 0.25 264.6 0.506 0.806
HEB 500* 7.50 0.25 1830.1 0.506 0.800
HEA 1000* 14.85 0.25 1106.9 0.506 0.780
HEB 600* 9.00 0.25 1675.4 0.506 0.785
HEB 100* 1.50 0.25 111.9 0.506 0.759
HEB 1000* 15.00 0.25 1288.0 0.506 0.735
HEB 260* 7.80 0.25 372.9 0.506 0.700
HEA 900* 20.03 0.25 557.2 0.506 0.671
HEA 1000* 22.28 0.25 523.3 0.506 0.658
HEA 500* 14.70 0.25 424.1 0.506 0.669
HEB 220* 6.60 0.25 244.3 0.506 0.669
HEB 400* 12.00 0.25 531.4 0.506 0.644
HEA 600* 17.70 0.25 391.2 0.506 0.641
HEB 180* 5.40 0.25 143.0 0.506 0.642
HEB 1000* 22.50 0.25 607.4 0.506 0.603
HEA 700* 20.70 0.25 368.2 0.506 0.611
HEB 140* 4.20 0.25 73.7 0.506 0.603
HEB 500* 15.00 0.25 509.1 0.506 0.593
HEB 600* 18.00 0.25 464.6 0.506 0.571
HEA 900* 28.00 0.25 297.5 0.506 0.555
HEB 1000* 28.00 0.25 402.3 0.506 0.527
HEB 100* 3.00 0.25 30.9 0.506 0.535
HEB 260* 13.00 0.25 143.3 0.506 0.524
HEA 700* 28.00 0.25 208.1 0.506 0.505
HEA 500* 24.50 0.25 162.2 0.506 0.491
HEB 220* 11.00 0.25 93.4 0.506 0.491
HEB 400* 20.00 0.25 202.5 0.506 0.466
HEB 180* 9.00 0.25 54.5 0.506 0.463

151
Profile LAE (m) LBD/LAE (-) Mcr,FEM (kNm) C2,provisional (-) C1,FEM(-)
HEA 400* 15.00 0.26 269.4 0.503 0.648
HEA 100* 4.80 0.26 9.9 0.503 0.449
HEA 400* 7.00 0.27 1097.7 0.499 0.851
HEA 400* 14.00 0.28 305.2 0.496 0.671
HEB 340* 5.10 0.30 1923.0 0.487 0.846
HEA 400* 7.00 0.30 1086.8 0.487 0.849
IPE 220* 3.30 0.30 68.6 0.487 0.826
IPE 180* 2.70 0.30 41.5 0.487 0.813
HEA 400* 9.00 0.30 685.2 0.487 0.799
HEB 600* 9.00 0.30 1649.5 0.487 0.781
HEB 700* 10.50 0.30 1543.7 0.487 0.765
HEA 400* 11.00 0.30 474.2 0.487 0.746
HEA 400* 12.00 0.30 404.1 0.487 0.721
IPE 330* 9.90 0.30 48.7 0.487 0.680
IPE 270* 8.10 0.30 31.8 0.487 0.663
HEB 340* 10.20 0.30 542.2 0.487 0.681
HEA 400* 14.00 0.30 304.2 0.487 0.672
HEA 400* 15.00 0.30 267.8 0.487 0.649
IPE 220* 6.60 0.30 19.1 0.487 0.626
HEA 400* 16.00 0.30 237.5 0.487 0.626
HEA 400* 17.00 0.30 212.2 0.487 0.605
HEA 400* 18.00 0.30 190.7 0.487 0.585
HEA 400* 19.00 0.30 172.3 0.487 0.566
HEB 700* 21.00 0.30 430.2 0.487 0.546
HEA 450* 22.00 0.30 162.7 0.487 0.523
HEB 900* 28.00 0.30 350.8 0.487 0.501
HEB 340* 17.00 0.30 209.1 0.487 0.506
HEB 600* 24.00 0.30 268.3 0.487 0.471
HEB 700* 28.00 0.30 249.4 0.487 0.448
HEA 400* 6.00 0.32 1432.4 0.480 0.869
HEA 400* 12.00 0.33 402.5 0.476 0.721
HEA 400* 8.00 0.35 839.0 0.465 0.825
HEA 400* 10.00 0.35 559.2 0.465 0.774
HEA 400* 12.00 0.35 401.3 0.465 0.723
HEA 400* 13.00 0.35 346.8 0.465 0.699
HEA 400* 15.00 0.35 266.9 0.465 0.652
HEA 400* 16.00 0.35 237.0 0.465 0.630
HEA 400* 17.00 0.35 211.9 0.465 0.610
HEA 400* 19.00 0.35 172.4 0.465 0.571
HEA 400* 11.00 0.35 469.9 0.463 0.749
HEA 400* 10.00 0.39 555.8 0.445 0.778

152
Profile LAE (m) LBD/LAE (-) Mcr,FEM (kNm) C2,provisional (-) C1,FEM(-)
HEA 400* 6.00 0.40 1391.6 0.440 0.868
HEA 400* 8.00 0.40 829.3 0.440 0.828
HEA 400* 9.00 0.40 670.9 0.440 0.804
HEA 400* 10.00 0.40 555.1 0.440 0.779
HEA 400* 12.00 0.40 399.9 0.440 0.729
HEA 400* 13.00 0.40 346.2 0.440 0.705
HEA 400* 14.00 0.40 302.8 0.440 0.682
HEA 400* 15.00 0.40 267.2 0.440 0.660
HEA 400* 16.00 0.40 237.6 0.440 0.638
HEA 400* 17.00 0.40 212.7 0.440 0.617
HEA 400* 18.00 0.40 191.5 0.440 0.598
HEA 400* 19.00 0.40 173.4 0.440 0.579
HEA 400* 19.00 0.42 173.9 0.431 0.582
HEA 400* 9.00 0.43 667.4 0.421 0.809
HEA 400* 18.00 0.44 192.9 0.418 0.606
HEA 450* 6.75 0.45 1370.9 0.411 0.857
HEA 400* 7.00 0.45 1041.0 0.411 0.855
HEA 400* 8.00 0.45 820.8 0.411 0.834
HEA 400* 9.00 0.45 665.8 0.411 0.811
HEA 400* 10.00 0.45 552.3 0.411 0.787
HEA 400* 11.00 0.45 466.4 0.411 0.763
HEA 400* 12.00 0.45 399.6 0.411 0.739
HEA 400* 14.00 0.45 303.8 0.411 0.693
HEA 400* 15.00 0.45 268.5 0.411 0.671
HEA 400* 16.00 0.45 239.2 0.411 0.649
HEA 450* 18.00 0.45 240.0 0.411 0.617
HEA 400* 18.00 0.45 193.4 0.411 0.609
HEA 400* 19.00 0.45 175.3 0.411 0.591
HEA 400* 8.00 0.49 814.9 0.388 0.840
HEA 400* 16.00 0.49 241.3 0.384 0.662
HEA 900* 15.00 0.50 908.3 0.380 0.775
HEA 650* 15.00 0.50 584.6 0.380 0.734
HEA 600* 15.00 0.50 522.2 0.380 0.723
IPE 450* 15.00 0.50 64.5 0.380 0.654
HEB 320* 15.00 0.50 246.4 0.380 0.585
HEA 450* 15.00 0.50 335.2 0.380 0.690
HEB 600* 15.00 0.50 651.2 0.380 0.664
HEB 450* 15.00 0.50 433.1 0.380 0.617
IPE 360* 15.00 0.50 33.2 0.380 0.593
IPE 330* 15.00 0.50 23.3 0.380 0.574
HEA 360* 5.40 0.50 1344.4 0.380 0.882

153
Profile LAE (m) LBD/LAE (-) Mcr,FEM (kNm) C2,provisional (-) C1,FEM(-)
IPE 400* 6.00 0.50 229.4 0.380 0.862
IPE 400* 6.00 0.50 229.4 0.380 0.862
HEA 400* 7.00 0.50 1027.5 0.380 0.862
HEB 220* 3.30 0.50 810.3 0.380 0.851
IPE 500* 7.50 0.50 304.1 0.380 0.848
HEB 200* 3.00 0.50 630.1 0.380 0.846
HEB 400* 6.00 0.50 1772.3 0.380 0.839
IPE 200* 3.00 0.50 50.2 0.380 0.837
HEA 400* 8.00 0.50 812.9 0.380 0.843
IPE 180* 2.70 0.50 39.7 0.380 0.830
HEA 800* 12.00 0.50 1120.4 0.380 0.815
IPE 140* 2.10 0.50 23.0 0.380 0.811
HEA 400* 9.00 0.50 661.4 0.380 0.821
HEA 360* 9.00 0.50 549.1 0.380 0.818
HEB 600* 9.00 0.50 1579.8 0.380 0.795
HEA 1000* 15.00 0.50 1029.9 0.380 0.790
HEA 400* 10.00 0.50 550.2 0.380 0.798
HEA 800* 15.00 0.50 760.2 0.380 0.766
HEB 1000* 15.00 0.50 1233.8 0.380 0.750
HEA 400* 11.00 0.50 465.9 0.380 0.774
HEA 700* 15.00 0.50 651.7 0.380 0.742
HEA 400* 12.00 0.50 400.3 0.380 0.751
HEB 800* 15.00 0.50 927.6 0.380 0.718
HEB 400* 10.00 0.50 730.3 0.380 0.731
IPE 600* 15.00 0.50 166.8 0.380 0.704
IPE 330* 9.90 0.50 48.8 0.380 0.713
IPE 200* 5.00 0.50 20.5 0.380 0.710
HEA 400* 13.00 0.50 348.0 0.380 0.729
IPE550* 15.00 0.50 121.8 0.380 0.694
IPE 400* 12.00 0.50 68.0 0.380 0.699
HEA 550* 15.00 0.50 462.8 0.380 0.710
HEB 700* 15.00 0.50 800.5 0.380 0.689
HEA 400* 14.00 0.50 305.7 0.380 0.706
HEA 800* 20.00 0.50 460.3 0.380 0.686
HEB 220* 6.60 0.50 242.9 0.380 0.702
IPE 500* 15.00 0.50 90.2 0.380 0.674
IPE 500* 15.00 0.50 90.2 0.380 0.674
HEA 500* 15.00 0.50 406.2 0.380 0.694
HEB 650* 15.00 0.50 723.5 0.380 0.678
HEA 400* 15.00 0.50 270.8 0.380 0.685
HEA 400* 15.00 0.50 270.8 0.380 0.685

154
Profile LAE (m) LBD/LAE (-) Mcr,FEM (kNm) C2,provisional (-) C1,FEM(-)
HEA 320* 15.00 0.50 176.6 0.380 0.682
HEA 340* 15.00 0.50 199.9 0.380 0.680
HEA 360* 15.00 0.50 224.7 0.380 0.679
HEA 400* 16.00 0.50 241.6 0.380 0.664
IPE 400* 15.00 0.50 45.8 0.380 0.626
HEA 400* 17.00 0.50 217.0 0.380 0.644
IPE 140* 4.20 0.50 6.8 0.380 0.608
HEB 500* 15.00 0.50 514.7 0.380 0.627
IPE 400* 16.00 0.50 40.8 0.380 0.604
HEA 400* 18.00 0.50 196.1 0.380 0.625
HEB 400* 15.00 0.50 357.9 0.380 0.605
HEB 200* 8.00 0.50 113.5 0.380 0.596
HEA 800* 28.00 0.50 253.6 0.380 0.576
HEB 360* 15.00 0.50 303.2 0.380 0.592
HEB 340* 15.00 0.50 274.1 0.380 0.588
HEB 400* 16.00 0.50 318.9 0.380 0.583
IPE 200* 8.00 0.50 8.9 0.380 0.553
HEB 220* 11.00 0.50 97.7 0.380 0.532
HEB 600* 24.00 0.50 281.3 0.380 0.508
IPE 180* 9.00 0.50 4.6 0.380 0.463
HEB 550* 15.00 0.50 581.7 0.380 0.647
HEB 900* 15.00 0.50 1094.6 0.380 0.731
HEB 340* 5.10 0.50 1805.7 0.379 0.854
HEA 600* 8.85 0.50 1305.9 0.379 0.838
HEB 180* 2.70 0.50 478.2 0.379 0.840
HEB 140* 2.10 0.50 248.9 0.379 0.818
HEB 500* 7.50 0.50 1716.5 0.379 0.808
HEA 1000* 14.85 0.50 1047.8 0.379 0.793
HEB 600* 9.00 0.50 1579.5 0.379 0.796
HEB 900* 13.50 0.50 1313.7 0.379 0.758
HEB 1000* 15.00 0.50 1233.7 0.379 0.750
HEA 450* 13.20 0.50 419.3 0.379 0.729
HEB 260* 7.80 0.50 367.4 0.379 0.731
HEA 900* 20.03 0.50 549.3 0.379 0.698
HEB 340* 10.20 0.50 541.8 0.379 0.713
HEA 1000* 22.28 0.50 517.4 0.379 0.686
HEA 500* 14.70 0.50 420.9 0.379 0.701
HEA 600* 17.70 0.50 391.1 0.379 0.674
HEB 180* 5.40 0.50 143.3 0.379 0.676
HEB 900* 20.25 0.50 648.4 0.379 0.643
HEB 1000* 22.50 0.50 608.2 0.379 0.633

155
Profile LAE (m) LBD/LAE (-) Mcr,FEM (kNm) C2,provisional (-) C1,FEM(-)
HEB 140* 4.20 0.50 74.6 0.379 0.638
HEA 1000* 28.00 0.50 345.7 0.379 0.613
HEB 500* 15.00 0.50 514.9 0.379 0.628
HEB 600* 18.00 0.50 472.3 0.379 0.605
HEA 900* 28.00 0.50 304.0 0.379 0.590
HEB 1000* 28.00 0.50 412.2 0.379 0.560
HEA 450* 22.00 0.50 169.7 0.379 0.563
HEB 260* 13.00 0.50 148.8 0.379 0.566
HEB 900* 28.00 0.50 363.9 0.379 0.536
HEB 340* 17.00 0.50 218.8 0.379 0.546
HEA 500* 24.50 0.50 169.5 0.379 0.531
HEB 180* 9.00 0.50 57.3 0.379 0.504
HEB 140* 7.00 0.50 29.6 0.379 0.466
HEB 600* 28.00 0.50 211.9 0.379 0.457
HEB 500* 25.00 0.50 204.4 0.379 0.456
HEA 400* 6.00 0.55 1322.2 0.346 0.882
IPE 270* 4.05 0.55 106.3 0.346 0.869
HEA 400* 7.00 0.55 1013.6 0.346 0.870
HEB 400* 6.00 0.55 1748.4 0.346 0.846
IPE 220* 3.30 0.55 64.6 0.346 0.850
IPE 600* 9.00 0.55 403.6 0.346 0.840
HEA 400* 8.00 0.55 805.0 0.346 0.853
HEA 700* 10.35 0.55 1227.9 0.346 0.832
HEA 400* 9.00 0.55 657.3 0.346 0.832
IPE 100* 1.50 0.55 11.5 0.346 0.795
HEA 400* 10.00 0.55 548.6 0.346 0.810
HEA 400* 11.00 0.55 465.9 0.346 0.788
HEA 400* 12.00 0.55 401.5 0.346 0.766
HEA 400* 13.00 0.55 350.0 0.346 0.744
IPE 270* 8.10 0.55 32.2 0.346 0.712
HEA 400* 14.00 0.55 308.2 0.346 0.723
HEA 400* 15.00 0.55 273.7 0.346 0.702
IPE 220* 6.60 0.55 19.6 0.346 0.677
IPE 600* 18.00 0.55 122.4 0.346 0.662
HEA 400* 16.00 0.55 244.8 0.346 0.682
HEA 700* 20.70 0.55 375.2 0.346 0.661
HEA 400* 17.00 0.55 220.4 0.346 0.662
HEA 400* 18.00 0.55 199.5 0.346 0.643
HEA 400* 19.00 0.55 181.5 0.346 0.625
IPE 270* 13.50 0.55 13.1 0.346 0.542
HEB 400* 20.00 0.55 218.7 0.346 0.525

156
Profile LAE (m) LBD/LAE (-) Mcr,FEM (kNm) C2,provisional (-) C1,FEM(-)
HEA 400* 7.00 0.56 1011.6 0.341 0.872
HEA 400* 14.00 0.56 309.1 0.335 0.728
HEA 400* 6.00 0.60 1296.7 0.308 0.889
HEA 400* 8.00 0.60 796.4 0.308 0.864
HEA 400* 9.00 0.60 652.8 0.308 0.845
HEA 400* 10.00 0.60 546.8 0.308 0.825
HEA 400* 11.00 0.60 466.1 0.308 0.804
HEA 400* 12.00 0.60 402.9 0.308 0.783
HEA 400* 13.00 0.60 352.4 0.308 0.762
HEA 400* 14.00 0.60 311.2 0.308 0.742
HEA 400* 15.00 0.60 277.2 0.308 0.722
HEA 400* 16.00 0.60 248.6 0.308 0.702
HEA 400* 18.00 0.60 203.6 0.308 0.665
HEA 400* 19.00 0.60 185.6 0.308 0.647
HEA 400* 13.00 0.61 352.8 0.302 0.765
HEA 400* 19.00 0.63 188.0 0.288 0.660
HEA 400* 6.00 0.65 1268.4 0.268 0.896
HEA 400* 6.00 0.65 1268.4 0.268 0.896
HEA 400* 7.00 0.65 981.5 0.268 0.888
HEA 400* 8.00 0.65 786.3 0.268 0.875
HEA 400* 10.00 0.65 544.3 0.268 0.839
HEA 400* 11.00 0.65 465.7 0.268 0.820
HEA 400* 14.00 0.65 314.2 0.268 0.762
HEA 400* 15.00 0.65 280.8 0.268 0.743
HEA 400* 16.00 0.65 252.6 0.268 0.725
HEA 400* 17.00 0.65 228.6 0.268 0.707
HEA 400* 18.00 0.65 208.0 0.268 0.689
HEA 400* 19.00 0.65 190.2 0.268 0.672
HEA 400* 12.00 0.66 404.1 0.261 0.803
HEA 400* 18.00 0.66 209.0 0.259 0.695
IPE 400* 6.00 0.70 214.8 0.225 0.896
IPE 400* 6.00 0.70 214.8 0.225 0.896
HEA 400* 7.00 0.70 961.5 0.225 0.896
HEB 400* 6.00 0.70 1654.7 0.225 0.867
IPE 180* 2.70 0.70 37.7 0.225 0.866
HEA 900* 13.35 0.70 1057.8 0.225 0.833
HEA 400* 9.00 0.70 639.6 0.225 0.870
HEB 600* 9.00 0.70 1499.5 0.225 0.826
HEB 700* 10.50 0.70 1419.5 0.225 0.812
HEA 400* 10.00 0.70 540.2 0.225 0.853
HEB 900* 13.50 0.70 1263.3 0.225 0.790

157
Profile LAE (m) LBD/LAE (-) Mcr,FEM (kNm) C2,provisional (-) C1,FEM(-)
HEA 400* 11.00 0.70 464.0 0.225 0.836
IPE 400* 10.00 0.70 93.8 0.225 0.814
HEA 400* 12.00 0.70 404.2 0.225 0.818
IPE 330* 9.90 0.70 50.1 0.225 0.783
HEA 450* 13.20 0.70 426.4 0.225 0.796
HEA 900* 20.03 0.70 554.8 0.225 0.753
IPE 400* 12.00 0.70 70.2 0.225 0.770
HEA 400* 14.00 0.70 316.7 0.225 0.782
HEA 400* 15.00 0.70 283.9 0.225 0.765
HEB 400* 12.00 0.70 551.1 0.225 0.748
HEA 400* 16.00 0.70 256.3 0.225 0.748
HEA 400* 17.00 0.70 232.8 0.225 0.731
HEA 400* 17.00 0.70 232.8 0.225 0.731
HEA 450* 18.00 0.70 260.9 0.225 0.716
IPE 400* 16.00 0.70 44.3 0.225 0.690
HEA 400* 18.00 0.70 212.5 0.225 0.714
HEB 600* 18.00 0.70 501.7 0.225 0.678
HEA 400* 19.00 0.70 194.9 0.225 0.699
HEB 700* 21.00 0.70 473.5 0.225 0.654
IPE 330* 16.50 0.70 22.0 0.225 0.635
HEA 450* 22.00 0.70 189.0 0.225 0.657
HEB 400* 20.00 0.70 242.4 0.225 0.600
HEB 700* 28.00 0.70 296.4 0.225 0.567
IPE 180* 9.00 0.70 5.4 0.225 0.555
HEB 600* 28.00 0.70 244.0 0.225 0.545
HEA 400* 11.00 0.72 462.9 0.208 0.841
HEA 400* 16.00 0.74 258.8 0.184 0.767
HEA 360* 5.40 0.75 1185.8 0.179 0.906
HEA 400* 6.00 0.75 1199.4 0.179 0.905
IPE 270* 4.05 0.75 98.3 0.179 0.899
HEA 400* 7.00 0.75 944.7 0.179 0.909
IPE 500* 7.50 0.75 279.0 0.179 0.886
HEB 200* 3.00 0.75 569.4 0.179 0.875
HEB 400* 6.00 0.75 1608.1 0.179 0.868
IPE 220* 3.30 0.75 60.1 0.179 0.879
IPE 200* 3.00 0.75 46.3 0.179 0.876
HEA 400* 8.00 0.75 757.3 0.179 0.892
HEA 800* 12.00 0.75 1034.1 0.179 0.849
HEA 400* 9.00 0.75 628.8 0.179 0.879
HEA 360* 9.00 0.75 525.9 0.179 0.881
HEB 600* 9.00 0.75 1460.0 0.179 0.826

158
Profile LAE (m) LBD/LAE (-) Mcr,FEM (kNm) C2,provisional (-) C1,FEM(-)
IPE 100* 1.50 0.75 10.9 0.179 0.822
HEA 400* 10.00 0.75 533.3 0.179 0.864
HEA 400* 11.00 0.75 460.0 0.179 0.848
HEA 400* 12.00 0.75 402.3 0.179 0.833
HEB 200* 5.00 0.75 258.2 0.179 0.815
IPE 200* 5.00 0.75 20.8 0.179 0.785
HEA 400* 13.00 0.75 355.8 0.179 0.816
IPE 270* 8.10 0.75 33.0 0.179 0.783
HEA 400* 14.00 0.75 317.6 0.179 0.800
HEA 800* 20.00 0.75 468.1 0.179 0.759
IPE 500* 15.00 0.75 94.0 0.179 0.761
HEA 400* 15.00 0.75 285.9 0.179 0.785
IPE 220* 6.60 0.75 20.4 0.179 0.749
IPE 600* 18.00 0.75 127.5 0.179 0.733
HEB 600* 15.00 0.75 666.7 0.179 0.736
HEA 400* 16.00 0.75 259.0 0.179 0.769
HEA 400* 17.00 0.75 236.1 0.179 0.754
IPE 140* 4.20 0.75 7.3 0.179 0.700
HEA 400* 18.00 0.75 216.2 0.179 0.739
HEA 400* 19.00 0.75 199.0 0.179 0.724
IPE 100* 3.00 0.75 3.7 0.179 0.659
HEB 200* 8.00 0.75 126.0 0.179 0.707
HEA 800* 28.00 0.75 279.1 0.179 0.675
HEB 400* 16.00 0.75 355.2 0.179 0.692
IPE 200* 8.00 0.75 10.0 0.179 0.663
IPE 270* 13.50 0.75 14.9 0.179 0.645
HEB 600* 24.00 0.75 323.1 0.179 0.615
IPE 220* 11.00 0.75 9.2 0.179 0.606
IPE 140* 7.00 0.75 3.2 0.179 0.552
IPE 100* 5.00 0.75 1.6 0.179 0.509
HEB 260* 3.90 0.75 1089.5 0.178 0.884
HEB 340* 5.10 0.75 1616.3 0.178 0.879
HEA 700* 10.35 0.75 1139.4 0.178 0.857
HEB 140* 2.10 0.75 228.5 0.178 0.849
HEB 500* 7.50 0.75 1575.8 0.178 0.838
HEA 1000* 14.85 0.75 972.4 0.178 0.824
HEB 100* 1.50 0.75 100.6 0.178 0.813
HEB 1000* 15.00 0.75 1155.5 0.178 0.778
HEB 260* 7.80 0.75 372.0 0.178 0.812
HEB 340* 10.20 0.75 553.1 0.178 0.796
HEB 220* 6.60 0.75 249.9 0.178 0.788

159
Profile LAE (m) LBD/LAE (-) Mcr,FEM (kNm) C2,provisional (-) C1,FEM(-)
HEA 600* 17.70 0.75 406.0 0.178 0.758
HEA 100* 2.88 0.75 27.7 0.178 0.757
HEB 1000* 22.50 0.75 620.3 0.178 0.695
HEB 500* 15.00 0.75 545.5 0.178 0.715
HEB 1000* 28.00 0.75 443.3 0.178 0.641
HEB 100* 3.00 0.75 34.9 0.178 0.669
HEB 260* 13.00 0.75 170.4 0.178 0.688
HEA 700* 28.00 0.75 244.7 0.178 0.652
HEB 340* 17.00 0.75 252.9 0.178 0.668
HEB 220* 11.00 0.75 114.0 0.178 0.657
HEA 600* 28.00 0.75 200.1 0.178 0.638
HEB 180* 9.00 0.75 67.9 0.178 0.628
HEA 100* 4.80 0.75 12.5 0.178 0.615
HEB 100* 5.00 0.75 15.5 0.178 0.522
HEA 1000* 22.28 0.75 519.0 0.178 0.749

160
161
APPENDIX D.2: 295 MODELS USED TO DETERMINE C 2
Profile LAE (m) LBD/LAE (-) Mcr,FEM (kNm) h/e (-) C1,formula (-) C2,FEM (-)
HEB180* 8.10 0.47 103.0 3.30 0.607 1.394
IPE180* 8.10 0.48 8.0 3.30 0.569 1.253
IPE180* 2.70 0.65 50.5 3.30 0.875 0.700
IPE180* 3.60 0.65 31.2 3.30 0.827 0.755
HEB220* 7.70 0.47 264.7 3.30 0.706 1.148
HEB220* 8.80 0.47 211.6 3.30 0.666 1.241
HEB220* 5.50 0.65 436.7 3.30 0.821 0.763
HEB220* 6.60 0.65 327.4 3.30 0.783 0.833
HEB260* 11.70 0.47 260.0 3.30 0.654 1.278
HEB260* 13.00 0.48 217.5 3.30 0.623 1.355
HEB260* 5.20 0.65 930.3 3.30 0.872 0.667
IPE270* 9.45 0.47 34.2 3.30 0.695 1.139
IPE270* 10.80 0.47 27.3 3.30 0.654 1.225
IPE270* 6.75 0.65 57.3 3.30 0.813 0.776
IPE270* 8.10 0.65 42.8 3.30 0.775 0.837
HEB340* 13.60 0.47 468.4 3.30 0.671 1.228
HEB340* 8.50 0.64 967.8 3.30 0.822 0.763
HEB340* 10.20 0.65 722.7 3.30 0.786 0.822
IPE400* 20.00 0.47 39.5 3.30 0.584 1.398
HEB400* 20.00 0.48 315.4 3.30 0.565 1.511
HEB400* 6.00 0.65 2219.5 3.30 0.889 0.646
IPE400* 6.00 0.65 286.5 3.30 0.897 0.662
IPE400* 8.00 0.65 175.7 3.30 0.855 0.715
HEA450* 17.60 0.47 358.3 3.30 0.678 1.206
HEA450* 11.00 0.65 739.1 3.30 0.828 0.746
HEA450* 13.20 0.65 552.3 3.30 0.791 0.812
HEA100* 4.80 0.47 15.8 3.30 0.562 1.533
HEA100* 1.92 0.64 69.7 3.30 0.843 0.747
HEA100* 1.50 0.65 103.9 3.30 0.883 0.673
HEA500* 22.05 0.47 296.1 3.30 0.612 1.376
HEA500* 24.50 0.48 247.3 3.30 0.580 1.470
HEA500* 7.35 0.65 1741.8 3.30 0.894 0.631
HEA500* 9.80 0.65 1078.9 3.30 0.852 0.702
IPE100* 3.50 0.47 3.8 3.30 0.595 1.317
HEB140* 5.60 0.47 66.4 3.30 0.614 1.369
IPE100* 4.00 0.47 3.0 3.30 0.550 1.436
HEB140* 4.20 0.65 104.9 3.30 0.744 0.903
IPE100* 2.50 0.65 6.5 3.30 0.743 0.857
IPE100* 3.00 0.65 4.9 3.30 0.694 0.937

162
Profile LAE (m) LBD/LAE (-) Mcr,FEM (kNm) h/e (-) C1,formula (-) C2,FEM (-)
HEB400* 15.00 0.45 514.7 3.33 0.651 1.274
HEB400* 10.00 0.60 974.9 3.33 0.793 0.840
HEB140* 4.00 0.60 112.8 3.50 0.745 0.910
HEB180* 8.00 0.45 102.7 3.60 0.605 1.327
IPE600* 21.00 0.47 127.1 3.70 0.654 1.096
IPE600* 24.00 0.47 100.9 3.70 0.611 1.177
HEB600* 21.00 0.47 504.4 3.70 0.607 1.248
HEB600* 24.00 0.47 400.4 3.70 0.562 1.370
IPE600* 18.00 0.64 162.4 3.70 0.740 0.813
IPE600* 15.00 0.65 217.0 3.70 0.785 0.743
HEB600* 15.00 0.65 865.3 3.70 0.751 0.793
HEA700* 24.15 0.47 378.4 4.26 0.641 1.062
HEA700* 27.60 0.48 289.0 4.26 0.601 0.990
HEA700* 20.70 0.65 485.3 4.26 0.732 0.768
HEA700* 17.00 0.60 661.9 4.60 0.770 0.725
HEA900* 28.00 0.47 385.8 5.49 0.642 0.865
HEA900* 28.00 0.47 385.8 5.49 0.642 0.865
HEA900* 17.80 0.65 808.0 5.49 0.802 0.572
HEB1000* 28.00 0.47 514.2 6.17 0.620 0.779
HEB1000* 28.00 0.47 514.2 6.17 0.620 0.779
HEA100* 4.00 0.35 18.4 6.40 0.589 0.953
IPE270* 4.50 0.70 96.6 7.71 0.886 0.426
IPE400* 14.00 0.29 61.9 8.00 0.655 0.848
HEB180* 6.30 0.29 132.4 8.00 0.642 0.864
IPE270* 10.80 0.29 22.8 8.00 0.606 0.886
HEA450* 17.60 0.29 303.3 8.00 0.633 0.919
IPE180* 6.30 0.29 10.6 8.00 0.600 0.867
HEB340* 13.60 0.29 393.2 8.00 0.625 0.910
HEB220* 8.80 0.29 176.4 8.00 0.620 0.895
IPE600* 24.00 0.29 85.2 8.00 0.559 0.892
HEB1000* 28.00 0.29 491.7 8.00 0.569 0.923
HEB1000* 28.00 0.29 491.7 8.00 0.569 0.923
HEA450* 19.80 0.29 244.4 8.00 0.592 0.964
IPE270* 12.15 0.29 18.3 8.00 0.564 0.925
HEB340* 15.30 0.29 316.7 8.00 0.583 0.954
HEB220* 9.90 0.29 142.0 8.00 0.578 0.935
HEB260* 13.00 0.29 177.8 8.00 0.568 0.968
HEA700* 27.60 0.29 262.7 8.00 0.544 1.004
HEA700* 28.00 0.29 255.7 8.00 0.538 1.011
IPE600* 27.00 0.29 68.4 8.00 0.516 0.939
HEB140* 5.60 0.29 53.7 8.00 0.561 0.917

163
Profile LAE (m) LBD/LAE (-) Mcr,FEM (kNm) h/e (-) C1,formula (-) C2,FEM (-)
HEB600* 24.00 0.29 333.5 8.00 0.505 1.063
IPE100* 4.00 0.29 2.4 8.00 0.492 0.889
HEB400* 20.00 0.29 252.3 8.00 0.505 1.057
HEB180* 9.00 0.29 68.4 8.00 0.516 0.991
HEB140* 6.30 0.29 43.1 8.00 0.519 0.967
HEA100* 4.80 0.29 12.5 8.00 0.505 0.983
IPE180* 9.00 0.29 5.5 8.00 0.471 1.012
HEB600* 27.00 0.29 267.3 8.00 0.463 1.147
IPE100* 4.50 0.29 1.9 8.00 0.451 0.935
HEA900* 28.00 0.30 352.8 8.00 0.595 0.821
HEB400* 14.00 0.30 487.3 8.00 0.635 0.878
HEA900* 28.00 0.30 361.8 8.00 0.595 0.901
IPE400* 20.00 0.30 31.2 8.00 0.532 0.840
HEA500* 24.50 0.30 200.2 8.00 0.524 1.046
HEA100* 3.00 0.60 29.6 8.00 0.740 0.547
HEB140* 2.10 0.76 261.9 8.00 0.889 0.326
HEA450* 8.80 0.76 895.8 8.00 0.878 0.366
HEB400* 10.00 0.76 819.0 8.00 0.821 0.378
HEB140* 2.80 0.77 165.7 8.00 0.849 0.332
HEB220* 4.40 0.77 522.3 8.00 0.873 0.345
IPE100* 1.50 0.77 12.2 8.00 0.864 0.297
HEB340* 6.80 0.77 1157.0 8.00 0.875 0.346
HEB260* 6.50 0.77 548.9 8.00 0.852 0.369
HEB180* 4.50 0.77 221.5 8.00 0.828 0.362
IPE600* 9.00 0.77 423.1 8.00 0.889 0.331
HEA700* 13.80 0.77 813.0 8.00 0.841 0.339
IPE600* 12.00 0.77 266.0 8.00 0.848 0.333
IPE270* 5.40 0.77 69.2 8.00 0.868 0.364
HEB260* 7.80 0.77 415.5 8.00 0.821 0.394
IPE400* 10.00 0.77 103.3 8.00 0.834 0.373
HEA500* 13.00 0.70 592.7 8.17 0.807 0.456
HEA100* 4.32 0.23 14.9 9.60 0.526 0.970
HEA100* 4.80 0.24 12.2 9.60 0.490 0.996
HEA100* 3.84 0.36 18.3 9.60 0.606 0.663
HEA100* 3.84 0.41 18.4 9.60 0.620 0.598
HEA100* 4.32 0.41 14.8 9.60 0.580 0.590
HEA100* 2.40 0.53 42.0 9.60 0.781 0.534
HEA100* 2.88 0.53 30.8 9.60 0.735 0.528
HEA100* 2.88 0.59 31.0 9.60 0.748 0.492
IPE100* 3.50 0.23 2.9 10.00 0.523 0.861
IPE100* 4.00 0.23 2.3 10.00 0.473 0.920

164
Profile LAE (m) LBD/LAE (-) Mcr,FEM (kNm) h/e (-) C1,formula (-) C2,FEM (-)
IPE100* 4.50 0.35 1.8 10.00 0.471 0.546
IPE100* 5.00 0.35 1.5 10.00 0.436 0.525
IPE100* 3.50 0.41 2.9 10.00 0.577 0.469
IPE100* 5.00 0.42 1.5 10.00 0.459 0.344
IPE100* 1.50 0.52 13.1 10.00 0.833 0.506
IPE100* 2.00 0.53 8.0 10.00 0.772 0.481
IPE100* 2.50 0.58 5.5 10.00 0.726 0.414
IPE100* 2.00 0.59 8.0 10.00 0.783 0.439
IPE100* 1.50 0.71 12.4 10.00 0.857 0.345
IPE400* 15.00 0.45 51.6 11.43 0.671 0.522
HEB180* 6.00 0.40 134.7 12.00 0.684 0.547
IPE180* 7.20 0.41 7.8 13.00 0.588 0.438
IPE180* 8.10 0.41 6.2 13.00 0.547 0.411
HEB180* 8.10 0.41 77.5 13.00 0.589 0.458
IPE180* 2.70 0.58 42.9 13.00 0.869 0.430
IPE180* 5.40 0.58 13.3 13.00 0.722 0.390
HEB180* 2.70 0.59 514.3 13.00 0.888 0.406
HEB180* 5.40 0.59 162.4 13.00 0.755 0.417
HEA450* 15.40 0.41 357.0 13.00 0.704 0.574
HEA450* 8.80 0.59 915.4 13.00 0.860 0.436
HEA450* 11.00 0.59 630.2 13.00 0.819 0.452
HEB140* 4.90 0.41 63.6 13.00 0.641 0.465
HEB140* 7.00 0.42 33.1 13.00 0.522 0.365
HEB140* 3.50 0.58 115.8 13.00 0.774 0.411
HEB140* 2.80 0.59 167.5 13.00 0.823 0.415
HEA700* 24.15 0.41 312.6 13.00 0.625 0.541
HEA700* 28.00 0.41 238.8 13.00 0.575 0.534
HEA700* 13.80 0.59 823.1 13.00 0.814 0.429
HEA700* 17.25 0.59 568.0 13.00 0.764 0.430
IPE270* 9.45 0.41 27.0 13.00 0.681 0.522
IPE270* 13.50 0.41 14.1 13.00 0.563 0.468
IPE270* 5.40 0.59 70.4 13.00 0.847 0.438
IPE270* 6.75 0.59 48.4 13.00 0.804 0.439
IPE400* 18.00 0.42 35.9 13.00 0.605 0.425
HEB400* 18.00 0.42 286.8 13.00 0.583 0.503
IPE400* 6.00 0.59 244.1 13.00 0.893 0.420
HEB400* 12.00 0.59 598.8 13.00 0.748 0.431
IPE400* 12.00 0.59 75.9 13.00 0.764 0.430
HEB260* 10.40 0.41 247.7 13.00 0.675 0.545
HEB260* 11.70 0.42 200.6 13.00 0.640 0.524
HEB260* 7.80 0.58 409.6 13.00 0.787 0.454

165
Profile LAE (m) LBD/LAE (-) Mcr,FEM (kNm) h/e (-) C1,formula (-) C2,FEM (-)
HEB260* 3.90 0.59 1300.5 13.00 0.908 0.390
HEB1000* 28.00 0.41 457.4 13.00 0.603 0.481
HEB1000* 28.00 0.41 457.4 13.00 0.603 0.481
HEB1000* 20.00 0.58 833.0 13.00 0.746 0.378
HEA500* 19.60 0.41 281.2 13.00 0.634 0.568
HEA500* 22.05 0.41 227.2 13.00 0.594 0.566
HEA500* 14.70 0.59 458.8 13.00 0.759 0.394
HEB600* 21.00 0.41 398.0 13.00 0.589 0.523
HEB600* 28.00 0.41 234.1 13.00 0.490 0.509
IPE600* 21.00 0.42 101.8 13.00 0.641 0.457
HEB600* 12.00 0.58 1060.7 13.00 0.790 0.420
HEB600* 15.00 0.58 731.7 13.00 0.736 0.414
IPE600* 12.00 0.59 269.1 13.00 0.822 0.417
IPE600* 15.00 0.59 185.4 13.00 0.774 0.404
HEB340* 11.90 0.41 462.6 13.00 0.697 0.552
HEB340* 17.00 0.41 242.9 13.00 0.581 0.525
HEB340* 8.50 0.59 819.5 13.00 0.815 0.442
HEB220* 11.00 0.41 108.8 13.00 0.576 0.481
HEB220* 7.70 0.42 207.6 13.00 0.694 0.522
HEB220* 4.40 0.59 535.3 13.00 0.854 0.429
HEB220* 5.50 0.59 369.4 13.00 0.812 0.437
HEB400* 15.00 0.40 397.4 13.33 0.638 0.532
HEB140* 4.90 0.23 63.7 14.00 0.593 0.715
HEB140* 5.60 0.24 49.5 14.00 0.547 0.714
HEB140* 6.30 0.35 39.4 14.00 0.537 0.467
HEB140* 7.00 0.36 32.4 14.00 0.503 0.430
HEB140* 2.10 0.71 255.2 14.00 0.884 0.291
HEB140* 4.20 0.71 86.1 14.00 0.758 0.300
HEA900* 24.00 0.55 443.5 14.83 0.708 0.392
HEB1000* 27.00 0.40 475.9 16.67 0.613 0.415
HEB1000* 28.00 0.24 445.7 18.00 0.554 0.677
HEB1000* 28.00 0.24 445.7 18.00 0.554 0.677
HEB1000* 15.00 0.71 1262.1 18.00 0.832 0.219
HEB340* 5.10 0.70 1783.8 18.00 0.906 0.276
HEB340* 10.20 0.70 590.4 18.00 0.796 0.326
IPE270* 9.45 0.23 26.6 18.00 0.638 0.662
IPE180* 8.10 0.23 6.0 18.00 0.491 0.684
IPE180* 9.00 0.23 4.9 18.00 0.452 0.717
IPE270* 10.80 0.24 20.7 18.00 0.593 0.651
HEB180* 8.10 0.24 74.6 18.00 0.539 0.638
HEB180* 9.00 0.24 61.1 18.00 0.500 0.658

166
Profile LAE (m) LBD/LAE (-) Mcr,FEM (kNm) h/e (-) C1,formula (-) C2,FEM (-)
HEB180* 7.20 0.35 92.3 18.00 0.613 0.435
IPE180* 6.30 0.36 9.5 18.00 0.619 0.418
IPE180* 7.20 0.36 7.4 18.00 0.573 0.383
IPE180* 5.40 0.53 12.9 18.00 0.710 0.337
HEB180* 5.40 0.53 157.1 18.00 0.743 0.374
IPE180* 4.50 0.53 17.6 18.00 0.758 0.380
IPE270* 8.10 0.70 35.0 18.00 0.785 0.317
HEB180* 3.60 0.71 300.9 18.00 0.856 0.291
HEB180* 4.50 0.71 211.9 18.00 0.818 0.294
IPE270* 4.05 0.71 106.9 18.00 0.900 0.301
IPE180* 3.60 0.71 25.1 18.00 0.836 0.289
IPE180* 4.50 0.71 17.6 18.00 0.793 0.274
HEA500* 22.05 0.23 220.6 18.00 0.542 0.778
HEA500* 24.50 0.24 180.3 18.00 0.505 0.791
HEA500* 9.80 0.71 870.3 18.00 0.859 0.303
HEA500* 12.25 0.71 611.1 18.00 0.820 0.315
HEA700* 24.15 0.23 305.9 18.00 0.575 0.729
HEA700* 27.60 0.24 237.3 18.00 0.529 0.742
HEA700* 20.70 0.70 414.2 18.00 0.744 0.293
HEA900* 28.00 0.23 329.9 18.00 0.576 0.712
HEA900* 28.00 0.23 329.9 18.00 0.576 0.712
HEA900* 22.25 0.70 499.7 18.00 0.763 0.263
HEA900* 17.80 0.71 709.0 18.00 0.812 0.264
IPE600* 21.00 0.23 99.4 18.00 0.590 0.640
IPE600* 24.00 0.23 77.2 18.00 0.541 0.655
IPE400* 18.00 0.23 35.3 18.00 0.550 0.689
HEB600* 21.00 0.23 386.8 18.00 0.536 0.748
HEB400* 18.00 0.23 276.7 18.00 0.526 0.740
HEB600* 24.00 0.23 300.3 18.00 0.486 0.801
IPE400* 20.00 0.24 28.9 18.00 0.514 0.686
HEB400* 20.00 0.24 223.5 18.00 0.490 0.702
HEB600* 9.00 0.70 1603.4 18.00 0.861 0.268
HEB400* 8.00 0.70 1113.8 18.00 0.851 0.302
HEB400* 10.00 0.70 782.4 18.00 0.811 0.308
IPE400* 10.00 0.70 99.4 18.00 0.823 0.321
IPE600* 9.00 0.71 409.0 18.00 0.883 0.286
IPE400* 8.00 0.71 141.9 18.00 0.862 0.312
HEA450* 13.20 0.70 452.8 18.00 0.801 0.342
HEB220* 3.30 0.71 799.7 18.00 0.905 0.270
HEA450* 6.60 0.71 1373.9 18.00 0.909 0.277
HEB220* 6.60 0.71 266.6 18.00 0.795 0.308

167
Profile LAE (m) LBD/LAE (-) Mcr,FEM (kNm) h/e (-) C1,formula (-) C2,FEM (-)
HEB260* 13.00 0.23 160.2 18.01 0.551 0.717
HEB260* 5.20 0.71 753.0 18.01 0.878 0.299
HEB260* 6.50 0.71 528.3 18.01 0.844 0.315
HEA500* 18.00 0.40 315.2 19.60 0.658 0.470
HEB220* 9.90 0.35 124.3 22.00 0.595 0.393
HEB220* 11.00 0.35 102.1 22.00 0.558 0.367
HEB220* 4.40 0.52 524.3 22.00 0.846 0.408
HEB220* 3.30 0.53 856.5 22.00 0.894 0.390
HEB340* 15.00 0.40 288.9 22.67 0.621 0.377
HEB340* 15.00 0.40 288.9 22.67 0.621 0.377
IPE600* 27.00 0.35 60.2 23.00 0.534 0.297
IPE600* 28.00 0.35 56.2 23.00 0.522 0.286
HEB600* 27.00 0.36 234.2 23.00 0.486 0.365
HEB600* 28.00 0.36 218.6 23.00 0.474 0.357
HEB600* 9.00 0.53 1670.0 23.00 0.841 0.379
HEB600* 12.00 0.53 1022.8 23.00 0.781 0.367
IPE600* 9.00 0.53 428.8 23.00 0.867 0.393
IPE600* 12.00 0.53 261.0 23.00 0.813 0.377
HEA900* 28.00 0.36 309.3 23.00 0.611 0.324
HEA900* 28.00 0.36 309.3 23.00 0.611 0.324
HEA900* 26.70 0.52 355.4 23.00 0.670 0.296
HEA900* 22.25 0.52 488.0 23.00 0.722 0.340
IPE270* 13.50 0.35 13.2 23.00 0.545 0.354
IPE270* 12.15 0.36 16.1 23.00 0.585 0.366
IPE270* 4.05 0.52 113.3 23.00 0.888 0.412
IPE270* 5.40 0.53 68.6 23.00 0.840 0.407
HEB1000* 20.00 0.53 798.7 23.00 0.735 0.310
HEB1000* 15.00 0.53 1306.6 23.00 0.804 0.354
HEA700* 28.00 0.36 224.9 23.00 0.560 0.416
HEA700* 28.00 0.36 224.9 23.00 0.560 0.416
HEA700* 10.35 0.53 1307.6 23.00 0.860 0.394
HEA700* 13.80 0.53 798.5 23.00 0.804 0.391
HEA450* 22.00 0.35 176.5 23.00 0.572 0.461
HEA450* 6.60 0.53 1471.7 23.00 0.899 0.391
HEA450* 8.80 0.53 896.4 23.00 0.854 0.413
IPE400* 14.00 0.35 54.6 23.00 0.669 0.443
IPE400* 16.00 0.35 42.7 23.00 0.625 0.413
HEB400* 14.00 0.35 427.7 23.00 0.648 0.447
HEB400* 16.00 0.36 334.6 23.00 0.606 0.409
IPE400* 12.00 0.52 72.5 23.00 0.750 0.366
HEB400* 10.00 0.53 779.5 23.00 0.781 0.380

168
Profile LAE (m) LBD/LAE (-) Mcr,FEM (kNm) h/e (-) C1,formula (-) C2,FEM (-)
HEB400* 12.00 0.53 570.4 23.00 0.735 0.353
IPE400* 10.00 0.53 99.4 23.00 0.795 0.390
HEB340* 5.10 0.53 1900.1 23.00 0.896 0.384
HEA500* 17.15 0.35 339.9 23.00 0.662 0.493
HEA500* 12.25 0.53 614.7 23.00 0.791 0.403
HEA500* 14.70 0.53 450.0 23.00 0.746 0.387
HEB260* 9.10 0.35 299.3 23.01 0.702 0.476
HEB260* 10.40 0.35 234.5 23.01 0.661 0.453
HEB260* 6.50 0.53 536.7 23.01 0.819 0.403
HEB260* 7.80 0.53 392.9 23.01 0.779 0.388

169
APPENDIX E: PARTIAL DERIVATIVES OF M C R WITH RESPECT TO THE BASIC
VARIABLES

APPENDIX E.1: PARTIAL DERIVATIVE OF M C R WITH RESPECT TO B

170
171
APPENDIX E.2: PARTIAL DERIVATIVE OF M C R WITH RESPECT TO H

172
173
APPENDIX E.3: PARTIAL DERIVATIVE OF M C R WITH RESPECT TO T F

174
175
APPENDIX E.4: PARTIAL DERIVATIVE OF MCR WITH RESPECT TO TW

176
APPENDIX E.5: PARTIAL DERIVATIVE OF M C R WITH RESPECT TO E

177
APPENDIX E.6: PARTIAL DERIVATIVE OF M C R WITH RESPECT TO G

178
179
APPENDIX F: 153 MODELS USED FOR EVALUATION OF THE BUCKLING
CURVES

profile Fy LAE (m) LBD (m) Ecc (mm) Mcr,FEM λLT Mmax,GMNIA ΧLT
2
(N/mm ) (kNm) (kNm)
IPE100* 235 1.5 0.35 30 17.5 0.71 6.4 0.73
IPE100* 235 1.5 0.35 10 14.2 0.79 6.3 0.71
IPE100* 235 1.5 0.75 30 15.7 0.75 6.9 0.78
IPE100* 235 1.5 0.75 10 13.1 0.82 6.6 0.75
IPE100* 235 1.5 1.16 30 14.1 0.79 6.9 0.78
IPE100* 235 1.5 1.16 10 11.9 0.86 6.6 0.75
IPE100* 235 3.3 0.76 30 4.3 1.43 3.6 0.40
IPE100* 235 3.3 0.76 10 3.3 1.64 3.0 0.34
IPE100* 235 3.3 2.54 30 4.1 1.47 3.5 0.40
IPE100* 235 3.3 2.54 10 3.5 1.58 2.9 0.32
IPE360* 235 5.4 1.24 109 299.8 0.87 165.3 0.72
IPE360* 235 5.4 1.24 28 244.8 0.97 132.9 0.58
IPE360* 235 5.4 1.24 16 233.9 0.99 130.3 0.57
IPE360* 235 11.9 2.73 109 75.2 1.74 67.4 0.29
IPE360* 235 11.9 9.15 109 66.6 1.85 59.9 0.26
IPE360* 235 11.9 9.15 28 56.8 2.01 53.3 0.23
IPE360* 235 11.9 9.15 16 55.2 2.04 52.0 0.23
IPE600* 235 9.0 2.07 162 597.2 1.15 355.2 0.45
IPE600* 235 9.0 2.07 46 492.0 1.27 328.1 0.41
IPE600* 235 9.0 2.07 26 469.5 1.30 316.8 0.40
IPE600* 235 9.0 6.93 162 483.1 1.28 336.2 0.42
IPE600* 235 9.0 6.93 46 403.4 1.40 319.8 0.40
IPE600* 235 9.0 6.93 26 389.5 1.43 313.2 0.39
IPE600* 235 19.8 15.25 162 136.4 2.41 130.8 0.16
HEA100* 235 3.2 2.44 29 30.7 0.78 15.7 0.85
HEA100* 235 3.2 2.44 10 26.6 0.83 15.0 0.81
HEA100* 235 4.8 2.40 29 15.9 1.08 12.8 0.69
HEA100* 235 4.8 2.40 10 12.5 1.21 11.7 0.63
HEA450* 235 14.5 7.26 133 491.1 1.22 382.7 0.53
HEA450* 235 14.5 7.26 34 396.0 1.36 338.4 0.47
HEA450* 235 14.5 7.26 19 378.8 1.39 329.4 0.45
HEA450* 235 14.5 11.18 133 461.3 1.26 361.4 0.50
HEA450* 235 14.5 11.18 34 394.2 1.36 331.6 0.46
HEA450* 235 14.5 11.18 19 382.7 1.38 323.9 0.45
HEA900* 235 13.4 6.68 68 1229.0 1.42 952.4 0.39
HEA900* 235 13.4 6.68 39 1180.7 1.45 922.2 0.37

180
profile Fy LAE (m) LBD (m) Ecc (mm) Mcr λLT Mmax,GMNIA ΧLT
(N/mm2) (kNm) (kNm)
HEA900* 235 13.4 10.28 162 1223.2 1.42 937.4 0.38
HEA900* 235 13.4 10.28 68 1105.4 1.49 901.8 0.37
HEA900* 235 13.4 10.28 39 1066.8 1.52 881.1 0.36
HEA900* 235 28.0 21.56 162 388.4 2.52 375.8 0.15
HEA900* 235 28.0 21.56 162 388.4 2.52 375.8 0.15
HEB200* 235 3.0 0.69 61 937.7 0.39 134.1 0.92
HEB200* 235 3.0 0.69 15 775.1 0.43 134.0 0.92
HEB200* 235 10.0 2.30 61 115.6 1.12 92.8 0.64
HEB200* 235 10.0 5.00 61 113.2 1.13 95.0 0.65
HEB200* 235 10.0 5.00 15 86.6 1.30 85.1 0.58
HEB200* 235 10.0 7.70 61 116.3 1.12 90.9 0.62
HEB200* 235 10.0 7.70 15 98.1 1.22 82.9 0.57
HEB200* 235 10.0 7.70 10 95.4 1.24 81.5 0.56
HEB600* 235 9.0 4.50 162 2081.4 0.84 1030.0 0.70
HEB600* 235 9.0 4.50 46 1753.1 0.92 991.0 0.67
HEB600* 235 9.0 4.50 26 1682.2 0.94 979.8 0.67
HEB600* 235 19.8 4.55 162 579.2 1.59 507.8 0.35
HEB600* 235 19.8 4.55 46 448.0 1.81 435.3 0.30
HEB600* 235 19.8 4.55 26 423.0 1.86 422.3 0.29
HEB600* 235 19.8 9.90 162 557.6 1.62 505.8 0.34
HEB600* 235 19.8 9.90 46 449.5 1.81 438.6 0.30
HEB600* 235 19.8 9.90 26 427.9 1.85 424.9 0.29
HEB600* 235 19.8 15.25 162 547.2 1.64 485.2 0.33
HEB600* 235 19.8 15.25 46 472.4 1.76 433.2 0.29
HEB600* 235 19.8 15.25 26 457.4 1.79 421.2 0.29
HEB1000* 235 15.0 3.45 162 1632.0 1.45 1165.8 0.34
HEB1000* 235 15.0 3.45 77 1466.8 1.52 1084.4 0.32
HEB1000* 235 15.0 3.45 43 1395.5 1.56 1039.3 0.30
HEB1000* 235 15.0 7.50 162 1498.3 1.51 1186.1 0.35
HEB1000* 235 15.0 7.50 77 1368.9 1.58 1113.3 0.33
HEB1000* 235 15.0 7.50 43 1312.7 1.61 1072.1 0.31
HEB1000* 235 15.0 11.55 162 1337.8 1.60 1093.8 0.32
HEB1000* 235 15.0 11.55 77 1235.8 1.66 1050.5 0.31
HEB1000* 235 15.0 11.55 43 1193.9 1.69 1023.1 0.30
HEB1000* 235 28.0 21.56 162 517.7 2.57 495.5 0.15
HEB1000* 235 28.0 21.56 77 482.1 2.66 465.1 0.14
HEB1000* 235 28.0 21.56 43 466.9 2.70 452.1 0.13
HEB1000* 235 28.0 21.56 162 517.7 2.57 495.5 0.15
HEB1000* 235 28.0 21.56 43 466.9 2.70 452.1 0.13
IPE100* 355 1.5 0.35 30 17.5 0.87 8.7 0.65

181
profile Fy LAE (m) LBD (m) Ecc (mm) Mcr λLT Mmax,GMNIA ΧLT
(N/mm2) (kNm) (kNm)
IPE100* 355 1.5 0.35 10 14.2 0.97 8.3 0.62
IPE100* 355 1.5 0.75 30 15.7 0.92 9.0 0.67
IPE100* 355 1.5 0.75 10 13.1 1.01 8.6 0.64
IPE100* 355 1.5 1.16 10 11.9 1.06 8.2 0.62
IPE100* 355 3.3 0.76 30 4.3 1.76 4.3 0.32
IPE100* 355 3.3 2.54 30 4.1 1.80 3.8 0.29
IPE360* 355 5.4 1.24 109 299.8 1.07 227.1 0.66
IPE360* 355 5.4 1.24 28 244.8 1.19 164.4 0.48
IPE360* 355 5.4 1.24 16 233.9 1.22 159.3 0.46
IPE600* 355 9.0 2.07 162 597.2 1.42 428.1 0.36
IPE600* 355 9.0 2.07 46 492.0 1.56 380.9 0.32
IPE600* 355 9.0 2.07 26 469.5 1.60 366.9 0.31
IPE600* 355 9.0 6.93 162 483.1 1.58 374.9 0.31
IPE600* 355 9.0 6.93 46 403.4 1.72 353.7 0.30
IPE600* 355 9.0 6.93 26 389.5 1.75 345.2 0.29
HEA100* 355 3.2 2.44 29 30.7 0.95 20.0 0.72
HEA100* 355 3.2 2.44 10 26.6 1.02 18.9 0.68
HEA450* 355 14.5 7.26 133 491.1 1.50 453.5 0.41
HEA450* 355 14.5 11.18 133 461.3 1.54 408.5 0.37
HEA900* 355 13.4 6.68 68 1229.0 1.74 1066.1 0.29
HEA900* 355 13.4 6.68 39 1180.7 1.78 1029.0 0.28
HEA900* 355 13.4 10.28 162 1223.2 1.75 1031.6 0.28
HEA900* 355 13.4 10.28 68 1105.4 1.84 985.4 0.26
HEA900* 355 13.4 10.28 39 1066.8 1.87 958.9 0.26
HEB200* 355 3.0 0.69 61 937.7 0.48 196.1 0.89
HEB200* 355 3.0 0.69 15 775.1 0.53 196.0 0.89
HEB600* 355 9.0 4.50 162 2081.4 1.03 1316.9 0.59
HEB600* 355 9.0 4.50 46 1753.1 1.13 1243.3 0.56
HEB600* 355 9.0 4.50 26 1682.2 1.15 1209.7 0.54
HEB1000* 355 15.0 3.45 162 1632.0 1.78 1337.1 0.26
HEB1000* 355 15.0 3.45 77 1466.8 1.87 1228.4 0.24
HEB1000* 355 15.0 7.50 162 1498.3 1.85 1316.1 0.26
HEB1000* 355 15.0 7.50 77 1368.9 1.94 1223.8 0.24
HEB1000* 355 15.0 7.50 43 1312.7 1.98 1177.4 0.23
HEB1000* 355 15.0 11.55 162 1337.8 1.96 1185.0 0.23
HEB1000* 355 15.0 11.55 77 1235.8 2.04 1127.9 0.22
HEB1000* 355 15.0 11.55 43 1193.9 2.08 1096.4 0.21
IPE100* 460 1.5 0.35 30 17.5 1.00 10.3 0.59
IPE100* 460 1.5 0.35 10 14.2 1.10 9.6 0.56
IPE100* 460 1.5 0.75 30 15.7 1.05 10.4 0.60

182
profile Fy LAE (m) LBD (m) Ecc (mm) Mcr λLT Mmax,GMNIA ΧLT
(N/mm2) (kNm) (kNm)
IPE100* 460 1.5 0.75 10 13.1 1.15 9.8 0.56
IPE100* 460 1.5 1.16 10 11.9 1.21 9.2 0.53
IPE100* 460 3.3 2.54 10 3.5 2.21 3.5 0.20
IPE360* 460 5.4 1.24 109 299.8 1.22 266.5 0.59
IPE360* 460 5.4 1.24 28 244.8 1.35 182.5 0.41
IPE360* 460 5.4 1.24 16 233.9 1.38 176.6 0.39
IPE600* 460 9.0 2.07 162 597.2 1.61 469.8 0.30
IPE600* 460 9.0 2.07 46 492.0 1.78 414.2 0.27
IPE600* 460 9.0 2.07 26 469.5 1.82 399.3 0.26
IPE600* 460 9.0 6.93 162 483.1 1.79 395.0 0.25
IPE600* 460 9.0 6.93 46 403.4 1.96 370.3 0.24
IPE600* 460 9.0 6.93 26 389.5 2.00 360.7 0.23
HEA100* 460 3.2 2.44 29 30.7 1.08 22.7 0.63
HEA100* 460 3.2 2.44 10 26.6 1.16 21.2 0.59
HEA450* 460 14.5 11.18 133 461.3 1.76 437.8 0.31
HEA900* 460 13.4 6.68 68 1229.0 1.98 1126.7 0.23
HEA900* 460 13.4 6.68 39 1180.7 2.02 1087.0 0.23
HEA900* 460 13.4 10.28 162 1223.2 1.99 1081.2 0.22
HEA900* 460 13.4 10.28 68 1105.4 2.09 1027.9 0.21
HEA900* 460 13.4 10.28 39 1066.8 2.13 999.7 0.21
HEB200* 460 3.0 0.69 61 937.7 0.55 248.4 0.87
HEB200* 460 3.0 0.69 15 775.1 0.61 246.8 0.87
HEB200* 460 3.0 0.69 10 746.1 0.44 245.8 0.86
HEB200* 460 3.0 1.50 15 699.1 0.46 249.2 0.87
HEB200* 460 3.0 1.50 10 677.5 0.46 248.2 0.87
HEB600* 460 9.0 4.50 162 2081.4 1.18 1498.1 0.52
HEB600* 460 9.0 4.50 46 1753.1 1.28 1389.0 0.48
HEB600* 460 9.0 4.50 26 1682.2 1.31 1346.1 0.47
HEB1000* 460 15.0 3.45 162 1632.0 2.02 1442.3 0.22
HEB1000* 460 15.0 3.45 77 1466.8 2.13 1327.0 0.20
HEB1000* 460 15.0 3.45 43 1395.5 2.19 1276.7 0.19
HEB1000* 460 15.0 7.50 162 1498.3 2.11 1384.6 0.21
HEB1000* 460 15.0 7.50 77 1368.9 2.21 1283.3 0.19
HEB1000* 460 15.0 7.50 43 1312.7 2.25 1236.6 0.19
HEB1000* 460 15.0 11.55 162 1337.8 2.23 1231.0 0.18
HEB1000* 460 15.0 11.55 77 1235.8 2.32 1167.2 0.17
HEB1000* 460 15.0 11.55 43 1193.9 2.36 1131.9 0.17

183
APPENDIX G: PARTIAL DERIVATIVES OF GRT,I WITH RESPECT TO THE
BASIC VARIABLES

APPENDIX G.1: PARTIAL DERIVATIVE OF G R T , I WITH RESPECT TO B

184
APPENDIX G.2: PARTIAL DERIVATIVE OF G R T , I WITH RESPECT TO H

185
APPENDIX G.3: PARTIAL DERIVATIVE OF G R T , I WITH RESPECT TO T F

186
APPENDIX G.4: PARTIAL DERIVATIVE OF G R T , I WITH RESPECT TO T W

187
APPENDIX G.5: PARTIAL DERIVATIVE OF G R T , I WITH RESPECT TO F Y

APPENDIX G.6: PARTIAL DERIVATIVE OF G R T , I WITH RESPECT TO M C R

188
189
APPENDIX H: PLOTS OF SUBSETS

190
191
192
193
194
195
196
197
198
199
APPENDIX I: ACCEPTANCE LIMIT PLOTS

APPENDIX I.1: METHOD OF DA SILVA ET AL [18]

200
201
202
203
204
205
206
207
208
209
APPENDIX I.2: METHOD PROVIDED BY EUROCODE [17] SB

210
211
212
213
214
215
216
217
218
219

You might also like