finite element program in autocad vba for winkler foundationhaibat.com/fem/fem.pdf · iii certti...

248
FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATION by Name Roll No. 1. Jhaman Lalchandani 94 CE 31 Supervised by Prof. Mumtaz Ali Memon Mr. Rasool Bux Mahar Department of Civil Engineering Mehran University of Engineering and Technology, Jamshoro Submitted in partial fulfillment of the requirements for the degree of Bachelor of Civil Engineering July, 2000

Upload: ngohanh

Post on 19-Aug-2018

244 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATION

by

Name Roll No.

1. Jhaman Lalchandani 94 CE 31

Supervised by

Prof. Mumtaz Ali Memon

Mr. Rasool Bux Mahar

Department of Civil Engineering

Mehran University of Engineering and Technology, Jamshoro

Submitted in partial fulfillment of the requirements for the degree of

Bachelor of Civil Engineering

July, 2000

Page 2: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

ii

DDEEDDIICCAATTIIOONN

This work is dedicated to Leibniz, Gottfried Wilhelm, (1646-1716), German philosopher,

mathematician, and statesman, regarded as one of the supreme intellects of the 17th

century.

Leibniz was considered a universal genius by his contemporaries. His work encompasses

not only mathematics and philosophy but also theology, law, diplomacy, politics, history,

philology, and physics.

Page 3: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

iii

CCEERRTTIIFFIICCAATTEE

This is to certify that the work presented in this thesis titled ‘FINITE

ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATION’ is

entirely written by the following students themselves under the supervision of Prof.

Mumtaz Ali Memon and Mr. Rasool Bux Mahar.

Name Roll No.

1. Haibat Khan Abro 94 CE 60

2. Jhaman Lalchandani 94 CE 31

Thesis Supervisors External Examiner

Chairman

Department of Civil Engineering

Date :________________

Page 4: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

iv

ACKNOWLEDGEMENTS

The authors wish to express their gratitude to Mr. M. Soomar Khatri, Chairman, Dept. of

Civil Engineering, for the help and cooperation he rendered at every stage of the project.

The authors are indebted to Prof. Mumtaz Ali Memon and Mr. Rasool Bux Mahar, the

thesis supervisors, for the advice and help in preparing the thesis.

The authors acknowledge, with thanks, the time spared and the help and expert advice

given by Dr. Ghulam Hussain Sidiqui.

In the last, but not the least, the authors are extremely grateful to Mr. Parvaiz Ahmed

Shaikh, Mr. Fazlullah Solangi, and Mr. Mohammad Muhajir for lending their books for a

considerable length of time.

Page 5: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

v

Abstract

In conventional method for design of combined footings, the soil-structure interaction is usually neglected because it requires a lot of calculations. Instead, the footings are designed by assuming that they are rigid. However, the demerit of this assumption is that the computed bending moments are higher than actual, which means that larger amounts of reinforcement steel are to be provided than required. This soil-structure interaction phenomena, was first studied by Winkler (1867) by assuming it as a beam (structure) on elastic springs (soil) placed continuously underneath it. Even though, this ‘Winkler Foundation Model’ gives much better approximation of soil pressure, it did not gain much popularity because the problem becomes statically indeterminate and requires lots of calculations.

The authors have developed a finite element program BEAMDEZ in AutoCAD VBA, which is based on Winkler Foundation Model and computes design parameters (bending moment, shear, soil pressure, deflection, rotation, etc at all node points in the discretized footing) and draws shear, bending moment, soil pressure, and deflection diagrams in AutoCAD. The program also considers soil-structure separation and elastic range of soil. It is illustrated through examples that bending moments obtained by this method are smaller than those obtained by conventional method and therefore the reinforcement design requires about 30% less steel than by conventional method.

Page 6: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

vi

TABLE OF CONTENTS

LIST OF SYMBOLS X

INTRODUCTION 1

1.1 BACKGROUND 1

1.2 AIM 2

1.3 FOOTINGS 3

1.4 DESIGN OF FOOTINGS 4

1.4.1 Design of Combined Footing by Conventional (Rigid) Method 5

1.4.2 Design of Combined Footing by Finite element method 5

1.5 NUMERICAL SOLUTIONS 6

1.6 FINITE ELEMENT METHOD 8

1.7 HISTORICAL COMMENTS 9

FINITE ELEMENT METHOD 10

2.1 BACKGROUND OF THE FINITE ELEMENT METHOD 10

2.2 MATRIX METHODS (STIFFNESS/DISPLACEMENT METHOD) 11

2.3 STIFFNESS AND FLEXIBILITY METHODS OF MATRIX ANALYSIS 12

2.4 STIFFNESS METHOD 12

2.5 ANALYSIS OF CONTINUUM STRUCTURES 13

2.6 CLASSICAL ANALYSIS OF SOLIDS 13

2.7 FINITE ELEMENT ANALYSIS OF SOLIDS 14

2.8 Fundamental requirements 15

2.9 FINITE ELEMENT CONCEPTS 15

2.9.1 Elements 15

2.9.2 Type and Number of Elements 16

2.9.3 Equilibrium and Degrees of Freedom 16

2.9.4 External Loads 16

2.9.5 Accuracy of Solution 17

2.9.6 Necessity of Computer Application 17

2.9.7 Continuity of Displacements 17

2.9.8 Plotting of Results 17

2.10 APPLICABILITY TO DIFFERENT FIELDS 17

2.11 GENERAL STEPS IN FINITE ELEMENT METHOD 18

2.12 MATRIX OPERATIONS 19

2.12.1 Transpose of Matrix 19

2.12.2 Matrix Multiplication 19

2.12.3 Symmetric Matrices 20

2.12.4 Band Matrix 20

2.12.5 Identity Matrix 21

2.12.6 Inverse Matrix 21

Page 7: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

vii

2.13 ADVANTAGES OF FINITE ELEMENT METHOD 21

2.13.1 Better Approximations 22

2.13.2 Trial Solutions 22

2.13.3 Boundary Conditions 22

2.13.4 Material Properties 23

2.13.5 Non Homogenous Continua 23

2.13.6 Systematic Generality 23

2.14 LIMITATIONS OF FINITE ELEMENT METHOD 24

2.14.1 Validity of Results 24

2.14.2 Computer Requirements 24

2.14.3 Discretizing the Continuum and Data Input 25

2.14.4 Interpretation of Results 25

COMBINED FOOTINGS 26

3.1 COMBINED FOOTING 26

3.2 PURPOSE OF COMBINED FOOTINGS 26

3.2.1 Columns Near Property Line 26

3.2.2 Closely Spaced Columns 27

3.2.3 Poor Soil 27

3.2.4 Differential Settlement 28

3.3 SHAPE OF COMBINED FOOTINGS 28

3.3.1 Rectangular Combined Footing 29

3.3.2 Trapezoidal Footing 29

3.3.3 Strap Footing 30

3.3.4 Strip, Grid, And Mat Foundation 31

3.4 DESIGN OF RECTANGULAR COMBINED FOOTINGS 31

3.4.1 Footing Dimensions 32

3.4.2 Rounding of Dimensions 32

3.4.3 Shear and Moment Computations 32

3.4.4 Depth of Footing 32

3.4.5 Reinforcement Design 33

3.4.5.1 Main Reinforcement 33

3.4.5.2 Transverse Reinforcement 33

3.4.5.3 Shear Reinforcement 34

3.5 DESIGN STEPS 34

3.6 DEMERITS OF RIGID DESIGN 35

3.6.1 Assumptions of Rigid Design 35

3.7 BEAM ON ELASTIC FOUNDATION 36

BEAM ON ELASTIC FOUNDATION 37

4.1 ELASTIC FOUNDATION 37

4.2 WINKLER MODEL 37

4.3 LIMITATIONS OF WINKLER MODEL 38

4.4 OTHER MODELS 38

4.5 MODULUS OF SUBGRADE REACTION 39

4.6 PREVIOUS EFFORTS BY RESEARCHERS TO EVALUATE THE VALUE OF K 41

4.7 NEW RESEARCH FOR EVALUATION OF THE VALUE OF K 42

Page 8: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

viii

4.7.1 Augmentation of k 42

4.7.2 Vallabhan’s Iterative Procedures 43

4.7.3 Non-Dimensional Parameters For k 43

4.8 DISPLACEMENT METHOD 43

4.9 BASIC DIFFERENTIAL EQUATION 43

4.10 GENERAL SOLUTION OF THE DIFFERENTIAL EQUATION 45

4.11 BOUNDARY CONDITIONS OF AN UNLOADED MEMBER 48

4.12 STIFFNESS MATRIX OF A MEMBER ON ELASTIC FOUNDATION 49

4.13 APPLICATION OF THE FINITE ELEMENT METHOD 67

4.14 GENERAL RELATIONS 67

4.15 DEVELOPMENT OF THE ELEMENT A MATRIX 71

4.16 DEVELOPMENT OF THE ELEMENT B (OR AT) MATRIX 72

4.17 DEVELOPMENT OF ELEMENT S MATRIX 72

4.18 DEVELOPMENT OF THE ELEMENT ESAT AND EASA

T MATRICES 75

4.19 DEVELOPMENT OF THE GLOBAL MATRIX ASAT 76

4.20 ADDING THE NODE “SPRINGS” K TO ASAT 77

4.21 DEVELOPMENT OF P MATRIX 78

4.22 BEAM WEIGHT 78

4.23 BOUNDARY CONDITIONS 78

PROGRAM 80

5.1 CAD 80

5.2 CAE 80

5.3 AUTOCAD 2000 81

5.3.1 AutoCAD ActiveX Technology 81

5.4 RAPID APPLICATION DEVELOPMENT (RAD) 82

5.5 VISUAL BASIC 82

5.6 VBA 83

5.7 AUTOCAD VISUAL BASIC FOR APPLICATIONS (VBA) 83

5.7.1 VBA implementation in AutoCAD 84

5.7.2 Strengths of AutoCAD ActiveX and VBA Together 85

5.7.2.1 Speed 85

5.7.2.2 Ease of Use 85

5.7.2.3 Windows Interoperability 85

5.7.2.4 Rapid Prototyping 85

5.7.2.5 Programmer Base 85

5.7.3 Embedded and Global VBA Projects 85

5.8 FLOW CHART OF THE PROGRAM 87

5.9 PROGRAM CODE 88

Code: Beamdimensions 88

Code: boundary 96

Code: Elements 106

Code: Exporter 143

Code: Filer 145

Code: loadmom 147

Code: memberlen 153

Code: saver 158

Code: starter 160

Page 9: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

ix

USER GUIDE 162

6.1 INSTALLATION 162

6.2 LOADING THE PROGRAM 162

6.3 RUNNING THE PROGRAM 163

6.4 ENTERING BEAM DATA 164

6.5 DISCRETIZING THE BEAM 165

6.6 ENTERING ELEMENT LENGTHS 165

6.7 APPLIED LOADS AND MOMENTS 165

6.8 BOUNDARY CONDITIONS 166

6.9 RESULTS 167

6.10 CURSOR ICONS 170

EXAMPLE PROBLEMS 171

Example problem 1: 171

Example problem 2: 181

Example problem 3: 194

Example problem 4: 209

Example problem 5: 224

APPENDICES 227

REFERENCE 230

INDEX 233

Page 10: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

x

LIST OF SYMBOLS

= Poisson’s ratio

= slope, rotation

= multiplier

= deflection

= percentage of steel

= area ratio

= deformation

= pressure

= change in settlement or deformation

= increment of contact pressure

H = settlement of foundation

s = Poisson’s ratio of soil a = depth of Whitney’s block A = area Ab = area of steel bar Ag = gross cross-sectional area of concrete As = area of steel b = width B = width C = compression force d =depth of footing db = dia. of bar E = modulus of elasticity EI = bending rigidity Es = modulus of elasticity of soil fc' = characteristic 28-day compressive strength of concrete fy = characteristic strength of steel I = identity matrix ks = modulus of subgrade reaction L = length Ld = development length LF = load factor M = bending moment Mn = nominal moment Mu = ultimate (factored) moment N = number of elements P = applied load Pu = ultimate load Pw = working load q = bearing pressure qa = allowable bearing pressure Qcon = constant soil pressure

Page 11: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

xi

qult = ultimate computed bearing pressure R = resultant force S = center to center distance between columns SF = safety factor T = tension force UR = ultimate ratio V = shear force vc = shear stress w = load intensity w = width of column y = deflection

Page 12: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

1

C H A P T E R O N E

INTRODUCTION

1.1 Background

Conventionally the combined footings are designed by assuming that they are rigid. This

assumption allows the engineer to consider the soil pressure as linear. Then the footing

dimensions are set in such a way that the centroid of area (in plan) of footing coincides

with the resultant of column loads. This gives rise to uniformly distributed soil pressure

on the entire footing area, thus the combined footing for any number of columns can be

considered as an inverted uniformly loaded continuous beam with all reactions (column

loads) known. These assumptions render the problem as statically determinate, thus

simplifying the design process. However, the demerit of these assumptions is that higher

than actual bending moments are obtained, which implies that larger than required

amounts of steel are to be provided. This becomes uneconomical because steel is an

expensive item.

In practice, a footing cannot be made so much rigid that its bending becomes negligible

because this would require a great depth of concrete, which will again render it

uneconomical. Due to this bending, deflection is not same at all points; for example,

deflection will usually be more under the columns than at midspan between them. Since

soil pressure will be higher for greater deflections, these non-uniform deflections will

give rise to non-uniform soil pressure under the footing. This phenomena, known as

soil-structure interaction, was first studied by Winkler in 1867 by assuming it as a beam

(structure) on elastic springs (soil) placed continuously underneath it. Even though this

model (called Winkler Foundation Model) gave much better approximation of soil

pressure, it did not gain much popularity because the problem became statically

indeterminate and required a lot of calculations.

Page 13: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

2

In present age, when tools like matrix displacement method (which does not distinguish

between determinate and indeterminate structures) and finite element method has been

developed and high-speed digital computers are commonly available, the Winkler

Foundation Model can be solved easily and quickly. Still many engineers design the

combined footings by conventional method because the commercial software packages of

finite element analysis are rather too expensive.

1.2 Aim

Authors have developed a finite element program BEAMDEZ in AutoCAD VBA with

the aim that it should be easily available to anyone who requires it. This program

computes design parameters (bending moment, shear, soil pressure, deflection, rotation,

etc at all node points of the discretized footing) based on the theory of

beam-on-elastic-foundation and draws the shear, bending moment, soil pressure, and

deflection diagrams in AutoCAD. Soil reaction is modeled as springs under the footing

(Winkler Foundation Model). The program also considers soil-structure separation (soil

pressure is zeroed out at such nodes to prevent tension in soil) and elastic range of soil (a

certain deflection after which soil pressure becomes constant). Deflections and rotations

are obtained using the stiffness matrix. As the stiffness of the footing is considered, the

bending moment obtained is more realistic and lower in magnitude than the one

computed by the conventional (rigid) method. This results in economical design of the

footing because lesser amount of reinforcement steel is required.

Every effort has been taken to make the program user friendly. Data entry and editing

have been made very easy. Data files can be saved by the program in binary format and

results can be exported to text format. The shear force, bending moment, deflection,

rotation, and soil pressure diagrams can be obtained readily in AutoCAD and can be

manipulated using AutoCAD’s rich set of tools. These diagrams can be printed easily and

saved in various file formats supported by AutoCAD for use in other programs such as

word processors, etc.

Page 14: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

3

A two column combined footing and a three column combined footing have been

designed by both the conventional (rigid) method and the finite element method to

illustrate the economy achieved by the later method.

1.3 Footings

Footings are structural members used to support columns and walls and transmit their

load to the soil. Footings act as transition-members to distribute the higher pressure of

loads coming from the superstructure to larger areas of soil in such a way that

the load bearing capacity of the soil is not exceeded,

Excessive settlement, differential settlement, or rotations are prevented, and

Adequate safety against overturning or sliding is maintained.

Types of footings:

Different types of footings may be used to support building columns or walls. The most

common types are as follows:

Figure-1.1 Types of footings

1. Continuous or Wall footings are used to support structural walls that carry loads from

other floors, or to support nonstructural walls. They have limited width and a

Page 15: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

4

continuous length under the wall. Wall footings may have one thickness, be stepped,

or have a sloped top.

2. Isolated or single footings are used to support single columns. They may be square,

rectangular, or circular. Again, the footing may be of uniform thickness, stepped, or

have a sloped top. This is one of the most economical types of footings and it is used

when columns are spaced at relatively long distances.

3. Combined footings usually support two or more columns in a line. The shape of the

footing in plan may be rectangular or trapezoidal, depending on column loads.

Combined footings are used when two columns are so close that single footings

cannot be used, or when one column is located at or near a property line.

4. Cantilever or strap footings consist of two single footings connected with a beam or a

strap and support two single columns. They are used when one footing supports an

eccentric column and the nearest adjacent footing lies at quite a distance from it. This

type replaces a combined footing and is more economical.

5. Raft or mat foundation consists of a single large footing, usually under the entire

building area, and supports the columns of the building. They are used when

the soil bearing capacity is low

column loads are heavy

single footings cannot be used

piles are not used

differential settlement must be reduced through the entire footing system.

1.4 Design of footings

The area of footing is determined according to the bearing capacity of the soil and

intensity of the applied loads. The depth of the footing and reinforcement are determined

for punching shear, beam shear, and bending moment calculations.

Page 16: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

5

1.4.1 Design of Combined Footing by Conventional (Rigid) Method

In conventional method, the basic assumption is that the footing is a rigid member so that

the soil pressure can be taken as linear. In order to make the soil pressure uniform, the

length of footing is set in such a manner that the resultant of loads coming from columns

acts at the centroid of the footing area. If the soil pressure is uniform and the resultant of

applied loads acts at the centroid of the footing then the settlements will also be uniform.

This assumption is approximately true if the soil is homogeneous and footing is rigid.

However, in actual practice, it is very difficult to make a rigid footing because the

thickness required would have to be large. Bowles suggests that the success of the

designs based on the assumption of a rigid member has probably resulted from a

combination of soil creep, concrete stress transfer, and overdesign.

Depth of the footing is obtained from two-way action or wide-beam shear (whichever is

greater). Reinforcement steel is designed using the selected depth and bending moment

diagram.

1.4.2 Design of Combined Footing by Finite element method

Because the footing cannot be made rigid in actual practice, therefore the settlements will

not be uniform or linear if the column spacing is large. For one thing, the more heavily

loaded columns will cause larger settlements, and thereby larger subgrade reactions, than

the lighter ones. Also, since the continuous strip or beam between the columns will

deflect upward relatively to the nearby columns, this means that the soil settlement, and

thereby the subgrade reaction, will be smaller midway between columns than directly at

the columns. This is shown schematically in figure 1.2. In this case, the subgrade

reaction can no longer be assumed as uniform. A reasonably accurate but fairly complex

analysis can then be made using the theory of beams on elastic foundations.

Structure/soil interaction problems may be simplified as a beam (structure) on springs

(soils), which is a one dimensional (1D) problem.

Even though Winkler had studied the beam on elastic springs in 1867 but the method was

not used in common practice because of the enormous amount of calculations involved.

Because of easy availability of computers and development of finite element procedures

Page 17: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

6

in present times, the beam-on-elastic-foundation analysis can be made easily by assuming

it as a beam on springs (or Winkler foundation) and using a computer program.

Figure-1.2 Combined Footing

Due to the overdesign involved in rigid method, current practice tends to modify the

design by beam-on-elastic-foundation analysis. Now the footing is considered as a

“beam” or flexural member. Modified moments (which tend to be lower in magnitude)

are obtained using finite element analysis using a computer program. Thus, an

economical design can be obtained as will be shown later using the finite element

program BEAMDEZ.

1.5 Numerical Solutions

Practically all phenomena in nature, whether biological, geological, or mechanical, can be

modeled with the help of laws of physics, using algebraic, differential, or integral

Page 18: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

7

equations relating various quantities of interest. To determine the characteristics of fluid

flow, finding the concentration of pollutants in sea water or in the atmosphere, stress

distribution in complex structures subjected to a variety of loads, and simulating weather

in an attempt to understand and predict the mechanics of formation of tornadoes and

thunder storms are a few examples of many important practical problems. To derive the

governing equations for these problems is not unduly difficult, but to solve these by exact

methods of analysis is a formidable task. In such cases, the numerical methods are

employed as an alternative means of finding approximate solutions. Among these the

finite-difference method, variational methods such as the Ritz and Galerkin methods, and

the finite-element method have been frequently used.

In the finite-difference approximation of a differential equation, the derivatives in the

equations are replaced by difference equations, which involve the values of the solution at

discrete mesh points of the domain. The resulting discrete equations are solved, after

imposing the boundary equations for the values of the solution at the mesh points. Even

though the finite-difference method is simple in concept, it suffers from several

disadvantages. The most notable are the inaccuracy of derivatives of the approximated

solution, the difficulties in imposing the boundary conditions along non-straight

boundaries, the difficulty in accurately representing geometrically complex domains, and

the inability to employ non-uniform and nonrectangular meshes.

In the variational solution of differential equations, the differential equation is put into an

equivalent variational form, and then the approximate solution is assumed to be a

combination (cjj) of given approximation functions j. The parameters cj are

determined from the variational form. The variational methods suffer from the

disadvantage that the approximation functions for problems with arbitrary domains are

difficult to construct.

The finite element method overcomes the difficulty of the variational methods because it

provides a systematic procedure for the derivation of the approximation functions. The

method is endowed with two basic features, which account for its superiority over other

competing methods. First, a geometrically complex domain of the problem is represented

Page 19: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

8

as a collection of geometrically simple subdomains called finite elements. Second, over

each finite element the approximation functions are derived using the basic idea that any

continuous function can be represented by a linear combination of algebraic polynomials.

The approximation functions are derived using concepts from interpolation theory, and

are therefore called interpolation functions. Thus, the finite element method can be

interpreted as a piecewise application of the variational methods (e.g., Ritz and weighted-

residual methods), in which the approximation functions are algebraic polynomials and

the undetermined parameters represent the values of the solution at a finite number of

preselected points called nodes, on the boundary and in the interior of the element.

1.6 Finite Element Method

Availability of high-speed computers with large memories has enabled engineers to

employ various numerical discretization techniques for approximate solution of complex

problems. One such technique is the finite element method.

It was originally developed as a tool for structural analysis, but the theory and formulation

have been progressively so refined and generalized that the method has been applied

successfully to such other fields as heat flow, seepage, hydrodynamics, and rock

mechanics. Since the method has a broad applicability to different fields of science and

the computer code for its solution can be applied to different problems with little or no

change, the method has gained wide acceptance by designers and research engineers.

Even though the finite element method has been around for more than 40 years and is

recognized as an extremely valuable tool, many engineers still do not know how to go

about using it and very few engineers understand it. One of the main reasons for this is

that the subject has generally been surrounded by a high level of research activity.

Coupled with this is a fact that because of the amount of calculations, which the method

involves, it tended to go directly from its embryonic stage to an advanced computing

stage. There never seemed to be an intermediate stage at which it could have been

conveniently slotted into curricula of various engineering subjects, even though the basic

principles on which the method is based are taught. The three basic conditions involved

Page 20: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

9

in the finite element method are the equilibrium of forces, compatibility of displacements,

and stress-strain relationships and it essentially relies on the matrix methods and computer

programming for the solution of problems. The method is quite versatile and can be

applied to very complex problems.

The finite element method is the best approach available for the numerical analysis of

continua. The theory requires discretization of a given structure into a network of finite

elements and implementation of the analysis on a digital computer.

1.7 Historical comments

Finite element is not a novel idea to represent given domains as collections of discrete

elements. Ancient mathematicians had estimated the value of by discretizing the

circumference of a circle in small line segments making a polygon inscribed in the circle.

They computed the value of to accuracies of almost 40 significant digits by representing

the circle as a polygon of a finitely large number of sides.

In modern times the idea found a home in aircraft structural analysis, where, for example,

wings and fuselages are treated as assemblage of stringers, skins, and shear panels. In

1941, Hrenikoff [Hrenikoff, 1941] introduced the so-called framework method, in which

a plane elastic medium was represented as a collection of bars and beams. The use of

piecewise continuous functions defined over a subdomain to approximate the unknown

function dates back to the work of Courant [Courant, 1943], who used an assemblage of

triangular elements and the principle of minimum potential energy to study the St. Venant

torsion problem. Although certain key features of the finite element method can be found

in the works of Hrenikoff [Hrenikoff, 1941] and Courant [Courant, 1943], the formal

presentation of the finite element method is attributed to Argyris and Kelsey [Argyris,

1960] and to Turner, Clough, Martin, and Topp [Turner, 1956]. However, the term

“finite element” was first used by Clough [Clough, 1960]. Since its inception, the

literature on finite-element applications has grown exponentially and today there are

numerous journals, which are primarily devoted to the theory and application of the finite-

element method.

Page 21: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

10

C H A P T E R T W O

FINITE ELEMENT METHOD

The finite element method has gained wide acceptance by the engineering professions for

being an extremely valuable method of analysis. Its employment has allowed satisfactory

solution to be achieved for many problems, which had formerly been considered as

insoluble. Within a relatively short period, application of the method has been extended

to many fields. Many shareware and commercial software packages are available

nowadays for general and specific application.

Figure-2.1 Typical skeletal structures. (a) Continuous beam. (b) Multistory frame.

2.1 Background of the Finite Element Method

Many engineering structures are composed of a series of individual members, which are

connected together at a number of points. Such structures are called ‘skeletal’ structures,

the points at which the individual members are connected being referred to as ‘node

points’. Examples of such structures are the continuous beams, trusses, and the

multistory frames. Engineers have long appreciated that the analysis of these skeletal

Typical nodal

point

Typical individual

member

Typical

individual

member

Typical

nodal

point

(a) (b)

Page 22: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

11

structures can be carried out by first considering the behavior of each individual element

independently and by then assembling the elements together in such a way that

equilibrium of forces and compatibility of displacements are satisfied at each nodal point.

An example of such a process is the analysis of a continuous beam by the slope-deflection

method where the relationship between the moments and the rotations within each

individual span of the beam is first established, the spans then being combined together

such that equilibrium of moments and compatibility of rotations are satisfied at the points

of interconnection.

However, when a structure comprised of many members, such as a continuous beam

containing many spans or a multistory frame containing many bays, is being analyzed,

this type of approach can become very laborious and can involve the solution of a large

number of simultaneous equations. Because of this, in the past much research effort has

been devoted to developing analytical techniques, based on a physical appreciation of the

structural behavior, which would reduce the amount of work required to complete an

analysis, and would not require the direct solution of many simultaneous equations. A

prime example of such a technique is the Hardy Cross Moment Distribution Method, in

which, instead of setting up the simultaneous equations explicitly as in the slope-

deflection method, the solution is accomplished in a series of convenient steps.

With the advent of the electronic digital computer, however, engineers realized that the

solution of a large number of simultaneous equations no longer posed an insurmountable

problem and this prompted a return to fundamental methods of analysis, such as the

slope-deflection method. These methods, since they involve a number of repetitive steps,

are particularly suitable for automatic computation, and they have been formulated to take

maximum advantage of the capabilities of a digital computer. These so-called ‘matrix

methods’ for analyzing skeletal structures have been firmly established for a number of

years.

2.2 Matrix Methods (Stiffness/Displacement Method)

The finite element method was first introduced to civil engineering through attempts to

generalize the stiffness method to deal with structural continua, such as the covering

Page 23: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

12

sheeting on aircraft wings. As a result, many of the concepts and much of the

terminology of the stiffness method has been incorporated into the finite element method.

To understand the principles of the finite element method, it is helpful first to consider

briefly the basis of the stiffness method of structural analysis.

2.3 Stiffness and Flexibility Methods of Matrix Analysis

The matrix methods of structural analysis may be formulated in three different ways.

i. Stiffness (displacement) method.

ii. Flexibility (force) method.

iii. Mixed method

The stiffness and flexibility methods differ in the order in which the two basic conditions

of joint (or nodal) equilibrium and compatibility are treated. In the stiffness method, the

displacement compatibility conditions are satisfied and the equations of equilibrium set

up and solved to yield the unknown nodal displacements. In the flexibility method, the

conditions of joint equilibrium are first satisfied and the equations arising from the need

for compatibility of nodal displacements solved to yield the unknown forces in the

members. In addition to these two basic approaches, in recent years a mixed formulation

involving both approaches has been also used.

2.4 Stiffness Method

The stiffness method was derived for skeletal structures. Analysis of behavior under

imposed loading is performed in stages. First, member connections are prevented from

displacement and the loading on the fixed joints is determined from separate analyses of

each member. Second, sets of linear simultaneous equations relating forces and

displacements at the end of each member are derived. These are called ‘local stiffness

matrices’. All of the calculations described so far are performed on isolated members, but

in the third stage the stiffness matrix of the entire structure is compiled using equilibrium

of forces on each joint and compatibility of displacements of member ends at each joint.

Page 24: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

13

Displacement boundary conditions are imposed at appropriate joints and these render the

overall stiffness matrix non-singular. Solution of the equations gives the joint

displacements and from these and the local stiffness matrices the load effects on each

member are determined. The method has a number of features that facilitate automatic

handling. Local stiffness matrices of members and joint loading from members can be

determined by procedures that need take no account of the overall structural

configuration. The overall stiffness matrix, called the global stiffness matrix, of a

structure can be assembled automatically from the local stiffness matrices of members

using only a specification of the members connected to each joint. Standard solution to

linear simultaneous equations can be used to determine joint displacements. A single

computer program can be derived to solve all skeletal structures from a description of

member loading, member properties, structural topology, and the displacement boundary

conditions.

2.5 Analysis of Continuum Structures

In addition to skeletal structures, engineers are often also concerned with the analysis of

continuum structures, such as deep beams, plates and slabs subjected to bending, dam

walls, folded-plate and shell structures, where the structural surface is continuous instead

of being composed of a number of individual components. Classical methods, such as the

classical theory of plate flexure, can be applied to the analysis of these continua, but such

methods have very limited fields of application because of the great difficulties that are

experienced when dealing with any irregularities in structural geometry or applied loading

conditions.

2.6 Classical Analysis of Solids

The classical approach for analyzing a solid requires finding a stress or displacement

function that satisfies the differential equations of equilibrium, the stress-strain

relationships, and the compatibility conditions at every point in the continuum, including

the boundaries. Because these requirements are so restrictive, very few classical solutions

have been found. Among those, the solutions are often infinite series that is practical

Page 25: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

14

calculations require truncation, leading to approximate results. Furthermore,

discretization of differential equations by the method of finite differences has the primary

disadvantage that boundary conditions are difficult to satisfy. A secondary disadvantage

is that accuracy of the results is usually poor.

Figure-2.2 Typical finite element idealizations of continua. (a) Dam wall (b) Folded plate

2.7 Finite Element Analysis of Solids

On the other hand, the finite element approach yields an appropriate analysis based upon

an assumed displacement field, a stress field, or a mixture of these within each element.

The finite element method represents the extension of matrix methods for skeletal

structures to the analysis of continuum structures. In the finite element method, the

continuum is idealized as a structure consisting of a number of fictitious individual

elements connected only at nodal points, as shown in figure-2.2. It is only in this

idealization that the method differs from the standard matrix method. The loads or other

influences cause deformations (or strains) throughout the continuum, accompanied by

internal stresses and reactions at restrained points. The primary objectives of analysis by

finite elements are to calculate approximately the stresses and deflections in a structure.

The finite element method is extremely powerful since it enables continua with complex

geometrical properties and loading conditions to be accurately analyzed. The method

Typical nodal

point

finite element

Typical nodal

point

Typical triangular

finite element

(a) (b)

Page 26: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

15

involves extensive computations but, because of the repetitive nature of these

computations, it is ideally suited for programming for a solution using a computer.

2.8 Fundamental requirements

Whatever the cause of the internal forces and deformations in a structure, three basic

conditions must be observed. These are:

i. the equilibrium of forces;

ii. the compatibility of displacements; and

iii. the laws of material behavior.

The first condition merely requires that the internal forces balance the external applied

loads. Although the use of this condition alone is sometimes sufficient to enable a

statically determinate problem to be solved, the conditions of compatibility and material

behavior then being automatically satisfied, for redundant structures it yields insufficient

information to enable a complete analysis to be conducted. In these circumstance the

conditions of compatibility must be invoked separately. Compatibility requires that the

deformed structure fits together, i.e. that the deformations of the members are compatible.

Before this condition can be used, it is necessary to know the relationship between load

and deformation for each component of the structure. This relationship, which in

problems of linear elasticity reduces to the use of Hooke’s Law, is the third condition.

The use of these three conditions is a fundamental requirement of any method of

structural analysis.

2.9 Finite Element Concepts

In order to work with the finite element method, some knowledge of matrix methods,

mechanics, variational methods, and computer skills is necessary.

2.9.1 Elements

A finite element is a subregion of a discretized continuum. It is of finite size (not

infinitesimal or infinite) and usually has a simpler geometry than that of the continuum.

Page 27: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

16

The shape of elements can be line elements (spring and beam elements), triangular,

rectangular, tetrahedral, or brick elements, etc (figure-2.3). The vertices of the elements

are known as node points or simply nodes.

Figure-2.3 Types of finite elements

2.9.2 Type and Number of Elements

The type and number of elements used can be decided by the analyst depending on the

accuracy required and the number of critical locations.

2.9.3 Equilibrium and Degrees of Freedom

The number of ‘equilibrium’ equations for each node is set by specifying the number of

degrees of freedom, as is done for skeletal structures. A problem with infinite degrees of

freedom can be converted to one with a finite number by the finite element method in

order to simplify the solution process.

2.9.4 External Loads

The system of external loads acting on the actual solids must be replaced by an equivalent

system of forces acting at the node points.

AxisymmetricHexahedron (brick)Tetrahedron

QuadrilateralTriangleSpring

Beam (line)

Page 28: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

17

2.9.5 Accuracy of Solution

In general, the accuracy of the solution will be greater if the number of elements is large.

However, computer time (and cost) also increases with number of elements chosen so it is

generally wise only to use a dense concentration of elements in the critical areas of the

solid which are likely to be of particular interest.

2.9.6 Necessity of Computer Application

In any case, finite element method is a computer-oriented method that must be

implemented with appropriate digital computer programs.

Although the analysis of each individual element in the finite element method is

straightforward, the analysis of a large number of elements becomes extremely tedious.

For this reason’ finite element solutions to problems are carried out on computers and

there are many shareware and commercial software packages available for the purpose.

To some extent this has led to the current situation where many engineers are put off by

the apparent complexity of the subject and they leave it to the experts who tend to attach a

certain mystique to the subject through the use of computer jargon!

2.9.7 Continuity of Displacements

