You are on page 1of 76

PSZ 19:16 (Pind.

1/07)

UNIVERSITI TEKNOLOGI MALAYSIA

DECLARATION OF THESIS / UNDERGRADUATE PROJECT PAPER AND


COPYRIGHT

Authors full name :

AHMAD AMIRUL AMIN BIN CHEK AYOB

Date of birth

29 AUGUST 1987

Title

DEVELOPMENT OF PLANE FRAME FINITE ELEMENT ANALYSIS


SOFTWARE USING MATLAB

Academic Session :

2009/2010

I declare that this thesis is classified as :

CONFIDENTIAL

(Contains confidential information under the Official


Secret Act 1972)*

RESTRICTED

(Contains restricted information as specified by the


organization where research was done)*

OPEN ACCESS

I agree that my thesis to be published as online open


access (full text)

I acknowledged that Universiti Teknologi Malaysia reserves the right as follows:


1. The thesis is the property of Universiti Teknologi Malaysia.
2. The Library of Universiti Teknologi Malaysia has the right to make copies for the
purpose of research only.
3. The Library has the right to make copies of the thesis for academic exchange.

Certified by :

SIGNATURE
870829-35-5479
(NEW IC NO. /PASSPORT NO.)
Date :
NOTES :

SIGNATURE OF SUPERVISOR
DR. AIRIL YASREEN BIN MOHD YASSIN
NAME OF SUPERVISOR
Date :

If the thesis is CONFIDENTAL or RESTRICTED, please attach with the letter


from the organization with period and reasons for confidentiality or
restriction.

I hereby declare that I have read this thesis and in


my opinion this thesis is sufficient in terms of scope and
quality for the award of degree of Bachelor of Civil Engineering

Signature

: .

Name

: DR. AIRIL YASREEN BIN MOHD YASSIN

Date

: APRIL 2010

DEVELOPMENT OF PLANE FRAME FINITE ELEMENT ANALYSIS


SOFTWARE USING MATLAB

AHMAD AMIRUL AMIN BIN CHEK AYOB

A report submitted in partial fulfilment of the


requirements for the award of degree of
Bachelor of Civil Engineering

Faculty of Civil Engineering


Universiti Teknologi Malaysia

APRIL 2010

ii

I declare that this report entitled Development Of Plane Frame Finite Element
Analysis Software Using Matlab is the result of my own research except as cited in
the references. The thesis has not been accepted for any degree and is not
concurrently submitted in candidature of any other degree.

Signature

: ....................................................

Name

: AHMAD AMIRUL AMIN BIN CHEK AYOB

Date

: APRIL 2010

iii

To my beloved parentthis is for you

I will make both of you proud with me


Thank dad and thanks mom

iv

ACKNOWLEDGEMENT

First and foremost, I am very grateful to ALLAH Almighty for giving me an


opportunity to gain knowledge and experiences in the course of this project and the
strength to finished this report within the period successfully. Secondly, I would like
to acknowledge my gratitude to Dr Airil Yasreen Bin Mohd Yassin who had taken a
lot of effort and patient to guide and answering all my doubtful while supervise me in
completing this report. At the same time, I would like to take this chance to express
my thanks to all staff from STC (Steel Technology Centre) that provide a lots of
assistance at various occasions to me. Finally, I want to take this opportunity to

express my thanks from the bottom of my heart to my beloved family, friends and
colleagues who always right by my side to provide support and motivation
throughout the study.

Ahmadamirul amin

ABSTRACT

In this work, a software had been developed to analyze plane frames. The
main scope of research is to analyze plane frames by using finite element method.
Graphical User Interface (GUI) has been developed to draw the 2D frame. The finite
element method provides a means to compute forces and displacements. This
program used MATLAB R2009a as the programming software. The results obtained
from this software were compared with the existing engineering software,
STAADPro for validation.

vi

ABSTRAK

Dalam kajian ini, satu perisian telah dibangunkan untuk menganalisis


kerangka satah. Skop utama kajian ini adalah untuk menganalisis kerangka satah
dengan menggunakan Kaedah Elemen Terhingga (FEM). Graphical User Interface
(GUI) telah dibangunkan untuk menggambar bentuk 2 Dimensi kerangka. Kaedah
Elemen Terhingga (FEM) mempunyai cara yang tersendiri untuk mengira daya dan
anjakan.

Program

ini

menggunakan

MATLAB

R2009a

sebagai

perisian

pengaturcaraan. Keputusan yang diperolehi dari software ini dibandingkan dengan


perisian kejuruteraan lain yang sedia ada, STAADPro untuk justifikasi

vii

TABLE OF CONTENT

CHAPTER

TITLE

PAGE

DECLARATION

ii

DEDICATION

iii

ACKNOWLEDGEMENT

iv

ABSTRACT

ABSTRAK

vi

TABLE OF CONTENT

vii

LIST OF TABLES

LIST OF FIGURES

xii

LIST OF SYMBOLS

xiii

INTRODUCTION

1.1

Introduction

1.2

Problem of the Statement

1.3

Objectives of the study

1.4

Significant of the Study

1.5

Scope of the Study

LITERATURE REVIEW

2.1

Introduction

2.2

Matlab

2.2.1

Definition of MATLAB

2.2.2

Introduction of MATLAB

viii

2.3

2.5

2.2.3

Syntax in MATLAB

2.2.4

Variable in MATLAB

2.2.5

Limitation in MATLAB

2.2.6

Advantages of MATLAB

Finite Element Method

10

2.4.1

12

Plane Frame

13

METHODOLOGY

15

3.1

Introduction

15

3.2

System Development Life Cycle

15

3.2.1

Phase 1: Conduct a Preliminary


Investigation

16

3.2.2

Phase 2: Do an Analysis System

17

3.2.3

Phase 3 : System Design

17

3.2.4

Phase 4 : System Development

18

3.2.5

Phase 5 : System Implementation

18

3.2.6

Phase 6 : System Maintenance

19

3.3

Structural Analysis Formulation

19

3.4

Step in solve the Problem

21

3.5

Graphical User Interface (GUI)

32

3.5.1

General Procedure of FEM

Step-by-step Users Guide Manual

32

RESULTS AND DISCUSSION

37

4.1

Introduction

37

4.2

Results and comparison

38

4.2.1

Case 1

38

4.2.2

Case 2

45

CONCLUSIONS AND RECOMMENDATIONS

52

5.1

Conclusions

52

5.2

Recommendations

53

ix
REFERENCES

54

APPENDIX

55

LIST OF TABLES

TABLE NO.
3.1

TITLE
The foundation of Integrating AutoCAD and MATLAB
Software

4.1

42

Different of displacement between Matlab and STAADPro


in X-axis

4.6

41

Maximum Different (%) between Matlab and STAADPro


(Case 1)

4.5

40

Different of percentage between Matlab and STAADPro


in Bending Moment

4.4

39

Different of percentage between Matlab and STAADPro


in Shear Force

4.3

17

Different of percentage between Matlab and STAADPro


in Axial Force

4.2

PAGE

43

Different of displacement between Matlab and STAADPro


in Y-axis

43

4.7

Different of rotation between Matlab and STAADPro

43

4.8

Maximum Different between Matlab and STAADPro


(Case 1)

4.9

Different of percentage between Matlab and STAADPro


in Axial Force

4.10

46

Different of percentage between Matlab and STAADPro


in Shear Force

4.11

44

47

Different of percentage between Matlab and STAADPro


in Bending Moment

48

xi

4.12

Maximum Different (%) between Matlab and STAADPro


(Case 2)

4.13

Different of displacement between Matlab and STAADPro


in X-axis

4.14

49

50

