76
1 DECLARATION OF THESIS / UNDERGRADUATE PROJECT PAPER AND COPYRIGHT Author’s 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 : 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 SIGNATURE OF SUPERVISOR 870829-35-5479 DR. AIRIL YASREEN BIN MOHD YASSIN (NEW IC NO. /PASSPORT NO.) NAME OF SUPERVISOR Date : Date : NOTES : * If the thesis is CONFIDENTAL or RESTRICTED, please attach with the letter from the organization with period and reasons for confidentiality or restriction. UNIVERSITI TEKNOLOGI MALAYSIA 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) PSZ 19:16 (Pind. 1/07)

ahmadamirulaminaa060012d10ttt

  • Upload
    duke

  • View
    17

  • Download
    1

Embed Size (px)

DESCRIPTION

timber

Citation preview

  • 1

    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 :

    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 SIGNATURE OF SUPERVISOR

    870829-35-5479 DR. AIRIL YASREEN BIN MOHD YASSIN (NEW IC NO. /PASSPORT NO.) NAME OF SUPERVISOR

    Date : Date :

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

    from the organization with period and reasons for confidentiality or

    restriction.

    UNIVERSITI TEKNOLOGI MALAYSIA

    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)

    PSZ 19:16 (Pind. 1/07)

  • 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

  • v

    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 v

    ABSTRAK vi

    TABLE OF CONTENT vii

    LIST OF TABLES x

    LIST OF FIGURES xii

    LIST OF SYMBOLS xiii

    1 INTRODUCTION 1

    1.1 Introduction 1

    1.2 Problem of the Statement 2

    1.3 Objectives of the study 3

    1.4 Significant of the Study 3

    1.5 Scope of the Study 4

    2 LITERATURE REVIEW 5

    2.1 Introduction 5

    2.2 Matlab 6

    2.2.1 Definition of MATLAB 6

    2.2.2 Introduction of MATLAB 7

  • viii

    2.2.3 Syntax in MATLAB 7

    2.2.4 Variable in MATLAB 8

    2.2.5 Limitation in MATLAB 8

    2.2.6 Advantages of MATLAB 9

    2.3 Finite Element Method 10

    2.4.1 General Procedure of FEM 12

    2.5 Plane Frame 13

    3 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 Step-by-step Users Guide Manual 32

    4 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

    5 CONCLUSIONS AND RECOMMENDATIONS 52

    5.1 Conclusions 52

    5.2 Recommendations 53

  • ix

    REFERENCES 54

    APPENDIX 55

  • x

    LIST OF TABLES

    TABLE NO. TITLE PAGE

    3.1 The foundation of Integrating AutoCAD and MATLAB

    Software 17

    4.1 Different of percentage between Matlab and STAADPro

    in Axial Force 39

    4.2 Different of percentage between Matlab and STAADPro

    in Shear Force 40

    4.3 Different of percentage between Matlab and STAADPro

    in Bending Moment 41

    4.4 Maximum Different (%) between Matlab and STAADPro

    (Case 1) 42

    4.5 Different of displacement between Matlab and STAADPro

    in X-axis 43

    4.6 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) 44

    4.9 Different of percentage between Matlab and STAADPro

    in Axial Force 46

    4.10 Different of percentage between Matlab and STAADPro

    in Shear Force 47

    4.11 Different of percentage between Matlab and STAADPro

    in Bending Moment 48

  • xi

    4.12 Maximum Different (%) between Matlab and STAADPro

    (Case 2) 49

    4.13 Different of displacement between Matlab and STAADPro

    in X-axis 50

    4.14 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 8

    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

    M - applied moment

    EI - flexural stiffness

    w - vertical deflection of the beam

    q - external loading distribution

    L - length of the beam

    I - second moment of area

    E - Youngs modulus

    P - constant axial load

    K - global stiffness matrix

    F - global nodal force vector

    D - global nodal displacement vector

    f - nodal force vectors in the element

    d - element displacement vector

    k - 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 2-

    dimensional 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 over-

    simplified. 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

  • 6

    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.

    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

    >> 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

  • 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

    Preliminary

    Investigation

    System Analysis

    System Design

    System Development

    System

    Implementation

    System Maintenance

    development life cycle (SDLC) that will perform step by step process in system

    analysis and is shown as below illustration.

    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 Euler-

    Bernoulli 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 + 22 + 3

    3

    (3.1a)

  • 23

    2 = 4 + 5 + 62 + 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

    |=0 = 1 = 2

    (3.2b)

    At x = L

    1 |= = 0 + 1 + 22 + 3

    3 = 3

    (3.2c)

    1

    |=0 = 1 + 22 + 332 = 4

    (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:

    1 = 1 + 2 ( 22 + 31 33 + 4)

    2

    2+

    (21 + 2 23 + 4)3

    3

    (3.3)

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

    into the functional

    =1

    2

    ( 22 + 31 33 + 4)

    2+

    6(21 + 2 23 + 4)

    3

    2

  • 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:

    = 24

    2

    +

    63

    2+

    22

    +

    2

    12+

    61

    2 4 +

    632

    3

    + 1213

    2

    2

    622

    3 + 22

    2

    +

    612

    2

    12 2 +

    612

    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:

    1= 0 =

    642

    1233

    +622

    +1213

    2

    (3.6a)

  • 26

    1= 0 =

    24

    632

    +42

    +612

    2

    12

    (3.6b)

    3= 0 =

    642

    +1233

    1213

    2

    622

    (3.6c)

    4= 0 =

    44

    632

    +22

    +2

    12+

    612

    (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

    36

    2

    6

    24

    12

    36

    2

    6

    22

    12

    3

    6

    2

    6

    22

    12

    36

    2

    6

    24

    1

    2

    3

    4

    =

    22

    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

    36

    2

    6

    24

    12

    36

    2

    6

    22

    12

    3

    6

    2

    6

    22

    12

    36

    2

    6

    24

    5

    6

    7

    8

    =

    22

    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 left-

    handside 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

    L

    X

    Y y

    x

    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).

    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:

    {f} =

    123456

    (3.12)

  • 31

    [k] =

    0 0

    0 12

    3

    6

    2

    0 6

    2

    4

    0 0

    0 12

    3

    6

    2

    0 6

    2

    4

    0 0

    0 12

    3

    6

    2

    0 6

    2

    4

    0 0

    0 12

    3

    6

    2

    0 6

    2

    4

    (3.13)

    [R] =

    0 00 0 1

    0 0 00 0 00 0 0

    0 0 00 0 00 0 0

    0 00 0 1

    (3.14)

    {d} =

    123456

    (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.

    Figure 3.9: Pseudo Flow Chart of Plane Frame Analysis Software

    Start

    Choose axis

    Scale

    Input , E, I, A,

    Fx,Fy,Mz,w

    Solving the problem using

    Finite Element Method

    Display Result,

    Reaction,Fx,Fy,Mz, Deflection

    End

    Draw Plane Frame in the Axis

  • 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

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

    2

    3

    2

    1

    3

    4 13

    12kNm

    m

    20k

    N

    4m

    3

    m

  • 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 (%)

    1 1 8.587 8.5865 0.005822755

    2 -8.587 -8.5865 0.005822755

    2 2 -7.81 -7.8103 0.003841229

    3 7.81 7.8103 0.003841229

    3 3 -8.587 -8.5865 0.005822755

    4 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 (%)

    1 1 -12.19 -12.1897 0.002461034

    2 12.19 12.1897 0.002461034

    2 2 8.587 8.5865 0.005822755

    3 -8.587 -8.5865 0.005822755

    3 3 -7.81 -7.8103 0.003841229

    4 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 (%)

    1 1 -21.025 -21.0253 0.001426873

    2 -15.544 -15.5438 0.00128667

    2 2 15.544 15.5438 0.00128667

    3 18.802 18.8023 0.001595575

    3 3 -6.802 -6.8023 0.004410468

    4 -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)

    1 1 0 0 0

    2 -3.8 -3.787 0.013

    2 2 -3.8 -3.787 0.013

    3 -3.8 -3.779 0.021

    3 3 -3.8 -3.779 0.021

    4 0 0 0

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

    ELEMENT NODE dy Matlab dy STAADPro Different(mm)

    1 1 0 0 0

    2 0 -0.006 0.006

    2 2 0 -0.006 0.006

    3 0 0.006 0.006

    3 3 0 0.006 0.006

    4 0 0 0

    Table 4.7: Different of rotation between Matlab and STAADPro

    ELEMENT NODE Rotation Matlab

    Rotation STAADPro Different(rad)

    1 1 0 0 0

    2 0.0008 0.001 0.0002

    2 2 0.0008 0.001 0.0002

    3 0.0014 0.001 0.0004

    3 3 0.0014 0.001 0.0004

    4 0 0 0

  • 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

    4m

    20kN/mm 5 kN

    2m

    2

    3

    2

    1

    3

    4 13

    4.2.2 Case 2

    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 (%)

    1 1 39.064 39.0643 0.000767971

    2 -39.064 -39.0643 0.000767971

    2 2 18.281 18.2806 0.002188064

    3 -18.281 -18.2806 0.002188064

    3 3 40.936 40.9357 0.000732851

    4 -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 (%)

    1 1 13.281 13.2806 0.003011821

    2 13.281 13.2806 0.003011821

    2 2 39.064 39.0643 0.000767971

    3 40.936 40.9357 0.000732851

    3 3 18.281 18.2806 0.002188064

    4 -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 (%)

    1 1 -7.209 -7.2091 0.001387155

    2 -19.352 -19.3522 0.001033485

    2 2 19.352 19.3522 0.001033485

    3 -23.095 -23.0951 0.000432994

    3 3 23.095 23.0951 0.000432994

    4 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)

    1 1 0 0 0

    2 0.0802 0.08 0.0002

    2 2 0.0802 0.08 0.0002

    3 0.0624 0.062 0.0004

    3 3 0.0624 0.062 0.0004

    4 0 0 0

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

    ELEMENT NODE dy Matlab dy STAADPro Different(mm)

    1 1 0 0 0

    2 -0.0191 -0.019 1E-04

    2 2 -0.0191 -0.019 1E-04

    3 -0.02 -0.02 0

    3 3 -0.02 -0.02 0

    4 0 0 0

    Table 4.15: Different of rotation between Matlab and STAADPro

    ELEMENT NODE Rotation Matlab

    Rotation STAADPro Different(rad)

    1 1 0 0 0

    2 0 0 0

    2 2 0 0 0

    3 0 0 0

    3 3 0 0 0

    4 0 0 0

  • 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 0 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 C S 0

    0 0 0 -S C 0

    0 0 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