To improve the analytical model it is necessary to provide continuity of displacements,

and in some cases of displacement derivatives along finite element sides. The techniques

for deriving local stiffness matrices will later be illustrated for beam elements.

2.9.8 Plotting of Results

It is almost essential that plotting of results and input data should be provided in finite

element programs because these provide an instant visual check and errors can readily be

detected which would otherwise become very difficult.

2.10 Applicability to Different Fields

Although the original applications were in the area of solid mechanics, its usage has

spread to many other fields having similar mathematical bases. With such a powerful

technique for automatically solving skeletal structures, it is not surprising that engineers

Page 29: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

18

attempted to extend the method to problems of structural continua and later to general

field problems. At first attempts were made to derive local stiffness matrices for sheet

material in terms of forces and displacements at joints and to ‘connect’ sheets together as

though they were discrete members. Such attempts were not successful, because in an

actual structure displacements are continuous, whereas in the analytical model the sheets,

or finite elements, could have different values of displacements at points along common

edges. Application of finite element has been extended to soil and rock mechanics,

dynamics, earthquake analysis, torsion, head conduction, seepage, consolidation,

thermoelasticity, hydroelasticity, viscoelasticity, fluid mechanics, hydraulics, flow of

compressible fluids, electrical engineering, and many other fields.

2.11 General Steps in Finite Element Method

Since the assumption of displacement functions is the technique most commonly used,

the following steps suffice to describe this approach:

1. Divide the continuum into a finite number of subregions (or elements) of simple

geometry (triangles, rectangles, and so on).

2. Select key points on the elements to serve as nodes, where conditions of equilibrium

and compatibility are to be enforced.

3. Assume displacement functions within each element so that the displacements at each

generic point are dependent upon nodal values.

4. Satisfy strain-displacement and stress-strain relationships within a typical element.

5. Determine stiffness and equivalent nodal loads for a typical element using work or

energy principles.

6. Develop equilibrium equations for the nodes of the discretized continuum in terms of

the element contributions.

7. Solve these equilibrium equations for the nodal displacements.

Page 30: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

19

8. Calculate stresses at selected points within the elements.

9. Determine support reactions at restrained node if desired.

2.12 Matrix Operations

The following matrix operations/properties have been used in the solution of beam on

elastic foundation by finite element method:

2.12.1 Transpose of Matrix

If the rows and columns of a matrix are interchanged, a new matrix called the transposed

matrix is obtained. For example, if A is a (32) matrix given by

then its transpose is the (23) matrix

2.12.2 Matrix Multiplication

The definition of matrix multiplication is such that two matrices A and B can only be

multiplied together to form their product AB when the number of columns of A is equal to

the number of rows of B. Such matrices are called conformable matrices. Suppose A is a

matrix of order (m p) with elements aik and B is a matrix of order (p n) with elements

bik. Then their product AB is a matrix C of order (m n) with elements cik defined by

For example, if A and B are (3 2) and (2 2) matrices, respectively, given by

and

3231

2221

1211

aa

aa

aa

A

322212

312111

aaa

aaaAT

p

s

skisik bac1

3231

2221

1211

aa

aa

aa

A

2221

1211

bb

bbB

Page 31: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

20

then the product C = AB is a (3 2) matrix defined as

2.12.3 Symmetric Matrices

A symmetric matrix A is square and has elements aik such that aik = aki. In other words,

the elements above and below the leading diagonal are mirror images of each other. For

example, the matrix

is symmetric.

2.12.4 Band Matrix

A matrix is called a band matrix if it has all its nonzero entries on the main diagonal and

on sloping lines parallel to it (separated by sloping lines of zeros or not). Such matrices

are obtained by carefully selecting the node points. Matrix A shown below is an example

of a symmetric band matrix with bandwidth = 3.

Because matrix A is symmetric, its half bandwidth can be taken which is 2. Hence matrix

A can be represented as follows to save computer memory.

2232123221321131

2222122221221121

2212121221121111

babababa

babababa

babababa

C

2400000

4520000

0219000

0094600

0006320

0000273

0000035

A

evusz

vdtry

utcqx

srqbw

zyxwa

A

Page 32: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

21

Special methods for solution of linear equations defined by banded matrices have been

developed. The Cholesky Method is a popular method of solving with banded matrices.

2.12.5 Identity Matrix

A square matrix is known as the identity matrix if all the entries on its main diagonal are

unity and the remaining entries are zero. Identity matrix is denoted by I.

2.12.6 Inverse Matrix

If AB = I then B is known as inverse of A and denoted by A-1

.

Several methods are available for matrix inversion such as the determinant method,

forward elimination and backward substitution method, and Gauss Jordan elimination

method, etc. BEAMDEZ uses the Gauss Jordan elimination method, which works quite

satisfactorily, for the solution of beam on elastic foundation.

2.13 Advantages of Finite Element Method

Like all numerical approximations, the finite element method is based on the concept of

discretization. Nevertheless, as either a variational or a residual approach, the technique

recognizes the multidimensional continuity of the body. Not only does the idealization

portray the body as continuous but it also requires no separate interpolation process to

extend the approximate solution to every point within the continuum. Despite the fact

02

45

21

94

63

27

35

A

1000

0100

0010

0001

I

Page 33: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

22

that the solution is obtained as a finite number of discrete node points, the formation of

field variable models inherently provide a solution at all other locations in the body.

2.13.1 Better Approximations

In the finite element method, a modified structural system consisting of discrete (finite)

elements is substituted for the actual continuum and thus the approximation is of a

physical nature. There need be no approximation in the mathematical analysis of this

substitute system. By contrast, in the finite difference method the exact equations of the

actual physical system are solved by approximate mathematical procedures.

2.13.2 Trial Solutions

In contrast to other variational and residual approaches, the finite element method does

not require trial solutions which must all apply to the entire multidimensional continuum.

The use of separate sub regions, or finite elements, for the separate trial solutions thus

permits a greater flexibility in considering continua of complex shapes.

2.13.3 Boundary Conditions

Some of the most important advantages of the finite element method derive from the

techniques of introducing boundary conditions. This is another area in which the method

differs from other variational or residual approaches. Rather than requiring every trial

solution to satisfy the boundary conditions, one prescribes the conditions after obtaining

the algebraic equations for the assemblage. Since the boundary conditions do not enter

into the equations for the individual finite elements, one can use the same field variable

models for both internal and boundary elements. Moreover, the field models need not be

changed when the boundary conditions change.

The introduction of boundary conditions into the assembled equations is a relatively easy

process. It is simplified in that only the geometric boundary conditions need be

simplified in a variational approach because the natural conditions are implicitly satisfied.

No special technique or artificial devices are necessary, such as the non-centered

difference equations for fictitious external points often employed in the finite difference

method.

Page 34: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

23

2.13.4 Material Properties

The finite element method not only accommodates complex geometry and boundary

conditions, but it also has proven successful in representing various types of complicated

material properties that are difficult to incorporate into other numerical methods. For

example, formulations in solid mechanics have been devised for anisotropic, nonlinear,

hysteretic, time-dependent, or temperature-dependent behavior.

2.13.5 Non Homogenous Continua

One of the most difficult problems encountered in applying numerical procedures of

engineering analysis is the representation of non-homogenous continua. Nevertheless, the

finite element method readily accounts for non-homogeneity by the simple tactic of

assigning different properties to different elements if a refined representation of the

variation of material characteristics is desired, it is even possible to vary the properties

within an element according to a preselected polynomial pattern. For instance, it is

possible to accommodate continuous or discontinuous variations of the constitutive

parameters or of the thickness of a two-dimensional body.

2.13.6 Systematic Generality

The systematic generality of the finite element procedure makes it a powerful and

versatile tool for a wide range of problems. As a result, flexible general-purpose

computer programs can be constructed. Early examples of these programs are the several

structural analysis packages, which include a variety of element configurations and which

can be applied to several categories of structural problems. Among these packages are

STARDYNE, ASKA, STRUDL, SAP, NASTRAN, ETABS, and SAFE. Another

indicator of the generality of the method is that programs developed for one field of

engineering have been applied successfully to problems in a different field with little or

no modification.

Finally, an engineer may develop a concept of the finite element method at different

levels. It is possible to interpret the method in physical terms. On the other hand, the

method may be explained entirely in mathematical terms. The physical or intuitive nature

Page 35: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

24

of the procedure is particularly useful to the engineering student and practicing engineer.

Nevertheless, it is significant that the method has mathematical functions.

2.14 Limitations of Finite Element Method

One limitation of the finite element method is that a few complex phenomena are not

accommodated adequately by the method at its current state of development. Some

examples of such phenomena from the realm of solid mechanics are cracking and fracture

behavior, contact problems, and bond failures of composite materials, and non-linear

material behavior with work softening. Another example is transient, unconfined seepage

problems. The numerical solution of propagation or transient problems is not satisfactory

in all respects. Many of these phenomena are presently under research, and refinements

of the method to accommodate these problems better can be expected.

2.14.1 Validity of Results

The finite element method has reached a high level of development as a solution

technique: however, the method yields realistic results only if the coefficients or material

parameters which describe the basic phenomena are available. Material non-linearity in

solid mechanics is a notable example of a field in which our understanding of the material

behavior has lagged behind the development of analytical tool. In order to exploit fully

the power of the finite element method, significant effort must be directed toward the

development of suitable constitutive laws and the evaluation of realistic coefficients in

material parameters.

2.14.2 Computer Requirements

Even the most efficient finite element computer codes require a relatively large amount of

computer memory and computations. Hence, use of the method had been limited to those

who had access to relatively large, high-speed computers. Advancements in computer

technology and easy availability of desktop computers with large memories have

alleviated this restriction to some degree. However, very complex problems, especially

continuous analysis of dynamic systems (like weather systems, virtual wind tunnels, etc)

still require nothing less than supercomputers.

Page 36: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

25

2.14.3 Discretizing the Continuum and Data Input

The most tedious aspects of the use of the finite element method are the basic processes of

subdividing the continuum and of generating error-free input data for the computer.

Although these processes may be automated to a degree, they have not been totally

accomplished by computer because some engineering judgment must be employed in the

discretization. Errors in the input data may go undetected and the erroneous results

obtained therefrom may appear acceptable.

2.14.4 Interpretation of Results

Finally, as for any approximate numerical method, the results of a finite element analysis

must be interpreted with care. We must be aware of the assumptions employed in the

formulation, the possibility of numerical difficulties, and the limitations in the material

characterizations used. A large volume of solution information is generated by a finite

element routine, but this data is worthwhile only when its generation and interpretation

are tempered by proper engineering judgment.

Page 37: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

26

C H A P T E R T H R E E

COMBINED FOOTINGS

3.1 Combined Footing

A spread footing supporting a line of two or more columns is called a combined footing.

A combined footing may have either rectangular or trapezoidal shape or be a series of

pads connected by narrow rigid beams called a strap footing.

3.2 Purpose of Combined Footings

The necessity of combined footings arises mostly in the following cases:

1. when the column is so close to an adjacent property that it is impossible to center an

isolated footing under the column,

2. when columns are spaced so closely that isolated footings are impracticable or

uneconomical,

3. when the bearing capacity of soil is low, it is advisable to combine the footings of two

or more columns instead of enlarging the isolated footings,

4. and when differential settlements are to be reduced.

3.2.1 Columns Near Property Line

When a column is located near a property line, part of the single footing might extend into

the neighboring property. Also it may not be possible to place columns at the center of a

spread footing if they are near mechanical equipment locations, or irregularly spaced. To

avoid this situation, the column may be placed on side or edge of the footing, causing

eccentric loading. This may not be possible under certain conditions, and sometimes it is

not an economical solution. A better design can be achieved by combining the footing

with the nearest internal column footing, forming a combined footing. The center of

Page 38: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

27

gravity of the combined footing coincides with the resultant of the loads on the two

columns.

3.2.2 Closely Spaced Columns

If the columns are spaced so closely that their footings overlap then a combined footing

becomes necessary. Another case is when the footings do not overlap but are so closely

spaced that providing a combined footing may prove to be more economical than isolated

footings. The shape of the combined footing may be rectangular or trapezoidal.

3.2.3 Poor Soil

Another case where combined footings become necessary is when the soil is poor and the

footing of one column overlaps the adjacent footing. If there is a row of columns and the

bearing capacity of the subsoil is low so that large bearing areas become necessary,

individual footings are replaced by continuous strip footings that support more than two

columns and usually all columns in a row. Sometimes such strips are arranged in both

directions, in which case a grid foundation is obtained. Such a foundation can be made to

develop a much larger bearing area much more economically than can be done by single

footings because the individual strips represent continuous beams whose moments are

much smaller than the cantilever moments in large single footings that project far out

from the column in all four directions. Bridge piers are also founded on very rigid

combined rectangular footings.

For still lower bearing capacities, the strips are made to merge, resulting in a mat

foundation. That is, the foundation consists of a solid reinforced concrete slab under the

entire building. In structural action, such a mat is very similar to a flat slab or a flat plate,

upside down, i.e. loaded upward by the bearing pressure and downward by the

concentrated column reactions. The mat foundation evidently develops the maximum

available bearing area under the building. If the soil’s capacity is so low that even this

large bearing area is insufficient, some form of deep foundation, such as piles or caissons,

must be used.

Page 39: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

28

3.2.4 Differential Settlement

When a column load is transmitted to the soil by the footing, the soil becomes

compressed. The amount of settlement depends on many factors, such as the type of soil,

the load intensity, the depth below ground level, and the type of footing. If different

footings of same structure have different settlements, new stresses develop in the

structure. Excessive differential settlement may lead to the damage (cracking and tilting)

of nonstructural members in the buildings, even failure of the affected parts.

Besides developing large bearing areas, another advantage of strip, grid, and mat

foundations is that their continuity and rigidity help in reducing differential settlements of

individual columns relative to each other, which may otherwise be caused by local

variations in the quality of subsoil, or other causes. For this purpose, continuous spread

foundations are frequently used in situations where the superstructure or the type of

occupancy provides unusual sensitivity to differential settlement.

If the bearing soil capacity is too much different under different footings, for example if

the footings of a building are partly on soil and partly on rock, a differential settlement

will occur. In such cases it is advisable to provide a joint between the two parts to

separate them, allowing for independent settlement.

3.3 Shape of Combined Footings

Combined footings are made rectangular, trapezoidal, or T shaped, the details of the

shape being arranged to produce coincidence of centroid of area and resultant of loads.

Figure-3.1 Rectangular Combined Footing

Page 40: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

29

3.3.1 Rectangular Combined Footing

A combined footing is usually made rectangular, if the rectangle can extend beyond each

column face to a distance required to make the center of the gravity of the column loads

coincide with the centroid of the footing area. Rectangular combined footings can be

divided into two categories: those that support only two columns (figure-3.1) and those

that support more than two (generally large number of) columns (figure-3.2).

In buildings where the allowable soil pressure is large enough for single footings to be

adequate for most columns, two-column footings are seen to become necessary in two

situations: (1) if columns are so close to the property line that single-column footings

cannot be made without projecting beyond that line, and (2) if some adjacent columns are

so close to each other that their footings would merge. Combined footing for rows of

columns are provided where soil is poor.

Figure-3.2 Combined Footing for row of columns.

If the footing is to support an exterior column at the property line where the projection of

the footing is limited, a rectangular shape can be used provided the interior column caries

greater load or a row of columns is supported by the continuous strip footing which is

rectangular. When the loading of the column is equal, the rectangular shape is used with

advantage.

3.3.2 Trapezoidal Footing

When the load of the external column near the property line is greater than the load of the

interior column, a trapezoidal footing (figure-3.3) is necessary to keep the centroid of the

footing in line with the resultant of the two column loads. In most other cases, a

rectangular footing may be advantageous.

Page 41: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

30

Figure-3.3 Trapezoidal and Strap Footings

3.3.3 Strap Footing

Another expedient that is used if a single footing cannot be centered under an exterior

column is to place the exterior column footing eccentrically and to connect it with the

nearest interior column footing by a beam or strap. This strap, being counterweighted by

the interior column load, resists the tilting tendency of the eccentric exterior footings and

equalizes the pressure under it. Such foundations are known as strap, cantilever, or

connected footings (figure-3.3).

Figure-3.4 Continuous Strip, Grid, and Mat Foundations

Page 42: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

31

3.3.4 Strip, Grid, And Mat Foundation

In the case of heavily loaded columns, particularly if they are to be supported on

relatively weak or uneven soils, continuous footings are resorted to. They may consist of

a continuous strip footing supporting all columns in a given row, or of two sets of such

strip footings intersecting at right angles so that they form one continuous grid foundation

(figure-3.4). For even larger loads or weaker soils the strips are made to merge, resulting

in a mat foundation (figure-3.4).

Figure-3.5 Resultant R of the applied loads should act at the centroid of footing for uniform soil pressure.

3.4 Design of Rectangular Combined Footings

Generally, combined footings are constructed of reinforced concrete. The fundamental

assumption for the design of a rectangular combined footing is that the footing is rigid

and rests on a homogeneous soil, so as to give rise to a linear stress distribution on the

bottom of the footing. If the resultant of the soil pressure coincides with the resultant of

the loads (and center of gravity of the footing), the soil pressure is assumed to be

uniformly distributed, which greatly simplifies the calculations. This assumption is

approximately true if the soil is homogeneous and the footing is rigid. The ACI Code,

section 15.40, does not provide a detailed approach for the design of combined footings.

The design, in general, is based on an empirical approach.

Page 43: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

32

3.4.1 Footing Dimensions

Therefore, the dimensions of a combined footing are so proportioned that the center of

gravity of the area of the footing in contact with the soil lies on the line of action of the

resultant of the loads applied to the footing (figure-3.5). By doing so, the distribution of

soil pressure is assumed to be fairly uniform. If the resultant of the applied loads does not

coincide with the centroid of the bearing area, a bending moment develops. In this case,

the pressure on one side of the footing will be greater than the pressure on the other side,

causing higher settlement on one side and a possible rotation of the footing. Moreover,

the dimensions of the footing are chosen such that the allowable pressure is not exceeded.

3.4.2 Rounding of Dimensions

The conventional design method requires computing shears and moments at sufficient

locations that shear and moment diagrams can be drawn for critical values. It is also

standard practice to round the computed length and width to the nearest larger multiple of

75-mm or 3 inch. If this is done prior to computing shear and moment diagrams there

will be a closure error which depends on the amount the length is changed; thus, it is

recommended that footing dimensions be rounded as the final design step. Also, this

rounding may cause a small variation in the uniform pressure under the footing, but it can

be tolerated.

3.4.3 Shear and Moment Computations

The column loads are actually distributed over the column width but may be considered

to be concentrated point loads. This greatly simplifies the shear and moment

computations, and the values at the critical locations are the same by either method. Then

the resulting shear force and bending moment diagrams can be plotted. The maximum

bending moment should be adopted as the design value for the reinforced concrete

footing, which should also be checked for maximum shear and bond etc.

3.4.4 Depth of Footing

The depth based on the more critical of two-way action or wide-beam shear is computed.

Critical sections for two-way action and wide-beam are the same as for spread footings,

i.e., at d/2 and d, respectively, from the column face. It is common practice not to use

Page 44: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

33

shear reinforcement both for economy and to increase the rigidity. The labor costs to

bend and place the shear reinforcement are likely to far exceed the small savings in

concrete that would result from its use.

3.4.5 Reinforcement Design

With the depth selected, the flexural steel can be designed using the critical moments

from the moment diagram. Alternatively, the depth and the loading can be used in a

finite-element analysis to obtain modified moments for the flexural steel. These beam-

type members usually have both positive and negative moments, resulting in reinforcing

steel in both the top and bottom of the footing. The minimum percentage of steel should

be taken as 200/fy since the footing is designed as a “beam” or flexural member.

3.4.5.1 Main Reinforcement

The main reinforcement in a combined footing is placed in the longitudinal direction.

The computation of the main steel is done on the assumption that the footing acts as one

way slab.

3.4.5.2 Transverse Reinforcement

If we compute the short, or transverse, direction bending moments as for a rectangular

spread footing, they will be in substantial error. This is because the soil pressure is larger

near the columns, from their stiffening effect on the footing, and lesser in the zone

between columns. That zone closest to, and approximately centered on, the column is

most effective and should be analyzed somewhat similar to the ACI Code requirement for

rectangular footings. The Code does not directly specify this effective column zone

width. Bowles suggests that for the effective zone for the transverse direction it should be

assumed that the column load is spread over a width under the column equal to the

column width plus 0.75d on each side (figure-3.6), whenever that is available. In other

words, the column load acts on a beam under the column within the footing which has a

maximum width of (w + 1.5d) and a length equal to the short side of the footing smaller

width, down to (w + 0.75d), may be used. Transverse reinforcement is provided at the

bottom of the footing in these zones (shown in figure-3.6).

Page 45: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

34

Figure-3.6 Zones for transverse reinforcement.

3.4.5.3 Shear Reinforcement

It is common practice not to use shear reinforcement both for economy and to increase the

rigidity (depth of concrete required is larger if we do not provide shear reinforcement and

due to this increased depth of concrete, footings becomes more rigid). The labor costs to

bend and place the shear reinforcement are likely to far exceed the small savings in

concrete that would result from its use.

3.5 Design Steps

The procedure of the design of a combined footing may be summarized as follows:

(a) Ascertain the loads on both columns and their distance apart. Convert loads to

ultimate and find ultimate soil pressure qult when allowable soil pressure qa is given.

(b) Locate load resultant from center of any column and then find footing dimensions L

and B so that the resultant acts at centroid of the area in order to have uniform soil

pressure that does not exceed the safe bearing capacity of soil.

(c) Calculate the maximum bending moment anywhere in the length of the footing.

(d) Select depth based on analysis for both wide beam and diagonal tension. First, the

depth is obtained by using allowable value of shear stress for wide beam, then the

value of d will be checked on diagonal (also called punching) tension shear.

Page 46: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

35

(e) Design main reinforcement steel between columns by using ultimate strength design

method.

(f) Calculate the transverse steel required under each column.

(g) Check dowel requirements of each column to footing. If dowels are not required then

provide at least four dowels of 0.005 Ag.

(h) Design steel for cantilever portion of footing.

3.6 Demerits of Rigid Design

In actual practice, it is very difficult to make a rigid footing as the depth would have to be

great; nevertheless, the assumption of a rigid member has been successfully used for

many foundation members. Bowles suggests that the success has probably resulted from

a combination of soil creep, concrete stress transfer, and overdesign. However, the design

is not economical because it requires higher amounts of steel than necessary.

3.6.1 Assumptions of Rigid Design

In general, ordinary combined footings are somewhat less rigid but their design by

conventional method is based on the assumption that they are absolutely rigid (no bending

occurs) so that the soil pressure under the footing can be assumed as uniformly

distributed.

If columns are spaced at moderate distances and if the strip, grid, or mat foundation is

very rigid, the settlements in all portions of the foundation will be substantially the same.

But in reality, the foundation is relatively flexible and if the column spacing is large,

settlements will no longer be uniform or linear. For one thing, the more heavily loaded

columns will cause larger settlements, and thereby larger subgrade reactions, than the

lighter ones. Also, since the continuous strip or slab midway between columns will

deflect upward relative to the nearby columns, this means that the soil settlement, and

thereby the subgrade reaction, will be smaller midway between columns than directly at

the columns. This is shown schematically in figure-1.2. In this case, the subgrade

Page 47: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

36

reaction can no longer be assumed as uniform. A reasonably accurate but fairly complex

analysis can then be made using the theory of beams on elastic foundations.

3.7 Beam on Elastic Foundation

Because of the overdesign involved in the conventional (or “rigid”) method, current

practice tends to modify the design by a beam-on-elastic-foundation analysis. The latter

analysis produces smaller design moments than those obtained by the rigid method;

therefore, the design becomes economical. This method of analysis and its finite element

modeling is discussed in the next chapter.

Page 48: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

37

C H A P T E R F O U R

BEAM ON ELASTIC FOUNDATION

4.1 Elastic Foundation

A special kind of structural member is one which rests on a spongy material, termed as an

elastic foundation, which offers a resistance proportional to the transverse deflection; a

common example of this is a foundation beam resting on an elastic soil. Thus, there are

unknown transverse forces, equal to the product of the “stiffness modulus” of the

supporting material and the yet unknown transverse deflection, acting on structural

members on elastic foundation.

Usually, the treatment of structural members is confined to those under the action of

known transverse forces. In the displacement method of analysis, these transverse forces

are transmitted to both ends of each member, in the fixed condition. In case that some

member in a continuous beam or rigid frame is subjected to resistance offered by an

elastic foundation, the displacement method of analysis can still be used, provided that

expressions for the member stiffness matrix and for the fixed-end reactions and moments

due to common types of transverse loads can be found as functions of the stiffness

modulus. These required expressions will be derived in this chapter.

4.2 Winkler Model

Some soil/structure interaction problems may be simplified as a beam (structure) on

springs (soils), where the behavior of the soil is simplified by means of fictitious springs

placed continuously underneath the structure. In 1867, Winkler first studied the beam on

elastic springs. The model he developed is called the Winkler foundation model, which is

a one-dimensional problem. For analysis of beams and slabs resting on a soil medium,

engineers have been using this classical mathematical model. The springs representing

Page 49: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

38

subgrade soils may obey Hooke’s Law or be non-linear or elastic-plastic [Selvadurai,

1979].

The Winkler model has its advantages for obtaining fast solutions, sometimes analytical,

to more complicated soil/structure interaction problems.

4.3 Limitations of Winkler Model

The Winkler foundation model has two major problems: (1) no interaction between the

springs is considered; and (2) the spring constant may depend on a number of parameters,

such as stiffness and geometry of the beam, soil profile, and behavior. Terzaghi

[Terzaghi, 1955], Vesic [Vesic, 1961], and Selvadurai [Selvadurai, 1979], among others,

discussed the validation of the Winkler foundation model and suggested methods for the

estimation of spring constants. Despite the two major limitations, the Winkler foundation

model has found applications in the analysis of soil/structure interaction problems; e.g.,

footings on soils and laterally loaded piles in soils.

It is noted that the beam in the Winkler foundation model is based on the pure bending

beam theory commonly used in structural analysis.

4.4 Other Models

As a different approach, Pasternak [Pasternak, 1954] suggested a pure shearing model for

soil/structure interaction analyses. In the Pasternak model, no bending is considered, and

the settlement is totally controlled by shear deformation of the beam. The Pasternak

model was combined with Winkler model as an attempt to consider the interaction of the

springs. Geosynthetics have recently received wide application for reinforcement of

weak foundation soils or pavement [Koerner, 1990]. The Pasternak model was recently

developed to analyze the geosynthetic-reinforced granular base over soils [Madhav 1988;

Bordeau, 1989; Ghosh, 1994; Shukla, 1994; Yin, 1997 a, b).

Both the Winkler model and the Pasternak model take an extreme point of view (or

approximation) on the deformation behavior of beam. Another beam model that

Page 50: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

39

considers both bending and shearing was proposed by Timoshenko [Timoshenko, 1921]

for modeling vibration of beams. The Timoshenko beam still attracts people’s attention

in studying the static and dynamic response of beams [Wang et al., 1997]. However, less

attention is paid to modeling the Timoshenko beam on an elastic foundation.

Figure-4.1 Modulus of subgrade reaction.

4.5 Modulus of Subgrade Reaction

In analysis of foundation members, the resistance offered by the supporting material is

taken as unknown transverse forces, equal to the product of its “stiffness modulus” (called

modulus of subgrade reaction for soils) and the transverse deflection of the structural

member. It is used for continuous footings, mats, and various types of pilings. This ratio

is defined on figure-4.1 and the basic equation when using plate-load test data is

ks=q/ (4.1)

with terms identified on both figure-4.1 and figure-4.2. Plots of q versus from load tests

give curves of the type qualitatively shown in figure-4.2. If this type of curve is used to

obtain ks in the above equation, it is evident that the value depends on whether it is a

tangent or secant modulus and the location of the coordinates of q and .

Pre

ssure

,

Deformation,

ks =

Use initial tangent or

initial secant line

Page 51: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

40

Figure-4.2 Determination of modulus of subgrade reaction from plate load test data.

It is difficult to make a plate-load test, except for very small plates because of the reaction

load required. Even with small plates of say 450, 600, and 750 mm diameter it is difficult

to obtain since the plate tends to be less than rigid so that a constant deflection across

the plate (and definition of ks) is difficult to obtain. Stacking the smaller plates concentric

with the larger ones tends to increase the rigidity, but in any case, the plot is of load

divided by plate contact area (nominal P/A) and the average measured deflection.

Figure-4.2 is a representation of ks taken as a constant up to a deflection Xmax. Beyond

Xmax the soil pressure is a constant value defined by

Qcon = ks(Xmax) (4.2)

Obviously one could divide the q- curve into several regions so that ks takes on values of

the slope in several regions however, this tends to incorporate too much refinement into

the problem since most analyses proceed on the basis of estimated values or at best an

approximate load test.

Some engineers do not like to use the concept of a modulus of subgrade reaction; rather

the use of Es (and ) in finite-element analyses is preferred. Bowles suggests that, until

the state of the art improves so that accurate values of Es can be obtained, the modulus of

subgrade reaction method is preferred for its greater ease of use and from the substantial

savings in computer computation time.

k =q

q

k depends on curve coordinates

used and is generally nonlinear q

NonlinearLinear

Xmax

Page 52: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

41

There is a direct relationship between ks and Es but since one does not often have values

of Es, other approximations are useful and often quite satisfactory if the computed

deflection (directly dependent on ks) can be tolerated for any reasonable value. It has

been found that bending moments and the computed soil pressure are not very sensitive to

what is used for ks. This is because the structural member stiffness is usually 10 or more

times as great as the soil stiffness as measured by ks. Recognizing this, Bowles suggests

that the following formulae for approximating ks from the allowable bearing capacity

furnished by the geotechnical consultant should be used

ks = 12 (SF) qa (kip/ft3) (in fps units) (4.3)

ks = 40 (SF) qa (kN/m3) (in SI units) (4.4)

where qa is furnished in ksf or kPa. These formulae are based on qa = qult/SF and the

ultimate soil pressure is at a settlement H = 1 inch or 25.4 mm and ks is qult/H. For

H=1/4, 1/2, 3/4 inch, etc, the factor 12 (or 40) can be adjusted to 48, 24, 16, etc; 12 is

reasonably conservative but smaller assumed displacements can always be used. Tables

A-3 to A-6 can be referred as guidelines for determining value of ks.

4.6 Previous efforts by researchers to evaluate the value of k

Many researchers have worked to develop a technique to evaluate the modulus of

subgrade reaction k. One of the early contributions was that of Terzaghi [Terzaghi,

1955], who proposed that ks for full-sized footings could be obtained from plate-load

tests. He made some recommendations where he suggested values of k for a

0.3050.305m (11 ft) rigid slab placed on a soil medium; however, the implementation

of procedure to compute the value of k for use in a larger slab was not specific.

Biot [Biot, 1937] solved the problem for an infinite beam with a concentrated load resting

on a 3D elastic soil continuum. He found a correlation of the continuum elastic theory

and the Winkler model where the maximum moments in the beam are equated. He