Different of displacement between Matlab and STAADPro


in Y-axis

50

4.15

Different of rotation between Matlab and STAADPro

50

4.16

Maximum Different between Matlab and STAADPro


(Case 2)

51

xii

LIST OF FIGURES

FIGURE NO.

TITLE

PAGE

2.1

Example of variable in Matlab

2.2

An element having six degrees of freedom

14

3.1

System Development Life Cycles

16

3.2a

The beam with its deflected shape

20

3.2b

The beam with its deflected shape

21

3.3

An inclined plane frame element with two nodes

29

3.4

Drawing scale

32

3.5

GUI axes

33

3.6

Insert input as node type, external load Fx, Fy


and Moment, Mz in the node table and Youngs Modulus,
E and cross-sectional area, A

34

3.7

Impose Loading and Boundary Condition

35

3.8

Result of the plane frame after analysis (Post processing)

35

3.9

Pseudo Flow Chart of Plane Frame Analysis Software

36

xiii

LIST OF SYMBOLS

applied moment

EI

flexural stiffness

vertical deflection of the beam

external loading distribution

length of the beam

second moment of area

Youngs modulus

constant axial load

global stiffness matrix

global nodal force vector

global nodal displacement vector

nodal force vectors in the element

element displacement vector

element stiffness matrix

Cos theta

Sin theta

Fx

force in x- axes

Fy

force in y- axes

Mz

moment in z -axes

CHAPTER 1

INTRODUCTION

1.1

Introduction

This study is to develop finite element plane frame analysis program by using
MATLAB software. Plane frame analysis is a standard methods used in analyzing
structure. This method has been worldwide used and most of the structural analysis
software used frame analysis to analyze the structure. For examples, the existing
commercial software that incorporating Finite Element Method are LUSAS,
STAADPro, ABAQUS and ESTEEM. The importance of this study is it will help to
increase the understanding plane frame analysis in order to be able to use commercial
software appropriately. In addition, a custom made stand alone program for plane
frame analysis is also a main concern of this study.

2
1.2

Statement of the Problem

FEM is the most establish method compare to other numerical method such
as Boundary Element Method (BEM), Meshfree Method, Finite Difference Method
(FDM) and many else. This is due to the fact that FEM provide more general
formulation compare to the others. FEM allows the boundary conditions to be set at
later stage of the formulation which resulting in FEM to become so general.

In FEM, frame analysis had been established in a long time ago. The typical
frame analysis are plane frame analysis and space frame analysis. The nature and the
concept of space frame analysis are similar to the plane frame analysis. Space frame
analysis deal with 3-dimensional structure while plane frame analysis deal with 2dimensional structure. However, one can analyze 3-dimensional structures by having
a combination of 2-dimensional structures.

Therefore, instead of trying to understand space frame analysis, it is more


appropriate to understand plane frame analysis first. In fact, space frame analysis is
an extended plane frame analysis.
In the other hand, this study is to encourage the development of a less
commercial analysis tool that makes it is possible for FEM knowledge to be applied.
This study can be the pioneer of a trend towards developing engineering software in
Malaysia where by it can analyze more complicated cases by using differential
equation approach and not just solely based on stiffness method alone.

The main issue in the present software that is available in the market is that
most of them are relying on stiffness method alone and the considerations are oversimplified. The available software applications are not flexible enough to face arising
issues on technicality and analysis for academic research purposes.

3
1.3

Objectives of the Study

The purpose of this study is to develop finite element structural analysis


software which is sufficiently comparable and equivalent to existing commercial
software educational purposes. At the end of this study, it should be able to achieve
the following objectives:

a) To create a new software by applying finite element analysis in MATLAB


R2009a software.

b) To determine the nodal reactions and displacements of a plane frame after


loading is imposed on it.

c) To compare the result for three cases of plane frame study with STAADPro.

1.4

Significance of the Study

As mention in the previous, existing commercial software are expensive and


not affordable for education purposes. Therefore, this study will create new software
that can be use for analyze plane frame which give the same result of analyzing with
the existing software.

This study will be use Finite Element Method (FEM) because it is an


established numerical method and many of existing commercial software are FEM
based software. The significant of this study is by better understanding of FEM can
help to be a great user of the commercial software. In addition, to develop an owned

4
program should be an advantage as the interface is custom made and can be suit to
satisfy personal interact.
Design time might directly affect the cost of the project. This program should
be able to help the structural engineer to analyze the plane frame in a very short time.
The time and material costs are the two main considerations of all construction
projects. By doing software analysis, it will reduce the time rather than solve by
manual calculation. It also will give the exact result with a minimum error.

1.5

Scope of the Study

The main scope of research is to analyze plane frames by using finite element
method. This study will create a new user-friendly program that can analyze fixed
supported plane frame.

This study will be focus on how it can analyze a plane frame which involves
two major elements in building. The two major elements under this discussion are
the beam element and the column element. To illustrate the shape and the size of that
particular element, Guide User Interface (GUI) will be used to draw and locate a 2D
frame. After that, the drawing will be analyzed by using finite element method in
solving all the plane frame problems. This program will be use MATLAB R2009a as
software which can handle and solve for a large size of matrix elements.

There are some assumption and limitation in using this program which are:

1. Only fixed supported base will be considered

2. Only line or bar elements are considered and illustrated on the GUI

CHAPTER 2

LITERATURE REVIEW

2.1

Introduction

The initial trend in the development of computer software involved


enthusiasts fired by necessity or pleasure. Functional integration in CAD systems,
C. J. Anumba(1994).

As mention in the chapter 1, an engineer will through the complex process of


analysis and design. In process of analysis, it will become easy by using engineering
computer software that is needed to complete this program. Therefore, this program
will provide by use MATLAB program. In the MATLAB, there will be used Finite
Element Method to calculate the complex differential equation.
For integration in CAD systems for structural engineering applications to be
effective, it must be functional. In other words, it must address the functional aspects
of the CAD system and should be based on an understanding of the requirements of
the structural engineer. The resulting CAD system would be applicable to all stages
of the design process and would proffer several benefits:

Minimisation of input

Reduction in the potential for errors

Greater overall functionality

Improved coordination

Increased data integrity

Availability of data generated at one stage for reuse at another stage

Improved efficiency in terms of time and cost improved communication


between members of the design team. Functional integration in CAD systems, C. J.
Anumba(1994).

2.2

MATLAB

2.2.1

Definition of MATLAB

MATLAB is a numerical computing environment and fourth generation


programming language. Developed by The MathWorks, MATLAB allows matrix
manipulation, plotting of functions and data, implementation of algorithms, creation
of user interfaces, and interfacing with programs in other languages. Although it is
numeric only, an optional toolbox uses the symbolic engine, allowing access to
computer algebra capabilities. Nowadays, MathWorks claimed that MATLAB was
used by more than one million people across industry and the academic world.

7
2.2.2

Introduction of MATLAB

MATLAB is now a full-featured technical computing environment, but it


started as a simple Matrix Laboratory. Three men, J. H. Wilkinson, George
Forsythe, and John Todd, played important roles in the origins of MATLAB.

MATLAB was invented in the late 1970s by Cleve Barry Moler, chairman of
the computer science department at the University of New Mexico.

MATLAB was first adopted by control design engineers, Little's specialty,


but quickly spread to many other domains. It is now also used in education, in
particular the teaching of linear algebra and numerical analysis, and is popular
amongst scientists involved with image processing.

2.2.3

Syntax in MATLAB

MATLAB, the application, is built around the MATLAB language. The


simplest way to execute MATLAB code is to type it in at the prompt in the
Command Window. In this way, MATLAB can be used as an interactive
mathematical shell. Sequences of commands can be saved in a text file, typically
using the MATLAB Editor, as a script or encapsulated into a function, extending the
commands available.

