Programa ACCP - Memoria.pdf
Transcript of Programa ACCP - Memoria.pdf
-
8/10/2019 Programa ACCP - Memoria.pdf
1/122
Volume I: Report
SOFTWARE FOR PLASTIC
COLLAPSE
COMPUTATION INSTRUCTURES
TFG presented for the DEGREE in MECHANICAL
ENGINEERINGby
Benito Moya Fernndezand
Cristina Hernndez Olivar
Barcelona, June 11th 2014
Director: Mr. David Snchez Molina
Departamento de Resistencia de Materiales y Estructuras en la Ingeniera
Department of Materials Strength and Structures in Engineering
(DRMEE)
Universitat Politcnica de Catalunya (UPC)
-
8/10/2019 Programa ACCP - Memoria.pdf
2/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 2
Benito Moya Fernndez
Abstract:At the moment there are much software for structural design and computation, each one with
its advantages and disadvantages.
There are software for Finite Elements Analysis too that, in a general manner, has the
capability to show the tensile status from a part under load.
But there is not a software that, based on the definition of a structure in classical terms (Nodes
and bars arrangement, each one with his physical and constructive characteristics), and taking
a combination of loads acting and evolving in the time, give us an approaching of when and
how that structure collapses.
In this way, this project wants to do the following.
- From the basis of structural matrix calculation, set up a logical operative for a
computer, for plastic collapse computation is structures.
- One time established this operative, to define the necessary data, in scope to do these
calculations with a computer. This means, in addition to indicate the necessary data, to
establish the data structure, so a computer could understand and operate with them
in efficient form. This acts on input and output data.
- One time data and its structure defined, we need to indicate the flow and evolution in
time from this data, getting the flow diagram for the software. This is very important,
because it will define the transformation of the information, and where we want to
arrive with each one of the transformations.
- The flow diagram will define, by default, a block diagram. Each block will become an
intermediate step. And in each step we will define the operative blocks, in scope to getthe desired transformation in the input information.
- At this point we will have the capability of to establish the first step from the software:
The software pseudo-code. We will define the computation basis that we will use in
pseudo-code and we will do all of steps (blocks) from the software. In this manner we
can do the final software implementation in any programing language.
-
At the end we will choose a programing language, to program the final application
code.
In the first software release, it will be limited to a plane tensile state; it wants to mean that we
will work in two dimensions. The computational basis to work in two or three dimensions arethe same, but the implementation in pseudo-code and programing language are very different,
in 3D is very hardest than 2D.
-
8/10/2019 Programa ACCP - Memoria.pdf
3/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 3
Benito Moya Fernndez
Abstraccin:Actualmente existen muchos programas para el diseo y clculo de estructuras, cada uno de
ellos con sus ventajas e inconvenientes.
Existe software para el anlisis por elementos finitos que, de una manera general, tiene la
capacidad de mostrar el estado tensional de un elemento bajo carga.
Pero no existe un software que, basado en la definicin de una estructura en trminos clsicos
(Conjunto de nudos y barras, cada uno con sus propiedades fsicas y constructivas), y tomando
una combinacin de cargas actuando y evolucionando a lo largo del tiempo, nos d una
aproximacin de cuando y como la estructura colapsa.
En este sentido, este proyecto pretende hacer lo siguiente:
- Partiendo de las bases del clculo matricial aplicado a estructuras, establecer una
operativa lgica para una computadora, para el colapso plstico de estructuras.
- Una vez establecida sta operativa, definir los datos necesarios, con el objetivo de
realizar estos clculos con una computadora. Esto significa, en adicin a los datos
necesarios, establecer la estructura de estos datos, para que una computadora pueda
interpretarlos y operar con ellos de una manera eficiente. Esto afecta a los datos de
entrada y los de salida.
- Una vez estn definidos los datos y su estructura, necesitamos indicar el flujo de estos
datos y su evolucin en el tiempo, obteniendo el diagrama de flujo del programa. Esto
es muy importante porque define las transformaciones de la informacin, y donde
queremos llegar con cada una de ellas.
-
El diagrama de flujo os definir, por defecto, el diagrama de bloques. Cada bloque serun paso intermedio. Y cada paso definir la operativa del bloque, con el objetivo de
obtener la transformacin deseada en la informacin de entrada.
- En este punto tendremos la capacidad de definir el primer paso del software, el
pseudo-cdigo del programa. Definiremos las bases de computacin que usaremos en
dicho pseudo-cdigo y realizaremos todos los pasos intermedios (bloques) para el
programa. De esta manera podremos realizar la implementacin final del programa en
cualquier lenguaje de programacin.
- Al final escogeremos un lenguaje de programacin, para programar el cdigo final de
la aplicacin.
En la primera edicin de este programa, se ha limitado al estado de tensiones en un plano,
esto quiere decir que trabajaremos en dos dimensiones. Las bases de computacin para
trabajar en dos o tres dimensiones son las mismas, pero el pseeudo-cdigo y la programacin
final son muy diferentes, la programacin en 3D es mucho ms ardua que en 2D.
-
8/10/2019 Programa ACCP - Memoria.pdf
4/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 4
Benito Moya Fernndez
Abstracci:Actualment existeixen molts programes pel clcul i disseny destructures, cadascun dells amb
els seus avantatges i inconvenients.
Existeixen programes per lanlisi per elements finits que, duna manera general, tenen la
capacitat de mostrar lestat tensional dun element sota crrega.
Per no existeix cap programa que, basat amb la definici duna estructura en els seus termes
clssics (Conjunt de nusos y barres, cadascuna dells amb les seves propietats fsiques i
constructives), i agafant una combinaci de crregues actuant i evolucionant al llarg del temps,
ens doni una aproximaci de quan i com lestructura collapsa.
En aquest sentit, aquest projecte vol fe el segent:
- Partint de les bases de clcul matricial aplicades a estructures, establir una operativa
lgica per una computadora, pel collapse plstic destructures.
- Una vegada establida aquesta operativa, definir les dades necessries, amb lobjectiu
de realitzar els clculs amb una computadora. Aix significa, a ms de les dades
necessries, establir lestructura daquestes dades, perqu una computadora pugui
interpretar-los i operar amb ell duna manera eficient. Aix afecta tant a les dades
dentrada com a les de sortida.
- Una vegada definides les dades i la seva estructura, necessitem indicar el flux
daquestes dades i la seva evoluci en el temps, obtenint el diagrama de flux del
programa. Aix s molt important perqu defineix les transformacions, i on volem
arribar amb cadascuna delles.
-
El diagrama de flux definir, per defecte, el diagrama de blocs. Cadascun dels blocsesdevindr un pas entremig. I cada pas definir loperativa del bloc, amb lobjectiu
dobtenir la transformaci desitjada amb la informaci dentrada.
- En aquest punt tindrem la capacitat de definir el primer pas del programa, el
pseudocodi del programa. Definirem les bases de computaci que farem servir dins del
mencionat pseudocodi i realitzarem tots els passos entremig (blocs) pel programa.
Daquesta manera podrem realitzar la implementaci final del programa en qualsevol
llenguatge de programaci.
- Finalment escollirem un llenguatge de programaci, per programar el codi final de
laplicaci.
A la primera edici daquest programa, sha limitat a lestat tensional dins dun pla, aix vol dir
que treballarem en dues dimensions. Les bases de computaci per treballar en dues o tres
dimensions son les mateixes, per el pseudo-codi i la programaci final son molt diferents, la
programaci en 3D es molt mes complicada que en 2D.
-
8/10/2019 Programa ACCP - Memoria.pdf
5/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 5
Benito Moya Fernndez
Contents
Abstract: .............................................................................................................................2
Abstraccin: ........................................................................................................................3
Abstracci: ..........................................................................................................................4
1. Introduction ............................................................................................................6
2. Report .....................................................................................................................72.1 Software target ............................................................................................................7
2.1.1 Graphical User Interfaces (GUI) ............................................................................7
2.1.2 Program capabilities .............................................................................................7
3. Solved examples ......................................................................................................9
3.1 Single straight beam. ....................................................................................................9
3.2 Half portico, all rigid nodes .........................................................................................10
4. Calculation basis .................................................................................................... 17
4.1 Matrix calculation basis. .............................................................................................17
4.1.1 Stiffness Matrix in Local Reference System (LRS) ...............................................18
4.1.2 Nodal force vector in Local Reference System (LRS). ..........................................20
4.1.3 General reactions and displacements .................................................................294.1.4 Global reference system .....................................................................................30
4.1.5 Global matrix assembly ......................................................................................30
4.2 Resolution procedure .................................................................................................33
4.2.1 Previous requirements .......................................................................................33
4.2.2 Calculation procedure ........................................................................................34
5. Data for calculations .............................................................................................. 41
5.1 General data ...............................................................................................................42
5.2 Descriptive data ..........................................................................................................42
5.2.1 Nodes .................................................................................................................42
5.2.2 Beams .................................................................................................................43
5.3 Operative data ............................................................................................................45
6. Data Base .............................................................................................................. 48
7. Software description .............................................................................................. 49
7.1 Functional program description .................................................................................49
7.1.1 Data input ...........................................................................................................51
7.1.2 Calculations ........................................................................................................56
7.1.3 Result presentation. ...........................................................................................57
7.2 Internal workings ........................................................................................................59
7.2.1 Data input and preparation ................................................................................61
7.2.2 Calculations ........................................................................................................83
7.2.3 Presentation of solutions ..................................................................................106
7.3 Programming ............................................................................................................108
7.3.1 Data base programming ...................................................................................109
7.3.2 Application programming .................................................................................112
8. Bibliography ........................................................................................................ 114
9. Quick Start Guide ................................................................................................. 115
9.1 Project ......................................................................................................................115
10. ANNEX I - Budget ................................................................................................. 121
10.1 Developing expenses ................................................................................................121
10.2 Business expenses ....................................................................................................121
10.3 Sale price ..................................................................................................................121
11. ANNEX II Code in Visual Basic ............................................................................ 122
-
8/10/2019 Programa ACCP - Memoria.pdf
6/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 6
Benito Moya Fernndez
1. IntroductionAt the moment there are much software for structural design and computation, each one with
its advantages and disadvantages.
There are software for Finite Elements Analysis too that, in a general manner, has the
capability to show the tensile status from a part under load.
But there is not a software that, based on the definition of a structure in classical terms (Nodes
and bars arrangement, each one with his physical and constructive characteristics), and taking
a combination of loads acting and evolving in the time, give us an approaching of when and
how that structure collapses.
In this way, this project wants to do the following.
- From the basis of structural matrix calculation, set up a logical operative for a
computer, for plastic collapse computation is structures.
- One time established this operative, to define the necessary data, in scope to do these
calculations with a computer. This means, in addition to indicate the necessary data, to
establish the data structure, so a computer could understand and operate with them
in efficient form. This acts on input and output data.
- One time data and its structure defined, we need to indicate the flow and evolution in
time from this data, getting the flow diagram for the software. This is very important,
because it will define the transformation of the information, and where we want to
arrive with each one of the transformations.
- The flow diagram will define, by default, a block diagram. Each block will become an
intermediate step. And in each step we will define the operative blocks, in scope to getthe desired transformation in the input information.
- At this point we will have the capability of to establish the first step from the software:
The software pseudo-code. We will define the computation basis that we will use in
pseudo-code and we will do all of steps (blocks) from the software. In this manner we
can do the final software implementation in any programing language.
-
At the end we will choose a programing language, to program the final application
code.
In the first software release, it will be limited to a plane tensile state; it wants to mean that we
will work in two dimensions. The computational basis to work in two or three dimensions arethe same, but the implementation in pseudo-code and programing language are very different,
in 3D is very hardest than 2D.
-
8/10/2019 Programa ACCP - Memoria.pdf
7/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 7
Benito Moya Fernndez
2. Report
2.1Software target
As we have indicated, this application is intended to fill the gap for calculating the plastic
collapse in structures, in scope to get this we will program the graphic interfaces and
performances that we will explain below.
2.1.1 Graphical User Interfaces (GUI)
The program has a limited number of friendly Graphical User Interfaces, at specific application
and for specific operations, we can list the following (In the Annex IVApplication description,
we can find a more detailed explanation about the GUIs, and we can see an image from each
one of it):
- Welcome screen: Is the first screen we can see when the program starts, in this screen
we can choose the basic options from initial job.
-
Creation/edition of structures screen: Is the screen that will appears when we choosecreate a new structure, or load a saved structure, in the welcome screen. (In this case,
the saved structure will appear in the graphic area).
- Output data screen: Is the screen when will appear the result data from the
computations.
There are others screens that will appear in some cases (Information Windows, Message
boxes, etc). Is too long make a list for all Windows and screens. The three listed above are
the basic screens, others screens are hanged from these.
2.1.2
Program capabilitiesIn this program release, the computation capabilities implemented are for plastic collapse
computation in structures, with the performances explained bellow.
- Structural capabilities. Will be described more detailed on Annex IComputation
basis:
o Two dimensions structures with a maximum of 200 nodes, we can define each
node independently as a support node or structural node.
o Straight beams with a constant section, we can define independently each
junction in both nodes for each beam.
-
Load capabilities. Will be described more detailed on Annex IComputation basis:o
Uniform loads must be defined on beams; between two nodes (No free spaces
on loaded beam are permitted).
o Uniform load are limited to three types: Triangle, constant and trapezoidal
loads.
o We can define a point load on any place on the beam.
o
The loads evolution function along the time can be defined independently for
each load. The evolution function is restricted to linear, quadratic, cubic, and
square root from time.
-
8/10/2019 Programa ACCP - Memoria.pdf
8/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 8
Benito Moya Fernndez
- Calculation procedure. The detailed calculations procedure is explained on Annex I
Computation basis:
o Structural Matrix Calculation applied to plastic collapse.
o Matrix determinant solver, the reduced (1) stiffness matrix determinant is
equal to zero when the structure collapses.
-
Data presentation. On Annex II Calculation data, are explained all data we use for
calculations, both internally and externally data:
o Data input via the GUI. Text mode available via keyboard.
o Structure layout and detailed list printing available.
o
Data output via the GUI, presentation in text mode, availability for printing
with the following data:
Nodes plasticization list, with time (order) for each plasticization.
Loads level for each plasticization.
o Data output via the GUI, presentation in graphical mode, with the following
data: Drawing of structure, on the graphical window, indicating the position
and order of appearance for each node plasticization.
Individual data presentation for each plasticized node, selecting on
each one in the pop up list.
o Availability for jumping to each one presentation (Graphical or text).
o Availability for show individual load diagram from each beam.
o Availability for show saved data form older projects.
- Pre-programmed data base. Explained with more detail on Annex III Data base:
o
Common steel profiles included.
o
Availability for programming self-defined profiles, and save these profiles to
further uses.
- Data storage. Explained with detail on Annex IV Software description. Availability for
two storage modes:
o Project TXT mode: Self-defined text file (*.DCP file type) with structure beams
definition. Editable with common text editor.
o Solution TXT mode: Self-defined text file (*.RCP file type) with plastic collapse
solution data.
o Data base storage: Standard Microsoft Access data base
(1) The reduced stiffness matrix includes the columns that have a free movement in Z axis
(Rotational movement). This mean that at least one beam has an articulated junction
to this support.
-
8/10/2019 Programa ACCP - Memoria.pdf
9/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 9
Benito Moya Fernndez
3. Solved examplesThree examples are shown below, solved them in a manual way, using the same system that
the program uses. And after each manual solution, program solution is shown for each one.
3.1Single straight beam.
The first example is a continuous straight beam, with point load in the middle of the beam.
This example is very illustrative, because we can solve it in two ways, we can solve it with
classical torque formulas manually, and we can solve it with matrix calculations with the
program.
After all we can compare all solutions.
In matrix calculations; because we need at least a 3x3 matrix and if we have only two rigid
nodes, we dont have a matrix; we must put a dummy node in an intermediate location in the
beam. With that we get a 3x3 matrix.
This dummy node doesnt change the calculations results.
The manual calculations for a straight beam are:
( )
In example, for a beam with 1000mm length, and a profile IPE-100 we have:
When the load Farrives to 86.680N the beam collapses.
-
8/10/2019 Programa ACCP - Memoria.pdf
10/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 10
Benito Moya Fernndez
If we program this data on software:
Node 1 : Absolute position (3,000 ; 3,000)Type : Support
Node 2 : Absolute position (3,250 ; 3,000)Type : Not support
Node 3 : Absolute position (4,000 ; 3,000)Type : Support
Beam 1 : Profile IPE-100Start node1 (Junction rigid)
End node2 (Junction rigid)
No load defined
Beam 2 : Profile IPE-100
Start node2 (Junction rigid)
End node3 (Junction rigid)
Load: Point load250 N/lapseLinear function
Distance from start node 250mm
In Minimum step between iterations we program the value 0,1
The program gives us the data shown below:
- The structure collapses at time lapse 346,8
- This lapse means that the load is 86.700 N
And the program indicates that a new articulation appears at absolute point (3,500 ; 3,000),
this means that the new node appears in the center of the beam.
The difference between manual load and computed load is because we have a minimum step
of 25N (250N/Lapse x 0,1 Minimum iteration step) and only when the load is bigger than beam
cans support, collapse arrive. In the previous step load is lower than collapse load:
3.2
Half portico, all rigid nodes
The second example proposed is the half portico. We will solve this example only by matrix
calculations way (Manual and program).
The structure appears in drawing:
With manual calculations we will arrive until the first articulation appears, because the
following steps are similar in each stage.
-
8/10/2019 Programa ACCP - Memoria.pdf
11/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 11
Benito Moya Fernndez
First step is composing the elemental stiffness matrix from each beam:
Beam N 1:
- Start node : 1
-
End node : 2- Profile : IPE-100
- Beam length : 2.000mm
- Profile area : 1.030 mm
- Y Inertia : 1.710.000 mm4
- Wpl Y : 39.400 mm
- Angle : 90
-
Young modulus : 210000 MPa
- Rp 0,2% : 275 MPa
-
Load defined as:
o
Point load500 t (N)o Angle 180 in general axis - Location 1000mm from start node
Elemental stiffness matrix in local axis:
0 0
0 0
0
0
0
0
0 0 0 00
0
0
0
0 0 0 0
0 0
0 0
0 0 0 0
0 0
0 0
-
8/10/2019 Programa ACCP - Memoria.pdf
12/122
-
8/10/2019 Programa ACCP - Memoria.pdf
13/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 13
Benito Moya Fernndez
Beam N 2:
- Start node : 2
- End node : 3
-
Profile : IPE-100
-
Beam length : 2.000mm- Profile area : 1.030 mm
- Y Inertia : 1.710.000 mm4
- Wpl Y : 39.400 mm
-
Angle : 90
- Young modulus : 210000 MPa
- Rp 0,2% : 275 MPa
- Load defined as:
o Point load500 N/Lapse
o
Angle 270 - Location 1000mm from start node
Elemental stiffness matrix and forces are the same for local and general axis (Angle for this
beam is zero)
0 0 0 0
0 0
0 0
0 0 0 0
0 0
0 0
0
-250t
|| -125000t
0
-250t
125000t
-
8/10/2019 Programa ACCP - Memoria.pdf
14/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 14
Benito Moya Fernndez
And now we must to compose general stiffness matrix and forces:
4158 0 4158000 -4158 0 4158000 0 0 0
0 250950 0 0 -250950 0 0 0 0
4158000 0 5544000000 -4158000 0 2772000000 0 0 0
-4158 0 -4158000 112308 0 4158000 -108150 0 0
0 -250950 0 0 251488,65 538650 0 -538,65 538650
4158000 0 2772000000 -4158000 538650 12726000000 0 -538650 35910000
0 0 0 -108150 0 0 108150 0 0
0 0 0 0 -538,65 -538650 0 538,65 -538650
0 0 0 0 538650 359100000 0 -538650 718200000
-250t
0
125000t
-250t
|| -250t
-250000t
0
-250t
125000t
In first stage we can reduce the stiffness matrix the columns and arrows 1, 2, 3, 7, 8 and 9;
because those columns and arrows are not affected by movements (Are supports with all
movements restricted).
-
8/10/2019 Programa ACCP - Memoria.pdf
15/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 15
Benito Moya Fernndez
Now we have a matrix system like the figure:
Or in other way:
One system with three equations.
The solution for this system is:
Now we can solve the system in two ways:
-
Solve displacements in function of parameter t, through multiple iterations, andcheck forces and torques for each beam (In the same way that program uses).
- Using an inverse analysis, because we want know when a new articulation appears.
We can check beam by beam, what torque I need to arrive to plasticization in the
beam.
We choose the second way, because we know the displacements in one node in function from
parameter t
In our example, both beams have the same profile, and the torque we need to cause the
plasticization is:
In this case, for node 2, each beam increases the torque on node the same quantity, so we can
suppose that each beam receives the same torque from complete structure (this theorization
is correct because we have a symmetric system on a diagonal through node 2).
-
8/10/2019 Programa ACCP - Memoria.pdf
16/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 16
Benito Moya Fernndez
Then:
||
The program calculation, just arriving to first articulation, indicates the next data:
- The first articulation appears at time lapse 43,375
- The torque on beam is 10.875.000 Nmm
- The plasticization is on beam number two
The next step is analyze structure and re-compose general matrix, recalculate and find the next
articulations.
-
8/10/2019 Programa ACCP - Memoria.pdf
17/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 17
Benito Moya Fernndez
4. Calculation basis
4.1Matrix calculation basis.
Like we have mentioned in the introduction, the calculation basis for plastic collapse in
structures is the same that we can use in classical mathematics for matrix calculations.
Here we dont like do a matrix calculation course, so we will not stop in the calculations
demonstration.
Only we stop briefly explain those concepts that, for some special reason, may be relevant for
the program understanding.
For every structure, and starting from matrix calculation basis, we can define the Stiffness
Matrixfrom a structure like the composition of each beam to these matrix.
For each beam we can define a particular matrix system (Stiffness matrix and nodes loads),
attending to geometrical and physical parameters from beam (Material, profile, length, nodes
fixation, etc). Like we can see in figure 1:
So each beam has associated a local matrix system like:
-
8/10/2019 Programa ACCP - Memoria.pdf
18/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 18
Benito Moya Fernndez
In a simplified manner we can write:
|| || || ||Where:
-
R is the nodes reactions vector.
- F is the nodes forces vector, associated to the beam.
- K is the stiffness matrix.
- Dis the displacements vector
The index () indicates that we are in local reference system
We know how to calculate the stiffness matrix in local system too. We can convert the system
to the general reference system applying a rotation with the appropriate degrees and side.
4.1.1
Stiffness Matrix in Local Reference System (LRS)The stiffness matrix in LRS means that the beam is in horizontal position, the node on the left
side is the origin node, and the node on the right side is the destination node.
We can define three types of stiffness matrix, in accordance with the nodes fixation.
Straight beam with both rigid nodes:
0 0
0 0
0
0
0
0
0 0 0 0
0 0
0
0
(2)
Where:
-
L is the beam length
- A is the beam section area.
- I is the moment of inertia from beam profile
- E is the Young modulus.
Note: There are others simplified expressions, but are irrelevant for the application purpose.
-
8/10/2019 Programa ACCP - Memoria.pdf
19/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 19
Benito Moya Fernndez
Straight beam with one rigid node and other articulated node:
0 0
0 0
0
0
0
0 0 0
0 0 0 0
0 0
0
0 0 0 0 0 0 (3)
In this case we have supposed that the rigid node is on the left side. In the other case, theterms must be inverted, and the matrix is as:
0 0
0 0
0 0 0
0 0 0 0 0 0
0 0
0 0
0 0 0 0 0 0
(4)
Straight beam with both articulated nodes:
0 0
0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 (5)
-
8/10/2019 Programa ACCP - Memoria.pdf
20/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 20
Benito Moya Fernndez
4.1.2 Nodal force vector in Local Reference System (LRS).
The nodal force vector, rather, the contribution of the forces present in the beam on the nodal
forces set in the structure, will depend of the beam loads.
We will avoid the demonstration that nodal forces caused by the bars would be the same
reactions on supports (no horizontal or vertical displacement) of the same features as the linksof the bars (rigid or articulated), but changed sign.
At this time, the calculations here explained are intended for to compose the LRS matrix set
(local stiffness, reactions, forces and displacements), to assembly the general matrix system.
All these calculations will be used one more time in the reverse process, the analysis of all and
every one of the beams, once known the forces, torques and displacements in all nodes in the
general matrix system.
We will do:
||
(6)
In this way, in dependence from the junction type in the nodes we can find:
- Two articulated nodes
- One articulated node and one rigid node
- Two rigid nodes.
But for the matrix calculation in structures, we only take the nodal forces that a beam
generates in the following conditions:
- We take the bar independently from the structure, and consider both nodes rigid.
- The nodal will be the same as the reactions in the nodes, but inverting sign.
The reactions depend from loads on the beam, logically if we dont take count with the own
weight, and the beam has no loads, there are no reactions, and the beam dont contributes to
the structure (On nodal forces).
With the loads, we can find many distributions (Localized or distributed loads), and the
distribution law can take many forms.
-
8/10/2019 Programa ACCP - Memoria.pdf
21/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 21
Benito Moya Fernndez
Here is where perhaps we have the greatest limitation, because we discard all loads with
irregular distribution (Those loads we cant define through a mathematical function), its
implementation by software can be very difficult.
We will distinguish between point and distributed loads.
We must limit the point loads, because make many point loads on the same beam isnt logical,
for that we can use distributed load.
For the distributed loads we can define many distribution laws, but for practicality we will limit
these loads to only one type. We will define this type as trapezoidal load.
This loads organization give us, as discussed below, four combinations, one point load and
three distributed loads.
Point loads: We will define the point load applied in any place on the beam and with any
incidence angle, like the figure:
In these conditions, we can decompose the force in two components, the horizontal
component, co-linear with the beam axis and other one vertical, perpendicular to the same
axis.
Note: The sign comes from international sign convention (Positive to UP and RIGHT side,
negative to DOWN and LEFT side). If we draw the force on the other side from the beam
(stretching instead of pushing the beam) the forces appear like the figure, and we dont need
the sign.
-
8/10/2019 Programa ACCP - Memoria.pdf
22/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 22
Benito Moya Fernndez
In these conditions the forces will be:
For the horizontal reactions we have:
For the vertical reactions and torques we have:
So the nodal forces vector, in local reference system, for one beam with a point load in any
point on the beam and with any incidence angle, would read:
||
(7)
-
8/10/2019 Programa ACCP - Memoria.pdf
23/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 23
Benito Moya Fernndez
Distributed loads: Like we have explained in the beginning of this section, the distributed loads
are limited to only one type we have named trapezoidal load, like the figure:
Although is presented in normal distribution (perpendicular to beam axis), we can find other
no normal distribution. In example, the wind load on a roof. So we will define the general
distributed load like in the figure:
We introduce the constraint that the load is over the entire length of the beam, because if we
leave free areas (with no load) on the beam, the calculation will be more complicated.
This is not a limit for calculation, because in we need free areas in a beam, we can define
auxiliary nodes in the desired beam.
Any other type of distributed load can be defined as a variant of this, so for example, a load
with uniform distribution across the bar would be a special case in which:
And triangular load that would cover the entire bar would be one that:
This allows us to use only one calculation procedure, having defined the reactions in nodes 1
and 2.
-
8/10/2019 Programa ACCP - Memoria.pdf
24/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 24
Benito Moya Fernndez
Calculate directly the reactions produced by this geometry can be tricky, but we can apply
superposition, as shown in the picture:
The independent calculation for each part of load, although is not simply, is more easy than
direct calculation.
For each case we have that there are two components (As in point load), one horizontal part,
co-linear to beam axis, and other one perpendicular to the same axis.
Uniformly distributed load: If we define the uniformly distributed load like shown in the
picture:
We have that the reactions will come defined by the expressions:
-
Horizontal reaction (co-linear to beam axis):
- Normal reaction (Perpendicular to beam axis): We define the normal component like
in the drawing:
In these conditions we have that the vertical reactions are:
And the induced torques on the nodes is:
-
8/10/2019 Programa ACCP - Memoria.pdf
25/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 25
Benito Moya Fernndez
With all this, the vector of nodal forces in LRS for a rod with a uniformly distributed load and
inclined, would be as follows:
||
(8)
Triangular load: If we define the triangular load like the figure:
We have that the reactions and torques comes from the expressions:
- Horizontal reaction (co-linear to beam axis): With the load distribution like the figure,
the reactions would be:
-
Normal reaction (Perpendicular to beam axis): We define the normal component like
in the drawing:
-
8/10/2019 Programa ACCP - Memoria.pdf
26/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 26
Benito Moya Fernndez
We have that the vertical reactions come from the expressions:
And the induced torques on the nodes is:
In case with inverted load, and the higher load side would be in the node 2, like in thepicture bellow:
The horizontal reactions will be:
The vertical reactions will be:
And the torques will be:
-
8/10/2019 Programa ACCP - Memoria.pdf
27/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 27
Benito Moya Fernndez
In these conditions, we can define the vector of nodal forces in LRS, for a triangular load as:
If the higher load is in the node 1:
||
(9)
In the other case:
||
(10)
-
8/10/2019 Programa ACCP - Memoria.pdf
28/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 28
Benito Moya Fernndez
Finally, for a composite trapezoidal load we would have:
Case 1, higher load in node 1:
||
(11)
Case 2, higher load in node 2:
||
(12)
These two expressions are those implemented in the program, regardless of what type of load
is applied, since the values of the parameters that define the charge will determine its type.
This does not mean that, to facilitate data entry, will schedule a series of menus that
somehow, and pre-define the type of load.
-
8/10/2019 Programa ACCP - Memoria.pdf
29/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 29
Benito Moya Fernndez
4.1.3 General reactions and displacements
The general reactions and displacements are part of the problem to solve, so that we use it in
Global Reference System (GRS), although we translate it after to LRS.
There are special nodes in the set of structure nodes, nodes where we know displacements
and reactions, these nodes help us to solve the system
- At support nodes all displacements are zero in all directions, so we can do:
0
0
|| || 0
0
0
0 (13)
At a node other than a support all reactions will be zero, then we can do:
0
0
|| || 0
0
0
0 (14)
This mean that in all supports, in general matrix system (In global reference system), all
displacements will be zero.
In the same way, in all nodes other than support, in general matrix system, we will take all
reactions like as zero.
-
8/10/2019 Programa ACCP - Memoria.pdf
30/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 30
Benito Moya Fernndez
4.1.4 Global reference system
Like we have already explained, the conversion to global reference system is made applying a
rotation to beam
We must take care with local reference system, because although that the beam is in
horizontal position, if the origin node is on the right, really the beam is rotated 180 degrees.
The matrix for change the reference system comes defined like:
0 0 0 0 0 0 0 0
0 0 1 0 0 0
0 0 0 00 0 0 00 0 0 0 0 1 (15)
Being the angle that is necessary to turn the local reference system to match the global
reference system.
To change the entire matrix system we must do:
Nodal forces:
For the nodal forces, we will do the operation:
|| || || Stiffness matrix:
For the stiffness matrix, we will do the operation:
|| || We will do both operations for all and each one of the beams.
4.1.5 Global matrix assembly
With all we have seen in the last section, we can get a set of matrix and nodal force vectors for
all an each of one of beams. Now we need to compose, beginning in this set, the global
stiffness matrix, and the global forces vector.
Each beams node,its name and number is irrelevant, has correspondence with a general node
in the structure.
Each beams stiffness matrix can be divided in four sub-matrices with rank 3x3, like in the
scheme:
-
8/10/2019 Programa ACCP - Memoria.pdf
31/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 31
Benito Moya Fernndez
(18)
Each one of these sub-matrix has relation with other sub-matrix with the same range, included
in the general stiffness matrix, relate mode is well known.
In example, we will suppose that the local node A has correspondence with the general node
3, and the local node B has correspondence with the general node 5, like we can see below:
As we can find through the structural matrix calculations, from this structure we can extract a
matrix with range 24x24 (3 columns and 3 arrows for each node), the general stiffness matrix
appears like:
(19)
From this representation it follows that in the sub-matrix 3-3 (row 3 column 3) corresponds tothe sub-matrix from beam AA, in the same way the sub-matrix 3-5 (row 3 column 5)
corresponds to the sub-matrix from beam AB.
-
8/10/2019 Programa ACCP - Memoria.pdf
32/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 32
Benito Moya Fernndez
We will do the general matrix assembly adding in each general sub-matrix all and each one
sub-matrix in all beams that have correspondence.
In the same way we will do with the general nodal forces vector.
-
8/10/2019 Programa ACCP - Memoria.pdf
33/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 33
Benito Moya Fernndez
4.2Resolution procedure
The resolution procedure is, in a general view, the same that we can use for manual
calculations.
There is the caveat that, manually, we are the processor, and we can discern the type of
problem, choosing one path or another when it comes to solving the equations system, based
on that type.
In this case: A logical calculations structure, that allows us to program it in a computer, we
must to choose a set of environment variables, these variables restrict the number of possible
solutions to program, in scope to making this project an allowable work from the point of view
of the resources and time available.
For do that we must begin from a previous limitations (Typology of structures that we want to
solve) and restricted calculi parameters.
4.2.1 Previous requirements
As we have commented, we will limit the software to a typology of structures and restricted
calculi parameters.
- The equations system is presented in a matrix view like:
|| || || || Where:
o R is the reactions in the supports from a load combination on the structure.
o
F is the nodal forces in the structure.
o K is the structure stiffness matrix.
o dis the nodes displacements.
- Each node will be defined, in each one of the four parts from the equation, by all
beams that connect with the node.
-
For calculations, in addition to all the premises of the matrix calculations in structures,
we will restrict:
o We will calculate only plane structures (2D structures).
o In all nodes other than support, the reaction is zero.
o
In all support nodes, the displacements and rotations are zero.o All applied loads are defined (Or we can define it) in a nodal form,
unequivocally, both in its magnitude and its evolution along the time.
With all this we can define the calculation procedure.
-
8/10/2019 Programa ACCP - Memoria.pdf
34/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 34
Benito Moya Fernndez
4.2.2 Calculation procedure
The calculation procedure is based in, through linear combinations of rows from stiffness
matrix; convert the matrix in its diagonal form.
|| || || || || The identity matrix in this case acts as a wildcard, linear combinations of rows and columns
that apply to the stiffness matrix, apply it to the identity matrix. This will leave us the
equations system like:
|| || || || ||
Where C is a coefficients matrix to apply to addition vector Reactions and Forces
In this way, for each row (separate equation) we get an expression like:
That we can write like:
It wants mean: The displacements in a node, in a determinate sense (Vertical or horizontal), is
function from a linear combination of all and each of one the forces and reactions in thestructure.
In this stage, we can look at point where the displacements are zero (The supports) from these
points we can take:
We will obtain many expressions of this type as supports having the structure (Actually
equations triple support points), allowing us to establish a new equations system, to find the
reactions in terms of the forces applied to the structure
It wants mean: The reactions in all supports are proportionally to a linear combination of all
and each of one the forces and reactions in the structure.
Once we found the reactions of all the supports and in every way, we solve the rest of the
system to find the displacements and rotations of all nodes, using the expression (24).
All steps to obtain the stiffness matrix, making the diagonal of this matrix and construction of
coefficients matrix, are steps that we make at the beginning of the calculation process. From
-
8/10/2019 Programa ACCP - Memoria.pdf
35/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 35
Benito Moya Fernndez
this we get displacements and rotations in each node, and we make the reverse process,
obtaining the result torques in each node from each beam, and solving the stresses in all
beams.
Basically, for all and each of one the beam the process is:
Find for each beam a displacements vector like:
|| (27)
This vector is only the nodes displacements from both nodes of the beam, previously
calculated.
On this vector we apply a rotation, equal in magnitude, but reverse in sense, to the rotation
applied before to forces vector from beam, then appears a vector like:
||
(28)
We can see that the rotations are the same in both vectors.
In this new context, we can establish a new equations system as follows:
|| || ||
-
8/10/2019 Programa ACCP - Memoria.pdf
36/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 36
Benito Moya Fernndez
The bsub-index indicates that is a particular expression for each beam, is a direct solution,
solving the multiplication we can get the nodal forces from the beam.
With this we can solve the stress along the beam, found the maximum stress and verifying
what load is greater than the beam can resist.
Operate with all these data (Forces and torques) may be very hard, so we will make the
following simplifications:
First simplification:
-
Is well known that the normal stresses distribution and torque distribution, along the
beam, have a law in manner that when the normal stress is maximum, the torque
stress is zero and vice versa.
- Normally, in a structure, the torque stresses are very much bigger than the normal
stresses.-
So, we can dispense the normal stress when we will calculate the stress law in the
beam.
Second simplification:
- In a general manner, the axial forces cant make an articulation (Strictly talking),
because they are parallel to axis, they can make only a beam break, and this appears
only when the axial force is very big, and an articulation is formed before it, through
torque stress.
- So, we can dispense the axial forcers when we will calculate the stress law in the
beam.
-
8/10/2019 Programa ACCP - Memoria.pdf
37/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 37
Benito Moya Fernndez
With these conditions we can tell:
- For the plastic collapse in structures, we only need to count the flexion torque on the
end from all and each of one of beams, and not-nodal loads.
-
The torque evolution along the beam will determine where, when and how the
articulation can be formed.
Now, for the resolution, we must to do:
- Define in a clear, logically and structured manner, how the torque will evolve along the
beam.
- In the same way, define the possibility that the beam will collapse in a concrete point.
For the torque evolution along the beam, we will apply the superposition theorem, exploding
the torque in two parts, the hyper-static part and the iso-static part.
-
The hyper-static part is easy to solve, in fact the hyper-static nodal torques are theanswers from expression (29). The fact that the nodes have been articulated or fixed
nodes, will come implicit with the solutions, so if the node is articulated the torque will
be zero, If other value appears with an articulated node, there are a mistake on
calculations. The torque evolution along the beam is very easy, because is a linear
interpolation between both nodes, is very important the torque sign:
The expression that will define the torque is:
In this expression, each torque must been taken in count with his sign.
Note: Node 2 torque, although is negative, is presented in positive sense, because we
want the result torque presented on the side of the traction. In the same way, when
both torques are in the same sense, in the beam appears a zero crossing (The flexion
torque is zero).
-
8/10/2019 Programa ACCP - Memoria.pdf
38/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 38
Benito Moya Fernndez
- The iso-static part depends exclusively from the loads on the beam, obviously if there
are not load on the beam, the iso-static part will be null.
In the same way we did with the reactions calculation from each beam, and having as
target to compose the general matrix system, we will restrict the calculations only on a
point load on the beam, in the concentrate loads case:
Or, in the distributed load case, we will restrict the load to a trapezoidal form, like we
did in the section 4.2.1
Defining all others cases like a variant of this case. In the same way we did with the
reactions. So we can define only one calculations procedure
As we have indicated at begin of this chapter, we will obviate the axil forces when we calculate
the plastic collapse; so we only take in count the forces perpendicular to the beam.
In the point forces case, we can see that the torque evolves along the beam with the
expression:
With this, the total torque on a beam with point loads applied, will be the addition of both iso-
static and hyper-static components, the expression will be:
-
8/10/2019 Programa ACCP - Memoria.pdf
39/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 39
Benito Moya Fernndez
With the distribute loads case, we return to apply superposition theory.
We will define L as total beam length between nodes 1 and 2. In these conditions, and without
axial load, we have for each part that we have divided the trapezoidal load:
-
Uniform load: Torque in x function is:
-
Triangular load: The triangular load has a problem, is easier starting calculations fromnode where load is zero. The torque expression in x function will be the same,
independently how the load is distributed, we will invert the axis system if necessary,
because start the calculations from other side, force us to use superposition theory in
each fraction of x. The torque expression with this particularity will be:
-
Trapezoidal load: The trapezoidal load, logically and with the starting node
particularity, will be the addition of other two loads.
In these conditions, the total torque along a beam with distributed loads will be given us by
the expression:
-
8/10/2019 Programa ACCP - Memoria.pdf
40/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 40
Benito Moya Fernndez
The expressions (30), (32) and (36) are those that define the torques on the beams in function
of applied loads. These expressions are the only expressions programmed, because the load
definition will obviate the part of expression that is not necessary.
In example: For an uniformly distributed load, q1=q2, the last part in expression (36) is zero
To find a valid solution, we must find the point (The geometrically point x) where the
expressions arrive to the maximum value, and make these values equals to the maximum
stress that the beam can support, in this way we can find the load that makes a plastic
articulation in the point.
In the point load case, if the articulation is not yet created on the nodes, will be created in the
load application point, so to find the load that creates an articulation, we only need make the
torque force in this point be equal to the plastic moment resistance from the beam, and solve
the equation.
The distributed load case is more complicated, we must to derivate the torque expression in
function from x and make the derivative expression equal to zero, to find the point where is
located the maximum torque.
The torque derivative expression in function from x is:
So:
So the maximum moment is calculated by substituting this value in expression (36).
Although appears complicated, we must remember that all values for expression (39) are
known, they are the numeric values from beam length and loads. After we only need put the
value given from expression (39), the x value, in the expression (36)
-
8/10/2019 Programa ACCP - Memoria.pdf
41/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 41
Benito Moya Fernndez
5. Data for calculations
All we have saw in the Annex-I will be structured in a logically manner, ever from a computer
point of view, sometime this could be in discordance with a clear representation from an
operator point of view, we will try take in count both points of view when defining the data.
From computer point of view we will define:
-
Space economy: All data must be organized in a way that may not be duplicated, nor
unnecessary occupied memory.
-
Structured data: Structures must be established for to group those similar data, in a
way that the pass between procedures could be easy and fast, making the programing
process more efficient.
From operator point of view we will define:
- Clear: Avoid ambiguities that complicate data entry, program maintenance, etc
- Organized: In the structures, the data will be organized in a way that they appear clear
and intelligible.
With these preliminary we can separate the necessary data in:
-
General data, they will define the basic project principles.
- Descriptive data, they will define the structure description.
-
Operative data, basically the internal data that the program will use in calculations.
-
Storage data, basically the same data from inputs and outputs, they can be stored in a
hard disc
All these data are described with more details, dividing them in other subgroups, and thesesubgroups are the data structures that the program works. These structures contain the
variables for calculations.
We will made a variables declaration in pseudo-code, for use it after in the programing code.
-
8/10/2019 Programa ACCP - Memoria.pdf
42/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 42
Benito Moya Fernndez
5.1General data
These data give us the general information about the project, are reserved for identification
data:
- Project name.
-
Project author.
- Begin date.
- Last modification date.
- Structure construction material.
These data are in example; more data can be added if necessary.
5.2Descriptive data
The physical structure description is made with accepting some conventions, these
conventions are name conventions valid to work in a computer.
Basically a structure is defined trough a nodes set, between these nodes are located beams,
and some beams have loads associated.
These two basic structures (Nodes and beams) will be the basic elements to define our
structure in our application.
5.2.1 Nodes
Node, without relations with other elements, is an abstract concept, because is a location in
space, it defines the dimensions of structure, but with nothing connected to it makes no sense.
From this point of view, to define a node we need:
- Tag: A name/number for the node, an identification
- Space location: X and Y coordinate, in absolute reference.
-
Typology: With this feature we want define the node type, general or support node.
This is a data type that group four variables, its definition in pseudo-code will be:
Declare NODE As Type
POSITION_X As Real
POSITION_Y As Real
NODE_TYPE As Boolean
End Declare
But this is only a node, our structure will be a nodes group, at this time we have limited the
nodes number to 200, but in all case will be greater than 1 (If we have only one beam, we need
at least two nodes). To operate with all nodes at once, in example to pass all nodes between
two procedures with only one instruction, we need to group them in a variable. This variable
must have a dynamic elements number in run time, and allow us to work with each element
-
8/10/2019 Programa ACCP - Memoria.pdf
43/122
-
8/10/2019 Programa ACCP - Memoria.pdf
44/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 44
Benito Moya Fernndez
o Q2 parameter indicates distance from starting node.
- 2Uniform distributed load.
o Q1 and Q2 parameters are equals, and indicate load magnitude.
- 3Triangular distributed load
o
Q1 parameter indicates load magnitude and Q2 parameter will be zero.
Or
o
Q2 parameter indicates load magnitude and Q1 parameter will be zero.
- 4Trapezoidal distributed load.
o Q1 parameter indicates load magnitude in starting node.
o
Q2 parameter indicates load magnitude in ending node.
The incidence angle is obviously. Is a Boolean parameter that will define with what reference
system are defined the loads. We do that to make more easy data input, in example for the
wind load, is very easy to define a horizontal wind load on general axis, but define it on
inclined beam is very difficult, because is possible that we have defined the beam between
two nodes in the structure, nodes located in a position, so we dont know the beam angle. If
we set this parameter to true, the software will convert the incidence angle.
The evolution function is a parameter, this parameter will select a function from functions
library.
Like nodes, we need a variable type definition for beams, to group the different fields that
compose the complete beam description. This variable declaration appears like:
Declare BEAM As Type
STA_NODE As Integer Number from starting node
STA_TYPE As Boolean Junction type in starting node
END_NODE As Integer Number from ending node
END_TYPE As Boolean Junction type in ending node
PROFILE As Text Profile definition
WP As Real Plastic Strength moment
ROTATED As Boolean Beam rotation on X Axis
LOAD As Integer Load type
INCIDENCE As Real Incidence angle for load
REFERENCE As Boolean Reference system for load
VALUE_1 As Real Parameter 1 for load
VALUE_2 As Real Parameter 2 for load
FUNCTION As Integer Load evolution function
End Declare
As we can see, like in nodes declaration, there are not identifications defined, this is because
all beams will be defined by starting and ending nodes, so no further identification is needed.
And also like with the nodes, we need to group beams in a matrix, for the same reason. So we
will define the matrix:
Declare BEAMS_SET As Array (Stages, Elements_Number) of BEAM.
Beam position in the matrix allow us identify it for calculations.
-
8/10/2019 Programa ACCP - Memoria.pdf
45/122
-
8/10/2019 Programa ACCP - Memoria.pdf
46/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 46
Benito Moya Fernndez
We can see the concept for three dimension array in the picture bellow.
For the rest of operative data we will do the same, but with care with the arrays dimensions.
In the same way we will do with the coefficients matrix, we will declare this matrix as you cansee:
Declare COEFFICIENTS As ARRAY (M ; N*3 ; N*3) Of Double
All other matrices will have two dimensions, and their ranks are (M ; 3*N) in all cases.
Displacements matrix.
Declare DISPLACEMENTS As ARRAY (M ; 3*N) of Double
Reactions matrix.
Declare REACTION As ARRAY (M ; 3*N) of Double
-
8/10/2019 Programa ACCP - Memoria.pdf
47/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 47
Benito Moya Fernndez
Nodal forces matrix.
Declare N_FORCES As ARRAY (M ; 3*N;[num]) of Double
Note: [num] is an integer, which will be defined later in the program description, which is
imposed by the diversity of existing load functions.
Operationally, the program needs to also control the instant of occurrence of each articulation,
this can be controlled with a one-dimensional array (a vector), which are stored moments of
progress of each phase, its declaration would be:
Declare PHASES As ARRAY (M) of Double
Note that we used PHASE instead STAGE, because this last name is reserved (For better
program understanding) to actual PHASE number. We assign a value to this variable in a
sentence:
STAGE = PHASES.ELEMENTS_NUMBER
Furthermore, for calculations is interesting to keep each and every one of the diagonal
matrices, until the appearance of the plastic collapse of the structure, in addition to stress
values, reactions and displacement from each node at each phase. This is motivated by the
following:
- Every time an articulation appears we need re-compose the matrix, at least to put the
new stiffness values from new structure. Furthermore, if articulation appears outside
an existing node, we must add three columns and three arrows to the new matrix,
because we will have a new node.
- Once re-assembled the matrix, we must recalculate and save stress values,
displacements and reactions for each time of appearance of the articulation, with a
view to taking them as input data for continue the next phase calculations.
- The above two points must be made every time a new phase appears, and for each
and every one of the stages preceding the current phase calculation.
Also the program will use more variables and constants in run time, these variables and
constants are not interesting at this time, because almost all of them are control variables, and
have not relevance at this moment, so we will obviate their description.
-
8/10/2019 Programa ACCP - Memoria.pdf
48/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 48
Benito Moya Fernndez
6. Data BaseProgram includes a data base for standard profiles and materials. The data base can be used as
alternative storage system for project data.
This data base is programed with Microsoft Access, and we can access it through SQL
statements. Taking advantage of this implementation, applies also to create and save own
manufacturing profiles (eg girders), and different materials of the pre-programmed, in order to
be able to be used them in subsequent projects.
From the point of view of projects is an effective storage system that allows us to save
different versions of each project, and access them agile
As a database is structured in tables, which we can divide in two areas: Projects area and
materials area.
Materials area has two tables, one for construction materials and other one for profiles
Construction materials table has five fields:
- Tag (Material commercial reference or standard designation).
- Description.
- Yield stress.
-
Young modulus.
- Density.
Profiles table has ten fields:
- Family (HEB, UPN, etc).
- Profile number (100, 120).
- Description.
-
Area
- Inertia Y
- Inertia Z
- Resistant plastic moment Y
- Resistant plastic moment Z
-
Weight (Kg/m)
-
Drawing (*)
NOTE (*): Drawing refers to an image stored in the same application folder (In the computers
hard disk), when a profile is selected the program shows a profiles image, to help us in
selection. A further detailed description from this capability is given in Annex IV Application
description.
Project area has three tables, which contains the same data as those described for the
projects, except projects table, which contains one more field to indicate the revision index of
the project.
-
8/10/2019 Programa ACCP - Memoria.pdf
49/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 49
Benito Moya Fernndez
7. Software descriptionThe software is a program type called Windows Form, that means program shows us a set
of forms (windows) where the process is developed.
Previously we will do a functional description of program, how develops all processes, from
starting to the final data presentation (In the screen or printed).
After that, we will do a more detailed description from internal function, what and how to do
in all processes, to get the expected result. We will write in pseudo-code all of most important
routines to solve the calculations, and we will justify them.
Finally, enter a little more into the details of the program, indicating the language chosen and
the reasons, explaining the solutions to critical program processes
7.1Functional program description
The program is similar to many existing programs for Windows in the market.
When we start the program, a welcome screen like shown more bellow appears:
On this screen we can choose basic start options:
- Start a new project.
-
Load an existing project.
-
Maintenance Jobs.
Each on one of these options closes this window and opens a new one.
-
8/10/2019 Programa ACCP - Memoria.pdf
50/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 50
Benito Moya Fernndez
With Start new projectoption, we will open a project input general data screen, here we can
input all general data from a new project, in a screen like you can see more bellow:
Then, after pressing OK button, will open the window that allows us to edit structures, as
shown:
On it we can distinguish the marked areas.
1- Drawings area, graphic window where we can design our structure.
2-
Tools palette, where program shows all we need to create and/or edit our structure.3- Data area, where the program shows the edition/selection data
4- Options belt, where we can see the active commands line, the program gives us
information all time, and we can select some graphical modes.
Drawing area is in white, because we have selected create a new project.
This screen functions are described with more details in section 7.1.1Data input.
-
8/10/2019 Programa ACCP - Memoria.pdf
51/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 51
Benito Moya Fernndez
If selected option is Load existing project, a file browser will appear:
On this dialog box we can select the project to open, and after to press OK button, same
structures edition window will appear, but now showing selected structure in browser.
The program doesntask us for project data, because they are of the stored project. Ever we
can access to them by pop up menu File with option Project thatopens general data dialog
box.
If selected option is Maintenance, a window with a three folders tab will appear:
Where we can choose following options in a Tab Control:
- Projects data base
-
Materials data base
- Profiles data base
- Project beams and nodes
In section 7.1.4Maintenance Option we will describe with more details these options.
7.1.1 Data input
As we have told, we will do data input from a structure on edition screen. For that we have
three ways:
-
Directly on graphic area.
- Manually
- A combination of both ways.
All this must be doing in a logic sequence, which means, a beam is defined between twonodes; we cant define a beam if we havent any node, or only one node. The program has the
-
8/10/2019 Programa ACCP - Memoria.pdf
52/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 52
Benito Moya Fernndez
capability to detect this malfunction and, if we try to define a beam when we have less than
two nodes, it gives us an error message. A logic sequence to define a structure will be:
- Define nodes.
-
Create beams.
-
Define loads.
This sequence is flexible, that means, if we have created a set of nodes, and after starting
beams creation process need more nodes, we can create without problems.
Also we can delete nodes if later we dont need them. In this way we can remark
- The program gives us an error message if we try to create a beam when less than two
nodes are created. Dont allow us to create a beam until exist at least two nodes.
- The program gives us an error message if we try to create two beams between the
same two nodes, independently if the order from nodes is inverted from one beam to
other. In example: If we define a beam between nodes 1 and 2, we cant define a
beam between nodes 2 and 1. The program will give us a message Duplicated beam
and dont allow us to create it.
Although this seems a handicap, if we want create a composed beam in example,
really isnt, to define a composed beam we need to create it on profiles data base, and
after use it in the structure.
- The program will advise us if we try to delete a node with a beam connected. This
advertisement tells us that if we delete the node, all beams connected will be deleted
too. If we accept the advertisement, all connected beams will be deleted.
-
If we try to delete a beam with loads defined, the program will advise that if we deletethe beam, all associated loads will be deleted.
-
When saving a structure, manually or previously to calculations, the program advises
us if there are free nodes and if we want to delete them, if we agree all free nodes will
be deleted, if we disagree the program will return to edition screen.
Direct data input: We can do direct data input on graphic area, with choosing tool from tools
box, when we drop mouse pointer on desired tool it keeps selected, from this moment we can
see that the mouse pointer changes to
tool icon when on drawing area.
Basic tools for edition are:
- Node
- Beam
- Load
- New
-
Delete
- Edit
- Zoom In
- Zoom out
As you can see, all icons are very intuitive.
-
8/10/2019 Programa ACCP - Memoria.pdf
53/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 53
Benito Moya Fernndez
The tools "new", "edit" and "delete" are used with tools of node, beam and load; that means
when any element tool is selected must have care which option (new, delete or edit) is
selected.
All time, while mouse pointer is in to graphic area, we can see in data area following
information:
- XY pointer coordinates.
- Active selection, in case any item is selected in edition mode.
- Characteristics of the active selection.
Manual data input: Ever we can do data input manually, to do that we can Access to edition
dialog boxes through pop up menu Edition. In this menu we can find the submenu New
that give us three options: Node, Beam or Load. With each one of these options opens a
dialog box, different for each one of them, where we can define all data from nodes, beams
and loads.
These dialog boxes are the same for editing existing elements, but here we can select the nodeidentification tag, but we cant change it. In a new node case, the identification number will be
given us by computer.
In beam case, where we select both nodes (Starting and ending node) in graphic window, the
same dialog box opens in both cases (New and edit). Here we can select nodes, invert nodes,
select profiles and inclusively define loads.
Loads are defined on beams, and in fact we will define them on same dialog box, we can do it
at same time than beams or more later. Only we have disabled modify beam definitions
(nodes, profile and nodes order), to prevent accidental modification; and vice-versa, when weare editing a beam we can see existing loads, but we cant modify them.
NOTE: When we define loads must have specially care with selected reference system (Local or
general), because the loads rotation is different in each case.
-
8/10/2019 Programa ACCP - Memoria.pdf
54/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 54
Benito Moya Fernndez
The loads definition is made in the following way:
- On beams edition screen we have a button to add loads, if we click on it a new window
will opens for loads edition.
- In this window we have some option groups. The first group is for load selection:
o No load, if we select this option, we will delete all defined loads, will be the
default selection when we define a new beam.
o Point load.
o
Uniformly distributed load
o Triangular load
o Trapezoidal load.
If we select triangular or trapezoidal load a new options group will appears; where we
can select where is located the starting node (node where load is lowest).
Second options group is to select load function, this means define load evolution along
the time. And we have too a text box to define the time factor, because all functions
are defined with a unitary time factor, but on calculation time we can modify this
unitary time factor multiplying it by this factor.
To avoid an infinite number of load functions, in a first instance load functions are
limited to four evolution laws:
Linear function, with the expression:
Quadratic function, with the expression:
Cubic function, with the expression:
Square root, with the expression:
Where (q) is the factor that load increases each time lapse, in accordance with defined
factors.
-
8/10/2019 Programa ACCP - Memoria.pdf
55/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 55
Benito Moya Fernndez
We should define incidence angle from load, and the reference system for this angle.
About this we can remark:
Angles are ever positive and are defined in a positive rotation sense
(counter-clock wise)
Independently from reference system chosen, a load with incidence
angle zero is a load parallel to X axis, an ascendant load will have an
incidence angle of 90 and a descendant load will have an incidence
angle of 270
We suggest define loads in general reference system, is better and
easier to define loads in reference to structure than to beam.
Once defined all data from our structure:
-
Nodes.
-
Beams.- Loads.
And always before calculations, we must save data on disk, this will cause a review of
structure, program will revise that there arent alone nodes (without beams connected), there
arent incongruences, and saves a copy on hard disk. After all of this we can launch
calculations.
-
8/10/2019 Programa ACCP - Memoria.pdf
56/122
-
8/10/2019 Programa ACCP - Memoria.pdf
57/122
-
8/10/2019 Programa ACCP - Memoria.pdf
58/122
Escola Universitaria dEnginyeria Tcnica Industrial de Barcelona
Degree Final JobSoftware for Plastic Collapse Computation in Structures
Cristina Hernndez Olivar 58
Benito Moya Fernndez
Sample of detailed mode presentation window:
-
8/10/2019 Programa ACCP - Memoria.pdf
59/122
-
8/10/2019 Programa ACCP - Memoria.pdf