developed an empirical equation for k

)5.4()1(1

95.0108.0

2

4

2

EI

EBEk

s

s

s

s

Page 53: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

42

where, Es = modulus of elasticity of the soil; s = Poisson’s ratio of the soil; B= beam

width; and EI = bending rigidity of the beam.

On similar grounds, Vesic [Vesic, 1961] tried to develop a value for k using the stress-

strain modulus of Es, except, instead of matching bending moments, he matched the

maximum displacements of the beam in both models. He obtained the equation for k for

use in the Winkler model as

where all the terms are same as in equation 4.5.

4.7 New research for evaluation of the value of k

It is evident from Boussinesq analysis that the base contact pressure contributes to

settlement at other points, i.e. causing the center of a flexible uniformly loaded base to

settle more than at the edges. Using a constant ks on a uniformly loaded base will produce

a constant settlement (H will be same at every point). This is obviously incorrect and

many persons do not like to use ks because of this problem. In other words, the settlement

is “coupled” but the soil springs from ks have not been coupled.

To account for this, fractions of the springs k in the Winkler foundation model should be

coupled or augmented in order to make nonlinear analysis (soil-base separation or

excessive displacements).

4.7.1 Augmentation of k

Many researchers have proved this lack of uniqueness of k in the past. Bowles [Bowles,

1982] and Coduto [Coduto, 1994] have suggested that the value of k has to be augmented

on the edges of the footing and have emphasized the need for more research on this topic.

In other words, the value of k varies in the domain of the foundation for different material

and geometric properties of the soil.

)6.4(1

65.012

4

2 EI

EBEk s

s

s

Page 54: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

43

4.7.2 Vallabhan’s Iterative Procedures

Vallabhan and Daloglu [Vallabhan, 1997, 1999], Vallabhan and Das [Vallabhan, 1988,

1989], Straughan [Straughan, 1990], and Turhan [Turhan, 1992] have proposed some

iterative procedures to get the value of k at different locations. These procedures are still

not very popular among practicing engineers.

4.7.3 Non-Dimensional Parameters For k

Using non-dimensional parameters, Daloglu and Vallabhan [Daloglu, 2000] have

attempted to evaluate the value of k for use in Winkler model for the analysis of slabs

subjected to concentrated and uniformly distributed loads. For convenience, a constant

value of Poisson’s ratio for the soil, s=0.25, is used. They have provided some graphs

from which values of an equivalent k can be computed from the complete geometry and

properties of the overall system.

4.8 Displacement Method

Analysis of beam-on-elastic-foundation can be done by the displacement method if the

expressions for the member stiffness matrix and for the fixed-end reactions and moments

due to transverse loads can be taken as functions of the stiffness modulus. These

expressions are derived below.

4.9 Basic Differential Equation

From the theory of conjugate beam method, successive differentiation of the deflection

equation gives the following relations:

)7.4(deflectionEIy

)8.4( slopedx

dyEI

)9.4(2

2

Mmomentdx

ydEI

)10.4(3

3

dx

dMVshear

dx

ydEI

Page 55: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

44

Figure-4.3 Structural member on elastic foundation.

Now consider a structural member AB and its elastic curve A'B' as shown in figure-4.3. It

is subjected to a varying downward load of w per unit distance and to an upward force of

ky per unit distance, wherein k is the stiffness modulus of the elastic foundation, measured

in force per unit area. Sometimes the compression modulus of the medium is given in

force per unit volume, in which case the stiffness modulus is the product of the

compression modulus and the width of the structural member.

From the equilibrium equations of resolution and rotation of an infinitesimal segment of

the structural member,

and

)11.4(2

2

4

4

dx

Md

dx

dVload

dx

ydEI

)12.4(wkydx

dV

)13.4(Vdx

dM

Page 56: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

45

wherein the positive directions of shear V and bending moment M are as shown in figure-

4.3 above. The change in slope between any two consecutive points at an infinitesimal

distance dx apart is equal to

The negative sign is due to the fact that the slope is decreasing in positive or concave

bending. Combining equations (4.12) and (4.14) gives the basic differential equation of

elastic curve as

The shear and bending moment become

and

4.10 General Solution of the Differential Equation

When there is no transverse load acting on the member, the basic differential equation

(4.15) becomes

Solution:

Let

Then equation (4.18) becomes:

)14.4(dxEI

M

dx

dyd

)15.4(4

4

EI

wy

EI

k

dx

yd

)16.4(3

3

dx

ydEIV

)17.4(2

2

dx

ydEIM

)18.4(04

4

yEI

k

dx

yd

)19.4(dx

d

)20.4(04

y

EI

k

Page 57: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

46

For y 0,

Add and subtract to equation (4.21)

)21.4(04 EI

k

)22.4(022 224 EI

k

EI

k

EI

k

)23.4(02

2

4

12

2

EI

k

EI

k

)24.4(0224

1

24

1

2

EI

k

EI

k

EI

k

EI

k

)25.4(024

1

2

EI

k

EI

k

)26.4(2

4224

1

EI

k

EI

k

EI

k

)27.4(2

1

2

1 4

1

4

1

EI

ki

EI

k

)28.4(2

1sin

2

1cos

4

1

2

4

1

12

1

1

4

1

xEI

kax

EI

kaey

xEI

k

)29.4(4

4

EI

kL

)30.4(sincos 211

x

Lax

Laey

xL

)31.4(024

1

2

EI

k

EI

k

EI

k22

Page 58: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

47

Because,

Let,

)32.4(2

4224

1

EI

k

EI

k

EI

k

)33.4(2

1

2

1 4

1

4

1

EI

ki

EI

k

)34.4(2

1sin

2

1cos

4

1

4

4

1

32

1

2

4

1

xEI

kax

EI

kaey

xEI

k

)35.4(sincos 432

xL

axL

aeyx

L

)36.4(sincossincos 432121

xL

axL

aexL

axL

aeyyyx

Lx

L

bxbxeandbxbxe bxbx sinhcoshsinhcosh

xL

xL

eandxL

xL

ex

Lx

L

sinhcoshsinhcosh

)37.4())(''())(''( 4321 sacascsacascy

)38.4('''''''' 43422121 ssascascaccassascascaccay

)39.4(')(')(')(')( 42314231 ssaascaascaaccaay

)40.4(sinhsincoshsin

sinhcoscoshcos

xL

xL

DxL

xL

C

xL

xL

BxL

xL

Ay

xL

s

sin xL

c

cosxL

s

sinh' xL

c

cosh'

Page 59: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

48

where,

Figure-4.4 Boundary conditions of a structural member.

4.11 Boundary Conditions of an Unloaded Member

Since the general solution of differential equation for an unloaded member resting on an

elastic foundation includes four arbitrary constants, four boundary conditions are required

for the evaluation of these constants. Two common approaches are (1) specifying the

bending moments Mi , Mj, and the shears Vi , Vj at the end points i and j; or (2) specifying

the slopes i ,j and the transverse deflections i , j . Positive directions for Mi , Mj, Vi ,

Vj and for i ,j , i , j are as shown in figure-4.4. In this connection, it must be noted that

the elastic foundation has been assumed to be capable of exerting either pull or push as if

the structural member were securely attached to the medium. If pulling is not permitted

(as in foundation soil) the springs should be set to zero in the finite element program by

iterative process.

42423131 aaDaaCaaBaaA

4

4EI

kL

Mi

Vi

i

i

i

y

0

Mj

Vj

j

j

j

x

Page 60: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

49

It will be shown that the use of the first approach will yield a 44 flexibility matrix of a

member on elastic foundation, and the second approach will produce the 44 stiffness

matrix.

4.12 Stiffness Matrix of a Member on Elastic Foundation

The four force quantities Mi , Mj, Vi , and Vj as defined in figure-4.4 may be expressed in

terms of the four arbitrary constants A, B, C, and D as follows

as

Differentiate y w.r.t. x:

Again differentiate y w.r.t. x:

)41.4(2

2

dx

ydEIM i

)42.4()''''( ssDcsCscBccAdx

d

dx

dy

)43.4()]''()''()''()''([ cscsDccssCssccBscscAL

)44.4()}]''()''{()}''()''{(

)}''()''{()}''()''{([2

2

2

2

ssccssccDscscscscC

scscscscBssccssccALdx

yd

)45.4()]''''()''''(

)''''()''''([2

2

ccssccssDscscscscC

scscscscBssccssccAL

)46.4(]'2'2'2'2[2

2

DccCscBscAssL

)47.4()]112()012(

)102()002([)0(2

2

2

2

DC

BAL

xatdx

yd

)40.4(sinhsincoshsin

sinhcoscoshcos

xL

xL

DxL

xL

C

xL

xL

BxL

xL

Ay

Page 61: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

50

Let,

Now,

Differentiate above equation w.r.t. x:

sins coscsinh's cosh'c

)48.4(]2[2

2

DL

)49.4(2

)0(2

2

2

2

DL

EIxat

dx

ydEIM i

)50.4()]'2()'2()'2()'2([)(2

2

ccDcsCscBssALxatdx

yd

)51.4(]''''[22

2

DccCcssBcAssL

)52.4(]''''[2

)(2

2

2

2

DccCcssBcAssL

EILxat

dx

ydEIM j

)40.4(sinhsincoshsin

sinhcoscoshcos

xL

xL

DxL

xL

C

xL

xL

BxL

xL

Ay

)53.4(]''''[22

2

2

2

DccCscBscAssLdx

yd

)54.4()]''()''()''()''([23

3

3

3

scscDssccCccssBscscALdx

yd

)55.4()]00()01()10()00([2)0(3

3

3

3

DCBAL

xatdx

yd

)56.4()(23

3

CBL

Page 62: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

51

The four deformation quantities i ,j , i , and j can be expressed in terms of the four

arbitrary constants A, B, C, and D by

As

)58.4()]''()''(

)''()''([2

)(3

3

3

3

sccsDssccC

ccssBcsscAL

Lxatdx

yd

)59.4()]''()''(

)''()''([2

)(3

3

3

3

csscDccssC

ccssBcsscAL

EILxat

dx

ydEIV j

)61.4()()0( CBL

xatdx

dyi

)63.4(])''()''()''()''[()( DcsscCccssBccssAcsscL

Lxatdx

dyj

)65.4()0( Axatyi

)57.4()(2

)0(3

3

3

3

CBL

EIxat

dx

ydEIVi

)43.4()]''()''()''()''([ cscsDccssCssccBscscALdx

dy

)60.4()]00()10()01()00([)0( DCBAL

xatdx

dy

)62.4(])''()''()''()''[()( DcsscCccssBccssAcsscL

Lxatdx

dy

)40.4(sinhsincoshsin

sinhcoscoshcos

xL

xL

DxL

xL

C

xL

xL

BxL

xL

Ay

)64.4()]0()0()0()1([)0( DCBAxaty

)66.4(]''''[)( DsssCcBcsAccLxaty

Page 63: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

52

The four arbitrary constants A, B, C, and D may be expressed in terms of the four

deformation quantities i ,j , i , and j by solving the four simultaneous equations (4.61),

(4.63), (4.65), and (4.67); thus

From equation (4.65),

From equation (4.61),

From equation (4.68) and (4.69), put values of A and B in equation (4.67)

From equation (4.68), (4.69), and (4.72) put values of A, B, and D in equation (4.63),

)67.4('''')( DsssCcBcsAccLxatyj

)68.4(iA

)69.4(CL

B i

)70.4(''''' DsssCcCcscsL

cc iij

)71.4()''(''' CsccscsL

ccDss iji

)72.4()'

'(

'

1

'

'C

s

c

s

c

s

cL

ssss

ccD iji

)73.4(''

'

''

''

'

''

'

''

''''')''(

22

222

CccCs

scC

s

scCcc

s

scLcc

L

s

c

s

c

s

cc

s

ccCcc

CssCccCssccL

ssL

csscL

iijjii

iiij

)74.4('

'

''2

''''

'

''

'

'''

22

22

2

2

Cs

sc

s

scss

s

scccccss

L

s

c

s

c

s

cc

s

cccssc

Lijij

Page 64: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

53

From equation (4.81) put value of C in equation (4.69)

)75.4('

'''2

''

'

''

'

''''''

222222

222222

Css

scscss

s

scssL

ss

cssc

ss

sccsccsssscLijij

)76.4('

''''

')(

'

)''(

'

)''()(''

22222222

222222

Css

scsssssc

s

scsL

ss

cssc

ss

sccscsscLijij

)77.4('

)(')''(

'

'

''

'

''

222222

Css

cssscs

s

sL

ss

cssc

ss

csscLijij

)78.4('

'

'

'

'

''

'

'' 222

Css

ss

ss

sL

ss

cssc

ss

csscLijij

)79.4()'()''()''('' 222 CsscsscsccssL

ssL

jiij

)80.4()''()''('')'( 222

jiji csscsccsssL

sL

Css

)81.4()''()''('''

1 2

22

jiji csscsccsss

Ls

L

ssC

)82.4()''()''('''

1 2

22

jijii csscsccsss

Ls

L

ss

LB

)83.4()''()''('''

1

)'(

)'( 2

2222

22

jijii csscsccsss

Ls

L

ssss

ssLB

)84.4()''()''(')''('

1 222

22

jiji csscsccsss

Lsss

L

ssB

Page 65: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

54

Multiply equation (4.65) by cc’ on both sides

Multiply and divide equation (4.86) by (s’2-s

2) on right hand side

Multiply equation (4.85) by cs' on both sides

Multiply equation (4.81) by c's on both sides

Rewrite equation (4.67)

Multiply and divide j by (s' 2-s

2)

From equation (4.86), (4.88), and (4.89) put values of cc'A, cs'B, and c'sC in equation

(4.91),

)85.4()''()''(''

1 2

22

jiji csscsccsss

Ls

L

ssB

)86.4('' iccAcc

)88.4()'''()'''('''

1' 222222

22

jiji scssccsccssccss

Lscs

L

ssBcs

)89.4()'''()'''('''''

1' 222222

22

jiji ssccscsscsccssc

Lssc

L

sssCc

)90.4('''' sCcBcsAccDss j

)92.4(])''''''''(

)'''''''''(

)'''()'''(['

1'

222222

222222

2222

22

j

i

ji

ssssccscscsscc

sscsccsccsscsccscc

ssccssL

sscscsL

ssDss

)93.4()'

'

'

''()'(

)''()''('

1

2222

22

ji

ji

s

s

s

s

s

sc

s

sccc

csscL

sccsL

ssD

)87.4()'''('

1' 22

22 isccsccss

Acc

)91.4(''''

''

22

22

sCcBcsAccss

ssDss j

Page 66: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

55

If we put value of D from equation (4.97) in equation (4.49), the coefficient of i on right

hand side becomes:

The coefficient of j becomes:

The coefficient of i becomes:

The coefficient of j becomes:

)94.4()'

'''()1'1(

)''()''('

1

22222222

22

ji

ji

ss

ssscscss

csscL

sccsL

ssD

)95.4(}'

)1'()1('{)'(

)''()''('

1

222222

22

ji

ji

ss

cscsss

csscL

sccsL

ssD

)96.4()'

''()'()''()''(

'

1 222222

22

jiji

ss

sssssscssc

Lsccs

L

ssD

)97.4('2)'()''()''('

1 22

22

jiji sssscssc

Lsccs

L

ssD

)98.4()''()'(

2222

2

sccsL

ssL

EI

)100.4()''()'(

2222

2

csscL

ssL

EI

)101.4()'(

)''(222 ssL

csscEI

)102.4()'(

)'(2222

222

ssL

ssEI

)103.4()'(

)'2(2222

2

ssL

ssEI

)104.4()'(

'4222

2

ssL

ssEI

)99.4()'(

)''(222 ssL

csscEI

Page 67: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

56

Hence, equation (4.49) becomes:

or

If we put value of A, B, C, and D from equation (4.68), (4.85), (4.81), and (4.97) in

equation (4.52), the coefficient of i on right hand side becomes:

The coefficient of j becomes:

The coefficient of i becomes:

)107.4()'''''0'()'(

2 2233

222

2

sccscccsscssL

ssL

EI

)108.4()}''(')('{)'(

2 2222

22sccscssc

ssL

EI

)109.4()'(

)''(222 ssL

csscEI

)110.4()}''(')'(')'('0'{)'(

2222

2

csscccsscsssscssL

ssL

EI

)111.4()''''''()'(

2 2222

22sccscccssssc

ssL

EI

)112.4()}''()(''{)'(

2 2222

22sccscssc

ssL

EI

)113.4()'(

)''(222 ssL

csscEI

)114.4()}'(')''(')''(')')(1('{)'(

2 2222

222

2

ssccsccscssccsscssssssL

EI

)105.4()'(

'4

)'(

)'(2

)'(

)''(2

)'(

)''(2

222

2

222

222

2222

ji

jii

ssL

ssEI

ssL

ssEI

ssL

csscEI

ssL

csscEIM

)106.4(4321 jijii VARVARVARVARM

Page 68: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

57

The coefficient of j becomes:

Hence, equation (4.52) becomes:

or

)115.4()'''''''''''()'(

2 22222233

222

2

sccsccsccsscsscsccssssssL

EI

)116.4()}1(')'1('''{)'(

2 2233

222

2

ssssssssssssL

EI

)117.4()''''''()'(

2 3333

222

2

ssssssssssssssL

EI

)118.4()'(

'2222

2

ssL

ssEI

)119.4()}'2(')''(')''('0'{)'(

2222

2

sscccssccscsscscssssL

EI

)120.4()''2''''''()'(

2 2222

222

2

ssccscssccssccscssL

EI

)121.4()}1(')'1({)'(

2 2222

222

2

ssssssL

EI

)122.4()'''()'(

2 222222

222

2

ssssssssL

EI

)123.4()'(

)'(2222

222

ssL

ssEI

)124.4()'(

)'(2

)'(

'2

)'(

)''(2

)'(

)''(2

222

222

222

2

2222

ji

jij

ssL

ssEI

ssL

ssEI

ssL

csscEI

ssL

csscEIM

)125.4(3412 jijij VARVARVARVARM

Page 69: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

58

If we put value of B, and C from equation (4.85) and (4.81) in equation (4.57), the

coefficient of i on right hand side becomes:

The coefficient of j becomes:

The coefficient of i becomes:

The coefficient of j becomes:

Hence, equation (4.57) becomes:

)126.4()'()'(

2 22

223

3

ssL

ssL

EI

)127.4()'(

)'(2222

222

ssL

ssEI

)130.4()''''()'(

2223

3

sccssccsssL

EI

)131.4()''22()'(

2223

3

sccsssL

EI

)132.4()'(

)''(4223

3

ssL

sccsEI

)128.4()''()'(

2223

3

ssssL

ssL

EI

)129.4()'(

'4222

2

ssL

ssEI

)133.4()}''()''{()'(

2223

3

cssccsscssL

EI

)134.4()''''()'(

2223

3

cssccsscssL

EI

)135.4()'(

)''(4223

3

ssL

csscEI

)136.4()'(

)''(4

)'(

)''(4

)'(

'4

)'(

)'(2

223

3

223

3

222

2

222

222

ji

jii

ssL

csscEI

ssL

sccsEI

ssL

ssEI

ssL

ssEIV

Page 70: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

59

or

If we put value of A, B, C, and D from equation (4.68), (4.85), (4.81), and (4.97) in

equation (4.59), the coefficient of i on right hand side becomes:

The coefficient of j becomes:

)138.4()}'')(''('''''0)''{()'(

2 2323

223

3

sccscsscsccsssccsscsscL

ssL

EI

)139.4()'''''''''''()'(

2 22222323

222

2

sccsscsscsccsccsssccssssL

EI

)140.4()}''(')('{)'(

2 2222

222

2

scsscsssssL

EI

)141.4()'2()'(

2222

2

ssssL

EI

)142.4()'(

'4222

2

ssL

ssEI

)143.4()}'')(''()')(''(

')''(0)''{()'(

2223

3

cssccsscssccss

ssccsscsscL

ssL

EI

)144.4(})''(''''''{)'(

2 22222

222

2

csscssccsssccssssL

EI

)145.4()'''2'''2()'(

2 2222

222

2

scsscccsssccssL

EI

)146.4()}1(')'1({)'(

2 2222

222

2

ssssssL

EI

)137.4(6543 jijii VARVARVARVARV

Page 71: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

60

The coefficient of i becomes:

The coefficient of i becomes:

)149.4()}')(''()'')(''(

)'')(''()1)(')(''{()'(

2

22

22

223

3

sscsscsccsccss

sccsccsssscsscssL

EI

)150.4()'''''''''

'''''''''''''()'(

2

332222

2222222332

223

3

csscscssscsccssc

sccscssccsccsscscsscssccssscssL

EI

)151.4()''2'2'2'2()'(

2 2233

223

3

sccsccsccsssL

EI

)152.4()}(')''('{)'(

4 2222

223

3

csscsccsssL

EI

)153.4()'(

)''(4223

3

ssL

csscEI

)147.4()'''()'(

2 222222

222

2

ssssssssL

EI

)148.4()'(

)'(2222

222

ssL

ssEI

)154.4()}''('2)'')(''()'')(''{()'(

2223

3

csscsscsscccsscsscccssssL

EI

)155.4()'2''2''''

''''''''()'(

2

22222

22222

223

3

csssscscccssscc

sscscccsssccsscssL

EI

)156.4()'2''2''2'2()'(

2 2222

223

3

csssscsccsccssL

EI

)157.4()''''''()'(

4 2222

223

3

sscscccsssccssL

EI

Page 72: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

61

Hence, equation (4.59) becomes:

or

The stiffness matrix [S] of a member on elastic foundation can be formed from equation

(4.106), (4.125), (4.137), and (4.161) as follows:

I j i j

Mi VAR1 -VAR2 -VAR3 -VAR4

Mj -VAR2 VAR1 VAR4 VAR3

Vi -VAR3 VAR4 VAR5 VAR6

Vj -VAR4 VAR3 VAR6 VAR5

Matrix 4.1

Because we have to superimpose the element stiffness matrices in global stiffness matrix,

we interchange 2nd

row with 3rd

row and 2nd

column with 3rd

column and get:

)158.4()}('')''({)'(

4 2222

223

3

scscsccsssL

EI

)159.4()'(

)''(4223

3

ssL

sccsEI

)160.4()'(

)''(4

)'(

)''(4

)'(

)'(2

)'(

'4

223

3

223

3

222

222

222

2

ji

jij

ssL

sccsEI

ssL

csscEI

ssL

ssEI

ssL

ssEIV

)161.4(5634 jijij VARVARVARVARV

Page 73: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

62

I I j j

MI VAR1 VAR3 VAR2 -VAR4

VI VAR3 VAR5 VAR4 -VAR6

Mj VAR2 VAR4 VAR1 -VAR3

Vj -VAR4 -VAR6 -VAR3 VAR5

Matrix 4.2

Because the elements are not supposed to bend, we take = 0 and obtain the degenerate

values of VAR1 to VAR6 by applying limits and using l’Hospital’s rule:

Applying l’Hospital’s rule:

Again applying l’Hospital’s rule:

Again applying l’Hospital’s rule:

)162.4()'(

)''(2221

ssL

csscEIVAR

)163.4(0

0

)'(

)''(lim

2

)'(

)''(2lim

220220

ss

cssc

L

EI

ssL

csscEI

)164.4(0

0

)''(2

)''()''(lim

2

)'(

)''(lim

2 2222

0220

cssc

cssccscs

L

EI

ss

cssc

L

EI

)165.4(0

0

)''(2

)''()''(4lim

2

)''(2

)''()''(lim

2

2222

2222

0

2222

0

scsc

cscscssc

L

EI

cssc

cssccscs

L

EI

)166.4(0

0

)''(8

)''(8)''(4lim

2

)''(2

)''()''(4lim

2

2222

0

2222

2222

0

cssc

sccsscsc

L

EI

scsc

cscscssc

L

EI

Page 74: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

63

Again applying l’Hospital’s rule:

Applying l’Hospital’s rule:

Again applying l’Hospital’s rule:

Again applying l’Hospital’s rule:

Again applying l’Hospital’s rule:

)167.4(4

)''(8

)''(12)''(16lim

2

)''(8

)''(8)''(4lim

2

2222

2222

0

2222

0

L

EI

cscs

cscscssc

L

EI

cssc

sccsscsc

L

EI

)168.4(04

1 atL

EIVAR

)169.4()'(

)''(2222

ssL

csscEIVAR

)170.4(0

0

)'(

)''(lim

2

)'(

)''(2lim

220220

ss

cssc

L

EI

ssL

csscEI

)171.4(0

0

)''(2

)''('2lim

2

)'(

)''(lim

2

0220

cssc

csscss

L

EI

ss

cssc

L

EI

)172.4(0

0

)''(2

'4)''(2lim

2

)''(2

)''('2lim

2222200

scsc

sscssc

L

EI

cssc

csscss

L

EI

)173.4(0

0

)''(8

)''(6'4lim

2

)''(2

'4)''(2lim

2

022220

cssc

cssccc

L

EI

scsc

sscssc

L

EI

)174.4(2

)''(8

'16)''(4lim

2

)''(8

)''(6'4lim

2222200 L

EI

scsc

ccsccs

L

EI

cssc

cssccc

L

EI

)175.4(02

2 atL

EIVAR

Page 75: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

64

Applying l’Hospital’s rule:

Again applying l’Hospital’s rule:

Again applying l’Hospital’s rule:

Again applying l’Hospital’s rule:

)176.4()'(

)'(2222

222

3ssL

ssEIVAR

)177.4(0

0

)'(

)'(lim

2

)'(

)'(2lim

22

222

02222

222

0

ss

ss

L

EI

ssL

ssEI

)178.4(0

0

)''(2

)'(2)''(2lim

2

)'(

)'(lim

2 222

0222

222

02

cssc

sscssc

L

EI

ss

ss

L

EI

)179.4(0

0

)''(2

)'(2)''(8)''(2lim

2

)''(2

)'(2)''(2lim

2

2222

2222222

02

222

02

cscs

sscssccscs

L

EI

cssc

sscssc

L

EI

)180.4(0

0

)''(8

)''(12)''(12)''(8lim

2

)''(2

)'(2)''(8)''(2lim

2

22222

02

2222

2222222

02

cssc

cssccscscssc

L

EI

cscs

sscssccscs

L

EI

)181.4(6

)''(8

)''(24)''(64)''(8lim

2

)''(8

)''(12)''(12)''(8lim

2

22222

222222222

02

22222

02

L

EI

cscs

cscscssccscs

L

EI

cssc

cssccscscssc

L

EI

)182.4(06

23 atL

EIVAR

)183.4()'(

'4222

2

4ssL

ssEIVAR

)184.4(0

0

)'(

'lim

4

)'(

'4lim

22

2

02222

2

0

ss

ss

L

EI

ssL

ssEI

Page 76: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

65

Applying l’Hospital’s rule:

Again applying l’Hospital’s rule:

Again applying l’Hospital’s rule:

Again applying l’Hospital’s rule:

Applying l’Hospital’s rule:

Again applying l’Hospital’s rule:

)185.4(0

0

)''(2

'2)''(lim

4

)'(

'lim

4 2

0222

2

02

cssc

sscssc

L

EI

ss

ss

L