8
2.2.4

Variables in MATLAB

Variables are defined with the assignment operator, =. MATLAB is


dynamically typed, meaning that variables can be assigned without declaring their
type, except if they are to be treated as symbolic objects, and that their type can
change. Values can come from constants, from computation involving values of
other variables, or from the output of a function. Example is shown in Figure 2.1.
>> x = 17
x=
17
>> x = 'hat'
x=
hat
>> x = [3*4, pi/2]
x=
12.0000 1.5708
>> y = 3*sin(x)
y=
-1.6097 3.0000

Figure 2.1: Example of variable in Matlab

2.2.5

Limitation in MATLAB

For a long time there was criticism that because MATLAB is a proprietary
product of The MathWorks, users are subject to vendor lock-in. Recently an
additional tool called the MATLAB Builder under the Application Deployment tools

9
section has been provided to deploy MATLAB functions as library files which can
be used with .NET or Java application building environment. However, the computer
where the application has to be deployed needs MCR (MATLAB Component
Runtime) for the MATLAB files to function normally. MCR can be distributed freely
with library files generated by the MATLAB compiler.

MATLAB, like FORTRAN, Visual Basic and Ada, uses parentheses, e.g. y =
f(x),

for both indexing into an array and calling a function. Although this syntax can

facilitate a switch between a procedure and a lookup table, both of which correspond
to mathematical functions, a careful reading of the code may be required to establish
the intent.

Mathematical matrix functions generally accept an optional argument to


specify a direction, while others, like plot, do not, and so require additional checks.
There are other cases where MATLAB's interpretation of code may not be
consistently what the user intended (e.g. how spaces are handled inside brackets as
separators where it makes sense but not where it doesn't, or backslash escape
sequences which are interpreted by some functions but not directly to the language
parser because it wouldn't be convenient for Windows directories. What might be
considered as a convenience for commands typed interactively where the user can
check that MATLAB does what the user wants may be less supportive of the need to
construct reusable code.

2.2.6

Advantages of MATLAB

MATLAB has many advantages compared to conventional computer


languages for technical problem solving. Among them are:

Ease of Use. MATLAB is an interpreted language. Program may be


easily written and modified with the built-in integrated development

10
environment and debugged with the MATLAB debugger. Because the
language is so easy to use, it is ideal for the rapid prototyping of new
programs.

Platform Independence. MATLAB is supported on many different


computer systems, providing a large measure of platform independence.

Predefined Function. MATLAB comes complete with an extensive


library of predefined functions that provide tested and pre-packaged
solutions to many basic technical tasks.

Device-Independent Plotting. Unlike most other computer languages,


MATLAB has many integral plotting and imaging commands. The plots
and images can be displayed on any graphical output device supported by
the computer on which MATLAB is running.

Graphical User Interface (GUI). MATLAB includes tools that allow a


programmer to interactively construct a graphical user interface, (GUI)
for his or her program. With this capability, the programmer can design
sophisticated data-analysis programs that can be operated by relatively
inexperienced users.

2.3

Finite Element Method

The finite element method (FEM) of analysis is a very powerful and modern
computation tool which provides solution to wide range of engineering problems.
These will include analysis of automotives, aircrafts, buildings and also bridge
structure to field analysis of heat flux, fluid flow, magnetic flux, seepage, and other
flow problem.

11
For an example, a force applied to an object, say wind on an airplane, is
continuous, making it impossible to analyze on a computer. However, finite element
analysis breaks the airplane into pieces, finite elements, and analyzes the pieces
individually. Finite element analysis puts the problem in a discrete domain, allowing
quite complex computations to be done easily by a computer. The same idea applies
with virtual surgery. By breaking an organ into pieces and applying forces, there is a
way of calculating the displacements using a computer. This allows defining physical
characteristics of the organ--a physically based model. These mean that rather than
pre-defining displacements, as with animation, forces can be applied interactively
and react accordingly.

FEM design analysis can be conducted on real objects or model that


represents certain criteria of the real one. If we are used the real object as the model,
it can be physical model or mathematical model where are certain behavior of part of
the object is capture and will be describe by the mathematical apparatus.

The design analysis will be conducted with the use of mathematical model
which will be further breakdown based on what method are use to obtain the
solution. Simple mathematical model can be solve easily by analytically but when
the more complex model which required to use of numerical methods to solve it,
FEM is one of the method that used numerical method for solving complex
mathematical models.

The finite element method is numerical method which give approximate


solution by assemble into a small part. In the FEM, the entire continuous model must
be descretized into simply shaped sub domains called finite element. Each element is
a simple geometry for a much easier analysis than the actual complex structure. The
finite element analysis is based on the variation formulation of a boundary value
problem. The unknown field variables are usually approximated by functional
generated from polynomials for the reasons of numerical efficiency.

12
The FEM can be distinguished by the following features:
a) The physical region of the problem is subdivided into sub regions or finite
elements.
b) One or more of the dependent variables is approximated in functional form
over each element and hence over the whole domain. The parameters of this
approximation subsequently become the known of problem.
c) Substitution of the approximations into the governing equations yields a set
of equation in the known parameters and hence the approximated solution to
the problem.

2.3.1

General Procedure of FEM

Generally, there are six steps involve in the finite element analysis as
summarized follow:

1) Discretizing the domain- this step involves subdiving the geometric domain
into element which contains nodes. For discrete systems like trusses and
frame, the system is already descretized and this step is unnecessary.
However, for continous systems like plates and shells, this step becomes very
important and the answer obtain are only approximate. In this case, the
accuracy of the solution depends on the descretization used.

2) Determining the element stiffness matrix- the element stiffness equation for
each element need to be determined. In this study, this step will be performed
using Matlab.

3) Assembling the global stiffness matrix- this will be done using the direct
stiffness approach. This step also will be performed using Matlab.

13
4) Applying the boundary conditions- physical constraint like supports and
applied loads and displacements.

5) Solving the governing equations- this will be done by portioning the global
stiffness matrix and then solving the resulting equations using Gaussian
elimination.
6) Post-processing to obtain additional information like the reaction forces and
element stresses and strains.

2.3

Plane Frame

These days, the approach is incorporated into the finite element method and
used to analyze complex frame structures. In the implementation of the concept in
finite element analysis of frames, inelastic hinges are mostly placed at the ends of
ordinary elastic beamcolumn elements. A two-dimensional beamcolumn finite
element with embedded rotational discontinuities by P. Nanakorn(2003).

Many structures, such as buildings and bridges, are composing by the plane
frame. In plane frame, all the members lie in the same plane and are interconnected
by rigid joints. The internal stress resultants at a cross-section of a plane frame
member consist of bending moment, shear force and an axial force. The significant
deformations in the plane frame are only flexural and axial.

Initially, the stiffness matrix of the plane frame member is derived in its local
co-ordinate axes and then it is transformed to global co-ordinate system. In the case
of plane frames, members are oriented in different directions and hence before
forming the global stiffness matrix it is necessary to refer all the member stiffness
matrices to the same set of axes. This is achieved by transformation of forces and
displacements to global co-ordinate system.

14
In the case of two-dimensional (plane) frame analysis, we need to use an
element having six degrees of freedom as shown in Figure 2.2. This element is
assumed to lie in the XZ plane and has two axial and four bending degrees of
freedom. By using a linear interpolation model for axial displacement and a cubic
model for the transverse displacement, and superimposing the resulting two stiffness
matrices, the stiffness matrix can be obtained.

Figure 2.2: An element having six degrees of freedom

CHAPTER 3

