NONLINEAR FINITE ELEMENT ANALYSIS OF 2D LATTICE
MODELS
A Thesis
Presented to
The Faculty of the Department of Civil and Environmental Engineering
University of Houston
In Partial Fulfillment
Of The Requirements for the Degree
Master of Science
In Civil Engineering
By
Brendan Isidienu
December 2014
NONLINEAR FINITE ELEMENT ANALYSIS OF 2D LATTICE
MODELS
________________________ Brendan Isidienu
Approved: ___________________________________
Chair of the Committee
Kaspar J. Willam, Professor,
Civil and Environmental Engineering
Committee Members: ___________________________________
Kalyana Babu Nakshatrala, Assistant Professor,
Civil and Environmental Engineering
___________________________________
Cumaraswamy Vipulanandan, Professor,
Civil and Environmental Engineering
_____________________________ ___________________________________
Suresh K. Khator, Kaspar J. Willam,
Associate Dean, Professor and Chairman,
Cullen College of Engineering Civil and Environmental Engineering
iii
ACKNOWLEDGEMENTS
I am grateful to the Almighty Lord for guiding me through this journey. I am
thankful to my most prized reason for doing all I have done, “my family”, Rita, Sean,
Maximillian, and Alexandria (Isidienu) for putting up with my time away. To Dr. Ayoub,
Dr. W. Kaspar, Dr. Nakshatrala, Dr. K.H. Wang, Dr. Sherman, Justin Burton, Stephanie
Williams, thanks for your audience and inspiration.
To Dr. R.S. Isidienu and Francisca Isidienu my parents, to Bonny Anyogu,
Emmanuel Ufuah, Francisca Esangbedo, Sylvester Onwas, Robert Hill, thank you for
your contributions to all I am and hope to become.
iv
NONLINEAR FINITE ELEMENT ANALYSIS OF 2D LATTICE
MODELS
An Abstract
Of a
Thesis
Presented to
The Faculty of the Department of Civil and Environmental Engineering
University of Houston
In Partial Fulfillment
of the Requirements for the Degree
Master of Science
in Civil Engineering
by
Brendan Isidienu
December 2014
v
ABSTRACT
Linear elastic models are often sufficient in the engineering design of structural
and mechanical systems. Given that the yield capacity of the material is not reached or
exceeded one finds a reasonable design. However, uncertainties in precise material
integrity, construction or manufacturing techniques, processes and service conditions
often pose a concern with regards to long term performance of designed systems during
their service life. Repetitive utilization of these systems predisposes them to tear and
wear and deleterious conditions which may come from the simple effect of cyclic
(repetitive) loading. An in-depth study of the nonlinear response of materials to such
loading conditions and imperfections in the material are imperatively demanded for a
more effective design. A look at the constitutive models depicting these phenomena using
rather than a continuum material, a discretized material model (2D lattice models) and
employing the finite element method of analysis will unveil characteristic material
responses to various load conditions in the mechanics of structures.
vi
TABLE OF CONTENTS
ACKNOWLEDGEMENTS ............................................................................................... iii
ABSTRACT ........................................................................................................................ v
TABLE OF CONTENTS ................................................................................................... vi
LIST OF FIGURES ........................................................................................................... xi
LIST OF TABLES ........................................................................................................... xiii
CHAPTER 1 INTRODUCTION ..................................................................................... 1
CHAPTER 2 MECHANICS OF MATERIALS ............................................................. 2
2.1 Traction ................................................................................................................... 2
2.2 Principal Stresses and Their Invariants ................................................................... 4
2.3 Deviatoric Stresses and Their Invariants ................................................................. 5
2.4 Constitutive Equations ............................................................................................ 7
CHAPTER 3 THEORY OF ELASTICITY .................................................................. 10
3.1 Linear Elastic Stress-Strain Relations ................................................................... 11
3.1.1 Hooke’s Law................................................................................................... 11
3.1.2 Limits of Linear Elasticity .............................................................................. 13
3.1.3 Strain-Displacement Relations ....................................................................... 14
3.2 Nonlinear Stress-Strain Relations ......................................................................... 15
3.2.1 Forms of Nonlinearities .................................................................................. 15
3.2.2 Material Nonlinearity ..................................................................................... 15
vii
3.2.3 Geometric Nonlinearity .................................................................................. 17
3.2.4 Nonlinear Stress-Strain Relationships ............................................................ 18
3.2.5 Incremental Stress-Strain Relationship .......................................................... 18
CHAPTER 4 THEORY OF PLASTICITY ................................................................... 19
4.1 Plastic Deformation ................................................................................................. 19
4.2. Flow Rule ............................................................................................................. 19
4.3. Hardening Behavior ............................................................................................. 19
4.4. Isotropic Hardening .............................................................................................. 20
4.5. Kinematic Hardening ............................................................................................ 22
4.6. Dislocations and lattice strain fields...................................................................... 23
CHAPTER 5 CONSTITUTIVE MODELS .................................................................. 24
5.1. Yield and Failure Criteria ..................................................................................... 24
5.1.1 von Mises Yield Criterion .............................................................................. 25
5.1.2 Tresca Yield Criterion .................................................................................... 26
5.1.3 Mohr Coulomb Failure Criterion .................................................................... 26
5.1.4. Drucker-Prager Failure Criteria .................................................................... 27
5.2. Numerical Implementation ................................................................................... 27
CHAPTER 6 FINITE ELEMENT METHOD .............................................................. 29
6.1. Governing Equations ............................................................................................ 29
6.2. The Galerkin Formulation .................................................................................... 30
viii
6.3. Principle of Virtual Work ..................................................................................... 31
6.4. Finite Element Formulation ................................................................................. 34
6.4.1 Displacement Function ................................................................................... 34
6.4.1 Shape Functions .............................................................................................. 36
6.4.2 Constitutive Strain-Displacement Relationship.............................................. 38
6.4.3 Member Stiffness Matrix (‘K’)....................................................................... 39
CHAPTER 7 2D LATTICE MODEL - TRUSS DISCRETIZATION ......................... 42
7.1 Continuum Mediums ............................................................................................. 42
7.2 Discretized Representation of Continuum Mediums ............................................ 42
7.3 2D lattice Models Generated ................................................................................. 42
7.3.1 Constant Strain Triangle ................................................................................. 43
7.3.2 Hexagonal 2D Lattice Model ......................................................................... 44
7.3.3 Multicelled-Hexagonal 2D Lattice Model ...................................................... 45
CHAPTER 8 IMPLEMENTATION IN MATLAB ...................................................... 46
8.1 Data Input .............................................................................................................. 46
8.1.1 Input Files (Excel files) .................................................................................. 46
8.1.2 Run File (script file) ....................................................................................... 51
8.1.3 ProcessInputeData (script file) ....................................................................... 52
8.1.4 GlobalMatrix (function file) ........................................................................... 53
8.1.5 PrescribedLoads (script file) ........................................................................... 54
ix
8.1.6 ReconfigureDisplacements (script file) .......................................................... 54
8.1.7 Reactions (script file) ...................................................................................... 54
8.1.8 ProcessOutData (script file)............................................................................ 55
8.2 Data Output ........................................................................................................... 56
8.2.1 Matlab Workspace .......................................................................................... 56
8.2.2 Plots ................................................................................................................ 60
CHAPTER 9 LINEAR FINITE ELEMENT ANALYSIS ............................................ 61
9.1. Benchmark Problems ........................................................................................... 61
9.1.1 Constant Strain Triangle ................................................................................. 61
9.1.2 Eigenvalues and Eigenvectors ........................................................................ 63
9.2. Comparison of Uniaxial Tension versus Uniaxial Compression ......................... 64
CHAPTER 10 NONLINEAR FINITE ELEMENT ANALYSIS ................................ 66
10.1. Benchmark Problems ......................................................................................... 66
10.2. Snap-Through Mechanism of a Toggle Frame .................................................. 66
10.2.1. RunFile for Snap-Through Mechanism of a Toggle Frame ........................ 69
10.2. Southwell’s Method ........................................................................................... 71
10.4. Geometric Nonlinear Analysis ........................................................................... 74
10.4. 1 Run File – Nonlinear Analysis (script file) .................................................. 78
10.4. 2 Solver (script file) ......................................................................................... 78
10.4. 4. Iteration (script file) ..................................................................................... 79
x
10.4. 5. ReshapeDisp (function file) ......................................................................... 79
10.4.6. Post_Linear_ElePlot (script file) .................................................................. 80
10.5. Comparison of Uniaxial Tension versus Uniaxial Compression ....................... 80
10.5.1. Uniaxial Compressive Loading ..................................................................... 81
10.5.2. Uniaxial Tensile Loading .............................................................................. 82
10.5.3. Matlab workspace for Uniaxial Compressive Loading Output ..................... 83
10.6. Material Nonlinear Analysis ............................................................................... 84
10.6.1 Ramberg Osgood Nonlinear Model .............................................................. 84
10.7. Plasticity, Elastic-Linear work Hardening Model .......................................... 89
CHAPTER 11 DAMAGE ANALYSIS ....................................................................... 91
11.1 Damage Mechanics ............................................................................................. 91
11.2 Damage Plot for various Loadings ...................................................................... 94
CHAPTER 12 CONCLUSION ................................................................................... 97
12.1 Compression versus Tension Linear Analysis .................................................... 97
12.2 Compression versus Tension Nonlinear Analysis ............................................... 97
12.3 Damage Analysis................................................................................................. 97
REFERENCES ................................................................................................................. 99
xi
LIST OF FIGURES
Figure 3-1. Linear stress – strain Relationship ............................................................... 13
Figure 3-2. Regions of relationship between stress and strain........................................ 14
Figure 3-3. Ramberg Osgood Stress-Strain Curve .......................................................... 15
Figure 3-4. Strain Energy density function (W) & energy density function (Ω) ............ 17
Figure 4-1. Uniaxial Isotropic Hardening. ....................................................................... 21
Figure 4-2. Biaxial Isotropic Hardening. ......................................................................... 21
Figure 4-3. Kinematic Hardening. ................................................................................... 22
Figure 4-4. Increase of dislocations and work hardening ................................................ 23
Figure 5-1. Newton-Raphson Graphical Illustration ....................................................... 28
Figure 6-1. Free Body Diagram of a Cantilevered Beam ................................................ 32
Figure 6-2. Virtual displacements of a Cantilevered Beam ............................................. 32
Figure 7-1. Constant Strain Triangle Lattice Model Unit ................................................ 43
Figure 7-2. Hexagonal Lattice Model .............................................................................. 44
Figure 7-3. Multicellular lattice Model ........................................................................... 45
Figure 8-1. Excel Node Data File .................................................................................... 47
Figure 8-2. Excel Element Data File................................................................................ 48
Figure 8-3. Excel Constraint Data File ............................................................................ 49
Figure 8-4. Excel Load Data File ..................................................................................... 50
Figure 8-5. Matlab Deflection Plot .................................................................................. 60
Figure 9-1. Deflection Plot for Uniaxial Tensile Loading ............................................... 63
Figure 9-2. Toggle Frame Deflection Plot for Uniaxial Tensile Loading ....................... 65
xii
Figure 9-3. Deflection Plot for Uniaxial Tensile Loading ............................................... 65
Figure 10-1. Toggle Frame .............................................................................................. 67
Figure 10-2. Toggle Frame Free body diagram. .............................................................. 67
Figure 10-3. Toggle Frame Snap-Through Plot. .............................................................. 68
Figure 10-4. Snap-Through load/displacement plot ........................................................ 68
Figure 10-5. Snap-Through Plot of The Constant Strain Triangle .................................. 69
Figure 10-6. Southwell Load-Displacement Plot............................................................. 72
Figure 10-7. Matlab Load-Displacement Plot ................................................................. 74
Figure 10-8. Matlab Linear vs. Nonlinear Analysis Plot ................................................. 77
Figure 10-9. Matlab Uniaxial Compression Analysis Plot .............................................. 81
Figure 10-10. Matlab Uniaxial Tension Analysis Plot .................................................... 82
Figure 10-11. Matlab Nonlinear (Material) Analysis Plot ............................................... 89
Figure 11-1. Matlab Damage Analysis Plot (Load = 55kips) .......................................... 95
Figure 11-2. Matlab Damage Analysis Plot (Load = 85kips) .......................................... 96
Figure 11-3. Matlab Damage Analysis Plot (Load = 120kips) ........................................ 96
xiii
LIST OF TABLES
Table 2-1. Material Properties .......................................................................................... 10
Table 2-2. Geometric Properties ....................................................................................... 10
1
CHAPTER 1 INTRODUCTION
Structures play an integral part of mankind’s existence. The civilization of any
time in history is preserved in its structures. The technology employed in the design and
construction clearly depicts the life style and technological advancement of the people of
its time. From the pyramids in Egypt built out of cut stones held together with mortars -
to the earth roads, aqueducts, the coliseum of the Roman Empire - to the cable stayed
“Golden Gate Bridge” in San Francisco (USA); it becomes quite obvious that smarter
structural designs emanate from a more in-depth understanding of structural materials
and their response to loading conditions. An overall understanding of a structural system
is only possible through a structural analysis which borders on the properties of
constituent structural elements assembled in a matrix representative of the entire
structural system. The primary goal of a structural design is to maintain a load-
displacement relationship of optimal magnitude within the constituent structural members
of a system thereby producing a relatively predictive structure easily describe in a linear
structural analysis. The structural response remains directly proportional to the load the
structure is subjected to. However, a wide range of load patterns and anomalies in
structural material properties and imperfections in construction inherently unveils the
need for nonlinear structural analysis which takes into account variations in structural
reposes to loads due to the aforementioned factors. Today the existence of computers
have made analysis a lot easier, faster, more accurate, less expensive and capable of
capturing a wide range of nonlinearities. The most advanced of such capabilities is found
in the Finite Element Method of structural analysis. The scope of this study is confined to
uniaxially loaded trusses comprised of 2 noded elements.
2
CHAPTER 2 MECHANICS OF MATERIALS
2.1 Traction
Forces are seldom applied normal to the surface of a body. The body will perceive
various components of various magnitudes of force in different directions with respect to
the angle of inclination. The word ‘traction’ hence better describes the force action on a
surface. This traction is a matrix with each entry describing the force in a given direction.
Figure 2-1. 3D Stress Illustration
A traction vector acting on a plane surface ‘n’ at a given point in terms of the
components of a stress tensor at that point, then the magnitude of the normal stress (σij)
is given by
σn = Tini , (2-1)
3
but
Ti = σij nj . (2-2)
Therefore,
σn = niσnni , (2-3)
where Ti is the Stress tensor, σij the stress normal to stress plane and ni, the
unit normal.
Figure 2-2. Tetrahedral plane acted upon by traction vector
From Pythagoras theorem, the shear stress (τs) and the normal stress (σn) can be
illustrated as component stresses of the stress tensor.
4
Figure 2-3. Graphical illustration of stress, strain components of a tensor.
2.2 Principal Stresses and Their Invariants
When the external force applied is coplanar with the direction of the unit normal
‘n’,
Tn = σn , (2-4)
where n = x, y or z (alternatively 1, 2 or 3), and
= 0. (2-5)
The stress tensor of an isotropic material will show the stress components in three axes and a
shear coupling between orthogonal axes,
, (2-6)
The plane perpendicular to the unit normal is the principal plane and the stresses acting
parallel and perpendicular to this surface are the plane stresses. The invariants remain
unchanged regardless the orientation of the traction vector with respect to the normal
plane surface as shown below,
.
5
I1 =trace (σij), (2-7)
I2 =Sum of Cofactors of diagonal, and (2-8)
I3 =det (σij). (2-9)
This is written in terms of the principal stresses as
I1 =σ1 + σ2+ σ3, (2-10)
I2 =σ1σ2 + σ2σ3+ σ3σ1, and (2-11)
I3 = σ 1 σ 2 σ. (2-12)
Alphabets are here used interchangeably with numerals where x =1, y=2 and z=3.
2.3 Deviatoric Stresses and Their Invariants
Stress consists of two parts:
The mean (hydrostatic/spherical) stress and
The deviatoric stress
The deviatoric stress can be expressed as
σm= 1
3(σkk) =
1
3 (σx + σy+ σz), (2-13)
σij = Sij + σmδij , and (2-14)
Sij= [
(𝜎11−𝜎𝑚) 𝜎12 𝜎12
𝜎21 (𝜎22−𝜎𝑚) 𝜎23
𝜎31 𝜎32 (𝜎33−𝜎𝑚)] . (2-15)
By evaluating the above equation (2-14) the invariants are obtained,
6
J1= 0, (2-16)
J2= 1/3( 𝐼122 - 3𝐼12), and (2-17)
J3 = 1/3( 2𝐼13 - 9𝐼1 𝐼2 + 27𝐼3) . (2-18)
In 2D problems, only one plane is considered, ignoring the out of plane stress
components.
Figure 2-4. 2D Stress Illustration
This is represented in matrix format as
σij = [𝜎𝑥𝑥 𝜏𝑦𝑥 0𝜏𝑥𝑦 𝜎𝑦𝑦 0
0 0 0] . (2-19)
In uniaxial stress studies, the 2D stresses further reduce to one of the principal stresses.
7
This is the stress as a result of a load applied normal to a surface.
Figure 2-5. Uniaxial Stress Illustration
This can be shown in matrix format as
σij = [𝜎𝑥𝑥 0 0
0 0 00 0 0
] . ( 2-20)
This is idealized in truss members that possess only normal stresses since their ends are
treated as frictionless pins thereby eliminating the possibility of moments. Axial member
stress then constitutes the only stress component per truss element and acts normal to its
cross sectional surface.
2.4 Constitutive Equations
There are six equations of compatibility for stress, six equations of compatibility
of strain and three equations of compatibility for displacements making a total of nine
equations. Six other material-dependent relationships also exist to connect stresses with
strain. These additional six equations are referred to as the constitutive equations of
8
materials. The linear portion of the stress-strain relationship ends at the proportional limit
and its general form can be express as
σij = Cijklɛij , (2-21)
where ‘Cijkl’ is the material elastic constant tensor. The general form for the isotropic
tensor ‘Cijkl’ is given by
Cijkl =λδijδkl + μ (δikjδjl) + (δiljδjk) + α (δikjδjl + (δilδjk) + (δiljδjk), (2-22)
where μ and λ are lame constants and α a scalar constant equal to zero due to symmetry.
Generalized isotropic Hooke’s Law based on experimental evidence from a uniaxial
tension test yielded the following relationships:
εx = σx/E , (2-23)
εy = -v εx = -v(σx/E), (2-24)
εz = -v εx = -v(σx/E), (2-25)
εx = 1
𝐸 [σx -v(σy + σz)], (2-26)
εy = 1
𝐸 [σy -v(σx + σz)], (2-27)
εz = 1
𝐸 [σz -v(σx + σy)], (2-28)
γxy = 1
𝐺 (τxy), (2-29)
9
γyz = 1
𝐺 (τyz), (2-30)
γxz = 1
𝐺 (τxz), (2-31)
G = 𝐸
2(1+𝑣) , (2-32)
σij = 𝐸
(1+𝑣) ɛij +
𝑣𝐸
(1+𝑣)(1−2𝑣) ɛkk , (2-33)
but
λij = 𝑣𝐸
(1+𝑣)(1−2𝑣) , and (2-34)
μ = 𝐸
(1+𝑣) , (2-35)
hence,
Cijk = 𝐸
2(1+𝑣) ∙
𝑣𝐸
(1+𝑣)(1−2𝑣) + δijδkl + δikδjl + δilδjk, and (2-36)
σij = k∙ɛkk∙δik + 2(G∙eij) (2-37)
10
CHAPTER 3 THEORY OF ELASTICITY
The basis of structural analysis rises from the premise that a body resists
deformation by the resilience of its stiffness. This stiffness is a function of the material
and geometric properties of the body. The tables below illustrate these properties.
Table 3-1. Material Properties
MATERIAL PROPERTIES UNITS
Density lbs/in3
Elastic Modulus ksi
Poisson's Ratio -
Thermal Expansion 1/°F
Melting Point °C
Thermal Conductivity W/m-K
Specific Heat J/kg-K
Electrical Resistivity -in
Tensile Strength ksi
Yield Strength ksi
Percent Elongation %
Hardness Brinell
Table 3-2. Geometric Properties
GEOMETRIC PROPERTIES UNIT
Area in2
Cross-Sectional Area in2
Volume in3
Centroid in
Moment of Inertia in4
Section Modulus in4
Polar Moment of Inertia in4
Length in
Width in
Radius in
slenderness ratio -
Radius of gyration -
11
3.1 Linear Elastic Stress-Strain Relations
3.1.1 Hooke’s Law
Sir Robert Hooke, an English scientist propounded the force – displacement
relationship illustrated by a loaded spiral spring. Hooke’s law states that the displacement
of the loaded end of a spring is directly and linearly proportional to the force applied to
the spring. This is expressed in Mathematical terms as
F ≡ u and (3-1)
F= ku, (3-2)
where “k” is to proportionality constant of the spring. This constant “k” is a measure of
the elastic resistivity of the spring known as the spring’s stiffness.
Figure 3-1 Loaded Spiral Springs
Newton’s third law of motion states that action and reaction are equal and
opposite in direction provided equilibrium is maintained. A body will tend to resist
displacement in order to maintain equilibrium. A body subjected to a force tends to exert
an equal amount of force in the opposite direction in order to maintain equilibrium. This
12
resistive force is generated by the mass of the body as well as surface friction between the
body and the supporting environment. This relationship is expressed in Mathematical
terms as
σ = E ϵ . (3-3)
Though the body maintains a state of equilibrium the body deforms (changes in shape
and size). The ratio of the change in size versus the original size is called the strain while
the change in position is called the displacement. If x is the initial position of an
infinitesimal area in a body;
U=Δx ...……… (displacement) and (3-4)
ε = ΔL/L ……………. (strain). (3-5)
These properties vary across the volume of the body. The region of the body closer to the
loaded surface will normally exhibit a more intense strain and displacement response.
The applied force can be said to be linearly proportional to the strain or displacement to
the extent that the strain remains small,
ε << 1 . (3-6)
It follows that the force per unit area is linearly proportional to the strain induced in the
deformed body and expressed thus,
σ ≡ ε. (3-7)
As the load (stress) increases the strain the body undergoes increases proportionately.
This proportionality constant is specific to the material property of the body and is called
the material’s Young’s Modulus (E) in honor of the 19th-century British scientist Thomas
Young.
13
3.1.2 Limits of Linear Elasticity
Materials possess two regimes of stress-strain relations; elastic and plastic
regimes. In the elastic regime deformations due to loading are fully recovered once the
loading seizes. The material retains its geometric and volumetric (elastic) properties. The
stress-strain relationship is considerably linear. This means the stress is directly
proportional to strain.
Figure 3-1. Linear stress – strain Relationship
The above relationship can be expressed in Mathematical terms as shown below,
σ = E ε. (3-8)
However, there exists for every material a maximum stress for which the material
begins to lose its elastic properties. This maximum stress is called the elastic limit. The
stress-strain relationship seizes to be linear as it approaches the yield limit. The yield
stress is the point where the material begins to lose its elastic properties.
14
Figure 3-2. Regions of relationship between stress and strain.
3.1.3 Strain-Displacement Relations
Before deformation;
dso2 = dxidxi , (3-9)
after deformation,
dso2 = dξidξi , (3-10)
but
ξi = xi + ui , (3-11)
hence,
dξi = dxi + ui,jdxi , (3-12)
dξi = (δij + ui,j)dxj , and (3-13)
ɛij = ( 1
2 ui,j + ui,j ) . (3-14)
15
3.2 Nonlinear Stress-Strain Relations
As the strain becomes sufficiently large in relation to the structure, the stress-
strain relationship begins to deviate from the classical Hookean linear stress-strain
relationship. The material strain response no longer stays linearly proportional to the
force.
3.2.1 Forms of Nonlinearities
Nonlinearity of structural members arises from various sources. Anomalies in the
material mass composition like void that reduce the effective area of the material, the
characteristics of the load which may be cyclic or impulsive, variations in temperature
and anisotropy of the material all constitute nonlinear behaviors in the structural member
under loading. Material nonlinearity and geometric nonlinearity are addressed in this
study.
3.2.2 Material Nonlinearity
As load increases, the material strain tends to increase by larger amounts. One of
various nonlinear stress-strain curves in of the Ramberg Osgood relationship.
Figure 3-3. Ramberg Osgood Stress-Strain Curve
16
An elastic material is one characterized by the ability to regain total material
elastic properties upon unloading. In a uniaxial case, upon unloading the material follows
the same stress-strain curve back to the origin of the curve. With regards to the work
done as depicted in the principle of virtual work the mechanical work done by external
loading will be regained if the load is statically removed. The strain per unit volume
(strain energy density – W) is represented by the area under the stress-strain curve,
W(ɛ) = ∫ 𝜎ɛ
𝑜 . (3-15)
In a multiaxial case the above equation is expressed as
W(ɛij) = ∫ 𝜎ɛ𝑖𝑗
𝑜 ijδɛij . (3-16)
Alternatively, the area above the stress-strain curve representing the
complementary energy density (energy per unit volume) is expressed as
Ω(σ) = ∫ ɛ𝜎
𝑜 . (3-17)
In the multiaxial case
Ω (σij) = ∫ ɛ𝜎𝑖𝑗
𝑜 ijδσij . (3-18)
Both functions (W & Ω) are related in the manner stated below
W + Ω = σijɛij . (3-19)
17
Figure 3-4. Strain Energy density function (W) & energy density function (Ω)
3.2.3 Geometric Nonlinearity
In linear analysis, the local coordinate system is positioned in the initial
undeformed state of the member and it remains in that position regardless of where the
member actually displaces to due to the external loads. With geometric nonlinear
analysis, it is more convenient to use a local coordinate system that is attached to, and
displaces with the member as it deforms. The initial deformed length is computed as
u = L-L’ , (3-20)
where a positive value of u depicts a shortening of the member while a negative value
depicts an elongation of the member, L, the undeformed length and L’, the deformed
length. A positive valued member axial force ‘F’ is considered to represent a member in
compression while a negative valued member axial force represents a member in tension.
18
3.2.4 Nonlinear Stress-Strain Relationships
From the relationships below;
W(ɛ) = ∫ 𝜎ɛ
𝑜 dɛ , (3-21)
W(ɛij) = ∫ 𝜎ɛ𝑖𝑗
𝑜 dɛij , (3-22)
Ω (σij) = ∫ ɛ𝜎𝑖𝑗
𝑜 d 𝜎 ij , and (3-23)
W + Ω = 𝜎ij ∙ ɛij. (3-24)
3.2.5 Incremental Stress-Strain Relationship
This type of formulation describes the mechanical behavior of a class of material
in which the state of stress is dependent on the current state of strain as well as on the
stress path taken to reach this state. The incremental constitutive relationships are written
as
�̇�ij = Fij( ɛ̇kl, σmn). (3-25)
For time-independent materials the above equation is expressed as
dσij = Cijkl(σmn)dɛ. (3-26)
19
CHAPTER 4 THEORY OF PLASTICITY
4.1 Plastic Deformation
Plasticity can be put in simplistic terms as the propensity of a material to undergo
permanent deformation under load. This occurs when an applied load induces a stress in
the material beyond its yield point. A material is described as perfectly plastic when it
undergoes irreversible deformation without further increase in stresses or loads. As a
material is continued to be stressed, a point is reached where deformations are no longer
recoverable after unloading. Some of the deformations persist in the form of residual
stresses (or plastic strain). Due to a phenomenon hardening; where the yield stress limit
increases before the material eventually yields. If the stress level were maintained at this
yield point, a perfectly plastic behavior is said to be idealized.
4.2. Flow Rule
The flow rule stipulates that there exists a plane in stress space where plasticity
begins. If stress level remains constant, the material experiences plastic strain without
yielding deformation. At this threshold, without further plastic strain accumulation the
material tends to possess an upward shift in yield stress. This phenomenon is referred to
as hardening.
4.3. Hardening Behavior
Work hardening (strain hardening) is the strengthening of a material due to plastic
deformation. This is as a result of dislocation movements and dislocation generation
within the crystal structure of the material. Alloys not amenable to heat treatment,
including low-carbon steel are often work-hardened. Before work hardening, the lattice
20
of the material exhibits a regular, nearly flawless lattice structure. This can be created or
restored at any time by annealing. As the material is work hardened it becomes
increasingly saturated with new dislocations, and more dislocations are prevented from
nucleating (a resistance to dislocation-formation develops). This resistance to dislocation-
formation manifests itself as a resistance to plastic deformation; hence, the observed
strengthening. In metallic crystals, irreversible deformation is usually carried out on a
microscopic scale by defects called dislocations, which are created by fluctuations in
local stress fields within the material culminating in a lattice rearrangement as the
dislocations propagate through the lattice. At normal temperatures the dislocations are not
annihilated by annealing. Instead, the dislocations accumulate, interact with one another,
and serve as pinning points or obstacles that significantly impede their motion. This leads
to an increase in the yield strength of the material and a subsequent decrease in ductility.
Such deformation increases the concentration of dislocations which may subsequently
form low-angle grain boundaries surrounding sub-grains. Cold working generally results
in higher yield strength as a result of the increased number of dislocations and the Hall-
Petch effect of the sub-grains, and a decrease in ductility. The effects of cold working
may be reversed by annealing the material at high temperatures where recovery and
recrystallization reduce the dislocation density.
4.4. Isotropic Hardening
This is when the stress field expands during loading but maintains its shape and
origin. The stress can be assumed to either be applied considering one axis only
(uniaxial) or two axes (biaxial) in a laboratory study.
21
Figure 4-1. Uniaxial Isotropic Hardening.
If the part is taken beyond the yield stress, it begins to deform plastically. If taken to a
maximum stress (point A) and the load is released, it unloads along the dashed line. If the
part is loaded again, no additional plastic deformation occurs until the stress reaches point
A. If the part is put into compression, it compresses elastically along the dashed line until
it reaches point B, and then it yields in compression. With isotropic hardening, the
change in stress from point A to point B is twice the maximum stress obtained.
Figure 4-2. Biaxial Isotropic Hardening.
22
In a biaxial case, any combination of stresses inside the initial yield surface “A” is
deemed to be within the elastic region. Plastic flow is reached at the boundary separating
“A” and “B”. Beyond this boundary marks the inelastic region where plastic strain
becomes permanent even after unloading as residual strain constituting plastic
deformation.
4.5. Kinematic Hardening
Here, the size of the stress field remains unchanged in size and shape but
experience a shift in its origin. The kinematic hardening model, however, is more
favourable especially in studies involving cyclical loading because it takes into account
the Bauschinger effect which holds that the tensile stress in uniaxially loaded materials
during loading is not necessarily equal the compressive stress during unloading or stress
reversal.
Figure 4-3. Kinematic Hardening.
23
4.6. Dislocations and lattice strain fields
Dislocations are defined as line defects in a material's crystal structure. The bonds
surrounding the dislocation are already elastically strained by the defect compared to the
bonds between the constituents of the regular crystal lattice. Therefore, these bonds break
at relatively lower stresses, leading to plastic deformation. The strained bonds around a
dislocation are characterized by lattice strain fields. For example, there are compressively
strained bonds directly next to an edge dislocation and tensilely strained bonds beyond
the end of an edge dislocation. These form compressive strain fields and tensile strain
fields, respectively. Strain fields are analogous to electric fields in certain ways.
Specifically, the strain fields of dislocations obey similar laws of attraction and repulsion;
in order to reduce overall strain, compressive strains are attracted to tensile strains, and
vice versa. The visible (macroscopic) results of plastic deformation are the result of
microscopic dislocation motion. For example, the stretching of a steel rod in a tensile
tester is accommodated through dislocation motion on the atomic scale.
Figure 4-4. Increase of dislocations and work hardening
24
CHAPTER 5 CONSTITUTIVE MODELS
Constitutive models are mathematical formulations that define the material
properties and their response to loading. They often hold piece wise details that make for
a better simulation of a material under study. Constitutive modeling employs constitutive
equations (which relate stress to strain) in a fashion that depicts the material behavior. A
yield/failure criterion is also defined in the constitutive model.
5.1. Yield and Failure Criteria
In a uniaxial tensile test, the orientation of the load on the body is fictitiously kept
normal to the loaded surface. This simplifies the material response and results in a single
value characterized as the material’s yield stress (strength capacity). This is hardly the
case in real field conditions. Stress to surfaces in actuality is multi-axial and are referred
to as traction vectors. In essence, a loaded material close it its yield capacity will only
require a relatively smaller amount of the complex three-dimensional traction force than
its uniaxial to reach its yield point. It can be assumed that yield will occur at a particle
when some combination of the stress components reaches some critical value, k and
expressed as
F (σ11, σ 12, σ 13, σ 21, σ 22, σ 23) = k . (5-1)
Of all the yield criteria for isotropic metallic materials, the Tresca and the Von Mises
criteria are more readily used in mechanical and structural engineering. In this study, the
von Mises criteria will be awarded absolute focus.
25
5.1.1 von Mises Yield Criterion
The von Mises yield criterion dating back to 1913 states that yielding begins
when the octahedral shear stress reaches a critical value ‘k’. This is expressed as
τoct = √2
3𝐽2 = √
2
3 K , (5-2)
which reduces to the simple form;
F(J2) = J2 - K2 = 0 . (5-3)
In terms of the principal stresses,
(σ1- σ2)2 + (σ1- σ2)2 + (σ1- σ2)2 = 6K2 . (5-4)
The von Mises criterion states that yield occurs when the principal stresses satisfy the
relationship
F (𝝈𝒊𝑱) = ( 𝟏
𝟔 )√(𝝈𝟏 − 𝝈𝟐)𝟐 + (𝝈𝟐 − 𝝈3)𝟐 + (𝝈𝟏 − 𝝈𝟑)𝟐 . (5-5)
The von Mises model is applied in various structural analyses were material
deformations are of interest. Such applications are in the area of crash analysis, metal
forming, and general collapse studies. These analyses often require plasticity models that
include kinematic hardening especially in cases involving cyclic loading. Other
applications of the von Mises model are in a fully coupled temperature-displacement
analysis or an adiabatic thermal-stress analysis such that plastic dissipation results in the
heating of a material and can be to simulate progressive damage and failure. This same
capability is sufficient in modelling joints bound together by welds and subjected to
26
stresses cyclic in nature. In principle, it assumes that yielding of the weld material is
independent of the equivalent pressure stress when voids may nucleate and grow in the
material, constituting crack initiation and growth. For a perfectly plastic material, certain
assumptions are required in order for the concept of the Flow Rule to hold.
5.1.2 Tresca Yield Criterion
This yield condition was the first criterion that combines the state of stress for
metals proposed by Tresca in 1864. It suggests that yielding occurs when the maximum
shear stress at a point reaches a critical value ‘k’. In terms of principal stresses, one half
of the difference between the principal stresses taken in pair must be equal to ‘k’ for yield
to occur,
max(1
2│σ1- σ2│,
1
2│σ2- σ3│,
1
2│σ3- σ1│) = k , (5-6)
where the material constant ‘k’ may be determined from a simple tension test as
k = σo/2. (5-7)
5.1.3 Mohr Coulomb Failure Criterion
The Mohr-Coulombs yield criterion can be considered as a generalized version of
the Tresca criterion. Both criteria are based on the assumption that the maximum shear
stress is the only decisive measure of impending failure. The Mohr criterion can be
written as
1
2 (σ1- σ3)2cosϕ = c-[(
1
2)(σ1- σ3) +
(𝜎1− 𝜎3)
2𝑠𝑖𝑛𝜙]tanϕ . (5-8)
27
5.1.4. Drucker-Prager Failure Criteria
As well as the Mohr-Coulomb’s failure criterion, the Drucker-Prager criterion can
be considered as a generalized form of the Tresca criterion formulation in 1952. This is a
simple modification of the von Mises criterion where the influence of the hydrostatic
stress component on failure is introduced by an additional term and expressed as
F (I1, J2) = α I1 + √𝐽2 - K = 0, (5-9)
where α and k are material constants.
5.2. Numerical Implementation
In the design of structures, linear analysis is commonly used and therefore the
calculated stresses and displacements are always linearly proportional to the applied
loads. If a structure is designed to behave linearly for all worst loading cases, this design
may be over-estimated and uneconomical. In reality, especially for high-rise buildings
under severe loads, nonlinearities due to geometrical instability or material yielding can
be significant. In such a case, the relationship between the structural deformation and the
applied load is no longer in a linear proportion. In nonlinear analysis, the structural
response to incremental loading is affected by the instantaneous loading level and the
deformed geometry of the structure. In 1964, the incremental technique in plotting the
load-deflection curve of trusses and frames was developed by Turner et al. and Argyris.
The technique had the prescribed loads divided into small increments and after each load
increment, the geometrical configuration, the stiffness matrix of the structure was
updated to account for the geometrically nonlinear effect. The drawback of this technique
was the accumulated error in the equilibrium path and problem of numerical divergence
28
when a solution path approaches the limit point of the load-deformation curve. This is
due to the ill-conditioning of the tangent stiffness matrix or the solution being
unattainable when the applied load is larger than the limit load. However, these concerns
are addressed by prescribing the displacement rather than the force. The ‘Newton-
Raphson’ method is a mathematical scheme for finding the numerical solution of an (of
the form ‘F(x) = 0’ where f(x) is a continuous and differentiable and the equation is
known to have a solution near a given point. It is one of the most popular and powerful
iterative methods for finding the roots to a nonlinear equation. It always converges if the
initial trial approximation is sufficiently close to the exact solution as
Xn+1 = xn - 𝑓(𝑥𝑛)
𝑓′(𝑥𝑛) . (5-10)
Newton-Raphson method can also be derived by using the Taylor series;
f(x) = f(xn) + (x-xn)f’(xn) + 1
2!(x-xn)2f’’(xn) +………….
1
𝑛!(x-xn)2fn(xn) . (5-11)
Figure 5-1. Newton-Raphson Graphical Illustration
29
CHAPTER 6 FINITE ELEMENT METHOD
The Finite Element Method of Analysis is here employed in evaluating the
structural response to static loading. The properties of the material will be altered either
within or beyond its elastic limit. The element (structural member) is first discretized
(meshed) producing component finite elements. Depending on the parent (original)
element, the finite elements could be of various definite geometric shapes. A
corresponding reference element and its predefined analysis is then mapped onto a finite
element while taking into account prescribed loading and support conditions and the
resulting response is applied to the entire domain with respect to their spatial location.
6.1. Governing Equations
Governing partial differential equations are evaluated and matrices are formed for
element stiffness and boundary conditions. The governing equation for the linearized
elasticity of an element, also known as the Strong Form is as follows :
div ( 𝑇 ) + ρ 𝑏 = 0 (in Ω) , (6-1)
𝑈(x) = 𝑈𝑃 (x) displacement as a response to loading, (6-2)
𝑇 𝑛 = 𝑡𝑃 (x) stress (tensor), (6-3)
𝑇 = stress tensor = λ t𝑟 [ 휀 ] 𝐼 + 1
2 μ [ 휀 ], and (6-4)
휀 = 1
2 [grad (u) +grad (u)T]. (6-5)
30
6.2. The Galerkin Formulation
The equivalent variational form of the above equation is derived first before
numerical method of evaluation can be employed. Employing the Galerkin formulation
we have
∫ 𝑤
𝛺 . (div ( 𝑇 ) + ρ 𝑏) dΩ 𝑤 =0, ∀ w(x) and (6-6)
∫ 𝑤
𝛺 . div ( 𝑇 ) dΩ + ∫ 𝑤
𝛺 . ρ 𝑏 dΩ = 0 . (6-7)
From Greens identity equation takes the form
∫ 𝑔𝑟𝑎𝑑[ 𝑤]
𝛺 . 𝑇 dΩ = ∫ 𝑤
𝛺 ρ 𝑏 dΩ + ∫ 𝑑𝑖𝑣 (𝑤
𝛺 𝑇 ) dΩ . (6-8)
From The Divergence theorem equation takes the form
∫ 𝑔𝑟𝑎𝑑[ 𝑤]
𝛺 . 𝑇 dΩ = ∫ 𝑤
𝛺 ρ 𝑏 dΩ + ∫ 𝑤
Ґ𝑁 . 𝑇 𝑛 dΓ ∀ w(x), (6-9)
𝑇 𝑛 = 𝑡𝑃 (x) (Neuman Boundary condition), and (6-10)
∫ 𝑔𝑟𝑎𝑑[ 𝑤]
𝛺 . 𝑇 dΩ = ∫ 𝑤
𝛺 ρ 𝑏 dΩ + ∫ 𝑤
Ґ𝑁 . 𝑡𝑃 (x) dΓ ∀ w(x). (6-11)
Stiffness Matrix is built from material modular properties such as its strain-displacement
relationship,
∫ 𝑔𝑟𝑎𝑑[ 𝑤]
𝛺 . 𝑇 dΩ = ∫ 𝑔𝑟𝑎𝑑[ 𝑤]
𝛺 .(λ t𝑟 [ 휀 ] 𝐼 +
1
2 μ [ 휀 ]) dΩ , ( 6-12)
= ∫ 𝑔𝑟𝑎𝑑[ 𝑤]
𝛺 .( λ t𝑟 [ 휀 ] 𝐼 + μ[ grad (u)]+ grad(u)T] ) dΩ , and (6-13)
31
= ∫ 𝑔𝑟𝑎𝑑[ 𝑤]
𝛺λ t𝑟 [ 휀 ] 𝐼 dΩ + ∫ 𝑔𝑟𝑎𝑑[ 𝑤]
𝛺 μ grad (u) +
∫ 𝑔𝑟𝑎𝑑[ 𝑤]
𝛺 𝜇 grad [(u)T] dΩ . (6-14)
The first part of equation (6-14) can be further expressed in a simplified form as
∫ 𝑔𝑟𝑎𝑑[ 𝑤]
𝛺 . λ t𝑟 [ 휀 ] 𝐼 dΩ = ∫ 𝑣𝑒𝑐[ 𝐵]
𝛺 . λ 𝑣𝑒𝑐[ 𝐵𝑇]𝑇 dΩ , (6-15)
the second part of equation (6-14) can be expressed in a simplified form as
∫ 𝑔𝑟𝑎𝑑[ 𝑤]
𝛺 μ grad (u) = ∫
𝛺(𝐵 ʘ I) μ (𝐵 ʘ I) dΩ , and (6-16)
the third part of equation (6-14) can be expressed in a simplified form as
∫ 𝑔𝑟𝑎𝑑[ 𝑤]
𝛺 𝜇 grad (u)T]) dΩ = ∫
𝛺(𝐵 ʘ I) μ Tmat (𝐵 ʘ I) dΩ . (6-17)
The load equation in the same fashion as above is simplified as
∫ 𝑤
𝛺 ρ 𝑏 dΩ = ∫
𝛺(𝑁 ʘ I) ρ 𝑏 dΩ. . (6-18)
6.3. Principle of Virtual Work
The principle of virtual work propounds that the external work done by an
external force on a rigid body in equilibrium is equal and opposite in direction to the sum
of internal works done be the resultant internal forces within the rigid body. With the
balance in work done between the external force and internal forces the net work done is
equal to zero. This balance is a condition for equilibrium.
32
Figure 6-1. Free Body Diagram of a Cantilevered Beam
Figure 6-2. Virtual displacements of a Cantilevered Beam
In figure 6-1, shows an inclined force ‘P’ applied to one end of a cantilevered
beam fixed at the other end. The inclined force is resolved into component forces Px and
Py while the fixed end produces three reactions; R1, R2 and R3. R1 and R2 are translational
reactions resisting displacements in the x- direction and y-direction due to Px and Py
respectively while R3 is the rotational reaction which resists rotational displacement due
33
to moment. Figure 4-2 shows the free body diagram which illustrates the rigid body
motions δdx, δdy and δƟ. Keeping in mind that work is equal to the product of force and
displacement
δWe = δWx + δWy + δWƟ . (6-19)
For translation in the x-direction
δWx = R1δdx + Px δdx , (6-20)
δWx = (R1 + Px) δdx , and (6-21)
δWx = (∑Fx) δdx . (6-22)
For translation in the y-direction
δWy = R2δdy + Py δdy , (6-23)
δWy = (R2 + Py) δdy, and (6-24)
δWy = (∑Fy) δdy . (6-25)
For rotation displacement
δWƟ = R3δƟ + Py (LδƟ) , (6-26)
δWƟ = (R3 + PyL) δƟ, and (6-27)
δWƟ= (∑MƟ) δƟ . (6-28)
34
Since the beam is in equilibrium,
∑Fx =∑Fy =∑MƟ = 0, (6-29)
hence,
δWe = 0. (6-30)
6.4. Finite Element Formulation
Here, the finite element formulation involves expressing the strain and stresses at
point within the member in terms of its end displacements, ‘u’ and applying the principle
of virtual work for deformable bodies expressed as
δWe = ʃv δɛTσdV , (6-31)
where
δWe: = virtual external work,
δɛ: =virtual strain, and
σ:= real stress.
6.4.1 Displacement Function
For the relationship ‘F = ku’, it can be seen that displacement is an integral part of
the finite element methods for solids. The displacement functions in the finite element
method are usually in the form of complete polynomials in which n is the degree of the
polynomial expressed as
U(x) = ∑ni=0 (aixi ) with ai ≠ 0. (6-32)
35
Applying boundary conditions,
N = nbc-1 (nbc = number of boundary condition) and (6-33)
ux = ao + a1x. (6-34)
To determine ao and a1, the boundary conditions are
@ x = 0, ux=u1… …nbc1 and (6-35)
@ x = L, ux=u3… nbc2 . (6-36)
Evaluating ‘nbc1’ with x=0 & Ux = U1,
ux = ao + a1 x , (6-37)
becomes
u1 = ao + a1(0) and (6-38)
u1 = ao . (6-39)
Evaluating nbc2, x = L and Ux = u3
u3 = u1 + a1 (L) and (6-40)
a1 = (u3-u1)/L . (6-41)
Substituting Eq (5-48) into Eq (5-41),
ux = u1 + (u3-u1) (x/L) . (6-42)
Similarly, for the y-direction,
uy = (1-x/L) u2 + u4(x/L). (6-43)
36
The axial stress (σ) in the member,
σ = Fa/A , (6-44)
where
A = cross-sectional area,
Fa = internal member force,
but
ɛ = σ/E . (6-45)
Hence,
Fa/EA = constant = a1 . (6-46)
To relate the strain (ɛ) to the displacement (ux), the deformed and undeformed positions
of the beam are considered as follows
ɛ = (deformed length – initial length)/ (initial length), (6-47)
ɛ = ((δx + δux) - δx)/ δx, and (6-48)
ɛ= (δx+ δux- δx)/ δx = δux/ δx . (6-49)
6.4.1 Shape Functions
Displacements are evaluated using shape functions which can be expressed as
�̅� = Nu , (6-50)
where
u’ is the member displacement function vector and
37
N is the member shape function matrix. Alternatively, this is expressed as
�̅�x = N1u1 + N3u3 and (6-51)
�̅�y = N2u2 + N4u4 , (6-52)
where
N1 = N2 = 1 - 𝑥
𝐿 and (6-53)
N3 = N4 = 𝑥
𝐿 . (6-54)
Figure 6-1. Shape Functions: N1(u1=1, u2=u3=u4=0), N2(u2=1, u1=u3=u4=0)
38
Figure 6-2. Shape Functions: N3(u3=1, u1=u2=u4=0), N4(u4=1, u1=u2=u3=0)
In the matrix form,
[𝑢𝑥𝑢𝑦]= [
𝑁1 0 𝑁3 00 𝑁2 0 𝑁4
] [
𝑢1𝑢2𝑢3𝑢4
] . (6-55)
6.4.2 Constitutive Strain-Displacement Relationship
The strain –displacement relationship ‘ɛ = δux/δx’ can be expressed in matrix form as
ɛ = [𝑑
𝑑𝑥0] [
𝑢𝑥𝑢𝑦] = D �̅� , (6-56)
where
D is the differential operator matrix,
ɛ = Du’ = D (Nu) = Bu, (6-57)
39
‘B’ is equal to DN and is called the strain-displacement matrix.
B = DN = [𝑑
𝑑𝑥0] [
𝑁1 0 𝑁3 00 𝑁2 0 𝑁4
] . (6-58)
By multiplying D and Ni above,
B = [𝑑𝑁1
𝑑𝑥0
𝑑𝑁3
𝑑𝑥0] . (6-59)
Substituting N1 for N3,
B = [𝑑(1−
𝑥
𝐿)
𝑑𝑥0
𝑑(𝑥
𝐿)
𝑑𝑥0] . (6-60)
By performing the necessary differentiation Equation(6-67) yields;
B = [−1
𝐿0
1
𝐿0] . (6-61)
6.4.3 Member Stiffness Matrix (‘K’)
The stiffness matrix, [K], relates the forces {p}, applied at a set of coordinates on
a structure to the displacements {d}, at the same set of coordinates as
[K]{d} = {p} . (6-62)
Coordinates are defined by the locations and directions of the forces, {p}, and
displacements, {d}. Using the ‘principle of virtual work’ approach;
40
δWe = F1δu1 + F2δu2 + F3δu3 + F4δu4 and (6-63)
δWe = [𝛿𝑢1 𝛿𝑢2 𝛿𝑢3 𝛿𝑢4] [
𝐹1𝐹2𝐹3𝐹4
] = δuT . (6-64)
By substituting ‘δWe = δuTF’ into the principle of virtual work for deformable bodies
expression we get the following expression
δuTF = ʃv δɛTσdV and (6-65)
δuTF = ʃv (Bδu)TEBdVu. (6-66)
The terms in the parenthesis in equation (6-67) can be expanded and rewritten as
(Bδu)T = δuTBT . (6-68)
Equation (6-69) can then be rewritten as
δuTF = δuT ʃv BTEBdVu and (6-70)
δuT(F- ʃv BTEBdVu) = 0. (6-71)
Since δuT
can be arbitrarily chosen and is not zero,
F = (ʃv BTEBdV)u = ku and (6-72)
K = ʃv BTEBdV. (6-73)
To determine the explicit form of ‘K’ for a truss two noded element, substituting ‘B’
with (1/L) [−1 0 1 0],
41
K = E/L2 [
−1010
] [−1 0 1 0] ʃv d , and (6-74)
K = E/L2[
1 0 −1 00 0 0 0
−10
00
10
00
] ʃv dV . (6-75)
Since ʃv dV = AL,
K = EA/L[
1 0 −1 00 0 0 0
−10
00
10
00
] . (6-76)
42
CHAPTER 7 2D LATTICE MODEL - TRUSS DISCRETIZATION
7.1 Continuum Mediums
Continuum mechanics, a branch of mechanics deals with the analysis of the
kinematics and the mechanical behavior of the material modeled as a continuous mass
rather than as discrete particles. Materials such as solids, liquids and gases are composed
of molecules separated by empty space. This approach ignores the discontinuity prevalent
between particles in the solid mass. The solid mass is considered stress free if the only
forces present are intermolecular forces (electromagnetic bond, covalent bond etc)
required to hold the body together.
7.2 Discretized Representation of Continuum Mediums
As an alternative to continuum models, the solid mass is represented by a network
of discrete elements that hold the same material properties. These discrete elements are
interconnected by nodes. This approach allows for a detailed study of the structure in
aspects of localization, surface contacts and interface debonding. Studies like crack
propagation is made possible by discretizing the solid mass where nodes at the crack
region can be observed. Discrete models depending on the size and purpose are modeled
as trusses or frames in 2D or 3D space.
7.3 2D lattice Models Generated
The basic 2D lattice model unit cell is a three member truss system. This
geometry is replicated over a number of times to generate a network of triangular unit
cells. Three different models of different multiples of the unit cell is generated in the
course of this study.
43
7.3.1 Constant Strain Triangle
The constant strain triangle is a three-member truss system. These members are of
equal length constituting an equilateral triangle. This model is employed in validating the
Matlab finite element code by enacting various benchmark problems.
Figure 7-1. Constant Strain Triangle Lattice Model Unit
44
7.3.2 Hexagonal 2D Lattice Model
The hexagonal lattice model is a 6 sided polygon made up of 6 equilateral
triangles. It is comprised of 6 constant strain triangles.
Figure 7-2. Hexagonal Lattice Model
45
7.3.3 Multicelled-Hexagonal 2D Lattice Model
The Multicelled-Hexagonal lattice model is comprised of one-hundred and twenty
equilateral (constant-strain) triangles. This model is employed in the study of the
nonlinear finite element analysis with damage.
Figure 7-3. Multicellular lattice Model
46
CHAPTER 8 IMPLEMENTATION IN MATLAB
A finite element code is developed in Matlab. For large structural systems the
finite element method is most effective using L2 elements which are basically two noded
elements. Input data are entered in excel files which are read by Matlab. The nodes are
entered with increasing node numbers from left to right and from bottom to top with
corresponding x and y coordinates. Elements are entered in a separate file with element
numbers in the same manner as with the nodes but with corresponding beginning and
ending nodes. Boundary-conditions are entered in two separate excel files; one for
prescribed nodal loads and the other for support node fixity. A preprocessing script file
uses the data contained in the excel file the compute element geometric and material
properties. The stiffness matrix is formulated for each element and assembled into a
structure stiffness matrix. The load vector is formed and displacement vector solved for
from ‘F = Ku’. A post processing script file then computes the support reactions, internal
member forces and stresses. A plot of the undeformed and deformed structure displays
the strain response of the structure.
8.1 Data Input
The finite analysis method begins with prescribing the parameters of the study.
The geometric, material and boundary conditions are first defined.
8.1.1 Input Files (Excel files)
Data for the nodes, elements, applied force and support fixities are entered into
individual excel files.
47
8.1.1.1 Node Data
First, the node coordinates are defined in the Cartesian coordinate system. This
data is defined in an excel file as illustrated below. The first column defines the node
number; the second and third columns define the x-coordinates and y-coordinates
respectively.
Figure 8-1. Excel Node Data File
48
8.1.1.2 Element Data
The first column defines the element numbers. The second and third columns
define the corresponding x-coordinates and the y-coordinates respectively. The fourth
and fifth columns define the corresponding element modulus of elasticity and cross-
sectional area respectively.
Figure 8-2. Excel Element Data File
49
8.1.1.4 Constraints Data
The degrees of freedom are defined with U1 representing a restraint in the lateral
(horizontal) x-direction while U2 represents a restraint in the vertical y-direction. The first
column defines the restrained node numbers while the second and third columns define
the corresponding U1 and U2 respectively. A ‘0’ entry in column 2 or column 3 means no
restraint in that degree of freedom while a ‘1’ means a restraint in that degree of freedom.
Figure 8-3. Excel Constraint Data File
50
8.1.1.5 Load Data
The first column defines the node number with point loads prescribed. The second
and third columns define the magnitudes of the loads. Values for loads in the lateral x-
direction are entered in the second column. Values for loads in the vertical y-direction are
entered into the third column. A positive value signifies a load being applied in the left-
to-right direction for a lateral load or from bottom-up direction for loads applied in the
vertical direction. The reverse is the case for negative valued loads.
Figure 8-4. Excel Load Data File
51
8.1.2 Run File (script file)
clear all % CLEARS MATLAB WORKSPACE OF ALL ASSIGNED VARIABLES
clc % CLEARS MATLAB WORKSPACE DISPLAY
tic % STARTS TIMER
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
addpath('Program_Files')
brendan
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp('*******************************************************************')
disp(' ** P R E - P R O C E S S I N G B E G I N S **')
disp('*******************************************************************')
disp(' *********** ')
disp(' ****** ')
disp(' **** ')
disp(' ** ')
disp(' ')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
format bank
spacer
ProcessInputData % SCRIPT FILE FOR READING INPUT DATA AND PLOTTING
% UNDEFORMED STRUCTURE
dofs_per_Node=2; % DEFINES ANALYSIS 2D FOR TRUSSES
magnification = 1.0; % DEFLECTION PLOT MAGNIFICATION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[S_Matrix] = GlobalMatrix(Angles,Ele_Length,ElasticModulus,Area,Nodes,...
Elements,dofs_per_Node); % FUNCTION FILE - COMPUTES LOCAL STIFFNESS
% AND ASSEMBLES INTO GLOBAL MATRIX
disp('*******************************************************************')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp('*******************************************************************')
disp( ' ********** ASSEMBLE STIFFNESS MATRIX OF TRUSS ******************')
disp('*******************************************************************')
spacer
disp(S_Matrix) % DISPLAYS GLOBAL STIFFNESS MATRIX
Kff_Matrix % SCRIPT FILE PARTITIONS GLOBAL STIFFNESS MATRIX AND RETAINS
% STRUCTURE'S Kff MATRIX
disp('*******************************************************************')
disp(Kff) % DISPLAYS STRUCTURE STIFFNESS MATRIX
disp('*******************************************************************')
PrescribedLoads % SCRIPT FILE CREATES LOAD VECTOR
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
U = Kff\P; % ( SOLVES FOR DISPLACEMENT VECTOR
disp( ' ************************************** ')
disp(' ********* Displacement Vector ******** ')
disp( ' ************************************** ')
format bank
disp(U) % DISPLAYS DISPLACEMENT VECTOR
disp('*******************************************************************')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ReconfigureDisplacements % SCRIPT FILE CREATES LOAD VECTOR IN GLOBAL SPACE
disp('*******************************************************************')
disp('**** P O S T - P R O C E S S I N G B E G I N S ********')
disp('*******************************************************************')
disp(' *********** ')
disp(' ****** ')
disp(' **** ')
disp(' ** ')
disp(' ')
format bank
disp( ' *********************************************************' )
disp(' ********* Uff - Free Node Displacement Vector ******** ')
disp( ' *********************************************************' )
disp(Uff) % DISPLAYS DISPLACEMENT VECTOR IN GLOBAL SPACE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Reactions % SCRIPT FILE COMPUTES SUPPORT REACTIONS
ProcessOutputData % SCRIPT FILE COMPUTES MEMBER INTERNAL FORCES/STRESSES
% AND PLOTTING DEFORMED STRUCTURE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
toc % ENDS TIMER
52
8.1.3 ProcessInputeData (script file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
format bank
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
StrucType = 'TRUSS';
dofs_per_Node = 2;
disp(' *****************************************************************')
disp(' ****** STRUCTURAL ANALYSIS OF A TRUSS *************')
disp(' *****************************************************************')
spacer
spacer
disp(' *************************************')
disp(' ****** Reading Input Files ******')
disp(' *************************************')
spacer
spacer
tic
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Nodes = xlsread('NODE_DATA.xlsx'); % READS EXCEL FILE FOR NODE DATA
Elements = xlsread('ELEMENT_DATA.xlsx'); % READ EXCEL FILE FOR ELEMENT DATA
Loads = xlsread('LOAD_DATA.xlsx'); % READS EXCEL FILE FOR LOAD DATA
disp(' . ')
disp(' ... ')
disp(' ..... ')
disp(' ......... ')
disp(' ................. ')
disp(' ..................... ')
spacer
toc
disp(' Done ! ')
spacer
spacer
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp(' *************************************')
disp(' ****** *** NODES *** *********')
disp(' *************************************' )
disp(' || Node Number || x-coordinates || y-coordinates || ')
disp(Nodes)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp(' *************************************')
disp(' ***** *** Elements * ** ******')
disp(' *************************************')
disp(' || Element Number || Joint A || Joint B || E || Area || ')
disp(Elements)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp ' *************************************')
disp(' ****** *** Constraints *** ****')
disp(' *************************************')
disp(' || Node Number || Ux || Uy || ')
disp(Constraints)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp(' *************************************')
disp(' ***** *** Applied Loads *** *****')
disp(' *************************************')
disp(' || Node Number || Fx || Fy || ')
disp(Loads)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp(' **************************************************')
disp(' ***** Computing Element Lengths & Angles ******')
disp(' **************************************************')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
spacer
spacer
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Element = Elements(:,1);
n1 = Elements(:,2);
n2 = Elements(:,3);
ElasticModulus = Elements(:,4);
Area = Elements(:,5);
53
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Joint_A=[Nodes(n1,2), Nodes(n1,3)];
Joint_B=[Nodes(n2,2), Nodes(n2,3)];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Element_Num = length(Element);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
K=zeros();
Q=zeros();
for i=1:Element_Num
Ele=i;
[beta,Length] = Ele_Dat(Ele,Nodes,Elements);
K(i)=Length(:);
Q(i)=beta(:);
end
Ele_Length=K(:);
Angles=Q(:);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp(' ******************************************')
disp(' ****** *** Element Lengths *** ******')
disp(' ******************************************')
disp(Ele_Length)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp(' *****************************************')
disp(' ****** *** Element Angles *** ******')
disp(' *****************************************')
disp(Angles)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp(' **********************************************************')
disp(' *********** Plotting Undeformed Structure *********')
PlotNodes
PlotElements
PlotConstraints
format short
disp( ' *********************************************************')
8.1.4 GlobalMatrix (function file)
function [S_Matrix] = GlobalMatrix(Angles,Ele_Length,ElasticModulus,...
Area,Nodes,Elements,dofs_per_Node)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Solu = 0;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Size_Nodes=size(Nodes);
NumNodes=Size_Nodes(1,1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
S_Matrix=zeros(NumNodes*dofs_per_Node);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
StrucSize = size(Elements);
NumElements = StrucSize (1,1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for Ele = 1 : NumElements
Member = Ele;
disp('Member')
format rat
disp(Member)
format bank
theta = Angles(Ele);
L = Ele_Length(Ele);
E = ElasticModulus(Ele);
A = Area(Ele);
[k_Ele] = k_matrix(Ele,theta, L,E,A,Nodes,Elements);
Solu = Solu + k_Ele;
S_Matrix = Solu;
end
end
54
8.1.5 PrescribedLoads (script file)
Fx = Loads;
sizer=size(Constraints);
cnt=sizer(1,1);
dofs_per_Node=2;
NumNodes=length(Nodes);
ncons=zeros();
FxCon = zeros((NumNodes*dofs_per_Node),1);
fsizer =size(Fx);
fs=fsizer(1,1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:fs
aa = (Fx(i)-1)* dofs_per_Node + 1;
bb = (Fx(i)-1)* dofs_per_Node + 2;
FxCon((Fx(i)-1)* dofs_per_Node + 1)=Fx(i,2);
FxCon((Fx(i)-1)* dofs_per_Node + 2)=Fx(i,3);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
loc= [aa,bb];
disp('Applied Load Vector For Truss')
disp('FxCon')
disp(FxCon)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
P = FxCon;
P(FixedConstaints) = [];
disp('Load Vector For Free Nodes')
disp(P)
8.1.6 ReconfigureDisplacements (script file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp('************ Restricted Nodes **************************')
FixedConstaints
% dofs_per_Nodes=3;
nt=NumNodes*dofs_per_Node;
%%%%%%%%%%%%%%%%%%%%%%%%%
nUt = (1:nt)';
lUt = length(nUt);
Ut = zeros(lUt,1);
%%%%%%%%%%%%%%%%%%%%%%%%%
Ucount=nUt;
Ucount(FixedConstaints)=[];
%%%%%%%%%%%%%%%%%%%%%%%%%
mUt = length(Ucount);
for i = 1 : mUt
num = Ucount(i);
Ut(num) = U(i);
end
Uff=Ut;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8.1.7 Reactions (script file)
U_Global=U;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
cnn=(1 : (NumNodes*dofs_per_Node));
con=FixedConstaints;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Kfs = S_Matrix;
55
acon = cnn(:);
acon(con)=[];
acon;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Kfs((acon),:) =[];
Kfs(:,(con)) =[];
disp('Kfs')
disp(Kfs)
disp('*******************************************************************')
disp('************* R E A C T I O N S *********************')
disp('*******************************************************************')
Rx=Kfs * U_Global;
disp(Rx)
rn = length(con);
Rnx = zeros(rn,1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i = 1 : rn
Rnx(i) = Rx(i);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
format bank
spacer
spacer
spacer
disp('*******************************************************************')
disp('*********** SUPPORT REACTION *****************')
disp('*******************************************************************')
spacer
spacer
disp(' ----- ---------')
disp(' DOFs || REACTIONS')
disp(' ----- ----------')
RnxMatrix = [FixedConstaints, Rnx];
disp(RnxMatrix)
disp(' ----- ----------')
spacer
spacer
disp('*******************************************************************')
8.1.8 ProcessOutData (script file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
spacer
disp(' >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
disp('-------------------------------------------------------------------')
disp(' E l e m e n t I n t e r n a l F o r c e s & S t r e s s e s ')
disp('-------------------------------------------------------------------')
spacer
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ne= size(Elements);
nE = ne(1,1);
disp('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
for Ele = 1 : nE
L = Ele_Length(Ele);
Angle = Angles(Ele);
A=Area(Ele);
E= ElasticModulus(Ele);
[Internal_force,Stress,U_Ele,K_Ele ] = InternalStress(Ele,L,Angle,...
Elements,A,E,dofs_per_Node,Uff);
spacer
disp(' .................................')
disp(' Member f o r c e ')
disp(' .................................')
disp(Internal_force)
comment = Internal_force(1,1)- Internal_force(3,1);
if comment <0
disp(' *** T E N S I O N ')
56
Force = Internal_force(3,1);
disp(Force)
disp(' .................................')
disp(' Member Stress ')
disp(' .................................')
disp(Stress(3,1))
end
if comment >0
disp(' *** C O M P R E S S I O N')
Force = Internal_force(3,1);
disp(Force)
disp(' .................................')
disp(' Member Stress ')
disp(' .................................')
disp(Stress(3,1))
end
if comment == 0
disp(' *** Z E R O F O R C E M E M B E R ')
Force = Internal_force(3,1);
disp(Force)
disp(' .................................')
disp(' Member Stress ')
disp(' .................................')
disp(Stress(3,1))
end
disp(' >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
end
spacer
format bank
[U_plot,a,b] = ReshapeDisp(Uff,Nodes);
disp(' -----------------------------------------------------------------' )
PostElePlot
PostPlotNodes
8.2 Data Output
8.2.1 Matlab Workspace
********************************************************************
*************************************************
* *
* A FINITE ELEMENT ANALYSIS FOR 2D TRUSSES *
* *** *
* Program Written By: *
* B R E N D A N I S I D I E N U *
* APRIL 26 2013 *
* *** *
*************************************************
********************************************************************
*******************************************************************
** P R E - P R O C E S S I N G B E G I N S **
*******************************************************************
***********
******
****
**
*****************************************************************
****** STRUCTURAL ANALYSIS OF A TRUSS *************
*****************************************************************
*************************************
****** Reading Input Files ******
*************************************
.
...
.....
.........
.................
57
.....................
Elapsed time is 6.869411 seconds.
Done !
*************************************
****** *** NODES *** *********
*************************************
|| Node Number || x-coordinates || y-coordinates ||
1.00 0 0
2.00 10.00 0
3.00 5.00 8.66
*************************************
***** *** Elements * ** ******
*************************************
|| Element Number || Joint A | | Joint B | | E | | Area ||
1.00 1.00 2.00 29000.00 4.00
2.00 1.00 3.00 29000.00 4.00
3.00 2.00 3.00 29000.00 4.00
*************************************)
****** *** Constraints *** ****
*************************************
|| Node Number | | Ux | | Uy ||
1.00 1.00 1.00
2.00 1.00 1.00
*************************************
***** *** Applied Loads *** *****
*************************************
|| Node Number || Fx || Fy ||
3.00 0 5000.00
**************************************************
***** Computing Element Lengths & Angles ******
**************************************************
******************************************
****** *** Element Lengths *** ******
******************************************
10.00
10.00
10.00
*****************************************
****** *** Element Angles *** ******
*****************************************
180.00
60.00
120.00
**********************************************************
*********** Plotting Undeformed Structure *********
*********************************************************
Member
1
*** Element Stiffness Matrix ***
11600.00 0 -11600.00 0
0 0 0 0
-11600.00 0 11600.00 0
0 0 0 0
Member
2
*** Element Stiffness Matrix ***
2900.00 5022.95 -2900.00 -5022.95
5022.95 8700.00 -5022.95 -8700.00
-2900.00 -5022.95 2900.00 5022.95
-5022.95 -8700.00 5022.95 8700.00
Member
3
*** Element Stiffness Matrix ***
2900.00 -5022.95 -2900.00 5022.95
-5022.95 8700.00 5022.95 -8700.00
-2900.00 5022.95 2900.00 -5022.95
5022.95 -8700.00 -5022.95 8700.00
58
*******************************************************************
*******************************************************************
********** ASSEMBLE STIFFNESS MATRIX OF TRUSS ******************
*******************************************************************
14500.00 5022.95 -11600.00 0 -2900.00 -5022.95
5022.95 8700.00 0 0 -5022.95 -8700.00
-11600.00 0 14500.00 -5022.95 -2900.00 5022.95
0 0 -5022.95 8700.00 5022.95 -8700.00
-2900.00 -5022.95 -2900.00 5022.95 5800.00 -0.00
-5022.95 -8700.00 5022.95 -8700.00 -0.00 17400.00
*******************************************************************
FixedConstaints
1.00
2.00
3.00
4.00
*******************************************************************
Size of Kff Matrix
6.00 6.00
Reduced Size of Kff Matrix
2.00 2.00
****** Reconstruct Stiffness Matrix for free nodes **********
*******************************************************************
5800.00 -0.00
-0.00 17400.00
*******************************************************************
Applied Load Vector For Truss
FxCon
0
0
0
0
0
5000.00
Load Vector For Free Nodes
0
5000.00
**************************************
********* Displacement Vector ********
**************************************
0.00
0.29
*******************************************************************
************ Restricted Nodes **************************
FixedConstaints =
1.00
2.00
3.00
4.00
*******************************************************************
**** P O S T - P R O C E S S I N G B E G I N S ********
*******************************************************************
***********
******
****
**
*********************************************************
********* Uff - Free Node Displacement Vector ********
*********************************************************
0
0
0
0
0.00
0.29
Kfs
-2900.00 -5022.95
59
-5022.95 -8700.00
-2900.00 5022.95
5022.95 -8700.00
*******************************************************************
************* R E A C T I O N S *********************
*******************************************************************
-1443.38
-2500.00
1443.38
-2500.00
*******************************************************************
*********** SUPPORT REACTION *****************
*******************************************************************
----- ---------
DOFs || REACTIONS
----- ----------
1.00 -1443.38
2.00 -2500.00
3.00 1443.38
4.00 -2500.00
----- ----------
*******************************************************************
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-------------------------------------------------------------------
E l e m e n t I n t e r n a l F o r c e s & S t r e s s e s
-------------------------------------------------------------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
MEMBER
1
.................................
Member f o r c e
.................................
0
0
0
0
*** Z E R O F O R C E M E M B E R
0
.................................
Member Stress
.................................
0
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
MEMBER
2
.................................
Member f o r c e
.................................
-2886.75
0
2886.75
0
*** T E N S I O N
2886.75
.................................
Member Stress
.................................
721.69
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
MEMBER
3
.................................
Member f o r c e
.................................
60
-2886.75
0
2886.75
0
*** T E N S I O N
2886.75
.................................
Member Stress
.................................
721.69
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Elapsed time is 8.952276 seconds.
EDU>>
8.2.2 Plots
Figure 8-5. Matlab Deflection Plot
61
CHAPTER 9 LINEAR FINITE ELEMENT ANALYSIS
The linear finite element analysis is based on the assumption that the strains are
small and that the stress-strain relationship is linearly and directly proportional. The
force-displacement relationship is given as ‘F = Ku’ where F is the force vector, ‘K’ the
stiffness matrix and ‘u’ the displacement vector.
9.1. Benchmark Problems
In order to validate this Matlab finite element code, some benchmark problems
are analyzed herein. These benchmark problems are structural phenomena with already
established solutions from previous research studies. The problems explored in this
section are ones that illustrate a linear structural material stress-strain response.
9.1.1 Constant Strain Triangle
The constant strain triangle is an equilateral triangle comprised of the equal length
members forming a simple truss. With a uniaxial tension or compression load at the apex
node in the vertical direction, the horizontal element is expected to be a zero force
member while the two inclined members respond equally to the applied load with equal
internal forces. The support reactions are also expected to be in agreement with statics
splitting the applied load equally in the vertical direction with the lateral reactions being
equal and opposite. A 5000lb uniaxial tensile load is applied at the apex node with pinned
supports at the base nodes. The horizontal member has a 0 lbs. internal force while the
two inclined members each have 2886.75 lbs. internal force. The support reactions each
have a vertical reaction of -2500 lbs. and lateral reactions of 1443.38 lbs. in opposite
directions.
62
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-------------------------------------------------------------------
E l e m e n t I n t e r n a l F o r c e s & S t r e s s e s
-------------------------------------------------------------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
MEMBER
1
.................................
Member f o r c e
.................................
0
0
0
0
*** Z E R O F O R C E M E M B E R
0
.................................
Member Stress
.................................
0
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
MEMBER
2
.................................
Member f o r c e
.................................
-2886.75
0
2886.75
0
*** T E N S I O N
2886.75
.................................
Member Stress
.................................
721.69
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
MEMBER
3
.................................
Member f o r c e
.................................
-2886.75
0
2886.75
0
63
*** T E N S I O N
2886.75
.................................
Member Stress
.................................
721.69
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
*******************************************************************
*********** SUPPORT REACTION *****************
*******************************************************************
----- ---------
DOFs || REACTIONS
----- ----------
1.00 -1443.38
2.00 -2500.00
3.00 1443.38
4.00 -2500.00
----- ----------
*******************************************************************
Figure 9-1. Deflection Plot for Uniaxial Tensile Loading
9.1.2 Eigenvalues and Eigenvectors
The Eigenvalues of a well-conditioned stiffness matrix are characterized by three
nonzero diagonal eigenvalues; two identical values and the other dissimilar. The nonzero
64
Eigenvalues correspond to the possible rigid-body motions. An ill-conditioned stiffness
matrix indicates an unstable structure and in turn will yield eigenvalues that deviate from
the aforementioned characteristics. The eigenvectors merely represent the coupling of the
various degrees of displacements.
-------------------------------------------------------------------------------------
****************** EIGENVALUE **************************
-0.00 0 0 0 0 0
0 0.00 0 0 0 0
0 0 0.00 0 0 0
0 0 0 17400.00 0 0
0 0 0 0 17400.00 0
0 0 0 0 0 34800.00
****************** EIGENVECTOR **************************
0.18 -0.62 -0.00 -0.29 0.50 -0.50
0.37 0.34 -0.58 -0.50 -0.29 -0.29
0.18 -0.62 -0.00 -0.29 -0.50 0.50
-0.37 -0.34 -0.58 0.50 -0.29 -0.29
0.82 -0.03 0.00 0.58 0.00 -0.00
0 0 -0.58 0 0.58 0.58
--------------------------------------------------------------------------------------
9.2. Comparison of Uniaxial Tension versus Uniaxial Compression
In linear analysis, tension and compression will be equal and opposite for a given
load reversal. The only difference will be the direction of the force and displacement.
Two scenarios are run, one with a compressive load at the apex node and the second
scenario; a tensile force at the apex node. The linear analysis Matlab code is used to run
but scenarios.
65
Figure 9-2. Toggle Frame Deflection Plot for Uniaxial Tensile Loading
Figure 9-3. Deflection Plot for Uniaxial Tensile Loading
66
CHAPTER 10 NONLINEAR FINITE ELEMENT ANALYSIS
In nonlinear analysis the stress-strain relationship the assumption that load
increments are linearly proportional to strain increments do not hold. Other factors are
incorporated in the load-displacement equation which results in a nonlinear stress-
strain/force-displacement relationship. This nonlinearity can be material, geometric,
thermal, method of load application et cetera.
10.1. Benchmark Problems
In the same manner as with the linear finite element code, this Matlab nonlinear
finite element code is being validated by analyzing a nonlinear benchmark problem with
already established solutions from previous research studies. The problem explored in
this section is one that illustrates a nonlinear structural material stress-strain response.
The response of the toggle frame is characterized as a snap-through buckling instability.
However, the structure regains stability after snapping through from being in
compression to being in tension.
10.2. Snap-Through Mechanism of a Toggle Frame
A toggle frame is comprised of two equal length members with the same material
and geometric properties. A vertical load is applied at the node at the apex while a pinned
fixity is prescribed at the base nodes. All joint connections are taken to be frictionless
pins making them non-moment transmitting and thus, a truss structure.
67
Figure 10-1. Toggle Frame
The base angles before loading of the truss is denoted as α while the angular
displacement is denoted ϕ.
Figure 10-2. Toggle Frame Free body diagram.
It will be observed that as the node at the apex continues to displace downwards, a
certain extent is reached where the structure becomes momentarily unstable and snaps
through a distance past the base support nodes into a new position at a supplementary
angle from the initial angle at the apex of the undeformed structure.
68
Figure 10-3. Toggle Frame Snap-Through Plot.
A plot of the load increments against corresponding vertical displacement of the apex
node would yield curve as shown below.
Figure 10-4. Snap-Through load/displacement plot
The above benchmark problem is hereby implemented using the Matlab nonlinear
finite element code. The Matlab code is a geometric nonlinear algorithm with prescribed
displacement applied incrementally.
69
Figure 10-5. Snap-Through Plot of The Constant Strain Triangle
The contour of the above Matlab snap-through plot reflects the steep angle of inclination
of the inclined members. A longer distance is travelled prior to snap-through than with a
shallow frame.
10.2.1. RunFile for Snap-Through Mechanism of a Toggle Frame
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all
clc
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
addpath('Program_Files') %%% ADDING 'PROGRAM_FILES' TO CURRENT
DIRECTORY
ProcessInputData %%%%%%%%%%% READING INPUT EXCEL
FILES
Node=Nodes; %%%%%%%%%%% RE-ASSIGNING NODES
dofs_per_Node=2; %%%%%%%%%% DEFINING ANALYSIS
SIZE: 2D
magnification = 1; %%%%%%%%%% MAGNIFICATION OF PLOT
70
E=ElasticModulus(2,1); %%%% YOUNG'S MODULUS OF 2ND
MEMBER
A=Area(2,1); %%% CROSS-SECTIONAL AREA OF 2ND
MEMBER
dyt=Node(3,3) - Node(1,3); %%% DELTA Y OF 2ND MEMBER
dxt=(Node(3,2) - Node(1,2)); %%% DELTA X OF 2ND MEMBER
alpha = atand(dyt/dxt); %%% ANGLE OF INCLINATION OF 2ND
MEMBER
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
displacements = Displacements ; %%%% RE-ASSIGNING PRESCRIBED
DISPLACEMENTS
displacements(:,1)=[];
Umag = abs(displacements); %%%%%%%%%%%%%%%
Ulink = max(Umag); %%%%%%%%% DEFINING UPPER BOUNDARY OF
DISPLACEMENT
increments=0.01; %%%%%%%%% SETTING DISPLACEMENT INCREMENT
steps =0:increments:Ulink; %%%%%%%%%%%%%%% DEFINING DISPLACEMENT
RANGE
cycles=length(steps); %%%%%%%%%%%% DEFINING CYCLES OF LOOPS
Steps=(steps');%%%%%%%%%
Uo=zeros(cycles,1); %%%%%%%%%%%%%%%%%%% INITIALIZING DISPLACEMENT
VECTOR
Po=zeros(cycles,1); %%%%%%%%%%%%%%%%%%% INITIALIZING FORCE VECTOR
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Angles=Angless;
Ele_Length=Ele_Lengths;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for w = 1: cycles
cyclope=1*w;
Angles;
Ele_Length;
[S_Matrix] =
GlobalMatrix(Angles,Ele_Length,ElasticModulus,Area,Node,...
Elements,dofs_per_Node);
Kff_Matrix
PrescribedDisplacements
Ux = U * Steps(w);
Uo(w,1)=Ux(2,1);
P = Kff* Ux;
Po(w,1) = P(2,1);
ReconfigureForces
ProcessOutputData
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Node(:,2) = Node(:,2) + U_plot(:,1);
Node(:,3) = Node(:,3) + U_plot(:,2);
K=zeros();
Q=zeros();
for i=1:Element_Num
Ele=i;
[beta,Length] = Ele_Dat(Ele,Node,Elements);
K(i)=Length(:);
Q(i)=beta(:);
end
Ele_Length=K(:);
Angles=Q(:);
end
71
plot(-Uo,-Po)
grid
xlabel('Displacement (U)')
ylabel('Force (P)')
title('FORCE - DISPLACEMENT PLOT')
10.2. Southwell’s Method
For a single compression member under axial compressive force, buckling occurs
when the critical buckling force for the member is reached. The mid-span of the member
undergoes a sudden lateral displacement. At this point the member has lost stability. The
governing equation stated in terms of the deflection v and an imperfection vo, both
measured from the line of application of the load, is
D ( 𝑑2𝑉
𝑑𝑥2 - 𝑑2𝑉𝑜
𝑑𝑥2 ) + PV = 0 . (10-1)
A general solution for the above expression in terms of a Fourier series appears as
V = ∑ ∞𝑛=1 [ an sin
𝑛𝜋𝑥
𝐿] and (10-2)
Vo = ∑ ∞𝑛=1 [ an’ sin
𝑛𝜋𝑥
𝐿] . (10-3)
Substituting equation (9.2) and (9.3) into equation (9.1) yields the equation (9.4);
an = an’/ (1 - 𝑃
𝑃𝑐𝑟 ) , (10-4)
72
where
Pcr : Critical buckling load.
The lateral deflection can then be expressed thus;
V = an’sin𝜋𝑥
𝐿 / (
𝑃𝑐𝑟
𝑃 -1). (10-5)
Figure 10-6. Southwell Load-Displacement Plot
clear all clc addpath('Program_Files') brendan %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% disp('**************************************************************') disp(' ** P R E - P R O C E S S I N G B E G I N S **') disp('**************************************************************') disp(' *********** ') disp(' ****** ') disp(' **** ') disp(' ** ') disp(' ') %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ProcessInputData dofs_per_Node=2; Node=Nodes;
73
E=ElasticModulus(1,1); A=Area(1,1); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Loading initial_defect=0.01; Po=zeros(nx,1); Vo = zeros(nx,1); Uo=zeros(nx,1); duy=zeros(nx,1); theta=zeros(nx,1); dF=zeros(nx,1); Lo=Ele_Length(1,1); Fcr = ((pi^2)*E*Ix/((Lo)^2)); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for inc = 1:icy Po(inc,1)= P(1,1)*incx(inc,1); Recalculate %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [S_Matrix] = GlobalMatrix(Angles,Ele_Length,ElasticModulus,Area,... Nodes,Elements,dofs_per_Node,NumNodes); Kff_Matrix %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% U = Kff\(P*incx(inc,1)+0.001); Uo(inc,1) = U(1,1); Vo(inc,1)=(initial_defect*...
(sind(((pi*Uo(inc,1))/Lo))))/((Fcr/Po(inc,1))-1); ReconfigureDisplacements [U_plot,a,b] = ReshapeDisp(Uff,Nodes);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Pnode = Node; Pnode(:,1) = []; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Noded = (Pnode + (U_plot)); Nodes(:,2) = Noded(:,1); Nodes(:,3) = Noded(:,2); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End
plot(Delta0,Po) title(' SOUTHWELL PLOT ( Po/V ) ') xlabel('Lateral Displacement @ L/2 ( V )') ylabel('Axial Force ( P )') grid
74
Figure 10-7. Matlab Load-Displacement Plot
10.4. Geometric Nonlinear Analysis
The stress in a body is expressed as
σ = 𝐹
𝐴 , (10-6)
while the strain is expressed as
ɛ = 𝑢
𝐿 and (10-7)
for linear elastic materials, the stress-strain relationship is given by
σ = E ɛ . (10-8)
Substituting equations (10-6) and equations (10-7) into equation (10-8) yields
75
F = (𝐸𝐴
𝐿) u. (10-9)
The original length is computed by applying Pythagoras theorem which is expressed as
L = √(𝑋𝑒 − 𝑋𝑏)2 + (𝑌𝑒 − 𝑌𝑏)2 , (10-10)
where
Xe = the x-coordinate for the member’s end node,
Xb = the x-coordinate for the member’s beginning node,
Ye = the y-coordinate for the member’s end node, and
Yb = the y-coordinate for the member’s beginning node.
The deformed length is computed in the same fashion but instead using the displaced
nodal coordinates and is expressed as
L’ = √((𝑋𝑒 + 𝑣3) − (𝑋𝑏 + 𝑣1))2 + ((𝑌𝑒 + 𝑣4) − (𝑌𝑏 + 𝑣2))2 . (10-11)
The sine and cosine of the angle of rotation between the undeformed position and the
deformed position is computed thus
Cx = cos Ɵ = ((Xe+v3) – (Xb+v1))/L’ and (10-12)
Cy = sin Ɵ = ((Ye+v4) – (Yb+v2))/L’. (10-13)
76
The global forces in terms of the axial forces are then expressed as
Fg1 = CxF , (10-14)
Fg2 = CyF , (10-15)
Fg3’ = - CxF , and (10-16)
Fg4’ = - CyF. (10-17)
This can be expressed symbolically as
Fg = TTF , (10-18)
where
T =[𝐶𝑥 𝐶𝑦 −𝐶𝑥 −𝐶𝑦]. (10-19)
The tangent stiffness matrix then takes the form:
Kt = [
𝒄𝒙𝒄𝒙 𝒄𝒙𝒄𝒚 −𝒄𝒙𝒄𝒙 −𝒄𝒙𝒄𝒚
𝒄𝒙𝒄𝒚 𝒄𝒚𝒄𝒚 −𝒄𝒙𝒄𝒚 −𝒄𝒚𝒄𝒚−𝒄𝒙𝒄𝒙−𝒄𝒙𝒄𝒚
−𝒄𝒙𝒄𝒚−𝒄𝒚𝒄𝒚
𝒄𝒙𝒄𝒙𝒄𝒙𝒄𝒚
𝒄𝒙𝒄𝒚𝒄𝒚𝒄𝒚
] + 𝐅
𝐋′ [
−𝒄𝒚𝒄𝒚 𝒄𝒙𝒄𝒚 𝒄𝒚𝒄𝒚 −𝒄𝒙𝒄𝒚
𝒄𝒙𝒄𝒚 −𝒄𝒙𝒄𝒙 −𝒄𝒙𝒄𝒚 𝒄𝒙𝒄𝒙
𝒄𝒚𝒄𝒚
−𝒄𝒙𝒄𝒚
−𝒄𝒙𝒄𝒚
𝒄𝒙𝒄𝒙
−𝒄𝒚𝒄𝒚
𝒄𝒙𝒄𝒚
𝒄𝒙𝒄𝒚
−𝒄𝒙𝒄𝒙
] , ( 10-20)
The structural deformation relationship is expressed in terms of differentials as
ΔP = St Δd , (10-21)
while the structural displacement is expressed as
77
ΔUi = P - Fgi . (10-22)
Figure 10-8. Matlab Linear vs. Nonlinear Analysis Plot
The displacement from Matlab nonlinear analysis code is expressed as
Un = [0.0000
−0.2911] , (10-23)
while the displacement from Matlab linear analysis code is expressed as
Ul = [0.0000
−0.2874] . (10-24)
78
10.4. 1 Run File – Nonlinear Analysis (script file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% clear all clc tic addpath('Program_Files') RunAnalysis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%% ASSEMBLE STIFFNESS MATRIX AND FORCE VECTOR %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% solver %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% disp('************ Performing Nonlinear Analysis ******************') dofs_per_Node=2; Iteration toc [U_plot,a,b] = ReshapeDisp(Uff,Nodes); disp('NU_plot') Post_Linear_ElePlot disp('---------------------------------------------------------------') disp('Number of iterations') disp(Count) disp('---------------------------------------------------------------') disp(' error , tolerance') pair=[err0r,tol]; disp(pair) disp('***************************************************************') disp('---------------------------------------------------------------') disp('************* End Of Analysis ******************') disp('---------------------------------------------------------------') disp('***************************************************************') %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10.4. 2 Solver (script file)
Solu = 0; Uzor = 0; for i = 1 :Ele %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [S_Kt,K_Ele,Internal_force,Stress,F] = Tangential( i,Ele_Length, ...
Angles,Area, ElasticModulus,Uff,dofs_per_Node,Elements,Nodes); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Solu = Solu + S_Kt; Uzor = Uzor + F; end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%% REASSIGN STIFFNESS MATRIX AND FORCE VECTOR %%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% F=Uzor;
79
S_Kt = Solu ; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%% RESIZE STIFFNESS MATRIX AND FORCE VECTOR %%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% NConstraints; FixedConstaints; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% nz= length(FixedConstaints); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% S_Kt(FixedConstaints,:)= []; S_Kt(:,FixedConstaints) = []; F(FixedConstaints,:)= []; FxCon=P; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [U,err0r,F] = LoadPile(F, U,S_Kt,P); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10.4. 4. Iteration (script file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% tol=0.001; imax=100; xest=1; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for i = 1 : imax Count = i+1 ReconfigureDisplacements; solver; if err0r < tol Error = err0r; break end end
10.4. 5. ReshapeDisp (function file)
function [U_plot,a,b] = ReshapeDisp(Uff,Nodes) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% nn= length(Nodes); rev = reshape(Uff,2,nn); U_plot=rev'; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % U_plot(:,3) = []; a = U_plot(:,1) + Nodes(:,2) ; b = U_plot(:,2) + Nodes(:,3) ; end
80
10.4.6. Post_Linear_ElePlot (script file)
format long U_plot %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Pnode = Nodes; Pnode(:,1) = []; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% NPostPlotE = Pnode + (U_plot*magnification*3); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% n=length(Elements); for i = 1:n m= find(Elements(:,1)==i); a=Elements(m,2); b=Elements(m,3); A=[NPostPlotE(a,1), NPostPlotE(a,2)]; B=[NPostPlotE(b,1), NPostPlotE(b,2)]; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% x=[A(:,1); B(:,1)]; y=[A(:,2); B(:,2)]; structure= line(x,y,'linewidth',1); set(structure, 'color','g') end
10.5. Comparison of Uniaxial Tension versus Uniaxial Compression
Contrary to the case in linear analysis, tension and compression are not equal and
opposite for a given load reversal in a nonlinear analysis. Besides difference in the
direction of the force and displacement, the displacement in tension case and
compression case are not identical in magnitude. The structure proves to be more resilient
in tension than in compression which is evident in a larger displacement when the
structure is under compression. Two scenarios are run, one with a compressive load at the
apex node and the second scenario; a tensile force at the apex node. The geometric
nonlinear analysis Matlab code is used to run but scenarios.
81
10.5.1. Uniaxial Compressive Loading
Figure 10-9. Matlab Uniaxial Compression Analysis Plot
The displacement from Matlab nonlinear analysis code is expressed as
Un = [0.0000
−0.2911] , ( 10-25)
while the displacement from Matlab linear analysis code is expressed as
Ul = [0.0000
−0.2874] . ( 10-26)
82
10.5.2. Uniaxial Tensile Loading
Figure 10-10. Matlab Uniaxial Tension Analysis Plot
The displacement from Matlab nonlinear analysis code is expressed as
Un = [0.00000.2840
] , (10-27)
while the displacement from Matlab linear analysis code is expressed as
UL = [0.00000.2874
] . (10-28)
83
10.5.3. Matlab workspace for Uniaxial Compressive Loading Output
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-------------------------------------------------------------------
E l e m e n t I n t e r n a l F o r c e s & S t r e s s e s
-------------------------------------------------------------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
MEMBER
1
.................................
I n t e r n a l f o r c e s
.................................
0
0
0
0
*** Z E R O F O R C E M E M B E R
0
.................................
Member Stress
.................................
0
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
MEMBER
2
.................................
I n t e r n a l f o r c e s
.................................
1.0e+003 *
0
0
-2.8868
-1.6667
*** C O M P R E S S I O N
-2.8868e+003
.................................
Member Stress
.................................
-721.6878
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
MEMBER
3
.................................
I n t e r n a l f o r c e s
.................................
1.0e+003 *
0
0
-2.8868
1.6667
*** C O M P R E S S I O N
-2.8868e+003
.................................
Member Stress
.................................
-721.6878
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Elapsed time is 3.548533 seconds.
MEMBER
1
Stress
0
MEMBER
2
Stress
84
-721.6878
MEMBER
3
Stress
-721.6878
Constraints =
1 1 1
2 1 1
*************** Performing Nonlinear Analysis ******************
Count =
2
MEMBER
1
Stress
0
MEMBER
2
Stress
-731.1936
MEMBER
3
Stress
-731.1936
Constraints =
1 1 1
2 1 1
Elapsed time is 3.594275 seconds.
NU_plot
U_plot =
0 0
0 0
0.000000000000002 -0.291141247509740
-----------------------------------------------------------------
Number of iterations
2
-----------------------------------------------------------------
error , tolerance
1.0e-003 *
0.005345224127715 1.000000000000000
*****************************************************************
-----------------------------------------------------------------
*************** End Of Analysis ******************
-----------------------------------------------------------------
*****************************************************************
10.6. Material Nonlinear Analysis
Material nonlinearity is based on a nonlinear relationship between stress and
strain. The plot of stress against strain is a curve rather than a straight line as in the case
of linear Hookean stress-strain relationship.
10.6.1 Ramberg Osgood Nonlinear Model
The Ramberg Osgood model is one of a few nonlinear models. Its formation takes
into account the strain hardening with plastic deformation in the material and yields a
85
stress-strain plot showing a smooth elasto-plastic transition. This is expressed in
Mathematical terms as
∈ = 𝜎
𝐸 + K (
𝜎
𝐸 )n , (10-29)
where
∈ : Strain,
𝜎: Stress,
E: Young’s Modulus of Elasticity,
K : Material constant, and
n: Material constant.
The “(𝜎
𝐸)” term represents the elastic strain as evident in the equation “ ∈ =
𝜎
𝐸 ” . The
other term “K ( 𝜎
𝐸 ) n
” accounts for the plastic strain. A term “α” which is a function of
K and the yield limit “σo” of the material is introduced in the following equation
α = K ( 𝜎
𝐸 ) n-1 . (10-30)
The equation conveniently writes thus
∈ = 𝜎
𝐸 + α (
𝜎
𝐸 ) (
𝜎
𝐸 )n , (10-31)
or
∈ = 𝜎
𝐸 + α (
𝜎
𝐸 )n+1 . (10-32)
The Ramberg Osgood model is here implemented in Matlab.
86
10.6.2.1. RambergOsgood Runfile (script file)
clear all clc Material_Properties addpath('NProgram_Files') clc addpath('Program_Files') brendan %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% disp('***************************************************************') disp(' ** P R E - P R O C E S S I N G B E G I N S **') %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% format bank spacer spacer ProcessInputData dofs_per_Node=2; magnification = 1; Node=Nodes; E=ElasticModulus(2,1); A=Area(2,1); dyt=Node(3,3) - Node(1,3); dxt=(Node(3,2) - Node(1,2)); alpha = atand(dyt/dxt); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Loading Pplot=zeros(nx,1); Uplot=zeros(nx,1); duy=zeros(nx,1); theta=zeros(nx,1); dF=zeros(nx,1); UUU=0; PPP=0; U=zeros(); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for inc = 1:icy count=inc; disp(count) Pplot(inc,1)= P(2,1)*incx(inc,1); Recalculate %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [S_Matrix,P_Matrix]= NGlobalMatrix(Angles,Ele_Length,ElasticModulus,... Area,Nodes,Elements,dofs_per_Node,Fy,expo,alpha); Kff_Matrix Kpp_Matrix disp(Kff) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% format long Pp=(P*incx(inc,1)+0.001); U_holde = Kff\Pp; U_holdp = Kpp\(Pp.^expo); U_Hold = U_holdp+ U_holde; %************************************************************* U = U + U_Hold;
87
UUU=UUU+U(2,1); Uplot(inc,1)=UUU; ReconfigureDisplacements [U_plot,a,b] = ReshapeDisp(Uff,Nodes); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Pnode = Node; Pnode(:,1) = []; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end axis equal PostElePlot Snap_Plot grid
10.6.2.2. Material Properties (script file)
clc addpath('Linear') RunAnalysis % Linear Analysis RunFile Fy =50; % Material Yield Stress alpha=0.0002; % Material Yield offset coefficient rho=abs(Stress(3,1)); % Resultant Stress from Linear Analysis epsilon=abs(U(2,1))/L;% Resultant Strain from Linear Analysis Expo = (log(0.0002/epsilon))/(log(Fy/rho)); % Solving for "n" expo = round(Expo); % Rounding off value for "n"
10.6.2.3. Loading (script file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PrescribedLoads; mx=max(abs(P)); interval = 1:mx; nx = length(interval); incxx = 0:(1/nx):(mx/nx); incx=incxx'; icy=length(incx); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10.6.2.4. PrescribedLoads (script file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Fx = Loads; sizer=size(Constraints); Fixity cnt=sizer(1,1); dofs_per_Node=2; NumNodes=length(Nodes); ncons=zeros(); FxCon = zeros((NumNodes*dofs_per_Node),1);
88
fsizer =size(Fx); fs=fsizer(1,1); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for i=1:fs aa = (Fx(i)-1)* dofs_per_Node + 1; bb = (Fx(i)-1)* dofs_per_Node + 2; FxCon((Fx(i)-1)* dofs_per_Node + 1)=Fx(i,2); FxCon((Fx(i)-1)* dofs_per_Node + 2)=Fx(i,3); end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% loc= [aa,bb]; disp('Applied Load Vector For Truss') disp('FxCon') disp(FxCon) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% P = FxCon; P(FixedConstaints) = []; disp('Load Vector For Free Nodes') disp(P)
10.6.2.5. SnapPlot (script file)
plot(((-Uplot)),(-Pplot)) title('MATERIAL NONLINEARITY STRESS-STRAIN PLOT') xlabel('Displacement') ylabel('Force')
10.6.2.6. Matlab Workspace – Plot Data (Force-Displacement)
P =
0
-18.036000000000001
>> plot_Data=[abs(Uplot),abs(Pplot)];
>> plot_Data =
----------------- -----------------
abs(Uplot) abs(Pplot)
----------------- -----------------
0.000000057471314 0
0.000107563943053 1.002000000000000
0.000732103001300 2.004000000000000
0.002886104465222 3.006000000000000
0.008487222702616 4.008000000000000
0.020660025289678 5.010000000000001
0.044037796613405 6.012000000000001
89
0.085064341473993 7.013999999999999
0.152295788687240 8.016000000000000
0.256702394686941 9.018000000000001
0.411970347127293 10.020000000000001
0.634803568485293 11.022000000000002
0.945225519663137 12.024000000000003
1.366881003590622 13.026000000000002
1.927337968827545 14.028000000000000
2.658389313166101 15.030000000000001
3.596354687233288 16.032000000000000
4.782382298093301 17.034000000000002
6.262750712849938 18.036000000000001
Figure 10-11. Matlab Nonlinear (Material) Analysis Plot
10.7. Plasticity, Elastic-Linear work Hardening Model
The linear work hardening model is a plot of two straight lines rather than a curve.
The kink is taken as the elastic limit stress (yield stress) of the material. The first straight-
line of the diagram has a slope of the Young’s modulus, E. The second straight-line
90
branch represents the strain-hardening range and has a slope known as the tangent
modulus, Et'. The piece wise relationship for this model is as below
∈ = 𝜎
𝐸 , for σ≤ σo , (10-33)
∈ = 𝜎𝑜
𝐸 +
1
𝐸𝑡 (σ-σo) , and for σ≤ σo (10-34)
91
CHAPTER 11 DAMAGE ANALYSIS
In damage mechanics, consideration is given to anomalies existing within the
material. A damage model incorporates a damage operator which prescribes the
proliferation of cracks or elasticity degradation of the material. It gives an insight the
initiation, propagation, and fracture of materials without resorting to a microscopic
description that would be too complex for practical engineering analysis. Damage
studies are geared towards understanding the effects of damage on the material stiffness
and the remaining life of the material that is damaging as a result of loading. A damage
activation criterion is needed to predict damage initiation. Damage evolution does not
progress spontaneously after initiation. Simplistically, as a certain load threshes hold is
attained; a mode of damage is activated at the weakest point within the material.
Subsequently, this damage progressively grows making the material weaker leading to
absolute material failure.
11.1 Damage Mechanics
In implementing damage in an analysis, a material defect is incorporated into the
model. A reduced cross-sectional area or modulus of elasticity of a number of the
members in the lattice is methods devised in simulating damage in the structural model.
A damage propagation scheme through a mathematical model then predicts the structural
response to prescribed boundary conditions.
92
11.1.1 Damage_Analysis (script file)
clear all
clc
tic
Fy=36; %%%%%%%%%%%%%% Material Yield Stress
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
addpath('Program_Files')
brendan
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp('*****************************************************************
**')
disp(' ** P R E - P R O C E S S I N G B E G I N S **')
disp('*************************************************************')
disp(' *********** ')
disp(' ****** ')
disp(' **** ')
disp(' ** ')
disp(' ')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
format bank
spacer
ProcessInputData
dofs_per_Node=2;
magnification = 1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
DamageOperator
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Elements(:,4)=(Elements(:,4))*(Damage(2,1));
ElasticModulus=ElasticModulus*(Damage(2,1));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[S_Matrix]=GlobalMatrix(Angles,Ele_Length,ElasticModulus,Area,Nodes,...
Elements,dofs_per_Node);
disp('**************************************************************')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp('**************************************************************')
disp( ' ********** ASSEMBLE STIFFNESS MATRIX OF TRUSS *************')
disp('**************************************************************')
spacer
disp(S_Matrix)
Kff_Matrix
disp('**************************************************************')
disp(Kff)
disp('**************************************************************')
PrescribedLoads
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
U = Kff\P;
disp(' ************************************** ')
disp(' ********* Displacement Vector ******** ')
disp( ' ************************************** ')
format bank
disp(U)
disp('************************************************************')
93
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ReconfigureDisplacements
disp('************************************************************')
disp('**** P O S T - P R O C E S S I N G B E G I N S ****')
disp('************************************************************')
disp(' *********** ')
disp(' ****** ')
disp(' **** ')
disp(' ** ')
disp(' ')
format bank
disp( '**********************************************************')
disp( '*********** Uff - Free Node Displacement Vector *******')
disp( '**********************************************************')
disp(Uff)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Reactions
ProcessOutputData
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
toc
11.1.2 DamageOperator (script file)
damage=0.1; d = 0:damage:0.4; Eo=29000; md=length(d); Damage=zeros( ); iterationd=zeros( ); for nd = 1:md dam = (1-d(nd)); iterationd(nd,1)=nd; Damage(nd,1)=dam; end
11.1.2 ProcessOutputData (script file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
spacer
disp(' >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
disp('-------------------------------------------------------------------')
disp(' E l e m e n t I n t e r n a l F o r c e s & S t r e s s e s ')
disp('-------------------------------------------------------------------')
spacer
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ne= size(Elements);
nE = ne(1,1);
disp(' >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
Estress=zeros(Ele,1);
Pstress=zeros(Ele,1);
for Ele = 1 : nE
L = Ele_Length(Ele);
Angle = Angles(Ele);
A=Area(Ele);
94
E= ElasticModulus(Ele);
[Internal_force,Stress,U_Ele,K_Ele ] = InternalStress(Ele,L,Angle,...
Elements,A,E,dofs_per_Node,Uff);
spacer
disp(' .................................')
disp(' Member f o r c e ')
disp(' .................................')
% disp(Internal_force)
comment = Internal_force(1,1)- Internal_force(3,1);
if comment <0
disp(' *** T E N S I O N ')
Force = Internal_force(3,1);
disp(Force)
disp(' .................................')
disp(' Member Stress ')
disp(' .................................')
disp(Stress(3,1))
end
if comment >0
disp(' *** C O M P R E S S I O N')
Force = Internal_force(3,1);
disp(Force)
disp(' .................................')
disp(' Member Stress ')
disp(' .................................')
disp(Stress(3,1))
end
if comment == 0
disp(' *** Z E R O F O R C E M E M B E R ')
Force = Internal_force(3,1);
disp(Force)
disp(' .................................')
disp(' Member Stress ')
disp(' .................................')
abs(Stress(3,1))
end
disp(' >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
Estress(Ele,1)= abs(Stress(3,1));
Residual_Stress
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
format long
[U_plot,a,b] = ReshapeDisp(Uff,Nodes);
disp(' -----------------------------------------------------------------' )
disp('U_plot')
disp(U_plot)
disp(' -----------------------------------------------------------------' )
PostElePlot
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11.2 Damage Plot for various Loadings
U_plot; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Pnode = Nodes; Pnode(:,1) = []; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PostPlotE = (Pnode + (U_plot*magnification));
95
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% n=length(Elements); for i = 1:n m= find(Elements(:,1)==i); a=Elements(m,2); b=Elements(m,3); A=[PostPlotE(a,1), PostPlotE(a,2)]; B=[PostPlotE(b,1), PostPlotE(b,2)]; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% x=[A(:,1); B(:,1)]; y=[A(:,2); B(:,2)];
if Estress(i,1)<=Fy structure= line(x,y,'linewidth',1); set(structure, 'color','b') title('DAMAGE ANALYSIS DEFLECTION PLOT') else Elements(i,4)=0; ElasticModulus(i)=0; structure= line(x,y,'linewidth',3); set(structure, 'color','r') end end
Figure 11-1. Matlab Damage Analysis Plot (Load = 55kips)
96
Figure 11-2. Matlab Damage Analysis Plot (Load = 85kips)
Figure 11-3. Matlab Damage Analysis Plot (Load = 120kips)
97
CHAPTER 12 CONCLUSION
It is evident in this study that the behavior in continuum analysis can be more
intricately performed at a discretized level. Whether it is in the mechanics of solids and
structures, fluid dynamics, traffic analysis or even project management, an understanding
of how a continuum medium is basically an assembly of discrete (finite) elements will
make for more in-depth findings. Reviewing the results in this study will reveal an
agreement with already established results from benchmark phenomena. Below are
observations from this study.
12.1 Compression versus Tension Linear Analysis
Considering uniaxial linear analysis of a load applied to a structure, if the load
direction were reversed causing the structural element originally in tension to be in
compression or vise-versa, the loading -unloading path remains unchanged. The response
of the material is identical whether in tension or in compression. The extent of
deformation between both modes varies only in direction.
12.2 Compression versus Tension Nonlinear Analysis
The case is quite different with the uniaxial nonlinear analysis. A greater
displacement is observed with the uniaxial nonlinear compression loaded study. This is
due to the geometric deformation causing an increase in stiffness under tensile loading.
12.3 Damage Analysis
A review of the damage analysis plot (Figure 10-1) shows a logical illustration of
overstressed members beginning at the site of load application. As the load increases in
magnitude, the plot indicates a spreading of the overstressed (damaged) elements from
the region of load application towards the elements outside the loading region. However,
98
an introduction of a defect in one of the lattice members shows the region adjacent to the
defective element failing even without the proceeding elements failing (Figure 10-2.).
This insinuates that the defective element takes away from the uniform elastic stiffness
available within that region.
99
REFERENCES
A. Gilat & V. Subramaniam – Numerical Methods for Engineers and Scientists, An
Introduction with Application Using Matlab, Wiley Publishing, 2007.
A. Kassimali – Matrix Analysis of Structures, 2nd Edition, Cengage Learning, 2011.
E.A. De Souza Neto, D. Peric & D.R.J Owen – Computational Methods for
Plasticity, Theory and Applications, 1ST
Edition, Wiley Publication, 2008.
E. Kreysig – Advanced Engineering Mathematics, 10th Edition, Wiley Publication,
2010.
A.J.M. Ferreira – MATLAB Codes for Finite Element Analysis, Solids and
Structures, Springer Science + Business Media, 2009.
Glenn A. Hrinda – “Snap-Through Instability Patterns in Truss Structures”. NASA
Langley Research Center, Hampton, Virginia 23831, 2010.
Ziga Gosar1, Franc Kosel
2 – Experimental Analysis of Kinematics of Snap-Through
of the Shallow Axisymmetric Parabolic Bimetallic Shell, 2013.
J. Tomblin & E. Barbero – "Local Buckling Experiments on FRP Columns
Mechanical and Aerospace Engineering", Constructed Facilities Center, West
100
Virginia University, Morgantown, WV 26506-6101, USA (Received 31 July 1991;
revised version received 3 March 1992; accepted 16 June 1992).
J. Bonet, R.D. Wood – Nonlinear Continuum Mechanics for Finite Element Analysis
2nd
Edition, Cambridge University Press, 2008.
J. Lubliner – Plasticity Theory. Revised Edition (PDF), University of California at
Berkeley, 2008.
M. Buragohain1 & R. Velmurugan
2 – Buckling Analysis of Composite Hexagonal
Lattice Cylindrical Shell using Smeared Stiffener Model., Advanced Systems
Laboratory, Hyderabad–500058. 2Indian Institute of Technology Madras, Chennai,
600036, 2009.
M. A. Biot – Mechanics of Incremental Deformations Theory of Elasticity and
Viscoelasticity of Initially Stressed Solids and Fluids, Including Thermodynamic
Foundations and Applications to Finite Strain, John Wiley & Sons Publishing, 1965.
M.H. Lock – A Study of Buckling and Snapping Under Dynamic Load, Applied
Mechanics, Division of Laboratory Operations. Aerospace Corporation, El Segundo,
California, 1967.
O.C. Zienkiewicz & R.L. Taylor – The Finite Element Method for Solid and
101
Structural Mechanics, 6th Edition, Elsevier Science publication, 2005.
R. V. Sagar & B. K. R. Prasad – Modelling heterogeneity of concrete using 2D
Lattice network for concrete fracture and comparison with AE study, Department of
Civil Engineering, Indian Institute of Science, Bangalore, 2009.
V.Vančo –"Nonlinear Finite Element Analysis (Script of Lectures)", Faculty of
Mechanical Engineering, Technical University of Košice, Slovakia. HS Wismar, June
2011.
R. Butt – Introduction to Numerical Analysis Using Matlab, 1st Edition, Infinity
Science Press. 2007.
R. Pratap – Getting Started with Matlab, - A Quick Introduction for Scientists and
Engineers, Oxford University Press, 2010.
R. Pillai – “Investigations on the Macroscopic Properties of a Microscopic Discrete
Lattice Model", Institut fur Baustatik und Baudynamik, Universit¨at Stuttgart, May
4th, 2010 − November 4th, 2010.
T.G. van der Waart van Gulik – Snap-Through of Large Shield Driven Tunnels
Reserve Capacity, Main report 1259210. Delft University of Technology Faculty of
Civil Engineering and Geosciences, 2010.
102
W. Chen & D. Han – Plasticity for Structural Engineers, J. Ross Publishing, 2007.
Z. Qian & E. Schlangen – Lattice Modelling of Fracture Processes in Numerical
Concrete with Irregular Shaped Aggregates 2010.
Top Related