EI

)186.4(0

0

)''(2

'2)''(4'2lim

4

)''(2

'2)''(lim

42222

2

02

2

02

cscs

sscssccc

L

EI

cssc

sscssc

L

EI

)187.4(0

0

)''(8

)''(6'12)''(2lim

4

)''(2

'2)''(4'2lim

4

2

02

2222

2

02

cssc

csscccsccs

L

EI

cscs

sscssccc

L

EI

)188.4(6

)''(8

'24)''(16'2lim

4

)''(8

)''(6'12)''(2lim

4

22222

2

02

2

02

L

EI

cscs

ccsccsss

L

EI

cssc

csscccsccs

L

EI

)189.4(06

24 atL

EIVAR

)190.4()'(

)''(4223

3

5ssL

sccsEIVAR

)191.4(0

0

)'(

)''(lim

4

)'(

)''(4lim

22

3

03223

3

0

ss

sccs

L

EI

ssL

sccsEI

)192.4(0

0

)''(2

)''(3)''(lim

4

)'(

)''(lim

4 222223

0322

3

03

cssc

sccsscsc

L

EI

ss

sccs

L

EI

)193.4(0

0

)''(2

)''(6)''(6)''(4lim

4

)''(2

)''(3)''(lim

4

2222

222223

03

222223

03

scsc

sccsscsccssc

L

EI

cssc

sccsscsc

L

EI

Page 77: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

66

Again applying l’Hospital’s rule:

Again applying l’Hospital’s rule:

Applying l’Hospital’s rule:

Again applying l’Hospital’s rule:

Again applying l’Hospital’s rule:

)194.4(0

0

)''(8

)''(6)''(18)''(24)''(4lim

4

)''(2

)''(6)''(6)''(4lim

4

2222222223

03

2222

222223

03

cssc

sccsscsccsscscsc

L

EI

scsc

sccsscsccssc

L

EI

)195.4(12

)''(8

)''(24)''(72)''(36)''(16lim

4

)''(8

)''(6)''(18)''(24)''(4lim

4

32222

2222222223

03

2222222223

03

L

EI

scsc

scsccsscscsccssc

L

EI

cssc

sccsscsccsscscsc

L

EI

)196.4(012

35 atL

EIVAR

)197.4()'(

)''(4223

3

6ssL

csscEIVAR

)198.4(0

0

)'(

)''(lim

4

)'(

)''(4lim

22

3

03223

3

0

ss

cssc

L

EI

ssL

csscEI

)199.4(0

0

)''(2

)''(3'2lim

4

)'(

)''(lim

4 23

0322

3

03

cssc

cssccc

L

EI

ss

cssc

L

EI

)200.4(0

0

)''(2

)''(6'12)''(2lim

4

)''(2

)''(3'2lim

42222

23

03

23

03

scsc

csscccsccs

L

EI

cssc

cssccc

L

EI

)201.4(0

0

)''(8

)''(6'36)''(18'4lim

4

)''(2

)''(6'12)''(2lim

4

23

03

2222

23

03

cssc

csscccsccsss

L

EI

scsc

csscccsccs

L

EI

Page 78: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

67

Again applying l’Hospital’s rule:

Hence, the stiffness matrix (4.2) becomes,

I i j j

Mi 4EI/L 6EI/L2

2EI/L -6EI/L2

Vi 6EI/L2

12EI/L3

6EI/L2

-12EI/L3

Mj 2EI/L 6EI/L2

4EI/L -6EI/L2

Vj -6EI/L2

-12EI/L3

-6EI/L2

12EI/L3

Matrix 4.3

4.13 Application of the Finite Element Method

The expressions for the 44 stiffness matrix of a member on elastic foundation, as shown

in Matrix (4.3), are required in establishing the local [SAT] and [ASA

T] matrices in any

direct stiffness application of the displacement method.

4.14 General Relations

Consider figure-4.5,

)202.4(12

)''(8

'48)''(72'18)''(4lim

4

)''(8

)''(6'36)''(18'4lim

4

32222

23

03

23

03

L

EI

cscs

ccsccssscssc

L

EI

cssc

csscccsccsss

L

EI

)203.4(012

36 atL

EIVAR

Page 79: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

68

Figure-4.5 External (nodal) and internal (member) finite element forces.

Here,

Pi = external node forces (point loads or moments)

Fi = internal member forces (bending moments and shear forces, in resistance to Pi )

Xi = external nodal displacements (rotations in radians or translations)

ei = internal member deformations (rotations in radians or translations)

Ai , Bi = bridging constants

Now we equate the ith external nodal forces Pi to the sum of all contributing internal

member forces Fi using the bridging constants Ai

Pi = Ai Fi (4.204)

For the full set of nodes on any structure and using matrix notation, where P and F are

column vectors and A is a rectangular matrix, this becomes

P = A F (4.205)

F 1-e 1

L

Nodal P-X

F 2-e 2

e 2

e 1

F 1 + F 2

L

F 1 + F 2

L

L

P2 - X2 P4 - X4

P1 - X1 P3 - X3

Element F-e

Page 80: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

69

Similarly, the relation between the internal-member deformations e and external nodal

displacements X becomes

e = B X (4.206)

From the principle of virtual work, matrix B is exactly the transpose of matrix A*.

Hence,

e = AT X (4.207)

The internal-member forces F are related to the internal-member displacements e and

contributing member stiffnesses S as

F = Se (4.208)

These three equations constitute the fundamental equations in the finite element method

of analysis.

Putting equation (4.207) into (4.208), we get

F = Se = SATX (4.209)

Putting equation (4.209) into (4.205), we get

P = AF = ASATX (4.210)

In this system of equations, the only unknowns are the X’s, therefore the ASAT is inverted

to obtain

X = (ASAT)-1

P (4.211)

Thus, the deformation characteristics (rotations and deflections) are obtained. To get the

internal-member forces (bending moments and shear forces) for design purpose, we back-

substitute the values of X in equation (4.209).

Page 81: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

70

The ASAT matrix is called the global matrix because it represents the system of equations

for each P or X nodal entry for the entire structure. The global matrix ASAT can easily be

constructed by superimposing the finite element matrices EASAT. All element matrices

are prefixed with ‘E’ to distinguish them from the global matrices.

Figure-4.6 Structure and structure broken into finite elements with global P-X, F-e, and K.

Figure-4.7 (a) P-X of first element; (b) Element forces of first element.

2 43 5

F 1 - e1 F 2 - e2 F 3 - e3 F 4 - e4 F 5 - e5

Nodes

Element numbers

1 2 3 4

P2 - X2

P1 - X1

P4 - X4

P3 - X3

P6 - X6

P5 - X5

P8 - X8

P7 - X7

P10 - X10

P9 - X9

L1 L2 L3 L4

K 5K 4K 3K 2K 1

1

a

b

2 2 4 4

P1 - X1 P3 - X3

F 1 - e1 F 2 - e2

F 1 + F2 F 1 + F2

L1

L1 L1

1

Page 82: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

71

Figure-4.8 Summing of nodal forces.

4.15 Development of the Element A matrix

Consider the single simple beam element shown in figure-4.7(a) labeled with four

subscripted values of P-X and the F-e on the element (figure-4.7(b)). The values of P-X

and F-e on a node common to any two elements must have same subscripting while

considering each element (figure-4.6). The forces on the elements include two internal

bending moments and the shear effect of the bending moments.

Summing moments on node 1 and 2 respectively (figure-4.8), we get

P1 = F1 + 0F2 (4.212)

P3 = 0F1 + F2 (4.213)

While summing the forces, we do not include the soil spring forces KX because these are

global quantities and will be included to the global ASAT matrix separately. Hence,

summing the forces, we get

)214.4(212

L

F

L

FP

)215.4(214

L

F

L

FP

P2

P1

F 1

Node 1

F 1 + F2

L1

K 1X1

P4

P3

F 2

Node 2

F 1 + F2

L1

K 2X2

Page 83: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

72

Arranging in the conventional form, we get the element A matrix for element 1

Matrix-4.4

4.16 Development of the Element B (or AT) matrix

This matrix is obtained by transposing the EA matrix. It is worth noting that the

constituting equations of EAT are in terms of e and X.

Matrix-4.5

4.17 Development of element S matrix

Consider the conjugate beam shown in figure-4.9 (a)

Applying equilibrium conditions:

Fy = 0:

F

3

1 1

2 1/L 1/L

0

1

2

1 0

4 -1/L -1/L

P

X

1 1

1

2 0

1/L

e

-1/L

-1/L

1

0

1/L

2

3

4

)216.4(2

1

EI

LFRR BA

Page 84: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

73

Figure-4.9 Conjugate-beam relationships between end moments and beam rotations.

MA = 0:

Now consider the conjugate beam shown in figure-4.9 (b)

)217.4(32

1 LRL

EI

LFB

)218.4(6

1

EI

LFRB

)219.4(622

111

EI

LF

EI

LFR

EI

LFR BA

)220.4(3

1

EI

LFRA

e1

e2

F 1 F 2

e1

e2

F 1 F 2

F 1 F 2

L L

F 1 F 2

EI EI

RA RB

RA' RB'

Real beam element

Moment diagram

Cojugate beam

Real beam element

Moment diagram

Cojugate beam

a b

Page 85: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

74

Applying equilibrium conditions:

Fy = 0:

MA = 0:

Now applying conjugate beam theorem 1, which states that the clockwise slope and the

downward deflection at any point in a real beam are equal to the positive shear and

positive bending moment at that point in the conjugate beam, respectively, we get

slope at point A,

and slope at point B,

Solving equation (4.226) and (4.227) simultaneously, we get

)221.4(2

'' 2

EI

LFRR BA

)222.4('3

2

2

2 LRL

EI

LFB

)223.4(3

' 2

EI

LFRB

)224.4(32

'2

' 222

EI

LF

EI

LFR

EI

LFR BA

)225.4(6

' 2

EI

LFRA

)226.4(63

' 211

EI

LF

EI

LFRRe AA

)227.4(36

' 212

EI

LF

EI

LFRRe BB

)228.4(24

211 eL

EIe

L

EIF

)229.4(42

212 eL

EIe

L

EIF

Page 86: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

75

Arranging in the conventional form, we get the element S matrix for element 1

Matrix-4.6

4.18 Development of the element ESAT and EASA

T matrices

The ESAT matrix is obtained by multiplication of the element matrices ES and EA

T.

Similarly, the EASAT matrix is obtained by multiplication of the element matrices EA

and ESAT.

Matrix-4.7

e

1 4EI/L 2EI/L

1

2

2 2EI/L 4EI/L

F

)230.4(1

11

0

10

11

42

2

LL

LL

L

EI

L

EIL

EI

L

FEI

EEE TTASSA

)231.4(6462

6264

22

22

L

EI

L

EI

L

EI

L

EIL

EI

L

EI

L

EI

L

EI

E TSA

)232.4(

126126

6462

126126

6264

3232

22

3232

22

L

EI

L

EI

L

EI

L

EIL

EI

L

EI

L

EI

L

EIL

EI

L

EI

L

EI

L

EIL

EI

L

EI

L

EI

L

EI

E TASA

Page 87: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

76

4.19 Development of the global matrix ASAT

The global matrix ASAT is built by superimposing the element matrices EASA

T. To

illustrate the procedure, the first two EASAT are superimposed on following page:

Let,

and

be the EASAT matrices of element 1 and 2 respectively. Then superimposing these two in

the global ASAT ,we get

Matrix-4.8

)233.4(

126126

6462

126126

6264

3

1

2

1

3

1

2

1

2

11

2

11

3

1

2

1

3

1

2

1

2

11

2

11

1

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

E TASA

)234.4(

126126

6462

126126

6264

3

2

2

2

3

2

2

2

2

22

2

22

3

2

2

2

3

2

2

2

2

22

2

22

2

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

E TASA

3

2

2

2

3

2

2

2

2

22

2

22

3

2

2

2

3

2

3

1

2

2

2

1

3

1

2

1

2

22

2

2

2

121

2

11

3

1

2

1

3

1

2

1

2

11

2

11

12612600

646200

126121266126

62664462

00126126

006264

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

TASA

Page 88: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

77

All the element EASAT matrices are superimposed in this fashion. If the number of

elements is N then the order of the global ASAT will be (2N + 2) (2N + 2).

4.20 Adding the node “springs” K to ASAT

The node soil “springs” are obtained from the modulus of subgrade reaction ks and the

contributory node area. For example, the contributory area for 2nd

node spring will be

(half length of first element + half length of second element) multiplied by the width, or

mathematically

Hence

.

The end springs get the contributory area from only one element. For example,

Because the soil pressure is higher at the edges, Bowles suggests that best results are

obtained by doubling the end springs. Hence, the end springs are multiplied by 2,

therefore

After obtaining the values of the end springs, they are added to the global ASAT matrix.

The springs constant Ki of the ith

element is added to the (2i)th

element on the main

diagonal of the ASAT matrix as shown on next page

)235.4(22

212 B

LLarearycontributo

)236.4(2

212 sBk

LLK

)237.4(2

11 sBk

LK

)238.4(11 sBkLK

Page 89: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

78

Matrix-4.9

4.21 Development of P matrix

The P matrix is a column vector of order 2N+2 where N is the number of elements. It

represents all the applied moments and loads on the structure. The moment and load on

ith

node is put on the (2i-1)-row and 2i-row of the P column vector. On nodes where no

moment or load is applied, they must be considered as zero and put into the P column

vector. Clockwise moments and downward forces are considered +ve.

4.22 Beam weight

If the self-weight of the beam is to be considered, it is computed from the unit weight of

concrete and the contributing volume for each node (only contributory length changes as

for K). Then these values are added to the P matrix as point loads on each node.

4.23 Boundary Conditions

The finite element method allows to put boundary conditions of known rotations and

displacements with ease. The following steps are to be carried out for this purpose:

1. Put a 1 on the diagonal at the point of P-X coding ( j, j),

2. Zero all the horizontal ASAT

j,k entries from k=1 to n except k = j.

33

2

2

2

3

2

2

2

2

22

2

22

3

2

2

2

23

2

3

1

2

2

2

1

3

1

2

1

2

22

2

2

2

121

2

11

3

1

2

1

13

1

2

1

2

11

2

11

12612600

646200

126121266126

62664462

00126126

006264

KL

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EIK

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

L

EIK

L

EI

L

EI

L

EI

L

EI

L

EI

L

EI

TASA

Page 90: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

79

3. Insert the known displacements in the P matrix (so Pj = ).

4. Augment all other P matrix entries as

P(I) = P(I ) - ASAT

i,j for i = 1 to (2N + 2) except i= j.

Then set ASAT

i,j=0 for i = 1 to (2N + 2) except i= j.

To show the technique, a small example is given here. Suppose that the structure has

only four possible nodal displacements/rotations, as indicated by the following

equilibrium equations:

Now suppose that the displacement X3 is specified to be of a certain magnitude (zero or

nonzero). Then in terms involving X3 can be subtracted from both sides of the above

matrix equation, and the equation can be replaced by the trivial expression X3 = X3 to

obtain:

Here the first matrix on left-hand side represents the ASAT matrix and the column vector

on right hand side represents P.

In the next chapter, based on the equations and matrices of this chapter, the finite element

program BEAMDEZ is developed.

)239.4(

4

3

2

1

4

3

2

1

44434241

34333231

24232221

14131211

P

P

P

P

X

X

X

X

SSSS

SSSS

SSSS

SSSS

)240.4(

0

0100

0

0

3434

3

3232

3131

4

3

2

1

444241

242221

141211

XSP

X

XSP

XSP

X

X

X

X

SSS

SSS

SSS

Page 91: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

80

C H A P T E R F I V E

PROGRAM

5.1 CAD

CAD is acronym for computer-aided design (also computer-aided drafting). A CAD

system is a combination of hardware and software that enables engineers and architects to

design everything from furniture to airplanes. In addition to the software, CAD systems

require a high-quality graphics monitor; a mouse, light pen, or digitizing tablet for

drawing; and a special printer or plotter for printing design specifications.

CAD systems allow an engineer to view a design from any angle with the push of a

button and to zoom in or out for close-ups and long-distance views. In addition, the

computer keeps track of design dependencies so that when the engineer changes one

value, all other values that depend on it are automatically changed accordingly.

Until the mid 1980s, all CAD systems were specially constructed computers. Now, one

can buy CAD software that runs on general-purpose personal computers.

5.2 CAE

CAE is abbreviation of computer-aided engineering. CAE are computer systems that

analyze engineering designs. Most CAD systems have a CAE component or provide the

facility to add analysis components by writing programs, but there are also independent

CAE systems that can analyze designs produced by various CAD systems. CAE systems

are able to simulate a design under a variety of conditions to see if it actually works.

Page 92: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

81

5.3 AutoCAD 2000

AutoCAD® 2000 is a CAD system with a rich and unique history. First released in 1982

under the name MicroCAD, the first AutoCAD ran under the CP/M operating system on

Intel 8080 computers. That first AutoCAD release started a revolution in drafting and

design. Today, AutoCAD is translated into 18 languages and used by millions of users

worldwide on computers a thousand times more powerful than those early 8080

microprocessors.

AutoCAD 2000 continues the AutoCAD heritage and introduces new tools and facilities.

Along with many other tools, AutoCAD 2000 has built-in Visual Basic for Applications

making it easy to rapidly expand the functionality of AutoCAD by writing programs.

5.3.1 AutoCAD ActiveX Technology

AutoCAD ActiveX provides a mechanism to manipulate AutoCAD programmatically

from within or outside AutoCAD. It does this by exposing AutoCAD objects to the

“outside world.” Once these objects are exposed, they can be accessed by many different

programming languages and environments and by other applications such as Microsoft®

Word VBA or Excel VBA.

Figure-5.1 Any language that supports ActiveX technology can access AutoCAD ActiveX Objects.

There are two advantages to implementing an ActiveX interface for AutoCAD:

Page 93: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

82

Programmatic access to AutoCAD drawings is opened up to many more

programming environments. Before ActiveX Automation, developers were limited to

an AutoLISP or C++ interface.

Sharing data with other Windows® applications, such as Microsoft Excel

® and

Word®, is made dramatically easier.

5.4 Rapid Application Development (RAD)

A programming system that enables programmers to quickly build working programs. In

general, RAD systems provide a number of tools to help build graphical user interfaces

that would normally take a large development effort. Two of the most popular RAD

systems for Windows are Visual Basic and Delphi.

Historically, RAD systems have tended to emphasize reducing development time,

sometimes at the expense of generating efficient executable code. Nowadays, though,

many RAD systems produce extremely fast code. Conversely, many traditional

programming environments now come with a number of visual tools to aid development.

Therefore, the line between RAD systems and other development environments has

become blurred.

5.5 Visual Basic

Visual Basic is a programming language and environment developed by Microsoft.

Based on the BASIC language, Visual Basic was one of the first products to provide a

graphical programming environment and a paint metaphor for developing user interfaces.

Instead of worrying about syntax details, the Visual Basic programmer can add a

substantial amount of code simply by dragging and dropping controls, such as buttons and

dialog boxes, and then defining their appearance and behavior.

Although not a true object-oriented programming language in the strictest sense, Visual

Basic nevertheless has an object-oriented philosophy. It is sometimes called an

Page 94: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

83

event-driven language because each object can react to different events such as a mouse

click.

Since its launch in 1990, the Visual Basic approach has become the norm for

programming languages. Now there are visual environments for many programming

languages, including C, C++, Pascal, and Java. Visual Basic is sometimes called a Rapid

Application Development (RAD) system becomes it enables programmers to quickly

build prototype applications.

5.6 VBA

VBA is fundamentally the same language as visual basic, except that VBA is embedded

within individual applications instead of standing alone, like VB, as an independent

programming language. VBA comes built into popular Microsoft applications like word,

excel, and project, etc, as well as in software by other companies like in AutoCAD.

Basic has evolved through DOS’s GW-BASIC, BASICA, Obasic, QuickBasic, assorted

macro Basics, Visual Basic, and now VBA. Along the way, BASIC has gained

efficiency, new capabilities, and many new commands. Visual Basic is a standalone

language designed to make it easy to write programs that work under windows. As such,

visual basic is the child of DOS’s Basic and QuickBasic and the parent of VBA (Visual

Basic for Applications)

5.7 AutoCAD Visual Basic for Applications (VBA)

Microsoft VBA is an object-oriented programming environment designed to provide rich

development capabilities similar to those of Visual Basic (VB). The main difference

between VBA and VB is that VBA runs in the same process space as AutoCAD,

providing an AutoCAD-intelligent and very fast programming environment.

VBA also provides application integration with other VBA-enabled applications. Which

means AutoCAD, using other application object libraries, can be an Automation

controller for other applications such as Microsoft Word or Excel.

Page 95: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

84

The standalone development editions of Visual Basic, which must be purchased

separately, complement AutoCAD VBA with additional components, such as an external

database engine and report-writing capabilities.

There are four advantages to implementing VBA for AutoCAD:

The Visual Basic programming environment is easy to learn and use.

VBA runs in-process with AutoCAD. This translates to very fast program execution.

Dialog construction is quick and effective. This allows developers to prototype

applications and quickly receive feedback on designs.

Projects can be standalone or imbedded in drawings. This choice allows developers

great flexibility in the distribution of their applications.

5.7.1 VBA implementation in AutoCAD

VBA sends messages to AutoCAD by the AutoCAD ActiveX Automation interface.

AutoCAD VBA permits the VBA environment to run simultaneously with AutoCAD and

provides programmatic control of AutoCAD through the ActiveX Automation interface.

This coupling of AutoCAD, ActiveX Automation, and VBA provides an extremely

powerful interface not only for manipulating AutoCAD objects, but also for sending data

to or retrieving data from other applications.

There are two fundamental elements that define ActiveX and VBA programming in

AutoCAD. The first is AutoCAD itself, which has a rich set of objects that encapsulates

AutoCAD entities, data, and commands. Because AutoCAD was designed as an

open-architecture application with multiple levels of interface, familiarity with AutoCAD

programmability is highly desirable in order to use VBA effectively.

The second element is the AutoCAD ActiveX Automation interface, which establishes

messages (communication) with AutoCAD objects. Programming in VBA requires a

fundamental understanding of ActiveX Automation. A description of the AutoCAD

Page 96: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

85

ActiveX Automation interface can be found in the ActiveX and VBA Reference that

comes with AutoCAD package.

5.7.2 Strengths of AutoCAD ActiveX and VBA Together

The AutoCAD ActiveX/VBA interface represents several advantages over other

AutoCAD API environments:

5.7.2.1 Speed

Running in-process with VBA, ActiveX applications are faster than either AutoLISP or

ADS applications.

5.7.2.2 Ease of Use

The programming language and development environment are easy to use and come

installed with AutoCAD.

5.7.2.3 Windows Interoperability

ActiveX and VBA are designed to be used with other Windows applications and provide

an excellent path for communication of information across applications.

5.7.2.4 Rapid Prototyping

The rapid interface development of VBA provides the perfect environment for

prototyping applications, even if those applications will eventually be developed in

another language.

5.7.2.5 Programmer Base

There are millions of Visual Basic programmers around the world. AutoCAD ActiveX

and VBA technology open up AutoCAD customization and application development to

these programmers and the many more who will learn Visual Basic in the future.

5.7.3 Embedded and Global VBA Projects

An AutoCAD VBA project is a collection of code modules, class modules, and forms that

work together to perform a given function. Projects can be stored within an AutoCAD

drawing, or as a separate file.

Page 97: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

86

Embedded projects are stored within an AutoCAD drawing. These projects are

automatically loaded whenever the drawing in which they are contained is opened in

AutoCAD, making the distribution of projects very convenient. Embedded projects are

limited and not able to open or close AutoCAD drawings because they function only

within the document where they reside. Users of embedded projects are no longer

required to find and load project files before they run a program. A time log that is

triggered when the drawing is opened is an example of a project embedded in a drawing.

With this macro users can log in and record the length of time they worked on the

drawing. The user does not have to remember to load the project before opening the

drawing; it simply is done automatically.

Global projects are stored in separate files and are more versatile because they can work

in, open, and close any AutoCAD drawing, but are not automatically loaded when a

drawing is opened. Users must know which project file contains the macro they need and

then load that project file before they can run the macro. However, global projects are

easier to share with other users, and they make excellent libraries for common macros.

An example of a project you may store in a project file is a macro that collects a bill of

materials from many drawings. This macro can be run by an administrator at the end of a

work cycle and can collect information from many drawings.

At any given time, users can have both embedded and global projects loaded into their

AutoCAD session.

Page 98: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

87

5.8 Flow Chart of the Program

Get Beam Dimensions, Ec, Ks, units, No of elements, no of loads and moments, and options, etc.

Get length of elements

Calculate moment of inertia

Compute spring constants, double end springs

Get loads and moments, put in P matrix

If self-weight of beam is to be considered, add its values in P matrix

Build column vector np from P matrix

Build element matrix EA

Build element matrix ES

Build ESAT matrix

Build EASAT matrix

Superimpose element matrices in global matrix ASAT

All element matrices done?

no

yes

Add spring constants to appropriate locations in ASAT

Invert ASAT

Multiply ASAT by P matrix to get X matrix

Is there any negative deflection or deflection beyond elastic range?

Is number of iterations done > max. iterations allowed?

yes

no

Set springs to zero at nodes showing negative deflection

Set springs to zero and apply constant soil pressure in P matrix at nodes showing deflection beyond elastic range

no yes

Compute F matrix

Show Results.

Page 99: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

88

5.9 Program Code

Note: If any line of code is longer than page width then it is continued on next line,

starting with symbol .

Figure-5.2 Form-Beamdimensions

Code: Beamdimensions

'Declare user-defined type for file I/O

Private Type Record

units55 As Boolean

conbmwt55 As Boolean

consoilsep As Boolean

numel55 As Integer

numpl55 As Integer

nummom55 As Integer

maxiter55 As Integer

numknowdef55 As Integer

numknowrot55 As Integer

Page 100: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

89

beamlen55 As Double

beamwid55 As Double

beamdep55 As Double

beamwt55 As Double

youngs55 As Double

msr55 As Double

maxdef55 As Double

End Type

Private Sub CmdButton3_Click()

'Declare "filerec" to be of type "Record"

Dim filerec As Record

'store present filename

keepfname = FileLoaded

'Get filename for loading from "Filer" form

Filer.Show

If FileLoaded = "" Then

'if user pressed "Cancel" then restore old file name

FileLoaded = keepfname

Else

'Open File with name returned by "Filer"

'for Random input/output

Open FileLoaded For Random As #1 Len = Len(filerec)

'read data from file

Get #1, 1, filerec

'if type of units saved was not SI then

'change all units shown on "Beamdimensions" to fps units

If filerec.units55 = False Then

fpsunits.Value = True

Label10.Caption = "kip/ft"

Label3.Caption = "ft"

Label4.Caption = "ft"

Label6.Caption = "ft"

Label17.Caption = "ksf"

Label23.Caption = "kip/ft"

Label25.Caption = "inch"

'otherwise show all units shown on "Beamdimensions" to SI units

Else

Page 101: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

90

siunits.Value = True

Label10.Caption = "kN/m"

Label3.Caption = "m"

Label4.Caption = "m"

Label6.Caption = "m"

Label17.Caption = "kPa"

Label23.Caption = "kN/m"

Label25.Caption = "mm"

End If

considerbeamwt.Value = filerec.conbmwt55 'consider beam weight

'if beam weight was saved as "to be considered" then

'make relevant controls visible

If considerbeamwt.Value = True Then

Label10.Visible = True

Label11.Visible = True

Label15.Visible = True

BeamWeight.Visible = True

'otherwise hide them

Else

Label10.Visible = False

Label11.Visible = False

Label15.Visible = False

BeamWeight.Visible = False

End If

'if soil separation and maximum deflection

'was saved as "to be considered" then

'make relevant controls visible

SoilSeparation.Value = filerec.consoilsep

If SoilSeparation.Value = True Then

Label16.Visible = True

maxiter.Visible = True

Label14.Visible = True

Label25.Visible = True

maxdef.Visible = True

'otherwise hide them

Else

Label16.Visible = False

maxiter.Visible = False

Page 102: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

91

Label14.Visible = False

Label25.Visible = False

maxdef.Visible = False

End If

'assign values read from file to relevant controls

numelem.Value = filerec.numel55

numpl.Value = filerec.numpl55

nummom.Value = filerec.nummom55

maxiter = filerec.maxiter55

numdef = filerec.numknowdef55

numrot = filerec.numknowrot55

Beamlength = filerec.beamlen55

Beamwidth = filerec.beamwid55

Beamdepth = filerec.beamdep55

BeamWeight = filerec.beamwt55

youngs = filerec.youngs55

msr = filerec.msr55

maxdef = filerec.maxdef55

'Close the file

Close #1

'set a flag that file has been loaded

filestatus.Value = True

End If

End Sub

Private Sub CommandButton1_Click()

'shift control to "Elements" form

BeamDimensions.Hide

Elements.Show

End Sub

Private Sub CommandButton2_Click()

'Exit the program

End

End Sub

Private Sub considerbeamwt_AfterUpdate()

'if user wants the program consider beam weight and

Page 103: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

92

'checks the "considerbeamwt" checkbox then make

'the relevant controls visible

If considerbeamwt.Value = True Then

Label10.Visible = True

Label11.Visible = True

Label15.Visible = True

BeamWeight.Visible = True

End If

'hide these controls when user unchecks

If considerbeamwt.Value = False Then

Label10.Visible = False

Label11.Visible = False

Label15.Visible = False

BeamWeight.Visible = False

End If

End Sub

Private Sub fpsunits_AfterUpdate()

'if user selects fps units, change all units to

'fps units on form "Beamdimensions"

If fpsunits.Value = True Then

Label10.Caption = "kip/ft"

Label3.Caption = "ft"

Label4.Caption = "ft"

Label6.Caption = "ft"

Label17.Caption = "ksf"

Label23.Caption = "kip/ft"

Label25.Caption = "inch"

'convert the written values if checkbox "convertval" is checked

If convertval = True Then

If Beamdepth <> "" Then Beamdepth = Beamdepth / 0.3048

If Beamwidth <> "" Then Beamwidth = Beamwidth / 0.3048

If Beamlength <> "" Then Beamlength = Beamlength / 0.3048

If BeamWeight <> "" Then BeamWeight = BeamWeight / 157.087463846

If msr <> "" Then msr = msr / 157.087463846

If youngs <> "" Then youngs = youngs / 47.8802589803

If maxdef <> "" Then maxdef = maxdef / 25.4

End If

Page 104: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

93

End If

End Sub

Private Sub siunits_AfterUpdate()

'if user selects SI units, change all units to

'SI units on form "Beamdimensions"

If siunits.Value = True Then

Label10.Caption = "kN/m"

Label23.Caption = "kN/m"

Label3.Caption = "m"

Label4.Caption = "m"

Label6.Caption = "m"

Label17 = "kPa"

Label25 = "mm"

'convert the written values if checkbox "convertval" is checked

If convertval = True Then

If Beamdepth <> "" Then Beamdepth = Beamdepth * 0.3048

If Beamwidth <> "" Then Beamwidth = Beamwidth * 0.3048

If Beamlength <> "" Then Beamlength = Beamlength * 0.3048

If BeamWeight <> "" Then BeamWeight = BeamWeight * 157.087463846

If msr <> "" Then msr = msr * 157.087463846

If youngs <> "" Then youngs = youngs * 47.8802589803

If maxdef <> "" Then maxdef = maxdef * 25.4

End If

End If

End Sub

Private Sub SoilSeparation_AfterUpdate()

'if user wants the program consider for soil separation and

'max. deflection and checks the "SoilSeparation" checkbox then

'make the relevant controls visible

If SoilSeparation.Value = True Then

Label16.Visible = True

maxiter.Visible = True

Label14.Visible = True

Label25.Visible = True

maxdef.Visible = True

End If

Page 105: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

94

'hide these controls when user unchecks

If SoilSeparation.Value = False Then

Label16.Visible = False

maxiter.Visible = False

Label14.Visible = False

Label25.Visible = False

maxdef.Visible = False

End If

End Sub

Private Sub UserForm_Initialize()

'show program name and picture of foundation beam

starter.Show

'Declare "filerec" to be of type "Record"

Dim filerec As Record

'set name of initialization file

FileLoaded.text = "init.bdt"

'Open Initialization File "init.bdt"

'for Random input/output

Open "init.bdt" For Random As #1 Len = Len(filerec)

'read data from file

Get #1, 1, filerec

'if type of units saved was not SI then

'change all units shown on "Beamdimensions" to fps units

If filerec.units55 = False Then

fpsunits.Value = True

Label10.Caption = "kip/ft"

Label3.Caption = "ft"

Label4.Caption = "ft"

Label6.Caption = "ft"

End If

'if beam weight was saved as "to be considered" then

'make relevant controls visible

considerbeamwt.Value = filerec.conbmwt55 'consider beam weight

If considerbeamwt.Value = True Then

Label10.Visible = True

Label11.Visible = True

Label15.Visible = True

Page 106: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

95

'otherwise hide them

Else

Label10.Visible = False

Label11.Visible = False

Label15.Visible = False

End If

SoilSeparation.Value = filerec.consoilsep

'if soil separation and maximum deflection

'was saved as "to be considered" then

'make relevant controls visible

If SoilSeparation.Value = True Then

Label14.Visible = True

Label16.Visible = True

Label25.Visible = True

maxdef.Visible = True

maxiter.Visible = True

'otherwise hide them

Else

Label14.Visible = False

Label16.Visible = False

Label25.Visible = False

maxdef.Visible = False

maxiter.Visible = False

End If

'assign values read from file to relevant controls

numelem.Value = filerec.numel55

numpl.Value = filerec.numpl55

nummom.Value = filerec.nummom55

maxiter = filerec.maxiter55

numdef = filerec.numknowdef55

numrot = filerec.numknowrot55

Beamlength = filerec.beamlen55

Beamwidth = filerec.beamwid55

Beamdepth = filerec.beamdep55

BeamWeight = filerec.beamwt55

youngs = filerec.youngs55

msr = filerec.msr55

maxdef = filerec.maxdef55

Page 107: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

96

'Close the file

Close #1

'set a flag that file has been loaded

filestatus.Value = True

End Sub

Figure-5.3 Form-boundary

Code: boundary

'Declare user-defined type for file I/O

Private Type Record

units55 As Boolean

conbmwt55 As Boolean

consoilsep As Boolean

numel55 As Integer

numpl55 As Integer

nummom55 As Integer

maxiter55 As Integer

numknowdef55 As Integer

numknowrot55 As Integer

beamlen55 As Double

beamwid55 As Double

beamdep55 As Double

Page 108: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

97

beamwt55 As Double

youngs55 As Double

msr55 As Double

maxdef55 As Double

End Type

'Declare user-defined type for file I/O

Private Type doubler

doub As Double

End Type

Private Sub CommandButton1_Click()

'return control back to the calling routine

boundary.Hide

End Sub

Private Sub CommandButton2_Click()

'exit program

End

End Sub

Private Sub CommandButton3_Click()

If curnode <> "" Then

'if "curnode" is not empty then put "none" as

'known deflection in ListBox1 at current position

ListBox1.List(Val(curnode) - 1, 1) = "none"

'put "none" in "curdef" too

curdef = "none"

'reset numdef and numrot to zero

numdef = 0

numrot = 0

'loop through all entries of ListBox1

For i = 1 To ListBox1.ListCount

'count known deflections

If ListBox1.List(i - 1, 1) <> "none" Then numdef = numdef + 1

'count known rotations

If ListBox1.List(i - 1, 2) <> "none" Then numrot = numrot + 1

Next i

Else

Page 109: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

98

'if "curnode" is empty then give erro message

beep

feedback = MsgBox("Input node number first", 48, "Error!")

End If

End Sub

Private Sub CommandButton4_Click()

If curnode <> "" Then

'if "curnode" is not empty then put "none" as

'known rotation in ListBox1 at current position

ListBox1.List(Val(curnode) - 1, 2) = "none"

'put "none" in "currot" too

currot = "none"

'reset numdef and numrot to zero

numdef = 0

numrot = 0

'loop through all entries of ListBox1

For i = 1 To ListBox1.ListCount

'count known deflections

If ListBox1.List(i - 1, 1) <> "none" Then numdef = numdef + 1

'count known rotations

If ListBox1.List(i - 1, 2) <> "none" Then numrot = numrot + 1

Next i

Else

beep

'if "curnode" is empty then give erro message

feedback = MsgBox("Input node number first", 48, "Error!")

End If

End Sub

Private Sub curdef_AfterUpdate()

If curnode <> "" Then

'if there is any number placed in "curnode" then put

'current value of "curdef" in ListBox1

ListBox1.List(Val(curnode) - 1, 1) = curdef

'reset numdef and numrot to zero

numdef = 0

numrot = 0

Page 110: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

99

'loop through all entries of ListBox1

For i = 1 To ListBox1.ListCount

'count number of known deflections

If ListBox1.List(i - 1, 1) <> "none" Then numdef = numdef + 1

'count number of known rotations

If ListBox1.List(i - 1, 2) <> "none" Then numrot = numrot + 1

Next i

Else

'if "curnode" is empty then give error message

beep

curdef = ""

feedback = MsgBox("Input node number first", 48, "Error!")

End If

End Sub

Private Sub curnode_AfterUpdate()

If Val(curnode) < (BeamDimensions.numelem + 2) And Val(curnode) > 0 And

Val(curnode) = Int(Val(curnode)) Then

'if current node number is less or equal to total number of nodes,

positive, and integer then

'select corresponding entry in ListBox1 and

'put value of selected known deflection and rotation from ListBox1 in

"curdef" and "currot"

ListBox1.ListIndex = Val(curnode) - 1

curdef = ListBox1.List(Val(curnode) - 1, 1)

currot = ListBox1.List(Val(curnode) - 1, 1)

Else

'otherwise give error beep, and clear the text boxes for re-entry

beep

curnode = ""

curdef = ""

currot = ""

'set flag ctrlbck for getting focus back

ctrlbck.Value = True

End If

End Sub

Private Sub curdef_Enter()

Page 111: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

100

If ctrlbck.Value = True Then

'give focus back to "curnode" if it contained an invalid entry

ctrlbck.Value = False

curnode.SetFocus

End If

End Sub

Private Sub currot_AfterUpdate()

If curnode <> "" Then

'if there is any number placed in "curnode" then put

'current value of "currot" in ListBox1

ListBox1.List(Val(curnode) - 1, 2) = currot

'reset numdef and numrot to zero

numdef = 0

numrot = 0

'loop through all entries of ListBox1

For i = 1 To ListBox1.ListCount

'count number of known deflections

If ListBox1.List(i - 1, 1) <> "none" Then numdef = numdef + 1

'count number of known rotations

If ListBox1.List(i - 1, 2) <> "none" Then numrot = numrot + 1

Next i

Else

'if "curnode" is empty then give error message

beep

currot = ""

feedback = MsgBox("Input node number first", 48, "Error!")

End If

End Sub

Private Sub ListBox1_AfterUpdate()

'if ListBox1 is clicked, set the values of clicked

'entry in "curnode", "curdef", and "currot"

curnode = ListBox1.Value

curdef = ListBox1.List(Val(curnode) - 1, 1)

currot = ListBox1.List(Val(curnode) - 1, 2)

End Sub

Page 112: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

101

Private Sub UserForm_Initialize()

If BeamDimensions.fpsunits = True Then

'set units of "boundary" to fps if set in BeamDimensions

Label2.Caption = "Deflection (ft):"

Label10.Caption = "(ft)"

End If

'read total number of nodes from form-"BeamDimensions"

numnode = 1 + BeamDimensions.numelem

'read total number of elements from form-"BeamDimensions"

numelem = BeamDimensions.numelem

loadflag = True

'dimension an array according to number of nodes

numnode = numnode - 1

ReDim nodedata(numnode, 3)

If BeamDimensions.filestatus = True Then

'if a file has been read in BeamDimensions then

'Declare filerec to be of user-defined type Record

Dim filerec As Record

'open same file for random I/O which was opened in "BeamDimensions"

Open BeamDimensions.FileLoaded For Random As #1 Len = Len(filerec)

'Read record from file.

Get #1, 1, filerec

'Close the file

Close #1

'loop for all nodes

For i = 0 To numnode

'put numbers in first column

nodedata(i, 0) = i + 1

'initialize all entries for known deflections to "none"

nodedata(i, 1) = "none"

'initialize all entries for known rotations to "none"

nodedata(i, 2) = "none"

Next i

'put values of array "nodedata" in "ListBox1"

ListBox1.List() = nodedata

'check if number of elements is same in file as

'on "BeamDimensions"

If filerec.numel55 = BeamDimensions.numelem Then

Page 113: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

102

'Declare "nod2" to be of user type "doubler"

Dim nod2 As doubler

'get name of "beam data (bdt) file" from "BeamDimensions"

file1 = BeamDimensions.FileLoaded

'truncate ".bdt" and concatenate ".ndt" (node data)

len1 = Len(file1) - 4

file1 = Left(file1, len1)

file1 = file1 & ".ndt"

'compute location in .ndt file where the entries

'for known deflections written

currec = (filerec.numel55 + 1) * 3 - 1

If filerec.numknowdef55 > 0 Then

'if there are any known deflections in file then

'open the .ndt file

Open file1 For Random As #1 Len = Len(nod2)

'loop for all known deflections

For i = 1 To filerec.numknowdef55

'compute location of next entry in .ndt file

currec = currec + 1

'read node number from file

Get #1, currec, nod2

'convert this number to integer and put it

'in "gotnode"

gotnode = Int(nod2.doub)

'compute location of next entry in .ndt file

currec = currec + 1

'read value of known deflection

Get #1, currec, nod2

'put this value in "gotvalue"

gotvalue = nod2.doub

'insert "gotvalue" at node number "gotnode" in ListBox1

ListBox1.List(gotnode, 1) = gotvalue

Next i

'close the file

Close #1

End If

If filerec.numknowrot55 > 0 Then

'if there are any known deflections in file then

Page 114: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

103

'open the .ndt file

Open file1 For Random As #1 Len = Len(nod2)

'loop for all known rotations

For i = 1 To filerec.numknowrot55

'compute location of next entry in .ndt file

currec = currec + 1

'read node number from file

Get #1, currec, nod2

'convert this number to integer and put it

'in "gotnode"

gotnode = Int(nod2.doub)

'compute location of next entry in .ndt file

currec = currec + 1

'read value of known rotation

Get #1, currec, nod2

'put this value in "gotvalue"

gotvalue = nod2.doub

'insert "gotvalue" at node number "gotnode" in ListBox1

ListBox1.List(gotnode, 2) = gotvalue

Next i

'close the file

Close #1

End If

End If

End If

'reset numdef and numrot to zero

numdef = 0

numrot = 0

'loop through all entries of ListBox1

For i = 1 To ListBox1.ListCount

'count known deflections

If ListBox1.List(i - 1, 1) <> "none" Then numdef = numdef + 1

'count known rotations

If ListBox1.List(i - 1, 2) <> "none" Then numrot = numrot + 1

Next i

End Sub

Page 115: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

104

Figure-5.4 Form-Elements (main buttons and ListBox9)

Figure-5.5 Form-Elements (Page-1) Figure-5.6 Form-Elements (Page-2)

Page 116: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

105

Figure-5.7 Form-Elements (Page-3) Figure-5.8 Form-Elements (Page-4)

Figure-5.9 Form-Elements (Page-5) Figure-5.10 Form-Elements (Page-6)

Figure-5.11 Form-Elements (Page-7) Figure-5.12 Form-Elements (Page-8)

Page 117: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

106

Code: Elements

'Declare user-defined type for file I/O

Private Type Record

units55 As Boolean

conbmwt55 As Boolean

consoilsep As Boolean

numel55 As Integer

numpl55 As Integer

nummom55 As Integer

maxiter55 As Integer

numknowdef55 As Integer

numknowrot55 As Integer

beamlen55 As Double

beamwid55 As Double

beamdep55 As Double

beamwt55 As Double

youngs55 As Double

msr55 As Double

maxdef55 As Double

End Type

'Declare user-defined type for file I/O

Private Type doubler

doub As Double

End Type

'declare function Fix2 for converting values to

'2 decimal places

Private Function Fix2(NumArg) As Double

temp1 = NumArg

temp2 = Fix(NumArg)

temp3 = temp1 - temp2

temp3 = Fix(temp3 * 100) / 100

Fix2 = temp2 + temp3

'check for -ve +ve

End Function

Private Sub CommandButton1_Click()

'exit the program

Page 118: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

107

End

End Sub

Private Sub CommandButton2_Click()

'give control to form-saver for getting a filename

saver.Show

'read the filename from form-saver

filenamer = saver.filenamer.text

'if user has not pressed cancel

If filenamer <> "" Then

'declare nod2 of user type doubler

Dim nod2 As doubler

'declare filerec to be of user type Record

Dim filerec As Record

'prepare values for saving

filerec.units55 = BeamDimensions.siunits.Value

filerec.conbmwt55 = BeamDimensions.considerbeamwt.Value 'consider beam

weight

filerec.consoilsep = BeamDimensions.SoilSeparation.Value 'consider soil

separation

filerec.numel55 = BeamDimensions.numelem.Value

filerec.numpl55 = loadmom.loadnum.Value

filerec.nummom55 = loadmom.momnum.Value

filerec.maxiter55 = BeamDimensions.maxiter

filerec.numknowdef55 = boundary.numdef

filerec.numknowrot55 = boundary.numrot

filerec.beamlen55 = BeamDimensions.Beamlength

filerec.beamwid55 = BeamDimensions.Beamwidth

filerec.beamdep55 = BeamDimensions.Beamdepth

filerec.beamwt55 = BeamDimensions.BeamWeight

filerec.youngs55 = BeamDimensions.youngs

filerec.msr55 = BeamDimensions.msr

filerec.maxdef55 = BeamDimensions.maxdef

'concatenate ".bdt" to filename

curfile = filenamer & ".bdt"

'open file for random I/O

Open curfile For Random As #1 Len = Len(filerec)

'write data to file

Page 119: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

108

Put #1, 1, filerec

'Close the file

Close #1

'concatenate ".ndt" to filename

curfile = filenamer & ".ndt"

'open file for random I/O

Open curfile For Random As #1 Len = Len(nod2)

'read number of elements

currec = BeamDimensions.numelem

'loop for all elements

For i = 1 To currec

'read element lengths

nod2.doub = memberlen.ListBox1.List(i - 1, 1)

'write element lenghts to file

Put #1, i, nod2

Next i

'loop for all nodes

For i = 0 To currec

'read loads on nodes

nod2.doub = loadmom.ListBox1.List(i, 1)

'compute location in file for putting next value

recnum = i + currec + 1

'write load value to file

Put #1, recnum, nod2

Next i

'loop for all nodes

For i = 0 To currec

'read moments on nodes

nod2.doub = loadmom.ListBox1.List(i, 2)

'compute location in file for putting next value

recnum = recnum + 1

'write moment value to file

Put #1, recnum, nod2

Next i

'write boundary condition if any

If boundary.numdef > 0 Then

'if there are any known deflections

'loop for all nodes

Page 120: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

109

For i = 0 To currec

If boundary.ListBox1.List(i, 1) <> "none" Then

'if there is a known deflection on current node

'then note the node number

nod2.doub = i

'compute location in file for putting next value

recnum = recnum + 1

'write node number to file

Put #1, recnum, nod2

'read value of known deflection

nod2.doub = boundary.ListBox1.List(i, 1)

'compute location in file for putting next value

recnum = recnum + 1

'write value of known deflection to file

Put #1, recnum, nod2

End If

Next i

End If

If boundary.numrot > 0 Then

'if there are any known rotations

'loop for all nodes

For i = 0 To currec

If boundary.ListBox1.List(i, 2) <> "none" Then

'if there is a known rotation on current node

'then note the node number

nod2.doub = i

'compute location in file for putting next value

recnum = recnum + 1

'write node number to file

Put #1, recnum, nod2

'read value of known rotation

nod2.doub = boundary.ListBox1.List(i, 2)

'compute location in file for putting next value

recnum = recnum + 1

'write value of known rotation to file

Put #1, recnum, nod2

End If

Next i

Page 121: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

110

End If

'close the file

Close #1

'concatenate message string and filename

curfile = "File has been saved as " & curfile

'tell user that file has been saved

response = MsgBox(curfile, 64)

End If

End Sub

Private Sub CommandButton3_Click()

'give control to form-Exporter for getting a filename

Exporter.Show

'read the filename from form-Exporter

filenamer = Exporter.filenamer.text

'if user has not pressed cancel

If filenamer <> "" Then

'see if "siunits" is selected on form-BeamDimensions

siunits = BeamDimensions.siunits.Value

If siunits Then

'if siunits are selected then prepare

'appropriate strings for units

ulength = " (m)"

uforce = " (kN)"

umom = " (kN-m)"

uunitwt = " (kN/m^3)"

uyoungs = " (kPa)"

ufpl = " (kN/m)"

umomin = " (m^4)"

umaxdef = " mm"

Else

'if fpsunits are selected then

'prepare appropriate strings for units

ulength = " (ft)"

uforce = " (kip)"

umom = " (kip-ft)"

uunitwt = " (kcf)"

uyoungs = " (ksf)"

Page 122: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

111

ufpl = " (kip/ft)"

umomin = " (ft^4)"

umaxdef = " inch"

End If

'concatenate ".txt" to filename

curfile = filenamer & ".txt"

'open file for sequential output

Open curfile For Output As #2

'write descriptions, values, and units to file

'which are self-explanatory

Print #2, "Beam Data:"

Print #2,

Print #2, "beam length = "; Beamlength.Value; ulength

Print #2, "beam width = "; Beamwidth.Value; ulength

Print #2, "beam depth = "; Beamdepth.Value; ulength

Print #2,

Print #2, "number of elements = "; numelem.Value

Print #2,

Print #2, "Element"; Tab; "Length"; ulength

'loop for all elements

For i = 1 To numelem.Value

Print #2, i; Tab; memberlen.ListBox1.List(i - 1, 1)

Next i

Print #2,

Print #2, "modulus of subgrade reaction, ks = ";

BeamDimensions.msr.Value; uunitwt

Print #2,

Print #2, "modulus of elasticity for concrete = ";

BeamDimensions.youngs.Value; uyoungs

Print #2,

Print #2, "moment of inertia of beam = "; mominertia; umomin

Print #2,

'if check for soil separation and max.deflection is selected

If BeamDimensions.SoilSeparation = True Then

Print #2, "maximum allowable deflection= "; BeamDimensions.maxdef;

umaxdef

Print #2,

Print #2, "number of iterations = "; BeamDimensions.maxiter

Page 123: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

112

Print #2,

End If

'if beam self weigt was considered

If BeamDimensions.considerbeamwt = True Then

Print #2, "unit weight of beam= "; BeamDimensions.BeamWeight; uunitwt

Print #2,

End If

Print #2, "Applied Loads:"

Print #2,

Print #2, "number of point loads = "; loadmom.loadnum.Value

Print #2, "number of moments = "; loadmom.momnum.Value

Print #2,

Print #2, "node"; Tab; "point load"; uforce; Tab(41); "moment"; umom

'loop for all nodes

For i = 0 To numelem.Value

Print #2, 1 + i; Tab; loadmom.ListBox1.List(i, 1); Tab(40);

loadmom.ListBox1.List(i, 2)

Next i

Print #2,

Print #2, "Rotations and Deflections:"

Print #2,

Print #2, "node"; Tab; "rotation (rads)"; Tab(41); "deflection"; ulength

'loop for all nodes

For i = 0 To numelem.Value

Print #2, 1 + i; Tab; ListBox1.List(i, 1); Tab(40); ListBox1.List(i,

2)