METHODOLOGY

3.1

Introduction

In this chapter, it will show how the program of plane frame finite element
analysis software using Matlab will developed. In develop this program, System
Development Life Cycle had been chosen in guiding the construction of this software
program.

3.2

System Development Life Cycle

This system will be defined as a collection of related component that interact


to perform a task in order to accomplish the goal of this project. In MATLAB, it will
be performing several system analyses like system analysis, design and
implementation. This analysis will be used six phase problem solving procedure for
examine an information system and improving it. These six phases called system

16
development life cycle (SDLC) that will perform step by step process in system
analysis and is shown as below illustration.

Preliminary
Investigation
System Analysis

System Design

System Development
System
Implementation
System Maintenance

Figure 3.1 System Development Life Cycles

3.2.1 Phase 1: Conduct a Preliminary Investigation

This preliminary analysis phase will be starting with the objectives of this
project followed by defining nature and scope of problem. Alternative solution will
be proposed by leave the system alone, make it more efficiency, or will build a new
system. In this project, all the cost and especially benefits will be taking into account
included short term and long term, direct and indirect cost. This preliminary plan will
be submit with recommendation. Tables 3.1 show the foundation of this program.

17
1. Hardware

1. Computer
2. Printer
Scanner

2. Computation Software

1. MATLAB
2. STAADPro

3. Personal

1. Person( a user)

Table 3.1 The foundation of Integrating AutoCAD and MATLAB software

3.2.2 Phase 2: Do an Analysis System

As the Figure 3.1, it shown that the second phase of this project will be
system analysis. This will be the most critical phase which will involve and done in
the whole development of the system. This system will shown the link between
entities, process and the flow of the data in the system. It also involves modeling of
the process or connectivity diagram that called Data Flow Diagram (DFD) which
will be discussing later.

3.2.3 Phase 3 : System Design

The system design comes after the system analysis in the SDLC. Moreover,
in this software, this part will involve the design of the system input, system
processing, system programming, system file and database and also system output.

18
The design of the system input will be done parallel with the design of system
processing interface GUI.

The system programming requires the conduct of

structural analysis and the used of finite element method for some structural member
with the intention to provide a general and versatile system in adapting future change
and demands. The code based analysis will be the major part of this system.

The designing the system files and database, consideration is given to precast
concrete companies that will used the sized that widely used in Malaysias
construction. The storage of the data from analysis input such as MATLAB also will
be the database.

The output will give the result in the MATLAB that given the value of
deflection that occur in that particular frame and also the value of forces acting at
nodes.

3.2.4 Phase 4 : System Development

In this phase, all the process and the design will start to be applied. All the
software and hardware as mention in Table 3.1 will involve developing the system.
After that, the system that had been developed has to be testing to make sure that the
system is made according to the hard planning in phase 2 and 3.

3.2.5

Phase 5 : System Implementation

In this phase, it will shown how the system to be carried out. It include
converter of the software, hardware and files. This phase also used to guide and train

19
the user in use this program. This phase is to ensure that the user is in the right track
and give the right output.

3.2.6 Phase 6 : System Maintenance

This phase will keep the system running through system audits and making
change based on the new condition.

3.3

Structural Analysis Formulation

To complete this program software, the analysis of the frame is used Finite
Element Formulation. It is because the main system of analysis in this program is
based on Finite Element approach. The implementation of Finite Element approach
is to ensure flexibility of the software. In calculate the frame or other more complex
structure, Finite Element approach is the best solution to be applied.

Finite Element Formulation Method written in MATLAB is being chosen


instead of other numerical due to several reasons. Firstly, this method is a numerical
method which will be perfect in programming purpose. It is also established and
worldwide used especially in structural analysis. Since the computation of Finite
Element Formulation Method mostly involves matrices and Matrix manipulation, it
is recommended using MATLAB software to do the calculation. The processes that
involve in this analysis are element process, formulation process, extract data process
and calculation process.

20
Element process is a process where the element is being set according to each
category structural member. In this study, it only involves two main structural
members which are beam and column. Each structural member has their own
formulations. In fact there is continuity between some formulations. For example,
column analysis needs a data and results from the related beam analysis to proceed
the process.

To illustrate more about this finite element formulation, a simple example


were taken. The analysis will be given in step-by-step for ease of understanding. The
beam with its deflected shape is given in Figure 3.2a and Figure 3.2b.

Figure 3.2a : The beam with its deflected shape

21

Figure 3.2b: The beam with its deflected shape

3.4

Step in solve the Problem

3.4.1

STEP 1: Discretize the beam into finite elements

Figure 3.3b shows the discretization of the beam into two finite elements. The
elements are connected to the supports and to each other at the nodes. Note that, due
to the discretization, the length of the individual element is half the original length of
the beam, as shown in Figure 3.2b.

22
3.4.2

STEP 2: Number the elements and the nodes

Figure 3.3b also shows the numbering system of the finite elements. Nodes
numbers are circled whilst elements numbers of boxed.

3.4.3

STEP 3: Specify the degree of freedoms (dof) , the ds

Degree of freedom (dof) is defined as the possible displacements of the node.


For a general case, there are six dofs per nod but for this 2-D beam problem, two
dofs per node are sufficient to define the problem at hand. These dofs are the vertical
displacement and the rotation of the nod, as shown in Figure 3.2b. The former is
taken as the value of the field variable at the location of the node. For an EulerBernoulli beam, the latter is taken as the first derivative of the field variable at the
location of the node.

3.4.4

STEP 4: Specify the generalized (trial) function

In this problem, generalized functions are specified for each element, as


shown in Figure 3.2b. These are actually Ritz functions, given as:

1 = 0 + 1 + 2 2 + 3 3
(3.1a)

23
2 = 4 + 5 + 6 2 + 7 3
(3.1b)

3.4.5

STEP 5: Convert the generalized function into interpolation function

The generalized functions given in Eq. (3.1) are in terms of the generalized
coordinates s which do not have any physical meaning. On the other, the dofs
represent the spatial values at node. Therefore, it would be more physical to express
the field variable in terms of the dofs. This can be done by establishing first the
relation between the generalized coordinates and the dofs, given as follows. For
element 1 and based on the fact that dofs are actually the nodal values of the field
variable and its derivative:

At x = 0
1 |=0 = 0 = 1
(3.2a)
1
|
= 1 = 2
=0
(3.2b)

At x = L
1 |= = 0 + 1 + 2 2 + 3 3 = 3
(3.2c)
1
|
= 1 + 22 + 33 2 = 4
=0
(3.2d)

24
Eqs. (3.2) are actually simultaneous equations which can be solved for the as
follows:

0 = 1
1 = 2

2 =

31 + 22 33 + 4
2

3 =

21 + 2 23 + 4
3

Inserting the values of the above into Eq. (3.1a) gives:


( 22 + 31 33 + 4 ) 2 (21 + 2 23 + 4 ) 3
1 = 1 + 2
+
2
3
(3.3)

3.4.6

STEP 6: Insert the interpolation function of element 1 and its derivatives


into the functional

1
( 22 + 31 33 + 4 ) 6(21 + 2 23 + 4 )

+
2
2
3

25

1 + 2
+

( 22 + 31 33 + 4 ) 2
2
(21 + 2 23 + 4 ) 3

3
(3.4)

3.4.7

STEP 7: Integrate the functional

Integrating Eq. (3.4) yields:

=
+

2 4 2

6 3
2

2 2

2
12

6 1
2

4 +

6 3 2
3

121
2 62
22 2
61
2
61 2

+
+

+
3
2
3
2
2

2
12
3

1
2
(3.5)

Based on Eq. (3.5), it can be seen that the functional is now a function of the dofs, .

3.4.8

STEP 8: Satisfy the stationary principle

Satisfaction of the stationary principle gives:

64 123 62 121
=0=

+
+

1
2
3
2
3
2
(3.6a)

26

24 63 42 61 2
=0=

+
+

2
12
(3.6b)

64 123 121 62
=0= 2 +

3
3
2
2
(3.6c)

44 63 22 2 61
=0=

+
+
+
4

12
2
(3.6d)

3.3.9

STEP 9: Form the equilibrium equation in matrix representation Eqs.


(3.6) are simultaneous equations which can be arranged in matrix form
as:

12
3
6
2
12

3
6
2

6
2
4

6
2

12
3
6
2

12

3
6
2

6
2
2

6
2
4

1
2
3
4

2
2
12
=

2
2

12
(3.7)

3.3.10 STEP 10: Repeat steps 6 to 9 for element 2

By repeating the previous step but this time considering the span from x = L to x = 2L
gives:

27
12
3
6
2
12

3
6
2

6
2
4

6
2

12
3
6
2

12

3
6
2

6
2
2

6
2
4

5
6
7
8

2
2
12
=

2
2

12
(3.8)

Note that, despite the different in the considered span, i.e. x = L to x = 2L instead of x
=0 to x = L, where the latter is the span of Element 1, the square matrix on the lefthandside of the equation remains the same for both Eqs. (3.7) and (3.8). This, as will
be detailed, allows for predetermined properties of the finite element known as the
stiffness matrix. This stiffness matrix will be used in Matlab to calculate the plane
frame problem.

3.3.11 STEP 11: Assemble the equilibrium

Assemble the equilibrium equations of Elements 1 and 2 to form the global


equilibrium equations by expanding Eqs. (3.7) and (3.8), both equations can be
combined to give:

28

(3.9)

3.3.12 STEP 12: Impose boundary conditions

Impose boundary conditions and solve the global equilibrium equations for
the dof, ds Solving Eq. (3.9) gives the values of the dof, di, which are the primary
unknowns of the problem. The equation can be solved by various ways, either
directly or iteratively.

29
3.3.13 STEP 13: Post processing

Differentiate the now known dof appropriately to obtain more information i.e.
stress, strain This step is also known as post processing where more information
i.e. stresses, strain can be obtained by differentiating the solved solution
accordingly. However, in this book, we limit ourselves with the determination of the
displacement terms only. Further reading on the post processing should be done
elsewhere.

3.4

Plane Frame Finite Element analysis

3.4.1

Introduction

It is clear that the plane frame element has six degree of freedom three at
each node (two displacements and one rotation). The sign convention used is the
displacements are positive if they are points upwards and rotations are positive if
they are counterclockwise. Consequently for a structure with n nodes, the global
stiffness matrix K will be of size 3n x 3n (since we have three degree of freedom at
each node).
y
Y

x
L

Figure 3.3: An inclined plane frame element with two nodes

30
Once the global stiffness matrix K is obtained we have the following structure
equation:

[K] {D} = {F}


(3.10)

When D is the global nodal displacement vector and F is the global nodal
force vector. At this step the boundary conditions are applied manually to the vectors
D and F. then the matrix (3.10) is solved by portioning and Gaussian elimination.
Finally once the unknown displacement and reaction are found, the nodal force
vector is obtained for each element as follows:

{f}= [k] [R] {d}


(3.11)

Where {f} is the 6 x 1 nodal force vectors in the element and {d} is the 6 x 1
element displacement vector. The matrices [k] and [R] are given by the following:

1
2
3
{f} =
4
5
6
(3.12)

31

0
[k] =

12

3
6

2
4

0
0

12

6
2

0
0

12

3
6
2

2
4

12

2
4

(3.13)

[R] =

0 0 0 0
0 0 0 0
0 0 1 0 0 0
0 0 0
0
0 0 0 0
0 0 0
0 0 1
(3.14)

1
2
{d} = 3
4
5
6
(3.15)

32
3.5

Graphical User Interface (GUI)

The main reason GUIs are used in this software is because it makes things
simple for the end-users of the program. From a command-line-driven operation of
MATLAB code, many of us migrate to perform tasks while hiding the unnecessary
clutter and technicality that lies underneath. Interfacing is concerned with
simplification of entry points to the code and encapsulation of its functional
behaviour. If GUIs were not used, people would have to work from the command
line interface, which can be extremely difficult and frustrating.

3.5.1

Step-by-step Users Guide Manual

In this subtopic, it will show how the software was performed. Firstly, the
drawing scale of the axes is needed to be identified so that the frame structure can be
modeled within the axes range. For a example to modeled, a drawing scale of 4m in
x-direction and 3m in y-direction with interval 1m is stated.

Figure 3.4 : Drawing scale

33
After applying the drawing scale, the axes will be generated and displayed on
the next interface after the press on the start drawing button. Now, the plane frame
can be modeled in the axes generated as in Figure 3.5.

Figure 3.5: GUI axes

The number of node and element will be displayed on the axes after finish the
drawing of structure. For the information, the coordinate of each node will be
generated automatically and displayed on the node table.

34

Figure 3.6:

Insert input as node type, external load Fx, Fy and Moment, Mz in the
node table and Youngs Modulus, E and cross-sectional area, A

Besides the axis, there are two tables at the right hand side of the interface,
which are node table and element table.to continue to the next stage, some important
values needed to be input into the table so that the program can run successfully
which is node type, external load Fx, Fy and Moment, Mz in the node table and
Youngs Modulus, E and cross-sectional area, A in the element table. Then, user
need to impose all the loading by click Impose Loading and BC User can redraw
the frame in the existing axes by click Clear Drawing button and the new drawing
can be draw again.

35

Figure 3.7: Impose Loading and Boundary Condition

After all the important information gathered, the plane frame analysis
program is run to generate the results after click button Analyze Structure. The
Analyze structure button is as shown in Figure 3.7. This analysis will be use finite
element method to calculate the result. The result will show in the table as in Figure
3.8 beside the axis.

Figure 3.8: Result of the plane frame after analysis (Post processing)

36
These entire steps will be shown clearly in pseudo chart as in Figure 3.9.

Start

Choose axis
Scale

Draw Plane Frame in the Axis

Input , E, I, A,
Fx,Fy,Mz,w

Solving the problem using


Finite Element Method

Display Result,
Reaction,Fx,Fy,Mz, Deflection

End

Figure 3.9: Pseudo Flow Chart of Plane Frame Analysis Software

CHAPTER 4

RESULTS AND DISCUSSIONS

4.1

Introduction

In this chapter, two examples taken from book named MATLAB Guide to
Finite Elements, Peter I. Kattan used to test and demonstrate steps to analysis
structure in the plane frame analysis software. The results obtained from the plane
frame analysis software are compared with the answer in the book to see whether the
results from the software are acceptable.

In order to check the results with the existing engineering software, the
example used to test the plane frame analysis software is modeled again by using
engineering software, STAAD.Pro to compare the results. Theoretically, the results
from the plane frame analysis software should be approximately same with the
results generated from other existing engineering software and also the answer in the
book.

38
4.2

Results and comparison

Simple cases were taken from MATLAB Guide to Finite Elements, Peter I.
Kattan. These cases will be illustrated on detail to get the solution. These cases are
shown as in Figure 4.1 and Figure 4.2..

4.2.1

Case 1

20k
N

3
m

12kNm
m

1
3

4m

Figure 4.1: Single Storey rectangular Portal Frame (Case 1)

39
Data available:

Youngs Modulus,E = 210 GPa

Cross-sectional area,A = 0.02 m2,