Next i

Print #2,

Print #2, "Moments on Elements:"

Print #2,

Print #2, "element"; Tab; "1st node"; umom; Tab(41); "2nd node"; umom

'loop for all nodes

For i = 1 To numelem.Value

Print #2, i; Tab; ListBox2.List(i - 1, 1); Tab(40); ListBox2.List(i -

1, 2)

Next i

Print #2,

Print #2,

Page 124: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

113

Print #2, "Shear at Nodes:"

Print #2,

Print #2, "node"; Tab; "shear on left"; uforce; Tab(41); "shear on

right"; uforce

'loop for all nodes

For i = 0 To numelem.Value

Print #2, 1 + i; Tab; ListBox3.List(i, 1); Tab(40); ListBox3.List(i,

2)

Next i

Print #2,

Print #2, "Moments at Nodes:"

Print #2,

Print #2, "node"; Tab; "moment on left"; umom; Tab(41); "moment on

right"; umom

'loop for all nodes

For i = 0 To numelem.Value

Print #2, 1 + i; Tab; ListBox4.List(i, 1); Tab(40); ListBox4.List(i,

2)

Next i

Print #2,

Print #2, "Spring Forces:"

Print #2,

Print #2, "node"; Tab; "spring ks"; ufpl; Tab(41); "spring force";

uforce

'loop for all nodes

For i = 1 To (numelem.Value + 1)

Print #2, i; Tab; ListBox7.List(i, 1); Tab(40); ListBox7.List(i, 2)

Next i

Print #2,

Print #2, "Soil Pressure:"

Print #2,

Print #2, "node"; Tab; "soil pressure Q"; uyoungs

'loop for all nodes

For i = 1 To (numelem.Value + 1)

Print #2, i; Tab; ListBox8.List(i - 1, 1)

Next i

If boundary.numdef > 0 Or boundary.numrot > 0 Then

Page 125: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

114

'if there are any boundary conditions

Print #2, "Boundary Conditions:"

Print #2,

Print #2, "number of known deflections = "; boundary.numdef.Value

Print #2, "number of known rotations = "; boundary.numrot.Value

Print #2,

Print #2, "node"; Tab; "known deflection"; ulength; Tab(41); "known

rotation"; " (rad)"

'loop for all nodes

For i = 0 To numelem.Value

If boundary.ListBox1.List(i, 1) <> "none" Or

boundary.ListBox1.List(i, 2) <> "none" Then

Print #2, 1 + i; Tab; boundary.ListBox1.List(i, 1); Tab(40);

boundary.ListBox1.List(i, 2)

End If

Next i

End If

'close the file

Close #2

'concatenate message string and filename

curfile = "File has been saved as " & curfile

'tell user that file has been saved

response = MsgBox(curfile, 64)

End If

End Sub

Private Sub CommandButton4_Click()

'if user clicks "Print This Screen" then

'print a snapshot of current screen to

'default printer

Elements.PrintForm

End Sub

Private Sub CommandButton5_Click()

'if user clicks "New Problem" then

'unload all forms and give control to BeamDimensions

Unload BeamDimensions

Unload memberlen

Page 126: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

115

Unload loadmom

Unload boundary

Unload Filer

Unload saver

Unload Exporter

Unload Elements

BeamDimensions.Show

End Sub

Private Sub CommandButton6_Click()

'if user clicks "Plot Diagrams" then

'declare plineobj to be of type AutoCAD polyline

Dim plineObj As AcadLWPolyline

'declare array for drawing polyline

Dim points(0 To 9) As Double

'get value of original beam depth

beamdepthorg = Val(Beamdepth)

'get value of beam length

beamlengthd = Val(Beamlength)

'set beamdepthd for scaling according

'to length of beam (this doesn't have anything

'to do with original beam length)

beamdepthd = Beamlength / 10

'Compute coordinates for drawing the beam

'Define the 2D polyline points

points(0) = 0: points(1) = 11 * beamdepthd

points(2) = beamlengthd: points(3) = 11 * beamdepthd

points(4) = beamlengthd: points(5) = 11 * beamdepthd + beamdepthorg

points(6) = 0: points(7) = 11 * beamdepthd + beamdepthorg

points(8) = 0: points(9) = 11 * beamdepthd

'draw a beam using light weight Polyline object

'in model space of current drawing

Set plineObj = ThisDrawing.ModelSpace. _

AddLightWeightPolyline(points)

'compute coordinates for drawing another beam

'to show as 'beam before deflection'

points(0) = beamlengthd + beamdepthd: points(1) = 11 * beamdepthd

points(2) = beamlengthd * 2 + beamdepthd: points(3) = 11 * beamdepthd

Page 127: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

116

points(4) = beamlengthd * 2 + beamdepthd: points(5) = 11 * beamdepthd +

beamdepthorg

points(6) = beamlengthd + beamdepthd: points(7) = 11 * beamdepthd +

beamdepthorg

points(8) = beamlengthd + beamdepthd: points(9) = 11 * beamdepthd

'draw a beam using light weight Polyline object

'in model space of current drawing

Set plineObj = ThisDrawing.ModelSpace. _

AddLightWeightPolyline(points)

'set color of this beam as light gray

plineObj.Color = 253

'update beam for color effect

plineObj.Update

'make overall boundary border

points(0) = -beamdepthd: points(1) = 0

points(2) = (beamlengthd + beamdepthd) * 2: points(3) = 0

points(4) = (beamlengthd + beamdepthd) * 2: points(5) = 14 * beamdepthd

points(6) = -beamdepthd: points(7) = 14 * beamdepthd

points(8) = -beamdepthd: points(9) = 0

Set plineObj = ThisDrawing.ModelSpace. _

AddLightWeightPolyline(points)

'set color of this beam as cyan

plineObj.Color = acCyan

'update border for color effect

plineObj.Update

'make box for soil pressure

points(0) = beamlengthd + beamdepthd: points(1) = 6 * beamdepthd

points(2) = 2 * beamlengthd + beamdepthd: points(3) = 6 * beamdepthd

points(4) = 2 * beamlengthd + beamdepthd: points(5) = 8 * beamdepthd

points(6) = beamlengthd + beamdepthd: points(7) = 8 * beamdepthd

points(8) = beamlengthd + beamdepthd: points(9) = 6 * beamdepthd

Set plineObj = ThisDrawing.ModelSpace. _

AddLightWeightPolyline(points)

'draw shear force diagram

nm = Val(BeamDimensions.numelem)

ReDim ptmatrix(nm, 2)

For i = 0 To nm

ptmatrix(i, 1) = Val(ListBox3.List(i, 1))

Page 128: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

117

ptmatrix(i, 2) = Val(ListBox3.List(i, 2))

Next i

drawnodes = (nm + 1) * 4 - 1

ReDim drawpoints(drawnodes + 2) As Double

drawpoints(0) = 0

drawpoints(2) = 0

drawpoints(drawnodes + 1) = 0

runlen = 0

runnum = 0

maxval = ptmatrix(0, 1)

minval = ptmatrix(0, 1)

For i = 0 To nm

If ptmatrix(i, 1) < minval Then minval = ptmatrix(i, 1)

If ptmatrix(i, 1) > maxval Then maxval = ptmatrix(i, 1)

If ptmatrix(i, 2) < minval Then minval = ptmatrix(i, 2)

If ptmatrix(i, 2) > maxval Then maxval = ptmatrix(i, 2)

Next i

scaledepth = maxval - minval

scalefac = (beamdepthd * 3) / scaledepth

For i = 4 To drawnodes Step 4

runlen = runlen + Val(ListBox10.List(runnum, 1)) 'memlen

runnum = runnum + 1

drawpoints(i) = runlen

drawpoints(i + 2) = runlen

Next i

runnum = 0

For i = 1 To drawnodes Step 4

drawpoints(i) = -(ptmatrix(runnum, 1) + minval) * scalefac + beamdepthd

* 7 + (maxval + minval) * scalefac

drawpoints(i + 2) = -(ptmatrix(runnum, 2) + minval) * scalefac +

beamdepthd * 7 + (maxval + minval) * scalefac

runnum = runnum + 1

Next i

drawpoints(drawnodes + 2) = drawpoints(drawnodes)

Set plineObj = ThisDrawing.ModelSpace. _

AddLightWeightPolyline(drawpoints)

'draw beam elements

runnum = 0

Page 129: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

118

j = 0

For i = 1 To drawnodes Step 4

drawpoints(i) = j + beamdepthd * 11

If j = 0 Then

j = beamdepthorg

Else

j = 0

End If

drawpoints(i + 2) = j + beamdepthd * 11

runnum = runnum + 1

Next i

drawpoints(drawnodes + 2) = drawpoints(drawnodes)

Set plineObj = ThisDrawing.ModelSpace. _

AddLightWeightPolyline(drawpoints)

'draw bending moment diagram

For i = 0 To nm

ptmatrix(i, 1) = Val(ListBox4.List(i, 1))

ptmatrix(i, 2) = Val(ListBox4.List(i, 2))

Next i

drawpoints(0) = 0

drawpoints(2) = 0

runlen = 0

runnum = 0

maxval = ptmatrix(0, 1)

minval = ptmatrix(0, 1)

For i = 0 To nm

If ptmatrix(i, 1) < minval Then minval = ptmatrix(i, 1)

If ptmatrix(i, 1) > maxval Then maxval = ptmatrix(i, 1)

If ptmatrix(i, 2) < minval Then minval = ptmatrix(i, 2)

If ptmatrix(i, 2) > maxval Then maxval = ptmatrix(i, 2)

Next i

Debug.Print "minval: "; minval; " maxval: "; maxval

scaledepth = maxval - minval

If scaledepth = 0 Then scaledepth = 1

scalefac = (beamdepthd * 5) / scaledepth

For i = 4 To drawnodes Step 4

runlen = runlen + Val(ListBox10.List(runnum, 1))

runnum = runnum + 1

Page 130: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

119

drawpoints(i) = runlen

drawpoints(i + 2) = runlen

Next i

runnum = 0

For i = 1 To drawnodes Step 4

drawpoints(i) = -(minval + ptmatrix(runnum, 1)) * scalefac + beamdepthd

+ (maxval + minval) * scalefac

drawpoints(i + 2) = -(minval + ptmatrix(runnum, 2)) * scalefac +

beamdepthd + (maxval + minval) * scalefac

runnum = runnum + 1

Next i

drawpoints(drawnodes + 2) = drawpoints(drawnodes)

Set plineObj = ThisDrawing.ModelSpace. _

AddLightWeightPolyline(drawpoints)

ThisDrawing.Application.ZoomExtents

'make deflection beam and soil pressure diagram

drawnodes = (nm + 1) * 2 - 1

ReDim drawpoints(drawnodes) As Double

For i = 0 To nm

ptmatrix(i, 1) = -Val(ListBox8.List(i, 1))

ptmatrix(i, 2) = Val(ListBox1.List(i, 2))

Next i

drawpoints(0) = beamlengthd + beamdepthd

runlen = 0

runnum = 0

maxval = 0

minval = 0

For i = 0 To nm

If ptmatrix(i, 2) < minval Then minval = ptmatrix(i, 2)

If ptmatrix(i, 2) > maxval Then maxval = ptmatrix(i, 2)

Next i

scaledepth = maxval - minval

If scaledepth = 0 Then scaledepth = 1

scalefac = (beamdepthd * 2) / scaledepth

Debug.Print "scalefactor", scalefac

For i = 2 To drawnodes Step 2

runlen = runlen + Val(ListBox10.List(runnum, 1))

runnum = runnum + 1

Page 131: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

120

drawpoints(i) = runlen + beamlengthd + beamdepthd

Next i

'draw top face

runnum = 0

For i = 1 To drawnodes Step 2

drawpoints(i) = -(ptmatrix(runnum, 2)) * scalefac + beamdepthd * 11 +

beamdepthorg

runnum = runnum + 1

Next i

topfacex1 = drawpoints(0)

topfacey1 = drawpoints(1)

topfacex2 = drawpoints(drawnodes - 1)

topfacey2 = drawpoints(drawnodes)

Set plineObj = ThisDrawing.ModelSpace. _

AddLightWeightPolyline(drawpoints)

'draw center line

runnum = 0

For i = 1 To drawnodes Step 2

drawpoints(i) = drawpoints(i) - beamdepthorg / 2

runnum = runnum + 1

Next i

Set plineObj = ThisDrawing.ModelSpace. _

AddLightWeightPolyline(drawpoints)

plineObj.Color = acRed

plineObj.Update

'draw bottom face

runnum = 0

For i = 1 To drawnodes Step 2

drawpoints(i) = drawpoints(i) - beamdepthorg / 2

runnum = runnum + 1

Next i

botfacex1 = drawpoints(0)

botfacey1 = drawpoints(1)

botfacex2 = drawpoints(drawnodes - 1)

botfacey2 = drawpoints(drawnodes)

Set plineObj = ThisDrawing.ModelSpace. _

AddLightWeightPolyline(drawpoints)

Dim startPoint(0 To 2) As Double

Page 132: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

121

Dim endPoint(0 To 2) As Double

startPoint(0) = topfacex1: startPoint(1) = topfacey1: startPoint(2) = 0#

endPoint(0) = botfacex1: endPoint(1) = botfacey1: endPoint(2) = 0#

Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)

startPoint(0) = topfacex2: startPoint(1) = topfacey2: startPoint(2) = 0#

endPoint(0) = botfacex2: endPoint(1) = botfacey2: endPoint(2) = 0#

Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)

'draw original center line

runnum = 0

For i = 1 To drawnodes Step 2

drawpoints(i) = beamdepthd * 11 + beamdepthorg / 2

runnum = runnum + 1

Next i

Set plineObj = ThisDrawing.ModelSpace. _

AddLightWeightPolyline(drawpoints)

plineObj.Color = acRed

plineObj.Update

'draw soil pressure diagram

maxval = ptmatrix(0, 1)

minval = ptmatrix(0, 1)

For i = 0 To nm

If ptmatrix(i, 1) < minval Then minval = ptmatrix(i, 1)

If ptmatrix(i, 1) > maxval Then maxval = ptmatrix(i, 1)

Next i

scaledepth = maxval - minval

If scaledepth = 0 Then scaledepth = 1

scalefac = (beamdepthd * 2) / scaledepth

runnum = 0

For i = 1 To drawnodes Step 2

drawpoints(i) = -(minval + ptmatrix(runnum, 1)) * scalefac + beamdepthd

* 6 + (maxval + minval) * scalefac

runnum = runnum + 1

Next i

Set plineObj = ThisDrawing.ModelSpace. _

AddLightWeightPolyline(drawpoints)

'draw loads and moments

ReDim lpoints(0 To 11) As Double

beamtop = beamdepthd * 11 + Beamdepth

Page 133: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

122

lpoints(0) = 0#: lpoints(1) = 1.8 * beamdepthd + beamtop

lpoints(2) = 0#: lpoints(3) = 0.3 * beamdepthd + beamtop

lpoints(4) = -0.08 * beamdepthd: lpoints(5) = 0.3 * beamdepthd + beamtop

lpoints(6) = 0#: lpoints(7) = 0 * beamdepthd + beamtop

lpoints(8) = 0.08 * beamdepthd: lpoints(9) = 0.3 * beamdepthd + beamtop

lpoints(10) = 0#: lpoints(11) = 0.3 * beamdepthd + beamtop

Dim arcObj As AcadArc

Dim centerPoint(0 To 2) As Double

Dim radius As Double

Dim startAngleInDegree As Double

Dim endAngleInDegree As Double

centerPoint(0) = 0#: centerPoint(1) = beamtop + beamdepthd: centerPoint(2)

= 0#

radius = 0.4 * beamdepthd

startAngleInDegree = 0#

endAngleInDegree = 210#

' Convert the angles in degrees to angles in radians

Dim startAngleInRadian As Double

Dim endAngleInRadian As Double

startAngleInRadian = startAngleInDegree * 3.141592 / 180#

endAngleInRadian = endAngleInDegree * 3.141592 / 180#

ReDim mpoints(0 To 7) As Double

mpoints(0) = 0.35 * beamdepthd: mpoints(1) = beamdepthd + beamtop

mpoints(2) = 0.45 * beamdepthd: mpoints(3) = 0.98 * beamdepthd + beamtop

mpoints(4) = 0.36 * beamdepthd: mpoints(5) = 0.8 * beamdepthd + beamtop

mpoints(6) = 0.35 * beamdepthd: mpoints(7) = beamdepthd + beamtop

'loop for all nodes

runnum = 0

runlen = 0

For i = 0 To nm

lpoints(0) = lpoints(0) + runlen

lpoints(2) = lpoints(2) + runlen

lpoints(4) = lpoints(4) + runlen

lpoints(6) = lpoints(6) + runlen

lpoints(8) = lpoints(8) + runlen

lpoints(10) = lpoints(10) + runlen

centerPoint(0) = centerPoint(0) + runlen

mpoints(0) = mpoints(0) + runlen

Page 134: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

123

mpoints(2) = mpoints(2) + runlen

mpoints(4) = mpoints(4) + runlen

mpoints(6) = mpoints(6) + runlen

If Val(loadmom.ListBox1.List(runnum, 1)) <> 0 Then

'draw downward arrow if load is applied on current node

Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(lpoints)

End If

If Val(loadmom.ListBox1.List(runnum, 2)) <> 0 Then

'draw arc with arrow if moment is applied on current node

Set arcObj = ThisDrawing.ModelSpace.AddArc(centerPoint, radius,

startAngleInRadian, endAngleInRadian)

Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(mpoints)

End If

If runnum <> nm Then

runlen = Val(ListBox10.List(runnum, 1))

runnum = runnum + 1

End If

Next i

'zoom to show all diagrams

ZoomExtents

'WRITE CAPTIONS

Dim MTextObj As AcadMText

Dim corner(0 To 2) As Double

Dim width As Double

Dim text As String

width = beamlengthd

'write bending moment caption

corner(0) = 0#: corner(1) = beamdepthd * 0.7: corner(2) = 0#

text = "BENDING MOMENT DIAGRAM"

Set MTextObj = ThisDrawing.ModelSpace.AddMText(corner, width, text)

MTextObj.Height = beamdepthd / 4

MTextObj.AttachmentPoint = acAttachmentPointBottomCenter

MTextObj.Update

'write shear force caption

corner(0) = 0#: corner(1) = beamdepthd * 6.7: corner(2) = 0#

text = "SHEAR FORCE DIAGRAM"

Set MTextObj = ThisDrawing.ModelSpace.AddMText(corner, width, text)

MTextObj.Height = beamdepthd / 4

Page 135: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

124

MTextObj.AttachmentPoint = acAttachmentPointBottomCenter

MTextObj.Update

'write beam elements caption

corner(0) = 0#: corner(1) = beamdepthd * 10.7: corner(2) = 0#

text = "BEAM ELEMENTS AND LOADING"

Set MTextObj = ThisDrawing.ModelSpace.AddMText(corner, width, text)

MTextObj.Height = beamdepthd / 4

MTextObj.AttachmentPoint = acAttachmentPointBottomCenter

MTextObj.Update

'write deflected beam caption

corner(0) = beamlengthd + beamdepthd: corner(1) = beamdepthd * 8.7:

corner(2) = 0#

text = "DEFLECTION DIAGRAM"

Set MTextObj = ThisDrawing.ModelSpace.AddMText(corner, width, text)

MTextObj.Height = beamdepthd / 4

MTextObj.AttachmentPoint = acAttachmentPointBottomCenter

MTextObj.Update

'write soil pressure caption

corner(0) = beamlengthd + beamdepthd: corner(1) = beamdepthd * 5.7:

corner(2) = 0#

text = "SOIL PRESSURE DIAGRAM"

Set MTextObj = ThisDrawing.ModelSpace.AddMText(corner, width, text)

MTextObj.Height = beamdepthd / 4

MTextObj.AttachmentPoint = acAttachmentPointBottomCenter

MTextObj.Update

'write note

corner(0) = beamlengthd + beamdepthd: corner(1) = beamdepthd * 1.7:

corner(2) = 0#

text = "These diagrams have been plotted by the Finite Element Program

BEAMDEZ"

Set MTextObj = ThisDrawing.ModelSpace.AddMText(corner, width, text)

MTextObj.Height = beamdepthd / 4

MTextObj.AttachmentPoint = acAttachmentPointBottomCenter

MTextObj.Update

ThisDrawing.Application.ZoomExtents

End Sub

Private Sub CommandButton7_Click()

Page 136: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

125

'if user "Show Boundary Conditions"

'change caption of the form-boundary

boundary.Caption = "Boundary Conditions"

'hide controls that were used for data entry

boundary.Label1.Visible = False

boundary.Label2.Visible = False

boundary.Label3.Visible = False

boundary.curdef.Visible = False

boundary.curnode.Visible = False

boundary.currot.Visible = False

boundary.CommandButton2.Visible = False

boundary.CommandButton3.Visible = False

boundary.CommandButton4.Visible = False

'change positions of remaining controls

boundary.ListBox1.Left = 78

boundary.ListBox1.Height = 180

boundary.CommandButton1.Left = 294

boundary.Label5.Left = 144

boundary.numrot.Left = 204

boundary.Label4.top = 222

boundary.Label5.top = 222

boundary.numrot.top = 222

boundary.numdef.top = 222

boundary.Label4.Left = 20

boundary.numdef.Left = 78

boundary.Label6.Left = 83.95

boundary.Label7.Left = 132

boundary.Label8.Left = 209.95

boundary.Label9.Left = 227.95

boundary.Label10.Left = 155.95

'give control to form-boundary for showing boundary conditions

boundary.Show

End Sub

Private Sub OptionButton1_AfterUpdate()

'if user selects "mm" or "inch" depending on

'current system of units

'read number of elements for form-elements

Page 137: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

126

nm = Elements.numelem

If BeamDimensions.siunits.Value = True Then

'if units are SI

'loop through all nodes

For i = 0 To nm

'convert all deflections to "mm"

ListBox1.List(i, 2) = ListBox1.List(i, 2) * 1000

Next i

Else

'if system of units is fps

'loop through all nodes

For i = 0 To nm

'convert all deflections to "inch"

ListBox1.List(i, 2) = ListBox1.List(i, 2) * 12

Next i

End If

End Sub

Private Sub OptionButton2_AfterUpdate()

'if user selects "m" or "ft" depending on

'current system of units

'read number of elements for form-elements

nm = Elements.numelem

If BeamDimensions.siunits.Value = True Then

'if units are SI

'loop through all nodes

For i = 0 To nm

'convert all deflections to "m"

ListBox1.List(i, 2) = ListBox1.List(i, 2) / 1000

Next i

Else

'if units are fps

'loop for all nodes

For i = 0 To nm

'convert all deflections to "ft"

ListBox1.List(i, 2) = ListBox1.List(i, 2) / 12

Next i

End If

Page 138: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

127

End Sub

Private Sub ToggleButton1_AfterUpdate()

If ToggleButton1.Value = True Then

'hide multipage containing results

MultiPage1.Visible = False

'show bandmatrix

ListBox9.Visible = True

Else

If ToggleButton1.Value = False Then

'show multipage containing results

MultiPage1.Visible = True

'hide bandmatrix

ListBox9.Visible = False

End If

End If

End Sub

Private Sub UserForm_Initialize()

'VARIABLES:

'alomaxdef=value of maximum deflection for elastic range

'asat()= global stiffness matrix ASAT

'asatdim=dimension of ASAT (double of node numbers)

'asatinv()=matrix for inverse of ASAT

'bandm()=bandmatrix

'Beamdepth= depth of beam

'Beamlength=length of beam

'Beamwidth= width of beam

'bounddef()=known boundary deflections

'boundflag=flag for boundary conditions

'boundrot()=known boundary rotations

'checkdef=deflection on current node

'count1=loop counter

'counter=loop counter

'counter2=loop counter

'divider=variable used in matrix inversion

'dupasat()=duplicate copy of asat matrix to be used in matrix inversion

'ea()=element A matrix

Page 139: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

128

'easat()=element EASAT matrix

'elcount=loop counter

'es()=element S matrix ES

'esat()=element ESAT matrix

'esats()=array to save ESAT matrices for all elements

'forc=constant soil pressure beyond elastic range

'fourei=4EI

'i=loop variable

'inertia=moment of inertia of the beam x-section

'j=loop counter

'k=loop counter

'lasat=variable used in construction of ASAT matrix

'locdef=location or known deflection

'locrot=location of known rotation

'maxiter=maximum iterations

'memlen(nm)=array to hold the length of each member

'momentmatrix=moment matrix

'mominertia=moment of inertia

'momnt()=moment array

'msr=modulus of subgrade reaction

'multiplier=variable used in matrix multiplication

'negflag=negative deflection flag

'nm= number of members (elements)

'nnload()=array to hold the values of vertical loads

'nnmom()= array to hold the values of moments

'np()= column vector to hold the values of loads and moments

'numbounddef=number of known deflections

'numboundrot=number of known rotations

'numelem= number of elements

'nummaxdef1=variable for checking maximum deflection

'nummom=numnber of concentrated moments acting on the beam

'numnegdef1=variable for checking negative deflections

'numnegdef2=variable for checking negative deflections

'numpload=number of vertical point loads acting on the beam

'Pmatrix()=array to hold the loads and moments acting on the beam

'row=loop counter

'Shearmatrix()=matrix for shear values

'Showmatrix1()=matrix for rotations and deflections

Page 140: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

129

'Soilqmatrix()=soil pressure matrix

'spring()=array to hold the spring constants at all nodes

'temper=temporary variable used in calculation of X matrix

'testoler=variable used in matrix inversion

'toler=tolerance value for zero: values less than this will be considered

zero

'twoei=2EI

'unitflag= tells the current system of units, SI or fps

'valdef=value of deflection read from file

'valrot=value of rotation read from file

'Xmatrix()= X matrix

'youngs=young's modulus E for concrete

'read number of elements from textbox "numelem"

'located on userfrom "Beamdimensions"

nm = BeamDimensions.numelem

'read width of beam from textbox "Beamwidth"

'located on userfrom "Beamdimensions"

Beamwidth = BeamDimensions.Beamwidth

'read depth of beam from textbox "Beamdepth"

'located on userfrom "Beamdimensions"

Beamdepth = BeamDimensions.Beamdepth

'check if OptoinButton "siunits"

'located on userform "Beamdimensions" is selected

If BeamDimensions.siunits = True Then

'in case "siunits" OptionButton is selected,

'put "si" in unitflag variable and set the

'labels to SI units

unitflag = "si"

Label24.Caption = "m"

Label25.Caption = "m"

Label27.Caption = "m"

Label29.Caption = "m"

Label30.Caption = "mm"

Label34.Caption = "kPa"

Label37.Caption = "kN/m"

Label33.Caption = "kN/m"

Label39.Caption = "mm"

Page 141: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

130

Else

'in case "siunits" OptionButton is not selected,

'i.e. "fpsunits" OptionButton is selected,

'put "fps" in unitflag variable and set the

'labels to fps units

unitflag = "fps"

Label24.Caption = "ft"

Label25.Caption = "ft"

Label27.Caption = "ft"

Label29.Caption = "ft"

Label42.Caption = "ft"

Label30.Caption = "inch"

Label34.Caption = "ksf"

Label37.Caption = "kip/ft"

Label33.Caption = "kip/ft"

Label39.Caption = "inch"

Label4.Caption = "1st Node kip-ft"

Label6.Caption = "2nd Node kip-ft"

Label8.Caption = "Shear on left kip"

Label9.Caption = "Shear on right kip"

Label11.Caption = "Moment on left kip-ft"

Label12.Caption = "Moment on right kip-ft"

Label17.Caption = "Moment kip-ft"

Label18.Caption = "Load kip"

Label20.Caption = "Spring Ks kip/ft"

Label21.Caption = "Spring force kip"

Label31.Caption = "Soil Q ksf"

Label46.Caption = "Length ft"

End If

'dimension the memlen array to number of elements

ReDim memlen(nm)

'give control to form-memberlen for input of length of all elements

memberlen.Show

'loop for all elements

For i = 1 To nm

'read values of element-lengths from "memberlen"

memlen(i) = Val(memberlen.ListBox1.List(i - 1, 1))

Next i

Page 142: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

131

'assign the number of members to numelem

numelem = nm

'reset the beamlength to zero

Beamlength = 0

'now calculate the beamlength by adding the length

'of all the members

For i = 1 To nm 'generates: 1,2,3,...,nm

Beamlength = Beamlength + memlen(i)

Next i

'read value of modulus of subgrade reaction from form-BeamDimensions

msr = BeamDimensions.msr

'read value of Young's Modulus of Elasticity for

'concrete from form-Beamdimensions

youngs = BeamDimensions.youngs

'calculate the moment of inertia of the beam

inertia = (Beamwidth * Beamdepth ^ 3) / 12

'put value of inertia to TextBox "mominertia"

mominertia = inertia

'dimension the spring array with rows=number of

'nodes and 3 columns

ReDim spring(nm + 1, 3)

'loop for all nodes

For counter = 1 To (nm + 1) 'generates 1,2,3,...,(nm+1)

'put node numbers in first column

spring(counter, 0) = counter

Next counter

'compute spring constant at first node

spring(1, 1) = msr * memlen(1) * Beamwidth

'compute spring constant at last node

spring(nm + 1, 1) = msr * memlen(nm) * Beamwidth

'loop for all nodes except the first and last ones

For counter = 2 To nm 'generates 2,3,4,...,nm

'calculate spring constants for the remaining nodes

spring(counter, 1) = Val(msr) * Beamwidth * (memlen(counter) +

Val(memlen(counter - 1))) / 2

Next counter

'initialize P-Matrix

'nm+1=number of nodes (1+number of elements)

Page 143: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

132

ReDim Pmatrix((nm + 1), 2) '(x,0)=node number, (x,1)=mom,(x,2)=load

(row,col)

'give control to form-loadmom for getting loads and

'moments from user

loadmom.Show

'loop through all nodes

For counter = 1 To (nm + 1) 'generates: 1,2,3...,(nm+1)

'put node numbers in Pmatrix

Pmatrix(counter, 0) = counter

'read moments from form-loadmom

Pmatrix(counter, 1) = Val(loadmom.ListBox1.List(counter - 1, 2))

'read loads from form-loadmom

Pmatrix(counter, 2) = Val(loadmom.ListBox1.List(counter - 1, 1))

Next counter

'read value of maximum iterations limit

maxiter = Val(BeamDimensions.maxiter)

'reset numnegdef1 and nummaxdef1 to zero

numnegdef1 = 0

'loop label for iterations

defloop:

'note number of negative deflections in previous iteration

numnegdef2 = numnegdef1

'reset numnegdef1 and nummaxdef1 to zero

numnegdef1 = 0

nummaxdef1 = 0

'show all the values of Pmatrix in "Listbox6"

'on userform "Elements"

ListBox6.List() = Pmatrix

If BeamDimensions.considerbeamwt = True Then

'if user has checked "consider beam weight" on

'form-BeamDimensions then make relevant controls visible

BeamWeight.Visible = True

Label15.Visible = True

Label32.Visible = True

Label33.Visible = True

'read self weight of beam

BeamWeight.Value = BeamDimensions.BeamWeight

'add beam weight to Pmatrix

Page 144: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

133

'first node

Pmatrix(1, 2) = Pmatrix(1, 2) + Beamdepth * Beamwidth * memlen(1) *

BeamDimensions.BeamWeight / 2

'last node

Pmatrix((nm + 1), 2) = Pmatrix((nm + 1), 2) + Beamdepth * Beamwidth *

memlen(nm) * BeamDimensions.BeamWeight / 2

'remaining nodes

For i = 2 To nm

Pmatrix(i, 2) = Pmatrix(i, 2) + Beamdepth * Beamwidth * (memlen(i) +

memlen(i - 1)) * BeamDimensions.BeamWeight / 2

Next i

End If

'initialize np

'dimension np() column vector to double of node numbers

ReDim np(nm * 2 + 2)

For counter = 1 To (nm + 1) 'generates: 1,2,3,...,(nm+1)

'(counter*2-1) generates 1,3,5,...

'to put loads from Pmatrix in np() leaving

'slots for moments

np(counter * 2 - 1) = Pmatrix(counter, 1)

'(counter*2) generates 2,4,6,...

'to put moments from Pmatrix in np()

np(counter * 2) = Pmatrix(counter, 2)

Next counter

'initialize asat

'put double of node numbers in asatdim

asatdim = (nm + 1) * 2

'dimension asat to asatdim rows and asatdim columns

ReDim asat(asatdim, asatdim)

For counter = 1 To asatdim 'generates 1,2,...,asatdim

For counter2 = 1 To asatdim 'generates 1,2,...,asatdim

' zero all the elements of asat

asat(counter, counter2) = 0

Next counter2

Next counter

'develop the element A matrix ea

'dimension the ea matrix

Dim ea(4, 2) '(row, col)

Page 145: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

134

'put the values common to all finite elements in ea()

ea(1, 1) = 1

ea(1, 2) = 0

ea(3, 1) = 0

ea(3, 2) = 1

'put value of 2EI in twoei for later use

twoei = 2 * youngs * inertia

'put value of 4EI in fourei for later use

fourei = 4 * youngs * inertia

'dimension the ES matrix

Dim es(2, 2) 'row,col

'dimension the ESAT matrix

Dim esat(2, 4) 'row,col

'dimension the EASAT matrix

Dim easat(4, 4) 'row,col

'dimension the array esats to save ESAT matrices for all elements

ReDim esats(nm, 2, 4) 'element,row,col

'build the global stiffness matrix ASAT

'loop to make element matrices for all members

For elcount = 1 To nm 'generates 1,2,3,...,nm

'calculate values for EA matrix for each element

ea(2, 1) = 1 / memlen(elcount)

ea(2, 2) = 1 / memlen(elcount)

ea(4, 1) = -1 / memlen(elcount)

ea(4, 2) = -1 / memlen(elcount)

'determine the ES matrix for all elements

es(1, 1) = fourei / memlen(elcount)

es(2, 2) = es(1, 1)

es(2, 1) = twoei / memlen(elcount)

es(1, 2) = es(2, 1)

'build the ESAT matrix

For counter = 1 To 2 'generates: 1,2

For counter2 = 1 To 4 ' generates: 1,2,3,4

esat(counter, counter2) = es(counter, 1) * ea(counter2, 1) +

es(counter, 2) * ea(counter2, 2)

Next counter2

Next counter

'save each ESAT in esats()

Page 146: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

135

For counter = 1 To 2 'generates: 1,2

For counter2 = 1 To 4 ' generates: 1,2,3,4

esats(elcount, counter, counter2) = esat(counter, counter2)

Next counter2

Next counter

'build the EASAT matrix for each element

For counter = 1 To 4 ' generates: 1,2,3,4

For counter2 = 1 To 4 ' generates: 1,2,3,4

easat(counter, counter2) = ea(counter, 1) * esat(1, counter2) +

ea(counter, 2) * esat(2, counter2)

Next counter2

Next counter

'construct the global matrix ASAT

lasat = elcount * 2 - 2 'generates: 0,2,4,...

For count1 = 1 To 4 ' generates: 1,2,3,4

For count2 = 1 To 4 ' generates: 1,2,3,4

asat(count1 + lasat, count2 + lasat) = asat(count1 + lasat, count2

+ lasat) + easat(count1, count2)

Next count2

Next count1

Next elcount

'add spring constants to appropriate locations in ASAT matrix

For i = 2 To asatdim Step 2 'generates: 2,4,6,...,asatdim

asat(i, i) = asat(i, i) + spring(i / 2, 1)

Next i

'apply boundary conditions

boundflag = False

'check if any boundary conditions are specified

If BeamDimensions.numdef.Value > 0 Then boundflag = True

If BeamDimensions.numrot.Value > 0 Then boundflag = True

If boundflag Then

'if boundary conditions are specified then

'give control to form-boundary for getting values

'of known deflections and rotations

boundary.Show

boundflag = False

'check if user gave any values for boundary conditions

If boundary.numdef.Value > 0 Then boundflag = True

Page 147: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

136

If boundary.numrot.Value > 0 Then boundflag = True

End If

If boundflag Then

'if user gave values for boundary conditions

'get number of boundary conditions

numbounddef = boundary.numdef

numboundrot = boundary.numrot

'dimension arrays for holding boundary conditions

ReDim bounddef(numbounddef, 3)

ReDim boundrot(numboundrot, 3)

'get location and value of boundary deflection condition

j = 0

k = 0

'loop through all nodes

For i = 0 To nm

If boundary.ListBox1.List(i, 1) <> "none" Then

'if current node has any known deflection

j = j + 1

'read node number for known deflection

bounddef(j, 0) = Val(boundary.ListBox1.List(i, 0))

'read value of known deflection

bounddef(j, 1) = Val(boundary.ListBox1.List(i, 1))

End If

If boundary.ListBox1.List(i, 2) <> "none" Then

'if current node has any known rotation

k = k + 1

'read node number for known rotation

boundrot(j, 0) = Val(boundary.ListBox1.List(i, 0))

'read value of known rotation

boundrot(j, 1) = Val(boundary.ListBox1.List(i, 2))

End If

Next i

'set asat and np for boundary deflections

If j > 0 Then

For i = 1 To j

locdef = bounddef(i, 0) * 2

valdef = bounddef(i, 1)

'augment np()

Page 148: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

137

For l = 1 To asatdim

np(l) = np(l) - valdef * asat(locdef, l)

Next l

'put valdef at np(locdef)

np(locdef) = valdef

'zero out elements in asat

For l = 1 To asatdim

'zero out the row

asat(locdef, l) = 0

'zero out the column

asat(l, locdef) = 0

Next l

'put 1 at crossing

asat(locdef, locdef) = 1

Next i

End If

'set asat and np for boundary rotations

If k > 0 Then

For i = 1 To k

locrot = boundrot(i, 0) * 2 - 1

valrot = boundrot(i, 1)

'augment np()

For l = 1 To asatdim

np(l) = np(l) - valrot * asat(locrot, l)

Next l

'put valrot at np(locrot)

np(locrot) = valrot

'zero out elements in asat

For l = 1 To asatdim

'zero out the row

asat(locrot, l) = 0

'zero out the column

asat(l, locrot) = 0

Next l

'put 1 at crossing

asat(locrot, locrot) = 1

Next i

End If

Page 149: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

138

End If

'make band matrix

'currently the solution is obtained by

'inverse matrix (obtained by Gauss-Jordan method)

'but if Cholsky or other band matrix solution is

'to be used then the band matrix is available

'also, band matrix is used to show the contents of

'ASAT matrix along with results

ReDim bandm(asatdim, 4)

For i = 1 To (asatdim - 3)

bandm(i, 0) = Fix2(asat(i, i))

bandm(i, 1) = Fix2(asat(i, i + 1))

bandm(i, 2) = Fix2(asat(i, i + 2))

bandm(i, 3) = Fix2(asat(i, i + 3))

Next i

For i = 1 To 3

bandm((2 * nm), (i - 1)) = Fix2(asat((2 * nm), (asatdim - 3) + i))

Next i

bandm((2 * nm), 3) = 0

For i = 1 To 2

bandm((asatdim - 1), (i - 1)) = Fix2(asat((asatdim - 1), (2 * nm) + i))

Next i

bandm((asatdim - 1), 2) = 0

bandm((asatdim - 1), 3) = 0

bandm(asatdim, 0) = Fix2(asat(asatdim, asatdim))

bandm(asatdim, 1) = 0

bandm(asatdim, 2) = 0

bandm(asatdim, 3) = 0

ListBox9.List() = bandm

'dimension the asatinv matrix

ReDim asatinv(asatdim, asatdim)

'make an identity matrix and save in asatinv()

For i = 1 To asatdim

For j = 1 To asatdim

asatinv(i, j) = 0

Next j

asatinv(i, i) = 1

Next i

Page 150: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

139

'dimension dupasat matrix

ReDim dupasat(asatdim, asatdim)

'save asat in dupasat

For i = 1 To asatdim 'generats 1,2,3,...,asatdim

For j = 1 To asatdim 'generats 1,2,3,...,asatdim

dupasat(i, j) = asat(i, j)

Next j

Next i

'set tolerance value to check for zero matrix-elements

toler = 0.000001

'loop through all rows

For row = 1 To asatdim 'generates 1,2,3,...,asatdim

'get value of each diagonal element

testtoler = Abs(dupasat(row, row) - 1)

'check each diagonal element

If testtoler > toler Then 'i.e. if the diagonal element is not 1

'put the value of current diagonal element in divider

divider = dupasat(row, row)

For i = 1 To asatdim 'generates 1,2,3,...,asatdim

'divide all elements of the current row in dupasat

'by the current diagonal element of dupasat

dupasat(row, i) = dupasat(row, i) / divider

'divide all elements of the current row in asatinv

'by the current diagonal element of dupasat

asatinv(row, i) = asatinv(row, i) / divider

Next i

End If

'loop through all rows

For i = 1 To asatdim 'generates 1,2,3,...,asatdim

'do not subtract the current row from itself

If i = row Then GoTo skip1

'set multiplier=current

multiplier = dupasat(i, row)

'multiplier2 = asatinv(i, row)

For j = 1 To asatdim

dupasat(i, j) = dupasat(i, j) - dupasat(row, j) * multiplier

asatinv(i, j) = asatinv(i, j) - asatinv(row, j) * multiplier

Next j

Page 151: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

140

skip1:

Next i

Next row

'dimension the Xmatrix

ReDim Xmatrix(asatdim)

'Pmatrix=np()

'multiply asatinv by np() and put result in Xmatrix

For i = 1 To asatdim

temper = 0

For j = 1 To asatdim

temper = temper + asatinv(i, j) * np(j)

Next j

Xmatrix(i) = temper

Next i

'if maximum deflection and soil separation are to be checked

If BeamDimensions.SoilSeparation = True Then

'check for -ve and max deflections

Debug.Print "entered at soil separation"

'make relevant controls visible

maxdef.Visible = True

Label14.Visible = True

Label39.Visible = True

'read value of allowable maximum deflection

maxdef.Value = BeamDimensions.maxdef

If BeamDimensions.siunits Then

'if current units are SI then convert max. deflection to "m"

alomaxdef = Val(BeamDimensions.maxdef) / 1000

Else

'if current units are fps then convert max. deflection to "ft"

alomaxdef = Val(BeamDimensions.maxdef) / 12

End If

'loop for all nodes

For i = 0 To nm

negflag = False

checkdef = Val(Xmatrix(i * 2 + 2)) 'deflection

'check for -ve deflection:

If checkdef < 0 Then

negflag = True

Page 152: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

141

numnegdef1 = numnegdef + 1

spring(i + 1, 1) = 0

End If

'check for max deflection

If checkdef > alomaxdef Then

nummaxdef1 = nummaxdef1 + 1

forc = alomaxdef * spring(i + 1, 1)

Pmatrix(i + 1, 2) = Pmatrix(i + 1, 2) - forc

spring(i + 1, 1) = 0

End If

Next i

If maxiter > 0 Then

'if maximum iterations limit is not reached

maxiter = maxiter - 1

'check if number of negative deflections has increased or

'if maximum deflection is exceeded at any node

If numnegdef1 > numnegdef2 Or nummaxdef1 > 0 Then

'go to label "defloop:" for another iteration

GoTo defloop

End If

End If

End If

Elements.Caption = "Results"

'dimension arrays for showing results

ReDim showmatrix1((nm + 1), 3)

ReDim shearmatrix((nm + 1), 3)

ReDim momentmatrix((nm + 1), 3)

ReDim soilqmatrix((nm + 1), 2)

'loop for all nodes

For i = 0 To nm

'put node numbers in all arrays

showmatrix1(i, 0) = i + 1

shearmatrix(i, 0) = i + 1

momentmatrix(i, 0) = i + 1

soilqmatrix(i, 0) = i + 1

Next i

'loop for all nodes

For i = 0 To nm

Page 153: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

142

'read values of rotations

showmatrix1(i, 1) = Xmatrix(i * 2 + 1)

'read values of deflections

showmatrix1(i, 2) = Xmatrix(i * 2 + 2)

'calculate spring forces

spring(i + 1, 2) = showmatrix1(i, 2) * spring(i + 1, 1)

If spring(i + 1, 2) <> 0 Then

'if no negative deflection has occurred

'calculate soil pressure

soilqmatrix(i, 1) = Xmatrix(i * 2 + 2) * msr

Else

'if negative deflection has occurred then

'zero the soil pressure

soilqmatrix(i, 1) = 0

End If

Next i

shearmatrix(0, 2) = 0

shearmatrix(0, 1) = 0

For i = 0 To (nm - 1)

shearmatrix(i, 2) = shearmatrix(i, 1) + Pmatrix(i + 1, 2) - spring(i +

1, 2)

shearmatrix(i + 1, 1) = shearmatrix(i, 2)

Next i

shearmatrix(i, 2) = shearmatrix(nm, 1) - spring(i + 1, 2)

'put values of arrays to ListBoxes for showing results

ListBox1.List() = showmatrix1

ListBox3.List() = shearmatrix

ListBox7.List() = spring

ListBox8.List() = soilqmatrix

'dimension the moment array

ReDim momnt(nm, 3)

first = 0

second1 = 0

For i = 1 To nm

momnt((i - 1), 0) = i

'multiply esat matrices with Xmatrix entries

'to get internal moments at nodes

For j = 1 To 2

Page 154: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

143

For k = 1 To 4

m = (i - 1) * 2 + k

momnt((i - 1), j) = momnt((i - 1), j) + esats(i, j, k) *

Xmatrix(m)

Next k

Next j

second1 = momnt(i, 2)

first = momnt(i, 1)

Next i

'show moments on elements in ListBox2

ListBox2.List() = momnt

momentmatrix(0, 1) = 0

momentmatrix(nm, 2) = 0

For i = 0 To (nm - 1)

momentmatrix(i, 2) = -momnt(i, 1)

momentmatrix((i + 1), 1) = momnt(i, 2)

Next i

'show moments on nodes and element lengths

ListBox4.List() = momentmatrix

ListBox10.List() = memberlen.ListBox1.List()

ender:

End Sub

Figure-5.13 Form-Exporter

Code: Exporter

Private Sub CommandButton1_Click()

'read name of file from "filenamer"

filefinder = filenamer.text

'if there any name is given then

If filefinder <> "" Then

Page 155: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

144

'concatenate ".txt" to name of file

filefinder = filefinder & ".txt"

If Dir(filefinder) = "" Then

'if a file with same name does not exist then return control to

'calling routine

Exporter.Hide

Else

'if file exists, ask for replacing

response = MsgBox("File already exists. Replace?", 36)

'if user clicks "OK" then return control to calling

'routine with given file name

If response = 6 Then

Exporter.Hide

Else

'if user clicks "Cancel" then return control to

'calling routine without any file name

filenamer.text = ""

Exporter.Hide

End If

End If

End If

End Sub

Private Sub CommandButton2_Click()

'if user presses "Cancel" then return control

'to calling routine without any file name

filenamer.text = ""

Exporter.Hide

End Sub

Private Sub filenamer_Change()

'read the latest character typed by user

newchar = Right(filenamer.text, 1)

'set charflag to false

charflag = False

If newchar <> "" Then

'if there is any character, put its ASCII code in charnum

charnum = Asc(newchar)

Page 156: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

145

End If

'valid characters are A~Z,a~z,0~9,-, and _; other characters

'are not allowed in file name, therefore check if the input

'character is valid or not

'check if A to Z

If charnum > 64 And charnum < 91 Then charflag = True

'check if a to z

If charnum > 96 And charnum < 123 Then charflag = True

'check if 0 to 9

If charnum > 47 And charnum < 58 Then charflag = True

'check if - or _ and not first char

If Len(filenamer.text) > 1 Then

If charnum = 45 Or charnum = 95 Then charflag = True

End If

'check that 8 character filename limit is not crossed

If Len(filenamer.text) > 8 Then charflag = False

If charflag Then

'if all validity requirements are met then update "checker"

checker.text = filenamer.text

Else

'otherwise give warning beep (for invalid characters

'or exceeding 8 char limit)

beep

'delete the newly entered character from "filenamer"

filenamer.text = checker.text

End If

End Sub

Figure-5.14 Form-Filer

Code: Filer

Private Sub CommandButton1_Click()

'put name of selected file to "FileLoaded" on "BeamDimensions"

Page 157: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

146

BeamDimensions.FileLoaded = filelister.Value

'return control to calling routine

Unload Filer

End Sub

Private Sub CommandButton2_Click()

'if user clicks "Cancel" then reset

'the filename on "BeamDimensions"

BeamDimensions.FileLoaded = ""

'return control to calling routine

Unload Filer

End Sub

Private Sub UserForm_Initialize()

If Dir("init.bdt") <> "" Then

'if file "init.bdt" exists, put it as

'default choice

filelister.Value = "init.bdt"

End If

'get name of first file with ".bdt" extension

'in the default directory

file1 = Dir("*.bdt")

loop1:

'add last read filename from directory to choice list

filelister.AddItem (file1)

'read next filename

file1 = Dir

'if any new file was found, go back to "loop1:"

If file1 <> "" Then GoTo loop1

End Sub

Page 158: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

147

Figure-5.15 Form-loadmom

Code: loadmom

'Declare user-defined type for file I/O

Private Type Record

units55 As Boolean

conbmwt55 As Boolean

consoilsep As Boolean

numel55 As Integer

numpl55 As Integer

nummom55 As Integer

maxiter55 As Integer

numknowdef55 As Integer

numknowrot55 As Integer

beamlen55 As Double

beamwid55 As Double

beamdep55 As Double

beamwt55 As Double

youngs55 As Double

msr55 As Double

maxdef55 As Double

End Type

Page 159: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

148

'Declare user-defined type for file I/O

Private Type doubler

doub As Double

End Type

Private Sub CommandButton1_Click()

'return control back to the calling routine

loadmom.Hide

End Sub

Private Sub CommandButton2_Click()

'exit program

End

End Sub

Private Sub ListBox1_AfterUpdate()

'if ListBox1 is clicked, set the values of clicked

'entry in "nodecur", "loadcur", and "momcur"

nodecur = ListBox1.Value

loadcur = ListBox1.List(Val(nodecur) - 1, 1)

momcur = ListBox1.List(Val(nodecur) - 1, 2)

End Sub

Private Sub loadcur_AfterUpdate()

If nodecur <> "" Then

'if there is any number placed in "nodecur" then put

'current value of "loadcur" in ListBox1

ListBox1.List(Val(nodecur) - 1, 1) = loadcur

'reset numload and nummom to zero

numload = 0

nummom = 0

'loop through all entries of ListBox1

For i = 1 To ListBox1.ListCount

'add 1 to "numload" for each nonzero load in ListBox1 (i.e. count the

number of loads)

If ListBox1.List(i - 1, 1) <> 0 Then numload = numload + 1

'add 1 to "nummom" for each nonzero moment in ListBox1 (i.e. count the

number of moments)

Page 160: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

149

If ListBox1.List(i - 1, 2) <> 0 Then nummom = nummom + 1

Next i

'put value of "numload" in textbox "loadnum"

loadnum = numload

'put value of "nummom" in textbox "momnum"

momnum = nummom

Else

'if "nodecur" is empty then give error message

beep

loadcur = ""

feedback = MsgBox("Input node number first", 48, "Error!")

End If

End Sub

Private Sub momcur_AfterUpdate()

If nodecur <> "" Then

'if there is any number placed in "nodecur" then put

'current value of "momcur" in ListBox1

ListBox1.List(Val(nodecur) - 1, 2) = momcur

'reset numload and nummom to zero

numload = 0

nummom = 0

'loop through all entries of ListBox1

For i = 1 To ListBox1.ListCount

'add 1 to "numload" for each nonzero load in ListBox1 (i.e. count the

number of loads)

If ListBox1.List(i - 1, 1) <> 0 Then numload = numload + 1

'add 1 to "nummom" for each nonzero moment in ListBox1 (i.e. count the

number of moments)

If ListBox1.List(i - 1, 2) <> 0 Then nummom = nummom + 1

Next i

'put value of "numload" in textbox "loadnum"

loadnum = numload

'put value of "nummom" in textbox "momnum"

momnum = nummom

Else

'if "nodecur" is empty then give error message

beep

Page 161: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

150

momcur = ""

feedback = MsgBox("Input node number first", 48, "Error!")

End If

End Sub

Private Sub nodecur_AfterUpdate()

If Val(nodecur) < (BeamDimensions.numelem + 2) And Val(nodecur) > 0 And

Val(nodecur) = Int(Val(nodecur)) Then

'if current node number is less or equal to total number of nodes,

positive, and integer then

'select corresponding entry in ListBox1 and

'put value of selected load and moment from ListBox1 in "loadcur" and

"momcur"

ListBox1.ListIndex = Val(nodecur) - 1

loadcur = ListBox1.List(Val(nodecur) - 1, 1)

momcur = ListBox1.List(Val(nodecur) - 1, 2)

Else

'otherwise give error beep, and clear the text boxes for re-entry

beep

nodecur = ""

loadcur = ""

momcur = ""

'set flag ctrlbck for getting focus back

ctrlbck.Value = True

End If

End Sub

Private Sub loadcur_Enter()

If ctrlbck.Value = True Then

'give focus back to "nodecur" if it contained an invalid entry

ctrlbck.Value = False

nodecur.SetFocus

End If

End Sub

Private Sub UserForm_Initialize()

If BeamDimensions.fpsunits = True Then

'set units of "loadmom" to fps if set in BeamDimensions

Page 162: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

151

Label2.Caption = "Load (kip):"

Label3.Caption = "Moment (kip-ft):"

Label7.Caption = "Load kip"

Label8.Caption = "Moment kip-ft"

End If

'read total number of nodes from form-"BeamDimensions"

numnode = 1 + BeamDimensions.numelem

'read total number of elements from form-"BeamDimensions"

numelem = BeamDimensions.numelem

loadflag = True

'dimension an array according to number of nodes

numnode = numnode - 1

ReDim nodedata(numnode, 3)

If BeamDimensions.filestatus = True Then

'if a file has been read in BeamDimensions then

'Declare filerec to be of user-defined type Record

Dim filerec As Record

'open same file for random I/O which was opened in "BeamDimensions"

Open BeamDimensions.FileLoaded For Random As #1 Len = Len(filerec)

' Read record from file

Get #1, 1, filerec

'Close the file

Close #1

numelemfile = filerec.numel55

'check if number of elements is same in file as

'on "BeamDimensions"

If Val(numelem) = Val(numelemfile) Then

'Declare "nod2" to be of user type "doubler"

Dim nod2 As doubler

'get name of "beam data (bdt) file" from "BeamDimensions"

file1 = BeamDimensions.FileLoaded

'truncate ".bdt" and concatenate ".ndt" (node data)

len1 = Len(file1) - 4

file1 = Left(file1, len1)

file1 = file1 & ".ndt"

'open the .ndt file

Open file1 For Random As #1 Len = Len(nod2)

currec = BeamDimensions.numelem

Page 163: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

152

'loop for all nodes and read loads

For i = 0 To currec

recnum = i + currec + 1

Get #1, recnum, nod2

'put loads to array "nodedata"

nodedata(i, 1) = nod2.doub

Next i

'loop for all nodes and read node moments

For i = 0 To currec

recnum = recnum + 1

Get #1, recnum, nod2

'put moments to array "nodedata"

nodedata(i, 2) = nod2.doub

Next i

'close .ndt file

Close #1

loadflag = False

End If

End If

'loop through all nodes

For i = 0 To numnode

'put node numbers in array

nodedata(i, 0) = i + 1

'check if file is loaded, otherwise set all loads and moments to zero

If loadflag Then

nodedata(i, 1) = 0

nodedata(i, 2) = 0

End If

Next i

'put values of array "nodedata" in "ListBox1"

ListBox1.List() = nodedata

'reset numload and nummom to zero

numload = 0

nummom = 0

'loop through all entries of ListBox1

For i = 1 To ListBox1.ListCount

'count all loads and moments

If ListBox1.List(i - 1, 1) <> 0 Then numload = numload + 1

Page 164: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

153

If ListBox1.List(i - 1, 2) <> 0 Then nummom = nummom + 1

Next i

'put number of loads in "loadnum"

loadnum = numload

'put number of moments in "momnum"

momnum = nummom

End Sub

Figure-5.16 Form-memberlen

Code: memberlen

'Declare user-defined type for file I/O

Private Type Record

units55 As Boolean

conbmwt55 As Boolean

consoilsep As Boolean

numel55 As Integer

numpl55 As Integer

nummom55 As Integer

maxiter55 As Integer

numknowdef55 As Integer

numknowrot55 As Integer

beamlen55 As Double

beamwid55 As Double

Page 165: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

154

beamdep55 As Double

beamwt55 As Double

youngs55 As Double

msr55 As Double

maxdef55 As Double

End Type

'Declare user-defined type for file I/O

Private Type doubler

doub As Double

End Type

Private Sub CommandButton1_Click()

'exit program

End

End Sub

Private Sub CommandButton2_Click()

'set flag "noerror" to true

noerror = True

If sumlen <> totlen Then

'if summation of length of elements is not equal to total length of beam

then

'give warning beep

beep

'set flag "noerror" to false i.e. error has occured

noerror = False

'prepare error message string

prompter$ = "Summation of element lengths is not equal to total length

of the beam"

'show error message

feedback = MsgBox(prompter$, 48, "Error!")

End If

'set flag "zeroerror" to false

zeroerror = False

'loop through all entries of ListBox1

For i = 1 To ListBox1.ListCount

'if any element length is set equal to zero then

'set flag "zeroerror" to true

Page 166: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

155

If ListBox1.List(i - 1, 1) = 0 Then zeroerror = True

Next i

'proceed of no error has occured

If noerror Then

If zeroerror Then

'if any element has zero length then set "noerror" to false

noerror = False

'prepare error message string

prompter$ = "No element should have zero length."

'show erro message

feedback = MsgBox(prompter$, 48, "Error!")

End If

End If

If noerror Then

'if no error has occured then give control back to the calling routine

memberlen.Hide

End If

End Sub

Private Sub elemcur_AfterUpdate()

If Val(elemcur) < (BeamDimensions.numelem + 1) And Val(elemcur) > 0 And

Val(elemcur) = Int(Val(elemcur)) Then

'if current element number is less or equal to total number of elements,

not equal to zero, and integer then

'select corresponding entry in ListBox1 and

'put value of selected length from ListBox1 in "lengthcur"

ListBox1.ListIndex = Val(elemcur) - 1

lengthcur = ListBox1.List(Val(elemcur) - 1, 1)

Else

'otherwise give error beep, and clear the text boxes for re-entry

beep

elemcur = ""

lengthcur = ""

'set flag ctrlbck for getting focus back

ctrlbck.Value = True

End If

End Sub

Page 167: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

156

Private Sub lengthcur_AfterUpdate()

If elemcur <> "" Then

'if there is any number placed in "elemcur" then put

'current value of "lengthcur" in ListBox1

ListBox1.List(Val(elemcur) - 1, 1) = lengthcur

'reset sumlen to zero

sumlen = 0

'loop through all entries of ListBox1

For i = 1 To ListBox1.ListCount

'add lengths of all elements to "sumlen"

sumlen = Val(sumlen) + ListBox1.List(i - 1, 1)

Next i

Else

'if there is no entry in "elemcur" then give warning

beep

feedback = MsgBox("Input element number first", 48, "Error!")

End If

End Sub

Private Sub lengthcur_Enter()

If ctrlbck.Value = True Then

'give focus back to "elemcur" if it contained an invalid entry

ctrlbck.Value = False

elemcur.SetFocus

End If

End Sub

Private Sub ListBox1_AfterUpdate()

'if ListBox1 is clicked, set the values of clicked

'entry in "elemcur" and "lengthcur"

elemcur = ListBox1.Value

lengthcur = ListBox1.List(Val(elemcur) - 1, 1)

End Sub

Private Sub UserForm_Initialize()

If BeamDimensions.fpsunits = True Then

'set units of "memberlen" to fps if set in BeamDimensions

Label6.Caption = "Length ft"

Page 168: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

157

Label2.Caption = "Element Length (ft):"

End If

'read total length of beam from form-"BeamDimensions"

totlen = BeamDimensions.Beamlength

'read total number of elements from form-"BeamDimensions"

numelem = BeamDimensions.numelem

loadflag = True

'dimension an array according to number of elements

ReDim lengthList((numelem - 1), 2)

If BeamDimensions.filestatus = True Then

'if a file has been read in BeamDimensions then

'Declare filerec to be of user-defined type Record

Dim filerec As Record

'open same file for random I/O which was opened in "BeamDimensions"

Open BeamDimensions.FileLoaded For Random As #1 Len = Len(filerec)

'read data from file

Get #1, 1, filerec

'Close the file

Close #1

numelemfile = filerec.numel55

'check if number of elements is same in file as

'on "BeamDimensions"

If Val(numelem) = Val(numelemfile) Then

'Declare "nod2" to be of user type "doubler"

Dim nod2 As doubler

'get name of "beam data (bdt) file" from "BeamDimensions"

file1 = BeamDimensions.FileLoaded

'truncate ".bdt" and concatenate ".ndt" (node data)

len1 = Len(file1) - 4

file1 = Left(file1, len1)

file1 = file1 & ".ndt"

'open the .ndt file

Open file1 For Random As #1 Len = Len(nod2)

currec = BeamDimensions.numelem

'loop for all elements

For i = 1 To currec

'read length of elements

Get #1, i, nod2

Page 169: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

158

'put lengths to array "lengthList"

lengthList(i - 1, 1) = nod2.doub

Next i

'close .ndt file

Close #1

loadflag = False

End If

End If

'loop through all elements

For i = 0 To (numelem - 1)

'put element numbers in array

lengthList(i, 0) = i + 1

'check if file is loaded, otherwise set all lengths to zero

If loadflag Then

lengthList(i, 1) = 0

End If

Next i

'put values of array "lengthList" in "ListBox1"

ListBox1.List() = lengthList

'reset sumlen to zero

sumlen = 0

'loop through all entries of ListBox1

For i = 1 To ListBox1.ListCount

'add lengths of all elements to "sumlen"

sumlen = sumlen + ListBox1.List(i - 1, 1)

Next i

End Sub

Figure-5.17 Form-saver

Code: saver

Private Sub CommandButton1_Click()

'read name of file from "filenamer"

Page 170: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

159

filefinder = filenamer.text

'if there any name is given then

If filefinder <> "" Then

'concatenate ".bdt" to name of file

filefinder = filefinder & ".bdt"

If Dir(filefinder) = "" Then

'if a file with same name does not exist then return control to

'calling routine (file name is sent to it)

saver.Hide

Else

'if file exists, ask for replacing

response = MsgBox("File already exists. Replace?", 36)

'if user clicks "OK" then return control to calling

'routine with given file name

If response = 6 Then

saver.Hide

Else

'if user clicks "Cancel" then return control to

'calling routine without any file name

filenamer.text = ""

saver.Hide

End If

End If

End If

End Sub

Private Sub CommandButton2_Click()

'if user presses "Cancel" then return control

'to calling routine without any file name

filenamer.text = ""

saver.Hide

End Sub

Private Sub filenamer_Change()

'read the latest character typed by user

newchar = Right(filenamer.text, 1)

'set charflag to false

charflag = False

Page 171: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

160

If newchar <> "" Then

'if there is any character, put its ASCII code in charnum

charnum = Asc(newchar)

End If

'valid characters are A~Z,a~z,0~9,-, and _; other characters

'are not allowed in file name, therefore check if the input

'character is valid or not