Inertia,I = 5 x 10-5 m4

The result from this plane frame analysis software had compared to the result from
STAADPro. In this case, the result is shown in the table below:

Table 4.1: Different of percentage between Matlab and STAADPro in Axial Force
ELEMENT

NODE

Fx STAADPro

Fx MATLAB

Different (%)

8.587

8.5865

0.005822755

-8.587

-8.5865

0.005822755

-7.81

-7.8103

0.003841229

7.81

7.8103

0.003841229

-8.587

-8.5865

0.005822755

8.587

8.5865

0.005822755

Result in Table 4.1 shown the axial force that is acting at the node of each
element. In this case, there is consist three element. In element 1, the axial force that
is acting on node 1 is 8.5865 kN while the axial force that acting on node 2 is 8.5865 kN which it get from the MATLAB. It is mean the element is in compression.
In STAADPro result, the axial force that is acting on node 1 is 8.587 kN while the
axial force that acting on node 2 is -8.587 kN. The different percentage between
these two software comparisons is 0.005822755 %.

In element 2, the axial force that is acting on node 2 is -7.8103 kN while the
axial force that acting on node 3 is 7.8103kN which it get from the MATLAB. It is

40
mean the element is in tension. In STAADPro result, the axial force that is acting on
node 1 is -7.81 kN while the axial force that acting on node 2 is 7.81kN. The
different percentage between these two software comparisons is 0.003841229 %.

In element 3, the axial force that is acting on node 2 is -8.5865 kN while the
axial force that acting on node 3 is 8.5865 kN which it get from the MATLAB. It is
mean the element is in tension. In STAADPro result, the axial force that is acting on
node 1 is -8.587 kN while the axial force that acting on node 2 is 8.587 kN. The
different percentage in these two comparisons is 0.005822755 %.

Table 4.2: Different of percentage between Matlab and STAADPro in Shear Force

ELEMENT

NODE

Fy STAADPro

Fy MATLAB

Different (%)

-12.19

-12.1897

0.002461034

12.19

12.1897

0.002461034

8.587

8.5865

0.005822755

-8.587

-8.5865

0.005822755

-7.81

-7.8103

0.003841229

7.81

7.8103

0.003841229

Result in Table 4.2 shown the Shear Force that is acting at the node of each
element. In element 1, the Shear Force that is acting on node 1 is -12.1897 kN while
the Shear Force that acting on node 2 is 12.1897 kN which it get from the MATLAB.
In STAADPro, the result of Shear Force that is acting on node 1 is -12.19kN while
Shear Force that acting on node 2 is 12.19 kN. The different percentage between
these two software comparisons in node 1 is 0.002461034 %.

In element 2, the Shear Force that is acting on node 2 is -8.5865 kN while the
Shear Force that acting on node 3 is 8.5865 kN which it get from the MATLAB. In
STAADPro result, the Shear Force that is acting on node 1 is -8.587 kN while the

41
Shear Force that acting on node 2 is 8.587 kN. The different percentage in this two
comparison is 0.005822755 %.

In element 3, the Shear Force that is acting on node 3 is -7.8103 kN while the
Shear Force that acting on node 4 is 7.8103kN which it get from the MATLAB. In
STAADPro result, the Shear Force that is acting on node 3 is -7.81 kN while the
Shear Force that acting on node 4 is 7.81kN. The different percentage between these
two software comparisons in node 2 is 0.003841229 %.

Table 4.3: Different of percentage between Matlab and STAADPro in Bending


Moment
ELEMENT

NODE

Mz STAADPro

Mz MATLAB

Different (%)

-21.025

-21.0253

0.001426873

-15.544

-15.5438

0.00128667

15.544

15.5438

0.00128667

18.802

18.8023

0.001595575

-6.802

-6.8023

0.004410468

-16.629

-16.6286

0.002405436

Result in Table 4.3 shown the Bending Moment that is acting at the node of
each element. In element 1, the Bending Moment that is acting on node 1 is -21.0253
kNm while the Bending Moment that acting on node 2 is -15.5438 kNm which it gets
from the MATLAB. In STAADPro, the result of Bending Moment that is acting on
node 1 is -21.025 kNm while Bending Moment that acting on node 2 is -15.544
kNm. The different percentage between these two software comparisons in node 1 is
0.001426873 % while in node 2 is 0.00128667 %.
In element 2, the Bending Moment that is acting on node 2 is 15.5438 kNm
while the Bending Moment that acting on node 3 is 18.8023 kNm which it gets from
the MATLAB. In STAADPro result, the Bending Moment that is acting on node 1 is

42
15.544 kNm while the Bending Moment that acting on node 2 is 18.802 kNm. . The
different percentage between these two software comparisons in node 3 is
0.001595575 %.

In element 3, the Bending Moment that is acting on node 3 is -6.8023 kNm


while the Bending Moment that acting on node 4 is -16.6286 kNm which it gets from
the MATLAB. In STAADPro result, the Bending Moment that is acting on node 3 is
-6.802 kNm while Bending Moment that acting on node 4 is -16.629 kNm. The
different percentage between these two software comparisons in node 3 is
0.004410468 % while in node 4 is 0.002405436 %.

Table 4.4: Maximum Different (%) between Matlab and STAADPro (Case 1)

Maximum Different (%)


Axial Force,Fx

0.005822755

Shear Force,Fy

0.005822755

Bending Moment,Mz

0.004410468

43
Table 4.5: Different of displacement between Matlab and STAADPro in X-axis
ELEMENT

NODE

dx Matlab

dx STAADPro

Different(mm)

-3.8

-3.787

0.013

-3.8

-3.787

0.013

-3.8

-3.779

0.021

-3.8

-3.779

0.021

2
3

Table 4.6: Different of displacement between Matlab and STAADPro in Y-axis


ELEMENT

NODE

dy Matlab

dy STAADPro

Different(mm)

1
2
2
3
3
4

0
0
0
0
0
0

0
-0.006
-0.006
0.006
0.006
0

0
0.006
0.006
0.006
0.006
0

2
3

Table 4.7: Different of rotation between Matlab and STAADPro

ELEMENT

NODE

Rotation
Matlab

Rotation
STAADPro

Different(rad)

1
2
2
3
3
4

0
0.0008
0.0008
0.0014
0.0014
0

0
0.001
0.001
0.001
0.001
0

0
0.0002
0.0002
0.0004
0.0004
0

2
3

44
Table 4.8: Maximum Different between Matlab and STAADPro (Case 1)

Different

Unit

Deflection,x

0.021

mm

Deflection,y

0.006

mm

rotation,z

0.0004

rad

45
4.2.2

Case 2

20kN/mm
5 kN

2m

13

4m

Figure 4.2: Single Storey rectangular Portal Frame with distribution load(Case 2)

Data available:
Youngs Modulus, E = 205 GPa
Cross-sectional area, A = 0.02 m2,
Inertia, I = 2 x 10-4 m4

46
The result from this plane frame analysis software had compared to the result from
STAADPro. In this case, the result is shown in the table below:

Table 4.9: Different of percentage between Matlab and STAADPro in Axial Force

ELEMENT

NODE

Fx STAADPro

Fx MATLAB

Different (%)

39.064

39.0643

0.000767971

-39.064

-39.0643

0.000767971

18.281

18.2806

0.002188064

-18.281

-18.2806

0.002188064

40.936

40.9357

0.000732851

-40.936

-40.9357

0.000732851

Result in Table 4.9 shown the axial force that is acting at the node of each
element. In this case, there is consist three element. In element 1, the axial force that
is acting on node 1 is 39.0643 kN while the axial force that acting on node 2 is 39.0643kN which it get from the MATLAB. It is mean the element is in
compression. In STAADPro result, the axial force that is acting on node 1 is 39.064
kN while the axial force that acting on node 2 is -39.064 kN. The different
percentage between these two software comparisons is 0.000767971%.

In element 2, the axial force that is acting on node 2 is -18.2806kN while the
axial force that acting on node 3 is 18.2806 kN which it get from the MATLAB. It is
mean the element is in tension. In STAADPro result, the axial force that is acting on
node 1 is -18.281 kN while the axial force that acting on node 2 is 18.281 kN. The
different percentage between these two software comparisons is 0.002188064%.

In element 3, the axial force that is acting on node 2 is -40.9357kN while the
axial force that acting on node 3 is 40.9357kN which it get from the MATLAB. It is
mean the element is in tension. In STAADPro result, the axial force that is acting on

47
node 1 is -40.936 kN while the axial force that acting on node 2 is 40.936 kN. The
different percentage in these two comparisons is 0.000732851%.

Table 4.10: Different of percentage between Matlab and STAADPro in Shear Force

ELEMENT

NODE

Fy STAADPro

Fy MATLAB

Different (%)

13.281

13.2806

0.003011821

13.281

13.2806

0.003011821

39.064

39.0643

0.000767971

40.936

40.9357

0.000732851

18.281

18.2806

0.002188064

-18.281

-18.2806

0.002188064

Result in Table 4.10 shown the Shear Force that is acting at the node of each
element. In element 1, the Shear Force that is acting on node 1 is 13.2806 kN while
the Shear Force that acting on node 2 is 13.2806 kN which it get from the MATLAB.
In STAADPro, the result of Shear Force that is acting on node 1 is 13.281 kN and
Shear Force that acting on node 2 is 13.281 kN. The different percentage between
these two software comparisons in node 1 is 0.003011821 %.

In element 2, the Shear Force that is acting on node 2 is 39.0643 kN and the
Shear Force that acting on node 3 is 40.9357 kN which it get from the MATLAB. In
STAADPro result, the Shear Force that is acting on node 1 is 39.064 kN while the
Shear Force that acting on node 2 is 40.936 kN. The different percentage between
these two software comparisons in node 2 and node 3 are 0.000767971% and
0.000732851%.

48
In element 3, the Shear Force that is acting on node 3 is 18.281 kN while the
Shear Force that acting on node 4 is -18.281 kN which it get from the MATLAB. In
STAADPro result, the Shear Force that is acting on node 3 is 18.281 kN while the
Shear Force that acting on node 4 is -18.281 kN. The different percentage between
these two software comparisons in node 2 is 0.002188064%.

Table 4.11: Different of percentage between Matlab and STAADPro in Bending


Moment

ELEMENT

NODE

Mz STAADPro

Mz MATLAB

Different (%)

-7.209

-7.2091

0.001387155

-19.352

-19.3522

0.001033485

19.352

19.3522

0.001033485

-23.095

-23.0951

0.000432994

23.095

23.0951

0.000432994

13.466

13.4661

0.000742611

Result in Table 4.7 shown the Bending Moment that is acting at the node of
each element. In element 1, the Bending Moment that is acting on node 1 is -7.2091
kNm while the Bending Moment that acting on node 2 is -19.3522 kNm which it gets
from the MATLAB. In STAADPro, the result of Bending Moment that is acting on
node 1 is -7.209 kNm while Bending Moment that acting on node 2 is -19.352 kNm.
The different percentage between these two software comparisons in node 1 is
0.001387155 % while in node 2 is 0.001033485 %.

In element 2, the Bending Moment that is acting on node 2 is 19.3522 kNm


while the Bending Moment that acting on node 3 is -19.3522kNm which it gets from
the MATLAB. In STAADPro result, the Bending Moment that is acting on node 1 is
19.3522kNm while the Bending Moment that acting on node 2 is -19.3522kNm. .
The different percentage between these two software comparisons in node 2 is
0.001033485% and 0.000432994 in node 3.

49
In element 3, the Bending Moment that is acting on node 3 is 23.0951 kNm
while the Bending Moment that acting on node 4 is 13.4661 kNm which it gets from
the MATLAB. In STAADPro result, the Bending Moment that is acting on node 3 is
23.095 kNm while Bending Moment that acting on node 4 is 13.466 kNm. The
different percentage between these two software comparisons in node 3 is
0.000432994 % while in node 4 is 0.000742611 %.

Table 4.12: Maximum Different (%) between Matlab and STAADPro (Case 2)

Maximum Different (%)

Axial Force,Fx

0.00218806

Shear Force,Fy

0.00218806

Bending Moment,Mz

0.00103349

50
Table 4.13: Different of displacement between Matlab and STAADPro in X-axis

ELEMENT

NODE

dx Matlab

dx STAADPro

Different(mm)

0.0802

0.08

0.0002

0.0802

0.08

0.0002

0.0624

0.062

0.0004

0.0624

0.062

0.0004

Table 4.14: Different of displacement between Matlab and STAADPro in Y-axis

ELEMENT

NODE

dy Matlab

dy STAADPro

Different(mm)

-0.0191

-0.019

1E-04

-0.0191

-0.019

1E-04

-0.02

-0.02

-0.02

-0.02

Table 4.15: Different of rotation between Matlab and STAADPro

ELEMENT

Rotation
Matlab

NODE
1
2
3

Rotation
STAADPro

Different(rad)

51

Table 4.16: Maximum Different between Matlab and STAADPro (Case 2)

Different

Unit

Deflection,x

0.0004

mm

Deflection,y

0.0004

mm

rotation,z

rad

CHAPTER 5

CONCLUSIONS AND RECOMMENDATIONS

5.1

Conclusions

Based on the research carried out, a few outcomes can be made as the
conclusion:
a) The plane frame analysis software has been developed using MATLAB.
b) The results obtained were compared with those generated by existing
commercial software to validate the present work.
c) The comparison between results generated from plane frame analysis
software to the STAADPro shows that the results obtained from the research
were accurate and acceptable.
d) The software can be used to calculate the displacements occur at node
effectively.
e) The external and internal force in each member can be determined effectively
by using plane frame analysis software.
f) The finite element formulation programmed in MATLAB can be used to
define and solve the plane frame analysis problem.

53
5.2

Recommendations

Although the research was successfully developing the plane frame analysis
software using MATLAB, however the software need to be upgrade and improved in
the future version by against the some assumptions and limitations stated in this
research. As mention earlier in the Chapter 3, the plane frame analysis software was
limited to the analysis of rigid support or fixed end plane frame only. In order to
improve the usability of the software, the analysis of pin support plane frame can be
included by modifying the source code programmed in the software. The incline
support can be included in the software in the future to make the software more
flexible to most of the plane frame problems.

54

REFERENCES

1. Lord Baker and Jacques Heyman (1969). Plastic Design of frames