'check if A to Z

If charnum > 64 And charnum < 91 Then charflag = True

'check if a to z

If charnum > 96 And charnum < 123 Then charflag = True

'check if 0 to 9

If charnum > 47 And charnum < 58 Then charflag = True

'check if - or _ and not first char

If Len(filenamer.text) > 1 Then

If charnum = 45 Or charnum = 95 Then charflag = True

End If

'check that 8 character filename limit is not crossed

If Len(filenamer.text) > 8 Then charflag = False

If charflag Then

'if all validity requirements are met then update "checker"

checker.text = filenamer.text

Else

'otherwise give warning beep (for invalid characters

'or exceeding 8 char limit)

beep

'delete the newly entered character from "filenamer"

filenamer.text = checker.text

End If

End Sub

Code: starter

Private Sub Label1_Click()

'return control to calling routine

Unload starter

End Sub

Private Sub UserForm_Click()

Page 172: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

161

'return control to calling routine

Unload starter

End Sub

Page 173: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

162

C H A P T E R S I X

USER GUIDE

6.1 Installation

The program BEAMDEZ is included with this thesis on a floppy put inside the back

cover. Run the INSTALL.EXE file. It’s a WinZip SelfExtractor file with “C:\Program

Files\ACAD2000\” as default directory. If AutoCAD 2000 directory is different on your

computer then provide its path. This file will install required files in your AutoCAD 2000

directory.

Figure-6.1 Figure-6.2

6.2 Loading the Program

At AutoCAD 2000 command prompt type APPLOAD and press enter, or choose “Load

Application” from “Tools” menu as shown in figures 6.1 and 6.2 respectively. Choose

the “beam.dvb” file and click the load button as shown in figure 6.3

Page 174: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

163

Figure-6.3

6.3 Running the Program

Type VBARUN at AutoCAD command prompt (figure-6.4). This will bring the macro

dialog. Choose beam.dvb!beamrun and click the run button (figure-6.5). This will

bring the initialization screen with logo, click anywhere on this screen to continue.

Figure-6.4

Page 175: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

164

Figure-6.5

6.4 Entering Beam Data

Figure-6.6

Page 176: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

165

Either load data from a file or enter new data. To load a data file, click on button labeled

“Load Data File”, choose a file name and click “OK”. To enter new data, select units,

and fill the boxes with suitable data. Holding mouse cursor over anything for a while

shows a help tip, as shown for “Concrete E” in the figure. After filling the boxes, click

“OK” to continue, this will bring the form for element lengths.

6.5 Discretizing the Beam

Element lengths should be selected in such a way that nodes should be available at

column centers and edges. Also, the element aspect ratio of 2:1 is recommended, i.e., no

element should be more than double than its adjacent elements. The examples, which are

given in next chapter, may be referred for clarification of discretization.

6.6 Entering Element Lengths

Element lengths are then entered in the form shown below:

Figure-6.7

6.7 Applied Loads and Moments

The loads and moment applied through the columns are entered in the form shown on

next page at the central nodes of columns.

Page 177: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

166

Figure-6.8

6.8 Boundary Conditions

If there are any known rotations or deflections, they are entered in the form shown below.

All unknown rotations and deflections are marked as “none”.

Figure-6.9

Page 178: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

167

6.9 Results

After entering all the data, the results are shown on a multipage. Below are shown the

output results on different pages.

Figure-6.10 Figure-6.11

Figure-6.12 Figure-6.13

Page 179: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

168

Figure-6.14 Figure-6.15

Figure-6.16 Figure-6.17

Page 180: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

169

Figure-6.18 Figure-6.19

Figure-6.20

Page 181: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

170

6.10 Cursor Icons

The program shows different cursor icons when mouse is over different objects; they are

described below.

The Pencil: Mouse cursor changes to pencil icon when it is over a box in which the

user can enter values.

The Mouse: Mouse cursor changes to mouse icon when it is over something that

can be clicked only for selection.

The Floppy: Mouse cursor changes to floppy icon when it is over a button that is

for loading or saving files.

The Green Signal: Mouse cursor changes to green signal icon when it is over ‘OK’

button, user gives the green signal to proceed to next step.

The Exit Door: Mouse cursor changes to exit door icon when it is over the exit

button.

The Graph: Mouse cursor changes to graph icon when it is over the plot button.

Printing: Mouse cursor changes to printing icon when it is over the ‘print this

screen’ button.

Text: Mouse cursor changes to text icon when it is over the button for exporting

results in text format.

The Band Matrix: Mouse cursor changes to band matrix icon when it is over the

button for viewing the band matrix.

The MUET Monogram: Mouse cursor changes to Mehran University’s

monogram when it is over the ‘about’ button.

U Turn: Mouse cursor changes to U Turn icon when it is over the ‘new problem’

button.

Page 182: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

171

C H A P T E R S E V E N

EXAMPLE PROBLEMS

Example problem 1:

Design a rectangular combined footing using the conventional method.

Given:

Column Dead load (kN) Live load (kN) Total load (kN)

1 189 277 466

2 157 191 348

Applied loads

kPaqMPafMPaf acy 1107.20414'

Page 183: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

172

Column Momentdead (kN-m) Momentlive (kN-m) Total moment

1 16 15 21

2 35 30 65

Applied Moments

Solution:

Step 1 convert loads to ultimate and find “ultimate” soil pressure:

This is necessary so that eccentricity is not introduced in finding L using working loads

and then switching to “ultimate” values.

Step 2 Find footing dimensions L and B; first locate load resultant from center of

column 2.

To make the resultant of 1280 kN (factored loads) fall at L/2 :