(Fundamentals). Cambridge University Press.
2. Brian J. Bell (1992). (Terjemahan oleh Nasly bt Mohd Ali ) Teori Stuktur
Lanjutan(Analisis Kerangka). Universiti Teknologi Malaysia.
3. Arthur S. Hall & Ronald W. Woodhead(1965). Frame analysis 2nd Edition.
John Wiley & Sons, Inc.
4. Valerian Leontorich M.S (1959) Frames and Arches (Condensed Solutions
for Structural Analysis.
5. Peter I.Katttan(2007) MATLAB Guide to Finite Elements- An Interactive
Approach. Verlag Berlin Heidelberg,New York. Springer.
6. R.C Hibbeler. 2002. Structural Analysis. Edisi kelima. Upper Saddle River,
N.J Prentice-Hall.
7. Airil Yasreen Mohd Yassin and Ahmad Kueh Beng Hong (2008).
Differential, Variational and Finite Element Formulations for Structural
Beams.
8. David V. Hutton (2004). Fundamentals of Finite Element Analysis. New
York: Mc Graw Hill.
9. Jamaludin Mohamad Yatim (2009). Structural Analysis, Notes & Problem

55

APPENDIX

MATLAB CODINGS

56

Matlab codes for plane frame stiffness


function[TKglobalelement]=FEA_PlaneFrameStiffness(DataElement2,DataD
raw,nodecoor,i)
E=DataElement2(i,2);
A=DataElement2(i,3);
I=DataElement2(i,4);
nd1=DataDraw(i,8);
nd2=DataDraw(i,9);
x1=nodecoor(2,nd1);
y1=nodecoor(3,nd1);
x2=nodecoor(2,nd2);
y2=nodecoor(3,nd2);
L=(((x2-x1)^2)+((y2-y1)^2))^(1/2);
CC=acos((x2-x1)/L);
SS=asin((y2-y1)/L);
C=cos(CC);
S=sin(SS);
a1=E*A/L;
a2=12*E*I/(L^3);
a3=6*E*I/(L^2);
a4=4*E*I/L;
a5=2*E*I/L;
klocal=[a1 0 0 -a1 0 0;
0 a2 a3 0 -a2 a3;
0 a3 a4 0 -a3 a5;
-a1 0 0 a1 0 0;
0 -a2 -a3 0 a2 -a3;
0 a3 a5 0 -a3 a4;];
T=[C S 0 0 0 0;
-S C 0 0 0 0;
0 0 1 0 0 0;
0 0 0 C S 0;
0 0 0 -S C 0;
0 0 0 0 0 1];
Kglobalelement=T'*klocal*T;

57

Matlab codes for plane frame stiffness


function
DOFcomplete=EliminationMethod(Kglobal,Fglobal,DataNode2)
%impose boundary condition using elimination method and solve
simultaneo...
%..us equation by gauss = (Gauss Elimination Technic)
Kelimination=Kglobal;
Felimination=Fglobal;
m=0;
for i=1:size(DataNode2,1)
condition=DataNode2(i,4);
position=[3*(i-1)+1;3*(i-1)+2;3*(i-1)+3];
if condition==1 %Rigid support
for j=1:3
row=position(j,1)-m;
column=position(j,1)-m;
Kelimination(row,:)=[];
Kelimination(:,column)=[];
Felimination(row,:)=[];
m=m+1;
end
end

end
DOF=Kelimination\Felimination
DD=zeros(m,1)
DOFcomplete=[DD;DOF]

%applied for first part is BC only

58

Matlab codes for plane frame stiffness


function[Resultdofe]=FEA_PlaneFrame(DataNode2,DataElement2,DataDraw,
nodecoor)
%-------------------Calculate global stiffness each element--------------Kglobal=zeros(size(DataNode2,1)*3,size(DataNode2,1)*3);
FelementEquil=zeros(size(DataElement2,1),6);
FglobalEquil=zeros(size(DataNode2,1)*3,1);
FglobalNode=zeros(size(DataNode2,1)*3,1);
for i=1:size(DataElement2,1)
[T
Kglobalelement]=FEA_PlaneFrameStiffness(DataElement2,DataDraw,nodeco
or,i);
position=DataDraw(i,10:15);
%assemble into global stiffness--------------------------------------for j=1:6
for k=1:6
row=position(j);
column=position(k);
Kglobal(row,column)=Kglobal(row,column)+Kglobalelement(j,k)
end
end
%--------------------------------------------------------------------%extract equilvalent nodal load, UDL---------------------------------q=DataElement2(i,5);
nd1=DataDraw(i,8);
nd2=DataDraw(i,9);
x1=nodecoor(2,nd1);
y1=nodecoor(3,nd1);
x2=nodecoor(2,nd2);
y2=nodecoor(3,nd2);
L=(((x2-x1)^2)+((y2-y1)^2))^(1/2);
FEquil=[0;q*L/2;q*(L^2)/12;0;q*L/2;-q*(L^2)/12];
FelementEquil(i,1:6)=FEquil';
FEglobalEquil=T'*FEquil;
for j=1:6
row=position(j);
FglobalEquil(row,1)=FglobalEquil(row,1)+FEglobalEquil(j,1);
end
%---------------------------------------------------------------------

end

59

%extract nodal forces and assemble into global forces--------------------for i=1:size(DataNode2,1)


Fx=DataNode2(i,5);
Fy=DataNode2(i,6);
Mz=DataNode2(i,7);
position=[3*(i-1)+1;3*(i-1)+2;3*(i-1)+3];
Fnode=[Fx;Fy;Mz];
for j=1:3
row=position(j,1);
FglobalNode(row,1)=FglobalNode(row,1)+Fnode(j,1);
end
end
%------------------------------------------------------------------------Fglobal=FglobalEquil+FglobalNode;
%------------------------------------------------------------------------%
Solve DOF=K/F
%------------------------------------------------------------------------% DOF1=EliminationMethod(Kglobal,Fglobal,DataNode2); %not general
DOF2=DirectMethod(Kglobal,Fglobal,DataNode2(:,4));
% DOF3=PenaltyMethod(Kglobal,Fglobal,DataNode2,1e12); %not general
coz need to change alfa
%------------------------------------------------------------------------%
Post Processing
%------------------------------------------------------------------------[Result
dofe]=FEA_PlaneFramePostProcessing(DataElement2,DataDraw,nodecoor,Fe
lementEquil,DOF2);

60

Matlab codes for plane frame stiffness


function [Result
dofe]=FEA_PlaneFramePostProcessing(DataElement2,DataDraw,nodecoor,Fe
lementEquil,DOF)
DOFele=zeros(size(DataElement2,1),6);
dofe=zeros(size(DataElement2,1),6);
flocal=zeros(size(DataElement2,1),6);
Result=zeros(size(DataElement2,1),6);
for i=1:size(DataElement2,1)
E=DataElement2(i,2);
A=DataElement2(i,3);
I=DataElement2(i,4);
nd1=DataDraw(i,8);
nd2=DataDraw(i,9);
x1=nodecoor(2,nd1);
y1=nodecoor(3,nd1);
x2=nodecoor(2,nd2);
y2=nodecoor(3,nd2);
L=(((x2-x1)^2)+((y2-y1)^2))^(1/2)
CC=acos((x2-x1)/L)
SS=asin((y2-y1)/L)
C=cos(CC)
S=sin(SS)
a1=E*A/L
a2=12*E*I/(L^3)
a3=6*E*I/(L^2)
a4=4*E*I/L
a5=2*E*I/L
klocal=[a1 0 0 -a1 0 0
0 a2 a3 0 -a2 a3
0 a3 a4 0 -a3 a5
-a1 0 0 a1 0 0
0 -a2 -a3 0 a2 -a3
0 a3 a5 0 -a3 a4;]
T=[C
-S
0
0
0
0

S
C
0
0
0
0

0
0
1
0
0
0

0 0 0
0 0 0
0 0 0
C S 0
-S C 0
0 0 1]

dofno=DataDraw(i,10:15)
DOFi=zeros(6,1)
for j=1:6
DOFi(j,1)=DOF(dofno(1,j),1)
end

61
DOFele(i,1:6)=DOFi'
dofe(i,1:6)=T*(DOFi)
flocalele=klocal*dofe(i,1:6)'
flocal(i,1:6)=(flocalele-(FelementEquil(i,1:6)'))'
Result(i,1:6)=flocal(i,1:6)
end

You might also like