kNpu 5.735)277(7.1)189(4.11

kNPu 5.544)191(7.1)157(4.12

kNPPPw 81434846621

kNPPP uuu 12805.5445.73521

814

1280

w

u

P

PURratioUltimate

572.1UR

)572.1(110)( URqq ault

kPaqult 973.172

9.47100)5.735(51280 x

mL 775.522

26.757.2

mx 757.21280

9.47100)5.735(5

Page 184: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

173

Step 3 Find B:

qult = 172.973 1.281 = 221.6475 kN/m

Use B = 1.35 m

Step 4 Draw shear and moment diagrams

uPBLq

mB 281.1)973.172)(775.5(

1280

Page 185: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

174

Step 5 select depth based on analysis for both wide-beam and diagonal tension.

Obtain critical location for wide beam first (slope of shear diagram = constant) using V

diagram:

Checking diagonal tension at column 2 using d just obtained for a three-side zone and

vc=1.29 MPa from table A-1

The net shear is (column load – upward soil force) in diagonal tension zone:

)(129.559. inspectionbycolumnatkNVMax

ddBvc 648.22129.559

)1(66.0 AtablefromallowableMPavc

dd 648.22129.559)100066.0(35.1

29.559648.221891 dd

md 503.0648.1112

29.559

mperimeter 786.1503.026.0)2)(2/503.026.0(

2391.0)763.0)(512.0()503.026.0)(2/503.026.0( mA

kNPPV soilcol 304.48035.1

648.221391.05.544

.2

2 columnofwidthwwheredwd

wperimeter

dwd

wA

2

Page 186: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

175

At column 1 a four-side zone gives

By inspection a three-side diagonal tension is not critical at column 1.

Step 6 Design main reinforcement steel (between column 1 and 2).

For fy=414 MPa and fc’=20.7 MPa and b = 1.35 m

Obtain a:

..1290647.534)503.0)(786.1(

304.480KOkPakPavActual

222 645.0)503.03.0()( mdwA

kNV 633.62935.1

648.221645.05.735

mdwperimeter 212.3)503.03.0(4)(4

..1290712.389503.0212.3

633.629KOkPakPav

u

n

MM

u

ys

MadfA )2/(

y

us

f

MadA )2/(

TC

ysc fAabf '

85.0

s

s

c

ysA

A

bf

fAa 429.17

)35.1)(20700(85.0

414000

85.0'

)414000(9.0

655.646)715.8503.0( ss AA

Page 187: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

176

Using quadratic formula:

< max = 0.016 from table A-2.

Use 10, 25mm bars @ 14 cm c/c spacing across top of footing (As = 4909 mm2)

Run 1/3 of bars full length of footing (less 7.5 cm end covers)

Development length:

Total length of bar provided = 5 + 0.13/2 + 0.15 =5.215 m

Step 7 Find steel in short direction at column 2 (refer to figure for width):

000174.0503.0715.82

ss AA

24898 mmAs

..38.1

0072.0)503.0(35.1

004898.0min KO

fbd

A

y

s

mdwB 637.0)503.0(75.026.075.0'

2

1

'

1 9.490019.0/ mmAandCwhereffACL bcybd

mmLd 8497.20/4149.490019.0

mmdandCwherefdCL bybd 25058.0min 22

mmLd 60041425058.0min

Page 188: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

177

Take d = 0.503 - 0.025=0.478 m to allow for longitudinal rebars:

Using quadratic formula:

Use 4, 18 mm bars (As=1016 mm2)

Development length

Ld furnished = 0.545 – 0.025 = 0.52 m

mwB

L 545.02

26.035.1

2'

)(928.632)637.0(35.1

5.544

'

2 veconservatikPaBB

Pq u

mkNL

qM 998.932

545.0928.632

2

' 22

ys

f

MadA )2/(

ss

c

yAA

Bf

fa 938.36

'85.0'

)414000(90.0

998.93)469.18478.0( ss AA

2538 mmAs

minmin 0033.038.1

00177.0)478.0(637.0

000538.0 use

f y

2

min 1005)478.0)(637.0(0033.0' mmdBAs

mmfAfL cbyd 4397.20/254414019.0/019.0'

mmLd 43241418058.0min

0000252.0478.0469.182

ss AA

Page 189: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

178

Compute short direction steel at column 1; use d = 0.478 m

Using quadratic formula:

Use 7, 18 mm bars (As = 1778 mm2)

mB 017.1)478.0(5.13.0'

kPaq 708.535)017.1(35.1

5.735

mkNM 827.732

525.0708.535

2

y

us

f

MadA )2/(

s

c

syA

Bf

Afa 138.23

'85.0'

)414000(9.0

827.73)568.11478.0( ss AA

0000198.047.0568.112

ss AA

27.418 mmAs

0033.000086.0)478.0(017.1

0004187.0minmin use

21620)478.0)(017.1(0033.0 mmAs

mmLd 4397.20/254414019.0

mL 525.02

3.035.1'

Page 190: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

179

Step 8 Check dowel requirements of column to footing. At column 2 the supporting area

is not on all sides; therefore, the bearing stress is limited to

Dowels not required for load transfer

Use 4 dowels to provide at least 0.005 Ag:

Use 4, 12 mm bars (As= 452 mm2). At column 1 with concrete all around

Use four dowels same size as column 2.

Step 9 Provide minimum reinforcement ratio of 0.002 for cantilever portion of footing.

Use 7, 18 mm bars @ 20.5 cm c/c (As = 1778 mm2)

Run 4 bars full length to use as chairs for short direction steel.

Step 10 Final sketch (and using approximate minimum steel = 1.38/fy for transverse

zones “a” of fig below):

When zone a = 3.985,

MPaff cc 317.12))(7.0(85.0'

OKkNkNP 5.544595.832)26.0(1000317.12 2

22 338)26.0(005.0 mmAs

221

2 useA

A

MPaff cc 633.24)2)()(7.0(85.0'

kNkNP 5.73597.2216)3.0)(1000(633.24 2

21620)6.0)(35.1(002.0 mmAs

7.085.0'

whereff cc

Page 191: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

180

As=(1.38 / 414)3.9850.478=6349 mm2

Use 25- 18 mm bars

When zone a = 0.136 m, use one 18 mm bar

As steel in both “a” zones and “b” zones (w+0.75d and w+1.5d, from Step 7) is calculated

using min therefore they are considered as a single zone for computing bar-spacing.

Use 37- 18mm bars @ 15.7 cm c/c.

Final design sketch

Page 192: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

181

Example problem 2:

Redesign the footing in Example problem 1 by using the finite element method.

Determine rotations, deflections, shear, moment, and soil pressure at every node and draw

the shear force, bending moment, deflection, and soil pressure diagrams.

Solution:

Step 1 Input data to the finite element program: BEAMDEZ.

Beam Data:

beam length = 5.775 (m)

beam width = 1.35 (m)

beam depth = 0.6 (m)

ks is calculated as:

ks = 40(safety factor)qa

ks = 403110 =13200 kN/m3

Load factor, LF = Pu/Pw = 1280/814 = 1.572

Use ks = LFks = 1.57213200 = 20757 kN/m3

modulus of subgrade reaction, ks = 20757 (kN/m^3)

modulus of elasticity for concrete = 22500000 (kPa)

Step 2 Discretize the beam and input element data to the program

number of elements = 17

Page 193: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

182

Element Length (m)

1 0.295

2 0.2

3 0.15

4 0.15

5 0.226

6 0.3

7 0.4

8 0.5

9 0.5

10 0.597

11 0.597

12 0.55

13 0.45

14 0.35

15 0.25

16 0.13

17 0.13

Page 194: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

183

Step 3 Input the applied loads to the program.

Applied Loads:

number of point loads = 2

number of moments = 2

node point load (kN) moment (kN-m)

1 0 0

2 0 0

3 0 0

4 735.5 100

5 0 0

6 0 0

7 0 0

8 0 0

9 0 0

10 0 0

11 0 0

12 0 0

13 0 0

14 0 0

15 0 0

16 0 0

17 544.5 47.9

18 0 0

Step 4 Get the output from the program

Shear and moment at different nodes is computed as follows by the finite element

program BEAMDEZ.

Page 195: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

184

(a) Finite element nodes, (b) Shear force diagram (c) Bending moment diagram.

Page 196: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

185

Rotations and Deflections:

node rotation (rads) deflection (m)

1 -1.0377734519643E-03 8.8755662258179E-03

2 -1.04361249509537E-03 8.56884888491384E-03

3 -1.05638757642438E-03 8.35901080225222E-03

4 -1.07318810583341E-03 8.19938202401738E-03

5 -1.11015071144748E-03 8.03536039563571E-03

6 -1.12684593522424E-03 7.78172663389098E-03

7 -1.08375114556973E-03 7.4483775443608E-03

8 -9.27498528441175E-04 7.04266946511677E-03

9 -6.06595717569664E-04 6.65408366768268E-03

10 -1.85513876241704E-04 6.45277025262321E-03

11 3.88229918489995E-04 6.51090393322486E-03

12 9.74252507162242E-04 6.91876025529445E-03

13 1.46282862209597E-03 7.59268047671494E-03

14 1.78245567183365E-03 8.32638602463571E-03

15 1.95576683773571E-03 8.98283942851845E-03

16 2.02771044502576E-03 9.48177916983684E-03

17 2.04527493002787E-03 9.74668144612059E-03

18 2.04471122365116E-03 1.00125183324716E-02

Shear at Nodes:

node shear on left (kN) shear on right(kN)

1 0 -73.3696485354595

2 -73.3696485354595 -132.798322650586

3 -132.798322650586 -173.789584631866

4 -173.789584631866 527.246014401947

5 527.246014401947 484.914718561112

6 484.914718561112 427.56516088854

7 427.56516088854 354.51383879332

8 354.51383879332 265.706639565207

9 265.706639565207 172.476439649397

10 172.476439649397 73.2971054981952

11 73.2971054981952 -35.6244845113681

12 -35.6244845113681 -146.813032293577

Page 197: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

186

node shear on left (kN) shear on right(kN)

13 -146.813032293577 -253.193888635818

14 -253.193888635818 -346.522517781034

15 -346.522517781034 -422.037520978226

16 -422.037520978226 -472.520129921786

17 -472.520129921786 36.4741374588287

18 36.4741374588287 7.570477578E-09

Moments at Nodes:

node moment on left(kN-m) moment on right(kN-m)

1 0 -1.2805685400E-09

2 -21.6440463167964 -21.6440463183681

3 -48.2037108479999 -48.2037108461373

4 -74.2721485455986 -174.272148543503

5 -95.18524638284 -95.18524638284

6 14.4054800115991 14.4054800113663

7 142.675028279366 142.675028278434

8 284.480563796737 284.480563796329

9 417.333883579675 417.33388357998

10 503.572103404265 503.572103404724

11 547.330475387753 547.330475387891

12 526.062658134899 526.062658134702

13 445.315490374443 445.315490374342

14 331.378240488208 331.378240488732

15 210.09535926531 210.095359265339

16 104.585979021329 104.585979020922

17 43.1583621315658 -4.74163786880672

18 0 0

Soil Pressure:

node soil pressure Q (kPa)

1 184.230128149302

2 177.863596304157

3 173.507987222349

4 170.194572672529

5 166.789975732211

Page 198: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

187

node soil pressure Q (kPa)

6 161.525299739675

7 154.605972688297

8 146.184690087429

9 138.118814690089

10 133.9401521337

11 135.146832941948

12 143.612706619147

13 157.601268655172

14 172.830794713363

15 186.456798017757

16 196.813290228303

17 202.311866777125

18 207.829843027112

Step 5 select depth based on analysis for both wide-beam and diagonal tension.

Obtain critical location for wide beam first (slope of shear diagram = constant) using V

diagram:

)(125.527. inspectionbycolumnatkNVMax

Page 199: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

188

Checking diagonal tension at column 2 using d just obtained for a three-side zone and

vc=1.29 MPa from table A-1:

The net shear is (column load – upward soil force) in diagonal tension zone:

At column 1 a four-side zone gives

ddBvc 648.22125.527

)1(66.0 AtablefromallowableMPavc

dd 648.22125.527)100066.0(35.1

25.527648.221891 dd

md 474.0648.1112

25.527

mperimeter 728.1474.026.0)2)(2/474.026.0(

2365.0)734.0)(497.0()474.026.0)(2/474.026.0( mA

kNPPV soilcol 606.48435.1

648.221365.05.544

..1290653.591)474.0)(728.1(

606.484KOkPakPavActual

222 599.0)474.03.0()( mdwA

.2

2 columnofwidthwwheredwd

wperimeter

dwd

wA

2

Page 200: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

189

By inspection a three-side diagonal tension is not critical at column 1.

Step 6 Design main reinforcement steel (between column 1 and 2).

For fy=414 MPa and fc’=20.7 MPa and b = 1.35 m

Obtain a:

Using quadratic formula:

< max = 0.016 from table A-2.

Use 9, 22mm bars @ 15.75 cm c/c spacing across top of footing (As = 3420 mm2)

Run 1/3 of bars full length of footing (less 7.5 cm end covers)

Development length:

kNV 142.63735.1

648.221599.05.735

mdwperimeter 096.3)474.03.0(4)(4

..1290167.434474.0096.3

142.637KOkPakPav

s

s

c

ysA

A

bf

fAa 429.17

)35.1)(20700(85.0

414000

85.0'

)414000(9.0

33.547)715.8474.0( ss AA

000147.0474.0715.82

ss AA

23302 mmAs

..38.1

0052.0)474.0(35.1

003302.0min KO

fbd

A

y

s

2

1

'

1 380019.0/ mmAandCwhereffACL bcybd

mmLd 6577.20/414380019.0

Page 201: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

190

Total length of bar provided = 5 + 0.13/2 + 0.15 =5.215 m

Step 7 Find steel in short direction at column 2 (refer to figure for width):

Take d = 0.474 - 0.025=0.449 m to allow for longitudinal rebars:

mdwB 616.0)474.0(75.026.075.0'

mwB

L 545.02

26.035.1

2'

)(762.654)616.0(35.1

5.544

'

2 veconservatikPaBB

Pq u

mkNL

qM 24.972

545.0762.654

2

' 22

ys

f

MadA )2/(

ss

c

yAA

Bf

fa 198.38

'85.0'

)414000(90.0

24.97)099.19449.0( ss AA

mmdandCwherefdCL bybd 22058.0min 22

mmLd 52841422058.0min

000026.0449.0099.192

ss AA

Page 202: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

191

Using quadratic formula:

Use 6, 14 mm bars (As=924 mm2)

Development length

Ld furnished = 0.545 – 0.025 = 0.52 m

Compute short direction steel at column 1; use d = 0.449 m

2594 mmAs

minmin 0033.038.1

0022.0)449.0(616.0

000594.0 use

f y

2

min 922)449.0)(616.0(0033.0' mmdBAs

mmfAfL cbyd 2667.20/154414019.0/019.0'

mB 974.0)449.0(5.13.0'

kPaq 358.559)974.0(35.1

5.735

mkNM 087.772

525.0358.559

2

y

us

f

MadA )2/(

s

c

syA

Bf

Afa 158.24

'85.0'

)414000(9.0

087.77)079.12449.0( ss AA

mmLd 33641414058.0min

mL 525.02

3.035.1'

Page 203: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

192

Using quadratic formula:

Use 6, 18 mm bars (As = 1524 mm2)

Step 8 Check dowel requirements of column to footing.

Dowel requirements for load transfer at column 1 and column 2 are same as in Example

problem 1.

Step 9 Provide minimum reinforcement ratio of 0.002 for cantilever portion of footing:

Same as in Example problem 1.

000021.0449.0079.122

ss AA

27.473 mmAs

0033.00011.0)449.0(974.0

0004737.0minmin use

21458)449.0)(974.0(0033.0 mmAs

mmLd 4397.20/254414019.0

Page 204: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

193

COMPARISON

#

Conventional

Method

Finite Element

Method %

1 Max. Shear at column 1 559.29 kN 527.25 kN -5.73

2 Max. Shear at column 2 486.87 kN 472.52 kN -2.95

3 Max. mid-span Moment 646.66 kN-m 547.33 kN-m -15.36

4

Max. Moment under

col-1 59.72 kN-m 95.19 kN-m 59.39

Area of steel required mm2

5

Main reinforcement

steel (between col. 1

and 2) 4898 3302 -32.58

6

Transverse steel under

column 1 1620 1458 -10.00

7

Transverse steel under

column 2 1005 922 -8.26

8

Steel in cantilever

portion 1620 1620 0

Page 205: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

194

Example problem 3:

Design a rectangular combined footing using the conventional method.

Given:

Column Dead load (kip) Live load (kip) Total load (kip)

1 120 80 200

2 70 60 130

3 150 100 250

Applied loads

Column Momentdead (kip-ft) Momentlive (kip-ft) Total Moment

(kip-ft)

1 40.5 25.5 66

2 28 24 52

3 42 36 78

Applied Moments

ksfqksifksif acy 4440'

Page 206: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

195

Solution:

Step 1 convert loads to ultimate and find “ultimate” soil pressure:

Mu1 = 1.4(40.5) + 1.7(25.5) = 100 kip-ft

Mu2 = 1.4(28) + 1.7(24) = 80 kip-ft

Mu3 = 1.4(42) + 1.7(36) = 120 kip-ft

This is necessary so that eccentricity is not introduced in finding L using working loads

and then switching to “ultimate” values.

Step 2 Find footing dimensions L and B; first locate load resultant from center of

column 2.

To make the resultant of 884 kip (factored loads) fall at L/2 :

kippu 304)80(7.1)120(4.11

kipPu 200)60(7.1)70(4.12

kipPPPPw 580250130200321

kipPPPP uuuu 884380200304321

580

884

w

u

P

PURratioUltimate

524.1UR

)524.1(4)( URqq ault

ksfqult 097.6

12080100)380(27)200(12884 x

ftL 293.30212

848.14

ftx 48.14884

12080100)380(27)200(12

kipPu 380)100(7.1)150(4.13

Page 207: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

196

Step 3 Find B:

qult = 6.097 4.787 = 29.182 kip/ft

Use B = 4.84 ft

uPBLq

ftB 787.4)097.6)(293.30(

884

Page 208: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

197

Step 4 Draw shear and moment diagrams

Page 209: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

198

Step 5 select depth based on analysis for both wide-beam and diagonal tension.

Obtain critical location for wide beam first (slope of shear diagram = constant) using V

diagram:

Checking diagonal tension at column 1 using d just obtained for a three-side zone and

vc=31.0 ksf from table A-1.

The net shear is (column load – upward soil force) in diagonal tension zone:

)(3483.281. inspectionbycolumnatkipVMax

ddBvc 182.29483.281

)1(5.15 Atablefromallowableksfvc

483.281202.104 d

ftd 7.2202.104

483.281

ftperimeter 9.47.212/16)2)(2/7.212/16(

2823.10)7.212/16)(2/7.212/16( ftA

kipPPV soilcol 744.23884.4

182.29823.10304

..31407.9)7.2)(4.9(

744.238KOksfksfvActual

.2

2 columnofwidthwwheredwd

wperimeter

dwd

wA

2

Page 210: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

199

At column 2 a four-side zone gives

At column 3 a four-side zone gives

By inspection a three-side diagonal tension is not critical at column 2 and column 3.

Step 6 Design main reinforcement steel (between column 2 and 3).

For fy=40 ksi and fc’=4 ksi and b = 4.84 ft

Obtain a:

222 69.13)7.21()( ftdwA

kipV 458.11784.4

182.2969.13200

ftdwperimeter 8.14)7.21(4)(4

..31939.27.28.14

458.117KOksfksfv

u

n

MM

y

us

f

MadA )2/(

TC

ysc fAabf '

85.0

s

s

c

ysA

A

bf

fAa 203.0

)1284.4)(4(85.0

40

85.0'

222 64.17)7.25.1()( ftdwA

kipV 642.27384.4

182.2964.17380

ftdwperimeter 8.16)7.25.1(4)(4

..31033.67.28.16

642.273KOksfksfv

Page 211: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

200

Using quadratic formula:

< max = 0.037 from table A-2

Use 18 #9 bars @ 3 inch c/c spacing across top of footing (As = 18 inch2)

Development length:

Design main reinforcement steel (between column 1 and 2).

a = 0.203As

Using quadratic formula:

< max = 0.037 from table A-1.

)40(9.0

12267.1596)1015.0127.2(

ss AA

01.5324.321015.02

ss AA

237.17 inchAs

..200

0092.0144)7.2(84.4

37.17min KO

fbd

A

y

s

2

1

'

1 0.104.0/ inchAandCwhereffACL bcybd

inchLd 254000/400000.104.0

inchdandCwherefdCL bybd 125.10004.0min 22

inchLd 1840000125.10004.0min

)40(9.0

1295.1286)1015.0127.2(

ss AA

098.4284.321015.02

ss AA

284.13 inchAs

..200

0074.0144)7.2(84.4

84.13min KO

fbd

A

y

s

Page 212: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

201

Use 14 #9 bars (As = 14 inch2)

Development length:

Step 7 Lengths of bars for main reinforcement

Size of bars required is same for span-1 (col-1 ~ col-2) and span-2 (col-2 ~ col-3)

therefore run 14 bars full length of the footing (less 3 inch end-cover on each side) and

cut off the remaining 4 bars of span-2 at 24 inch beyond col-2 as computed from moment

capacity diagram shown below.

Moment capacity for 14#9 bars in span-1:

Mn = Asfy(d-a/2) where As = 14 in2

a =4000014/(0.8540004.8412) = 2.836

Mn = 1440000(32.5-2.836/2) = 17405.92 kip-in = 1450.49 kip-ft

Mn = 0.91450.49 = 1305.44 kip-ft

Moment capacity for 18#9 bars in span-2:

Mn = Asfy(d-a/2) where As = 18 in2

a =4000018/(0.8540004.8412) = 3.65

Mn = 1440000(32.5-3.65/2) = 22087.409 kip-in = 1840.62 kip-ft

Mn = 0.9140.62 = 1656.56 kip-ft

inchLd 254000/400000.104.0

inchLd 1840000125.10004.0min

Page 213: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

202

Bar cutoff for main reinforcement under col-2

Step 8 Find steel in short direction at column 1 (refer to figure for width):

Take d = 32.4-1=31.4 inch to allow for longitudinal rebars:

ftdwB 358.3)7.2(75.012/1675.0'

ftwB

L 753.12

12/1684.4

2'

ksfBB

Pq u 705.18

)358.3(84.4

304

'

1

inkipL

qM

884.3442

12753.1705.18

2

' 22

Page 214: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

203

Using quadratic formula:

Use 5#10 bars @7.8 inch c/c (As= 6.33 inch2)

Development length

Ld furnished = 1.75312 – 3 = 18.04 inch < min Ld provide hooks

Compute short direction steel at column 2

ss

c

yAA

Bf

fa 98.0

'85.0'

)40(90.0

884.344)49.04.31( ss AA

ftinchAs /307.0 2

minmin 005.0200

0008.0)12(4.31

307.0 use

f y

inchfAfL cbyd 324000/40000266.104.0/04.0'

ftB 05.5)7.2(5.11'

ksfq 183.8)84.4(05.5

200

inkipM

995.1802

1292.1183.8

2

inchLd 20400025.10004.0min

ftL 92.12

184.4'

058.94.3149.02

ss AA

2

min 33.6)4.31)(12358.3(005.0' inchdBAs

Page 215: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

204

Using quadratic formula:

Use 8#10 bars (As = 10.12 inch2)

Ld furnished = 1.9212 – 3 = 20.04 inch < req. Ld provide hooks

Compute short direction steel at column 3

sAa 98.0

)40(9.0

995.180)49.04.31( ss AA

0323.54.3149.02

ss AA

ftinchAs /17.0 2

005.000045.0)12(4.31

17.0minmin use

25.9)4.31)(1205.5(005.0 inchAs

inchLd 324000/266.14000004.0

ksfq 146.14)84.4(55.5

380

inkipM

711.2362

1267.1146.14

2

sAa 98.0

ftL 67.12

5.184.4'

ftB 55.5)7.2(5.15.1'

inchLd 20400025.10004.0min

Page 216: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

205

Using quadratic formula:

Use 7#11 bars @ 10 inch c/c (As = 10.94 inch2)

Ld furnished = 1.6712 – 3 = 17.04 inch < min Ld provide hooks

Step 9 Check dowel requirements of column to footing. At column 1 the supporting area

is not on all sides; therefore, the bearing stress is limited to

Dowels not required for load transfer

Use 4 dowels to provide at least 0.005 Ag:

ksiff cc 38.2))(7.0(85.0'

OKkipkipP 30428.609)16(38.2 2

22 28.1)16(005.0 inchAs

7.085.0'

whereff cc

)40(9.0

711.236)49.04.31( ss AA

058.64.3149.02

ss AA

ftinchAs /21.0 2

005.000056.0)12(4.31

21.0minmin use

246.10)4.31)(1255.5(005.0 inchAs

inchLd 354000/375.14000004.0

inchLd 224000375.10004.0min

Page 217: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

206

Use 4#6 bars (As= 1.77 inch2). At column 2 with concrete all around

Dowels not required

Use four dowels to provide at least .005 Ag.

As = 0.005 (12)2 = 0.72 inch

2.

Use 4#4 bars (As = 0.78 inch2). At column 3 with concrete all around

Dowels not required

Use four dowels to provide at least .005 Ag.

As = 0.005 (18)2 = 1.62 inch

2.

Use 4#6 bars (As = 1.77 inch2).

Step 10 Provide minimum reinforcement ratio of 0.002 for cantilever portion of footing.

Use 7#7 bars @ 8.6 inch c/c (As = 4.21 inch2)

Run 4 bars full length to use as chairs for short direction steel.

227.31

)7.21(2

2

1

2 useA

A

ksiff cc 76.4)2)()(7.0(85.0'

kipkipP 20044.685)12(76.4 2

218.4)144)(3)(84.4(002.0 inchAs

228.25.1

)7.25.1(2

2

1

2 useA

A

ksiff cc 76.4)2)()(7.0(85.0'

kipkipP 38024.1542)18(76.4 2

Page 218: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

207

Step 11 Final sketch (and using approximate minimum steel = 200/fy for transverse zones

“a” of fig below):

When zone a = 6.757 ft

As=(.005)6.7571231.5=12.7 inch2

Use 11#10 bars @ 8 inch c/c.

When zone a = 9.7 ft,

As=(.005)9.71231.5=18.33 inch2

Use 12#11 bars @ 10 inch c/c.

As steel in “a1”, “b1” and “b2” zones (from Step 8) is calculated using min therefore

they are considered as a single zone for computing bar-spacing.

Use 23 #10 bars @ 7.8 inch c/c.

As steel in “a2” and “b3” zones (from Step 8) is calculated using min therefore they are

considered as a single zone for computing bar-spacing.

Use 19 #11 bars @ 10 inch c/c.

Page 219: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

208

F

inal

sket

ch

Page 220: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

209

Example problem 4:

Redesign the footing in Example problem 1 by using the finite element method.

Determine rotations, deflections, shear, moment, and soil pressure at every node and draw

the shear force, bending moment, deflection, and soil pressure diagrams.

Solution:

Step 1 Input data to the finite element program: BEAMDEZ.

Beam Data:

beam length = 30.5 (ft)

beam width = 4.84 (ft)

beam depth = 3 (ft)

ks is calculated as:

ks = 12(safety factor)qa

ks = 1234 =144 kip/ft3

Load factor, LF = Pu/Pw = 884/580 = 1.524

Use ks = LFks = 1.524144 = 219.5 kip/ft3

modulus of subgrade reaction, ks = 219.5 (kcf)

modulus of elasticity for concrete = 524160 (ksf)

Step 2 Discretize the beam and input element data to the program

number of elements = 29

Element Length (ft)

1 0.66635

2 0.66635

3 0.45

4 0.45

5 0.5

6 0.68

Page 221: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

210

Element Length (ft)

7 0.75

8 0.75

9 1.2

10 1.75

11 1.554

12 1

13 1

14 0.75

15 0.5

16 0.5

17 0.85

18 1.5

19 1.75

20 1.75

21 1.5

22 1.5

23 2.4

24 1.5

25 1

26 0.75

27 0.75

28 0.8833

29 1.2

Step 3 Input the applied loads to the program.

Applied Loads:

number of point loads = 3

number of moments = 3

node point load (kip) moment (kip-ft)

1 0 0

2 304 100

3 0 0

4 0 0

5 0 0

6 0 0

Page 222: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

211

node point load (kip) moment (kip-ft)

7 0 0

8 0 0

9 0 0

10 0 0

11 0 0

12 0 0

13 0 0

14 0 0

15 0 0

16 200 -80

17 0 0

18 0 0

19 0 0

20 0 0

21 0 0

22 0 0

23 0 0

24 0 0

25 0 0

26 0 0

27 380 120

28 0 0

29 0 0

30 0 0

Step 4 Get the output from the program

Shear and moment at different nodes is computed as follows by the finite element

program BEAMDEZ.

Rotations and Deflections:

node rotation (rads) deflection (ft)

1 -1.90280274740935E-03 3.85903453911878E-02

2 -1.90386528427405E-03 3.73221767733048E-02

3 -0.001907930483173 3.60511007175639E-02

4 -1.90004257382928E-03 3.51940022873247E-02

5 -1.88433331180187E-03 3.43422356040202E-02

Page 223: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

212

node rotation (rads) deflection (ft)

6 -1.85843492036462E-03 3.34061881907532E-02

7 -1.8103746457302E-03 3.21579951775808E-02

8 -1.74224402077236E-03 3.08248432658327E-02

9 -1.66060496688549E-03 2.95480062536544E-02

10 -1.50826266906429E-03 2.76443094327891E-02

11 -1.25512259582533E-03 2.52223668117729E-02

12 -1.01681749887895E-03 2.34567073404221E-02

13 -8.64777269652738E-04 2.25162780742085E-02

14 -7.19249798187343E-04 2.17249818818629E-02

15 -6.16748316896474E-04 2.12244095993594E-02

16 -5.52518258973158E-04 0.020932245194791

17 -4.80798116221413E-04 2.06737236530881E-02

18 -3.49212092742148E-04 2.03201567364419E-02

19 -9.40161559056004E-05 1.99845197423788E-02

20 2.26972720573229E-04 2.00984495585325E-02

21 5.54444103582402E-04 2.07827057265278E-02

22 8.25243986408098E-04 2.18195648321851E-02

23 1.07244660707287E-03 2.32466390546716E-02

24 1.38033607187552E-03 2.62152880906319E-02

25 1.49780016873123E-03 2.83827453268335E-02

26 1.53345217781748E-03 0.029901545484579

27 1.53382649286268E-03 3.10532852062903E-02

28 1.51177448010676E-03 3.21947077592701E-02

29 1.49780169389108E-03 0.033523060844898

30 1.49212269345947E-03 0.035315879677222

Shear at Nodes:

node shear on left(kip) shear on right(kip)

1 0 -27.3187581809334

2 -27.3187581809334 250.260241651268

3 250.260241651268 228.88215680058

4 228.88215680058 212.056924933077

5 212.056924933077 194.726785409102

6 194.726785409102 173.787646345148

7 173.787646345148 149.360378539665

8 149.360378539665 124.799605798099

Page 224: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

213

node shear on left(kip) shear on right(kip)

9 124.799605798099 94.1931751864354

10 94.1931751864354 50.8742520400059

11 50.8742520400059 6.60769277563831

12 6.60769277563831 -25.2150664468553

13 -25.2150664468553 -49.1359099473329

14 -49.1359099473329 -69.3310729175297

15 -69.3310729175297 -83.4238155863844

16 -83.4238155863844 105.457185088595

17 105.457185088595 90.6319234777614

18 90.6319234777614 65.2663429442096

19 65.2663429442096 30.7657175578585

20 30.7657175578585 -6.60061641563067

21 -6.60061641563067 -42.4792041439721

22 -42.4792041439721 -77.2502080735972

23 -77.2502080735972 -125.408898651456

24 -125.408898651456 -179.717564286821

25 -179.717564286821 -217.409140512223

26 -217.409140512223 -245.205093917641

27 -245.205093917641 110.052114229265

28 110.052114229265 82.1202231489021

29 82.1202231489021 45.0226611148056

30 45.0226611148056 1.3021065115E-08

Moments at Nodes:

node moment on left(kip-ft) moment on right(kip-ft)

1 0 -1.2107193470E-08

2 -18.2038545012474 -118.203854521271

3 48.5570575180463 48.5570575306192

4 151.554028050974 151.554028066806

5 246.979644292034 246.979644274339

6 344.34303700272 344.343037001789

7 462.51863648463 462.51863648952

8 574.538920404855 574.538920395542

9 668.138624738902 668.1386247396

10 781.170434951549 781.170434952306

11 870.200376009452 870.200376010733

Page 225: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

214

node moment on left(kip-ft) moment on right(kip-ft)

12 880.468730568246 880.468730566208

13 855.253664119169 855.253664114513

14 806.117754160659 806.117754162988

15 754.11944946344 754.119449467864

16 712.407541668974 792.40754166944

17 845.136134209111 845.136134207831

18 922.173269153223 922.173269152583

19 1020.07278354996 1020.07278354969

20 1073.91278925267 1073.91278925224

21 1062.36171050317 1062.36171050341

22 998.642904265958 998.642904266599

23 882.767592137272 882.767592137301

24 581.786235341686 581.786235341802

25 312.209888892714 312.209888893529

26 94.8007483665133 94.8007483666297

27 -89.1030720786657 -209.103072080063

28 -126.563986418536 -126.56398641807

29 -54.0271933223121 -54.0271933221957

30 0 0

Soil Pressure:

node soil pressure Q (ksf)

1 8.47058081336571

2 8.1922178017404

3 7.91321660750528

4 7.72508350206777

5 7.53812071508244

6 7.33265830787032

7 7.058679941479

8 6.76605309685028

9 6.48578737267714

10 6.0679259204972

11 5.53630951518414

12 5.14874726122265

13 4.94232303728876

14 4.76863352306891

Page 226: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

215

node soil pressure Q (ksf)

15 4.65875790705939

16 4.59462782025663

17 4.53788234185283

18 4.46027440364899

19 4.38660208345215

20 4.41160967809789

21 4.56180390697285

22 4.78939448066462

23 5.10263727250043

24 5.7542557358937

25 6.23001259923996

26 6.5633892338651

27 6.81619610278071

28 7.06673835315978

29 7.35831185545511

30 7.75183558915023

Step 5 select depth based on analysis for both wide-beam and diagonal tension.

Obtain critical location for wide beam first (slope of shear diagram = constant) using V

diagram:

Page 227: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

216

Checking diagonal tension at column 1 using d just obtained for a three-side zone and

vc=31.0 ksf from table A-1:

The net shear is (column load – upward soil force) in diagonal tension zone:

At column 2 a four-side zone gives

)(326.250. inspectionbycolumnatkipVMax

ddBvc 182.2926.250

)1(5.15 Atablefromallowableksfvc

dd 182.2926.250)5.15(84.4

26.250202.104 d

ftd 4.2202.104

26.250

ftperimeter 8.84.212/16)2)(2/4.212/16(

246.9)4.212/16)(2/4.212/16( ftA

kipPPV soilcol 96.24684.4

182.2946.9304

..3169.11)4.2)(8.8(

96.246KOksfksfvActual

ftdwperimeter 6.13)4.21(4)(4

.2

2 columnofwidthwwheredwd

wperimeter

dwd

wA

2

Page 228: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

217

At column 3 a four-side zone gives

By inspection a three-side diagonal tension is not critical at column 2 and column 3.

Step 6 Design main reinforcement steel (between column 2 and 3).

For fy=40 ksi and fc’=4 ksi and b = 4.84 ft

Obtain a:

222 56.11)4.21()( ftdwA

kipV 3.13084.4

182.2956.11200

..3199.34.26.13

3.130KOksfksfv

u

n

MM

y

us

f

MadA )2/(

TC

ysc fAabf '

85.0

s

s

c

ysA

A

bf

fAa 203.0

)1284.4)(4(85.0

40

85.0'

)40(9.0

12913.1073)1015.0124.2(

ss AA

222 12.15)4.25.1()( ftdwA

kipV 84.28884.4

182.2912.15380

ftdwperimeter 6.15)4.25.1(4)(4

..31715.74.26.15

84.288KOksfksfv

Page 229: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

218

Using quadratic formula:

< max = 0.037 from table A-2

Use 9 #11 bars @ 5.2 inch c/c spacing across top of footing (As = 14.06 inch2)

Development length:

Design main reinforcement steel (between column 1 and 2).

a = 0.203As

Using quadratic formula:

< max = 0.037 from table A-2

0971.3578.281015.02

ss AA

203.13 inchAs

..200

007.0144)4.2(84.4

03.13min KO

fbd

A

y

s

2

1

'

1 56.104.0/ inchAandCwhereffACL bcybd

inchLd 394000/4000056.104.0

inchdandCwherefdCL bybd 375.10004.0min 22

inchLd 2240000375.10004.0min

)40(9.0

12469.880)1015.0124.2(

ss AA

049.2938.281015.02

ss AA

259.10 inchAs

..200

0063.0144)4.2(84.4

59.10min KO

fbd

A

y

s

Page 230: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

219

Use 7 #11 bars (As = 10.94 inch2)

Development length:

Step 7 Find steel in short direction at column 1 (refer to figure for width):

Take d = 28.8-1=27.8 inch to allow for longitudinal rebars:

Using quadratic formula:

inchLd 394000/4000056.104.0

inchLd 2240000375.10004.0min

ftdwB 133.3)4.2(75.012/1675.0'

ftwB

L 753.12

12/1684.4

2'

ksfBB

Pq u 048.20

)133.3(84.4

304

'

1

inkipL

qM

64.3692

12753.1048.20

2

' 22

ss

c

yAA

Bf

fa 98.0

'85.0'

)40(90.0

64.369)49.08.27( ss AA

ftinchAs /372.0 2

0268.108.2749.02

ss AA

Page 231: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

220

Use 7#8 bars @5.25 inch c/c (As= 5.5 inch2)

Development length

Ld furnished = 1.75312 – 3 = 18.04 inch < Ld provide hooks

Compute short direction steel at column 2

Using quadratic formula:

minmin 005.0200

001.0)12(8.27

372.0 use

f y

inchfAfL cbyd 204000/40000786.004.0/04.0'

ftB 6.4)4.2(5.11'

ksfq 983.8)84.4(6.4

200

inkipM

612.1982

1292.1983.8

2

sAa 98.0

)40(9.0

692.198)49.08.27( ss AA

0519.58.2749.02

ss AA

ftinchAs /195.0 2

inchLd 1640000.10004.0min

ftL 92.12

184.4'

2

min 23.5)8.27)(12133.3(005.0' inchdBAs

Page 232: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

221

Use 10#8 bars (As = 7.85 inch2)

Ld furnished = 1.9212 – 3 = 20.04 inch req. Ld O.K.

Compute short direction steel at column 3

Using quadratic formula:

005.00006.0)12(8.27

195.0minmin use

267.7)8.27)(126.4(005.0 inchAs

inchLd 204000/786.04000004.0

ksfq 395.15)84.4(1.5

380

inkipM

6.2572

1267.1395.15

2

sAa 98.0

)40(9.0

6.257)49.08.27( ss AA

0156.78.2749.02

ss AA

ftinchAs /26.0 2

005.000078.0)12(8.27

26.0minmin use

ftL 67.12

5.184.4'

ftB 1.5)4.2(5.15.1'

inchLd 1640000.10004.0min

Page 233: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

222

Use 7#10 bars @ 9.2 inch c/c (As = 8.86 inch2)

Ld furnished = 1.6712 – 3 = 17.04 inch < min Ld provide hooks

Step 8 Check dowel requirements of column to footing.

Dowel requirements for load transfer at column 1, 2 and 3 are same as in Example

problem 3.

Step 9 Provide minimum reinforcement ratio of 0.002 for cantilever portion of footing:

Same as in Example problem 3.

251.8)8.27)(121.5(005.0 inchAs

inchLd 324000/27.14000004.0

inchLd 20400025.10004.0min

Page 234: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

223

COMPARISON

#

Conventional

Method

Finite Element

Method %

1 Max. Shear at column 1 265.09 kip 250.26 kip -5.59

2 Max. Shear at column 2 119.77 kip 105.46 kip -11.95

3 Max. Shear at column 3 281.48 kip 245.21 kip -12.89

4

Max. mid-span Moment

(span-1) 1280.77 kN-m 880.47 kN-m -31.26

5

Max. mid-span Moment

(span-2) 1596.27 kN-m 1073.91 kN-m -32.72

Area of steel required mm2

6

Main reinforcement steel

(between col. 1 and 2) 4898 3302 -32.58

7

Transverse steel under

column 1 1620 1458 -10.00

8

Transverse steel under

column 2 1005 922 -8.26

9 Steel in cantilever portion 1620 1620 0

Page 235: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

224

Example problem 5:

The following combined footing design is made by IntelliConsultants (pvt.) Ltd. for Isra

University Hospital using a program made in MS-Excel.

Page 236: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

225

Page 237: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

226

Their program uses the conventional method. A comparison of bending moment obtained

by the conventional method and the finite element method is given below:

Comparison of bending moment by finite element method and conventional method.

It is quite obvious that the top bars, which are required according to the bending moment

obtained by conventional method, are not required according to the bending moment

obtained by the finite element method. Also the gap between the bottom bars, which has

been provided by calculations according to the conventional method, should not be left as

per finite element calculations. Due to these changes, about 30% steel will be saved.

Page 238: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

227

APPENDICES

Table-A1

Allowable wide-beam and diagonal tension shear by ACI Code for several strengths of

concrete for < 2.0 where = col. length/col. width

=0.85 fc’, psi (MPa)

3000 (21) 3500 (24) 4000 (28) 5000 (35)

Wide beam 2fc’

Psi (MPa) Ksf

93.1 (0.66) 13.4

100.6 (0.71) 14.5

107.5 (0.76) 15.5

120.2(0.85) 17.3

Diagonal tension 4fc’

Psi (MPa) Ksf

186.2 (1.29) 26.8

201.1 (1.37) 29.0

214.0 (1.48) 31.0

240.4(1.66) 34.6

Table-A2

Allowable percent of steel (includes 25% reduction for bending using strength design per ACI)

Fc’, ksi (MPa) 1

Fy, ksi (MPa)

40(275) 50(345) 60(415)

3.0 (21) 0.85 0.028 0.021 0.016

3.5 (24) 0.85 0.032 0.024 0.019

4.0 (28) 0.85 0.037 0.028 0.021

5.0 (35) 0.80 0.044 0.023 0.025

6.0 (42) 0.75 0.049 0.036 0.028

Table-A3

Range of values of modulus of subgrade reaction ks. Use values as guide and for comparison when using approximate equations.

Soil Ks, kcf Ks, kN/m3

Loose sand 30~100 4800~16000

Medium dense sand 60~500 9300~80000

Dense sand 400~800 64000~128000

Clayey medium dense sand 200~500 32000~80000

Silty medium dense sand 150~300 24000~48000

Clayey soil:

qu 200 kPa (4 ksf) 75~150 12000~24000

200<qu 400 kPa (8 ksf) 150~300 24000~48000

qu> 800 kPa (16 ksf) >300 >48000

Page 239: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

228

Table-A4

Typical range of values for the static stress strain modulus Es for selected soils Field values depend on stress history, water content, density, etc.

Es

Soil Ksf Mpa

Clay:

Very soft 50~250 2~15

Soft 100~500 5~25

Medium 300~1000 15~50

Hard 1000~2000 50~100

Sandy 500~5000 25~250

Glacial till:

Loose 200~3200 10~150

Dense 3000~15000 150~720

Very dense 10000~30000 500~1440

Loess: 300~1200 15~60

Sand:

Silty 150~450 5~20

Loose 200~500 10~25

Dense 1000~1700 50~81

Sand and gravel

Loose 1000~3000 50~150

Dense 2000~4000 100~200

Shale 3000~300000 150~5000

Silt 40~400 2~20

Table-A5

Values or value ranges for poisson’s ratio

Type of soil Clay, saturated 0.4~0.5

Clay, unsaturated 0.1~0.3

Sandy clay 0.2~0.3

Silt 0.3~0.35

Sand, gravely sand 0.1~1.0

Commonly used 0.3~0.4

Rock 0.1~0.4 (depends somewhat on type of rock)

Loess 0.1~0.3

Ice 0.36

Concrete 0.15

Page 240: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

229

Table-A6

Equations for stress strain modulus Es by several test methods Es in kPa for SPT and units of qc for CPT; divide kPa by 50 to obtain ksf. The N values should be estimated as N55 and not N70. Refer also to Tables A4 and A5.

Soil SPT CPT

Sand (normally consolidated)

Es = 500(N+15) Es = (2 to 4)qu

Es = 7000 N Es = 8000 qc

Es = 6000 N ---

--- Es = 1.2 (3Dr2+2)qc

Es = (15000 to 22000) ln(N)

Es = (1+ Dr2)qc

Sand (saturated) Es = 250(N+15) Es = F.qc

e = 1.0 F=3.5

e = 0.6 F=7.0

Sands, all (norm. consolidated)

Es = (2600 to 2900)N

Sand (overconsolidated) Es = 40000+1050N Es = (6 to 30)qc

Es(OCR) Es,nc OCR

Gravelly sand Es = 1200(N+6)

Es = 600(N+6) N15

Es = 600(N+6)+2000 N>15

Clayey sand Es = 320(N+15) Es = (3 to 6)qc

Silts, sandy silt, or clayey silt

Es = 300(N+6) Es = (1 to 2)qc

Es’ = 2.5 qc qc<2500 kPa

Es’ = 4qc + 5000 2500<qc<5000

Es’ = constrained modulus = Es(1-)/{(1+)(1-2)} =

1/m

Soft clay or clayey silt Es = (3 to 8)qc

Use the undrained shear strength su in units of su

Clay and silt IP >30 or organic Es = (100 to 500)su

Silty or sandy clay IP <30 or stiff Es = (500 to 1500)su

Again Es,OCR Es,nc OCR

Use smaller su-coefficient for highly elastic clay

Of general application in clays is

Es = K.su (units of su)

Where K is defined as K = 4200-142.54IP+1.73IP2-0.0071Ip

3

And IP = plasticity index in percent. Use 20% IP 100% and round K to the nearest multiple of 10

Another equation of general application is

Es =9400-8900 IP + 11600 Ic – 8800S (kPa)

Where IP = plasticity index, Ic = relative consistency, S = degree of saturation.

Page 241: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

230

REFERENCE

Argyris, G.H., and Kelsey, S. (1960), Energy Theorems and Structural Analysis,

Butterworth Scientific Publications, London.

AutoCAD 2000, Copyright © 1999, Command Reference, AutoDesk Inc.

AutoCAD 2000, Copyright © 1999, User’s Guide, AutoDesk Inc.

AutoCAD 2000, Copyright © 1999, VBA and ActiveX Automation, AutoDesk Inc.

Biot, M.A. (1937), Bending of an Infinite Beam on an Elastic Foundation, J. Appl.

Mech., 59, A1-A7.

Bourdeau, P.L. (1989) Modeling of membrane action in a two-layer reinforced soil

system. Comp. and Geotech. 7(1-2), pp. 19-36.

Bowles, J.E. (1982, 88, 96), Foundation Analysis and Design, 3rd

, 4th

, and 5th

ed.

McGraw-Hill Companies, Inc.

Clough, R.W. (1960), The Finite Element Method in Plane Stress Analysis, J. Struct. Div,

ASCE, Proc. 2nd

Conf. Electronic Computation, pp. 345-378.

Coats R.C., Coutie M.G., and Kong F.K. Structural Analysis, Nelson.

Coduto, D.C. (1994), Foundation Design, Prentice-Hall, Englewood Cliffs, N.J.

Cope, R.J., Sawko, F., and Tickell, R.G. (1982), Computer Methods for Civil Engineers,

McGraw-Hill Book Company (UK) Limited.

Courant, R. (1943), Variational Methods for the Solution of Problems of Equilibrium and

Vibration, Bull. Am. Math. Soc., vol. 49, pp. 1-43.

Daloglu, A.T., and Vallabhan, C.V.G. (2000), Nondimensional Parameters for Values of

k for Slab on Winkler Foundation, J. Geotech. and Geoenviron. Engrg, 126(5), pp.

463-471.

Ghosh, C., and Madhav, M.R. (1994), Reinforced Granular Fill-soft Soil System:

Confinement Effect, Geotextiles and Geomembranes, 13(5), pp. 727-741.

Hassoun, Nadim. Design of Reinforced Concrete Structures.

Hrenikoff, A. (1941), Solution of Problems in Elasticity by the Framework Method, J.

Appl. Mech., Trans. ASME, vol. 8, pp. 169-175.

Kikuchi, N. (1986), Finite Element Methods in Mechanics, 1st ed. Press Syndicate of the

University of Cambridge.

Koerner, R.M. (1990) Designing with Geosynthetics, 2nd

ed., Prentice Hall, Englewood

Cliffs, N.J.

Madhav, M.R., and Poorooshasb, H.B. (1988), A New Model for Geosynhetic Reinforced

Soil, Comp. and Geotech. 6(4), pp. 277-290.

Mansfield, Richard (1994), The Visual Guide to Visual BASIC for Applications, 1st ed.,

Ventana Press.

Morgan, W., Elementary Reinforced Concrete Design, 2nd

ed. Edward Arnold Publishers

Limited, London. Nilson, A.H., and Winter, G. (1991), Design of Concrete Structures, 11th ed. McGraw-Hill Inc.

Pasternak, P.L. (1954) On a New Method of Analysis of an Elastic Foundation by Means

of two Foundation Constants. Gosudarstvennoe izdatelstro liberaturi po stroitelsvui

arkhitekture, Moscow.

PC Webopaedia Lite 1.6, Copyright © 1996,1997, Sandy Bay Software, Inc.

Page 242: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

231

Petroutsos, Evangelos (1998). Mastering™ Visual Basic® 6, SYBEX Computer Books

Inc.

Punmia, B.C. (1986), Reinforced Concrete Structures, 3rd

ed. Standard Publishers

Distributors, Delhi.

Punmia, B.C. (1992) Soil Mechanics and Foundations. 9th

ed. Standard Book House

Delhi.

Pytel, A, Singer, F.L. (1987), Strength of Materials, 4th

ed. Harper & Row, Publishers,

Inc.

Reddy, J.N. (1993), An Introduction to the Finite Element Method, 2nd

ed. McGraw-Hill

Inc.

Rockey K.C., Evans H.R., Griffiths D.W., and Nethercot D.A. (1975) The finite Element

Method, A Basic Introduction, Willium Clowes & Sons, Limited.

Selvadurai, A.P.S. (1979), Elastic analysis of soil-foundation interaction: development in

geotechnical engineering, 17, Elsevier, Amsterdam.

Shukla, S.K., and Chandra, S. (1994), A Study of Settlement Response of a Geosynthetic-

Reinforced Compressible Granular Fill-soft Soil System. Geotextiles and

Geomembranes, 13(9), pp. 627-639.

Straughan, W.T. (1990), Analysis of Plates on Elastic Foundation, PhD dissertation,

Dept. of Civ. Engrg., Texas Tech University, Lubbock, Tex.

Terzaghi, K. (1955), Evaluation of Coefficient of Subgrade Reaction. Geotechnique,

London.

Timoshenko, S.P. (1921), On the Correction for Shear of the Differential Equation for

Transverse Vibration of Prismatic Bars, Philosophical Magazine, 41, 744.

Turhan, A. (1992), A Consistent Vlasov Model for Analysis of Plates on Elastic

Foundations Using the Finite Element Method, Dept. of Civ. Engrg., Texas Tech

University, Lubbock, Tex.

Turner, M., Clough, R., Martin, H., and Topp, L. (1956), Stiffness and Deflection Analysis

of Complex Structures, J. Aero. Sci., vol. 23, pp. 805-823.

Utku, S., Norris, C.H., Wilbur, J.B. (1991), Elementary Structural Analysis, 4th

ed.

McGraw-Hill Inc.

Vallabhan, C.V.G, and Daloglu, A.T. (1999), Consistent FEM-Vlasov Model for Plates

on Layered Soil, J. Struct. Engrg., ASCE, 125(1), pp. 108-113.

Vallabhan, C.V.G., and Daloglu, A.T. (1997), Consistent FEM-Vlasov Model for Slabs on

Elastic Foundations, Proc., 7th

Int. Conf. on Computing in Civ. And Build. Engrg.,

vol. 1, pp. 57-92, Seoul.

Vallabhan, C.V.G., and Das, Y.C. (1988), Parametric Study of Beams on Elastic

Foundation, J. Engrg. Mech., ASCE, 114(12), pp. 2072-2082.

Vallabhan, C.V.G., and Das, Y.C. (1989), A Refined Model for Beams on Elastic

Foundation, Int. J. Solids and Struct., 27(5), pp. 629-637.

Vesic, A.S. (1961), Beams on Elastic Subgrade and Winkler’s Hypothesis. Proc., 5th

ICSMFE.

Wang, C.K. (1987), Intermediate Structural Analysis, McGraw-Hill Inc.

Wang, C.K., and Salmon, G. (1985) , Reinforced Concrete Design, 4th

ed. Harper & Row

Publishers, New York.

Page 243: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

232

Wang, C.M., Yang, T.Q., and Lam, K.Y. (1997), Viscoelastic Timoshenko Beam

Solutions from Euler-Bernoulli Solution, J. Engrg. Mech., ASCE, 123(7), pp. 746-

748.

Warnock, F.V., Benham, P.P., Crawford, R.J. (1996), Mechanics of Engineering

Materials, Longman Group UK Ltd.

White, R.E. (1985), An Introduction to the Finite Element Method with Applications to

Nonlinear Problems, John Wiley & Sons.

Yin, J.H. (1997a), Modeling Geosynthetic-Reinforced Granular Base Over Soft Soil.

Geosynthetics Int. (J.), 4(2), pp. 168-185.

Yin, J.H. (1997b), A Non-linear Model for Geosynthetic-Reinforced Granular Fill Over

Soft Soil, Geosynthetics Int. (J.), 4(5), 523-537.

Yin, J.H. (2000), Comparative Modeling Study of Reinforced Beam on Elastic

Foundation, J. Geotech. and Geoenviron. Engrg, 126(3), pp. 265-271.

Zienkiewicz, O.C. (1989), The Finite Element Method, McGraw-Hill Publishing

Company Limited.

Page 244: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

233

INDEX

, 9

A

accuracy of the solution, 17

ActiveX Automation interface, 84

ActiveX Technology, 81

aircraft structural analysis, 9

analysis of continua, 9

analytical techniques, 11

application integration, 83

applied loads, 165

applied moments, 165

APPLOAD, 162

Argyris, 9

ASKA, 23

augmentation of k, 42

AutoCAD

command prompt, 162

AutoCAD 2000, 81

AutoCAD objects, 81

AutoCAD VBA, 83

project, 85

AutoLISP, 82

automatic mesh generation, 25

automation controller, 83

B

backward substitution, 21

band matrix, 20

base contact pressure, 42

BASIC, 82

basic differential equation, 43

beam on elastic foundation, 5, 37

beam on springs, 6

beam.dvb, 162

BEAMDEZ

default directory, 162

entering data, 164, 165

installation, 162

loading, 162

results, 167

running, 163

Beamdimensions, 88

Biot, 41

bond failures, 24

Bordeau, 38

boundary, 96

boundary conditions, 7, 22, 78, 166

boundary conditions of an unloaded member, 48

Boussinesq analysis, 42

Bowles, 33, 35, 41, 42

bridge piers, 27

bridging constants, 68

C

C++, 82, 83

CAD, 80

CAE, 80

Cholesky method, 21

class modules, 85

classical analysis of solids, 13

closure error, 32

Clough, 9

code modules, 85

Coduto, 42

columns

closely spaced, 27

eccentric loading, 26

near mechanical equipment, 26

near property line, 26

stiffening effect of, 33

combined footings, 26

design steps, 34

necessity of, 26

rectangular, 29

shape of, 28

compatibility of displacements, 11, 15

complex geometry, 14

composite materials, 24

compression modulus, 44

computer memory, 24

conformable matrices, 19

conjugate beam, 72

conjugate beam method, 43

conjugate beam theorem 1, 74

constitutive laws, 24

contact problems, 24

continuity of displacements, 17

continuum structures

analysis of, 13

Courant, 9

CP/M, 81

cracking behavior, 24

D

Daloglu, 43

Das, 43

data files, 2

data input, 25

deep beams, 13

deflection equation, 43

deflections, 69

deformation characteristics, 69

Page 245: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

234

degrees of freedom, 16

Delphi, 82

depth of footing, 32

diagonal tension, 34

difference equations, 7

differential equation

solution of, 45

differential equations of equilibrium, 13

differential settlement, 28

differential settlements, 26

digitizing tablet, 80

discrete mesh points, 7

discretizing the continuum, 25

displacement compatibility, 12

displacement field, 14

displacement method, 43

distribution of projects, 86

dowel requirements, 35

dynamic response of beams, 39

dynamic systems, 24

E

eccentric columns, 4

elastic curve, 44

elastic foundation, 37

elastic soil, 37

Element A matrix, 71

element aspect ratio, 165

Element B matrix, 72

element EASAT matrix, 75

element ESAT matrix, 75

element S matrix, 72

elements

beam, 16

brick, 16

line, 16

number of, 16

rectangular, 16

spring, 16

tetrahedral, 16

triangular, 16

type of, 16

Elements, 106

Embedded VBA Projects, 85

equilibrium, 16

equilibrium of forces, 11, 15

equivalent system of forces, 16

ETABS, 23

event-driven language, 83

Excel VBA, 81

Exporter, 143

external loads, 16

external nodal displacements, 68

external node forces, 68

F

fictitious external points, 22

fictitious springs, 37

Filer, 145

finite element analysis of solids, 14

finite element concepts, 15

finite element method, 8, 10

advantages of, 21

approximations, 22

background of, 10

computer requirements, 24

general steps of, 18

interpretation of results, 25

limitations of, 24

systematic generality of, 23

validity of results, 24

finite elements, 15

finite-difference approximations, 7

fixed-end moments, 37

fixed-end reactions, 37

flat slab, 27

flexibility matrix, 49

flexibility method, 12

flexibility of foundation, 35

flexural steel, 33

flow chart of program, 87

folded-plate, 13

footing

depth of, 32

strap, 30

footing dimensions, 32

footings, 3

cantilever, 4

cantilever portion of, 35

combined, 4

connected, 30

continuous, 3

continuous strip, 27, 29

conventional (rigid) method of design of, 5

design of, 4

finite element method of design of, 5

isolated, 4

single, 4

strap, 4

trapezoidal, 29

types of, 3

wall, 3

forms, 85

forward elimination, 21

fracture behavior, 24

framework method, 9

G

Galerkin method, 7

Gauss Jordan elimination method, 21

geosynthetics, 38

Ghosh, 38

global ASAT

order of, 77

global matrix ASAT, 76

global stiffness matrix, 13

Global VBA Projects, 85

graphical programming environment, 82

grid foundation, 27, 31

GW-BASIC, 83

Page 246: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

235

H

Hardy Cross Moment Distribution Method, 11

historical comments, 9

Hooke’s Law, 15

Hrenikoff, 9

I

identity matrix, 21

infinite series, 13

INSTALL.EXE, 162

internal member deformations, 68

internal member forces, 68

internal stresses, 14

interpolation theory, 8

inverse matrix, 21

iterative procedures for k, 43

J

Java, 83

joint equilibrium, 12

K

Kelsey, 9

Koerner, 38

L

l’Hospital’s rule, 62

laterally loaded piles, 38

laws of material behavior, 15

light pen, 80

linear elasticity, 15

linear simultaneous equations, 12

linear stress distribution, 31

loadmom, 147

local stiffness matrices, 12

M

Madhav, 38

main reinforcement, 33

Martin, 9

mat foundation, 4, 27, 31

material parameters, 24

material properties, 23

matrix

transpose of, 19

matrix methods, 9, 11

matrix multiplication, 19

matrix operations, 19

matrix properties, 19

maximum soil pressure, 40

member stiffness matrix, 37

memberlen, 153

MicroCAD, 81

mixed method, 12

modified moments, 33

modified structural system, 22

modulus of subgrade reaction, 39

moment computations, 32

mouse cursor icons, 170

multidimensional continuity, 21

multidimensional continuum, 22

N

NASTRAN, 23

neighboring property, 26

nodal equilibrium, 12

node points, 10

node springs K, 77

non-centered difference equations, 22

non-dimensional parameters for k, 43

non-homogenous continua, 23

non-linear material behavior, 24

nonrectangular meshes, 7

non-straight boundaries, 7

non-uniform meshes, 7

numerical solutions, 6

O

object libraries, 83

object-oriented programming language, 82

one way slab, 33

open-architecture application, 84

P

P matrix, 78

Pascal, 83

Pasternak, 38

pavement, 38

plate flexure

classical theory of, 13

plate-load test, 40, 41

plates, 13

plotting of results, 17

poor soil, 27

program code, 88

programmatic control, 84

propagation problems, 24

punching shear, 34

Q

QuickBasic, 83

R

RAD, 82

raft foundation, 4

rectangular combined footings

design of, 31

reinforcement design, 33

restrained points

reactions at, 14

rigid design

Page 247: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

236

assumptions of, 35

demerits of, 35

Ritz method, 7

rotations, 69

rounding of dimensions, 32

S

SAFE, 23

SAP, 23

saver, 158

secant modulus, 39

self-weight of beam, 78

Selvadurai, 38

settlement factors, 28

shear computations, 32

shear reinforcement, 34

shell structures, 13

Shukla, 38

simultaneous equations, 11

skeletal structures, 10

slabs, 13

slope-deflection method, 11

soil

elastic range of, 2

soil spring forces KX, 71

soil-structure interaction, 37

pure shearing model, 38

soil-structure separation, 2

spongy material, 37

spring constant, 38

springs

contributory node area, 77

elastic-plastic, 38

interaction between, 38

non-linear, 38

obeying Hooke's Law, 38

St. Venant torsion problem, 9

STARDYNE, 23

starter, 160

static response of beams, 39

statically determinate problems, 15

steel

minimum percentage of, 33

stiffness matrix [S], 61

stiffness matrix of a member on elastic foundation, 49

stiffness method, 12

stiffness modulus, 37, 39

Straughan, 43

stress field, 14

stress-strain relationships, 13

strip foundation, 31

STRUDL, 23

subgrade reaction, 5

supercomputers, 24

symmetric matrix, 20

T

tangent modulus, 39

Terzaghi, 38, 41

Timoshenko beam, 39

Topp, 9

transient problems, 24

transverse deflection, 37

transverse loads, 37

transverse reinforcement, 33

trial solutions, 22

truncation, 14

Turhan, 43

Turner, 9

two-way action, 5, 32

U

ultimate strength design method, 35

unconfined seepage, 24

uneven soils, 31

V

Vallabhan, 43

VBA, 81, 83

VBARUN, 163

Vesic, 38, 42

vibration of beams

modeling of, 39

virtual wind tunnels, 24

virtual work, 69

Visual Basic, 82, 83

visual checks, 17

W

Wang, 39

weak soils, 31

weather systems, 24

weighted-residual method, 8

wide-beam shear, 5, 32

Windows Interoperability, 85

Winkler, 1, 37

Winkler foundation model, 1, 2

limitations, 38

Winkler Foundation Model, 37

WinZip SelfExtractor, 162

Word VBA, 81

work softening, 24

Y

Yin, 38

Page 248: FINITE ELEMENT PROGRAM IN AUTOCAD VBA FOR WINKLER FOUNDATIONhaibat.com/fem/fem.pdf · iii CERTTI IFFICCAATTEE This is to certify that the work presented in this thesis titled ‘FINITE

5

4