PROGRESSIVE COLLAPSE RESISTANCE OF REINFORCED AND POST-TENSIONED CONCRETE FLAT PLATE STRUCTURES A Dissertation Presented By LEILA KEYVANI To The Department of Civil and Environmental Engineering In partial fulfillment of the requirements For the degree of Doctor of Philosophy In the field of Structural Engineering Northeastern University Boston, Massachusetts January, 2015
272
Embed
Progressive collapse resistance of reinforced and post ...349523/fulltext.pdf · PROGRESSIVE COLLAPSE RESISTANCE OF REINFORCED AND POST-TENSIONED CONCRETE FLAT PLATE STRUCTURES A
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
PROGRESSIVE COLLAPSE RESISTANCE OF
REINFORCED AND POST-TENSIONED
CONCRETE FLAT PLATE STRUCTURES
A Dissertation Presented
By
LEILA KEYVANI
To
The Department of Civil and Environmental Engineering
In partial fulfillment of the requirements
For the degree of
Doctor of Philosophy
In the field of
Structural Engineering
Northeastern University
Boston, Massachusetts
January, 2015
ii
ABSTRACT
Flat plates are found to be susceptible to progressive collapse which has rarely been
investigated at the system-level. One of the methods to evaluate the response of structures
to progressive collapse is to impose initial damage to the actual buildings. Column removal
scenarios have been investigated in actual buildings using wired data acquisition systems.
In the first part of this dissertation a wireless data acquisition system capable of peer-to-
peer and multi-hop communication is developed that would replace and overcome the
constraints and drawbacks of wired systems.
Using field data, the progressive collapse resistance of an actual post-tensioned flat
plate parking garage is analytically evaluated after an interior column is dynamically
removed. The tendons and the interaction of the tendons and floor are modeled explicitly.
The slab had no bottom bars yet successfully redistributed the gravity load to the adjacent
columns without failure. Compressive membrane forces developed as a result of growth
tendency contributed to an increase of the gravity load carrying capacity of slab. Use of
total moments developed in post-tensioned slab sections were found to be misleading in
identifying the contribution of different portions of the post-tensioned slab to collapse
resistance.
The punching and post-punching failure of an isolated and simply supported slab-
column specimen is analytically evaluated. The model was verified against available
experimental result. The model was improved to account for the effect of compressive
membrane forces in the slab. Using the method developed, the system-level response after
a column loss of a reinforced concrete flat plate floor designed according to ACI 318-11
and ACI 352.1R with and without the effects of membrane forces is presented. The results
iii
show that the compressive membrane forces increase the punching strength of the slab and
help mitigate progression of punching failures to the adjacent columns.
Previous studies showed that the bottom integrity bars in flat plates play a
significant role in the load transfer after punching failure. ACI 318-11, however, has no
minimum requirement for the integrity steel size passing over the column. A simple FE
model is introduced to evaluate the post-punching response of flat plates. The simple model
was first verified against the results of an analysis carried out in this dissertation. Then, the
post-punching response of a flat plate designed based on ACI 318-11 is investigated using
the model mentioned. It was found that following the punching failure of an overloaded
column, there is a risk of bar fracture at a deflection of about one third of the slab depth for
the flat plate detailed according to ACI 318-11. Increasing the bar diameter and steel
rupture strain increases the maximum post-punching strength and deformation capacity of
the connection before bar fracture.
iv
ACKNOWLEDGEMENT
I would like to thank my advisor Prof. Mehrdad Sasani for his endless help, and
supports. Without his help this dissertation could not be completed. I would also like to
thank my committee members, Prof. Jerome Hajjar, Prof. Dionisio Bernal and Prof.
Guevara Noubir for their technical comments on this dissertation.
I would like to specially thank Prof. Noubir and Jin Tao from CS department for
all their guidance in completing wireless DAQ system project; Prof. Hajjar and Michele
McNeil from CE for their help during my PhD study in US.
I would like to thank Dr. Serkan Sagiroglu, Dr. Ali Kazemi, and Justin Murray for
their willingness to discuss technical aspects of my projects, and all my friends in 10 SN
and 427 RI for the help and all the pleasant memories we shared together.
Last but not the least, my deepest gratitude goes to my dear parents, siblings and
husband for their love, support, trust, courage, and all the good things they gave me. For
helping me achieve my goals in life during all these years of being hundreds of miles away
from home. This dissertation is dedicated to them.
v
TABLE OF CONTENT
ABSTRACT ........................................................................................................... ii
ACKNOWLEDGEMENT ................................................................................... iv
Chapter 1 Introduction to Progressive Collapse ............................................. 1
Figure 2-17 Self-healing capability of ZigBee network after a router disabled
Chapter 2: Developing wireless DAQ 61
Figure 2-18 Single channel test on Zigbee using ED, Router and a gateway at a close distance
Chapter 2: D
eveloping wireless D
AQ
62
Figure 2-19 Test layout at NU campus for Phase 2
Forsyth
GW
Grassy
GW
Ryder
GW
Chapter 3 Progressive collapse evaluation of a post-tensioned floor
This chapter is a reprint of the following manuscript with slight modifications
Keyvani, L., and Sasani, M., (2014). "Analytical and experimental evaluation of progressive collapse resistance of a flat slab post-tensioned parking garage." J. Struc.
Eng. ASCE. (Under review)
3.1 Introduction
In the current study, an actual PT parking garage surrounding the Crowne Plaza
Hotel in Houston, TX was evaluated against progressive collapse. An interior column was
removed by explosion and the response was recorded using sensors. Explicit FE analytical
models are developed here to evaluate the results. The interaction between the tendon and
the slab is modeled explicitly using link elements (Huang et al., 2010). A nonlinear
dynamic FE analysis is performed which accounts for both material and geometric
nonlinearities using SAP2000 (2009). The analytical results are in good agreement with
the experimental results. In addition, the effect of different parameters on the global
response of the structure is evaluated.
3.2 Parking Garage Characteristics
The parking garage of the Crowne Plaza Hotel was located in Houston, TX and
constructed in 1973. The hotel and the garage were demolished by implosion after the
experiment was concluded. Figure 3-1 shows the plan of a portion of the parking garage
located on the north side of the hotel. The 216 mm (8.5 in) thick garage floor was made of
post-tensioned concrete. Button-headed wire tendons were used in the garage floor, which
was common in the industry in the 1960s and early 1970s (Krauser, 2006). The button-
Chapter 3: Progressive collapse evaluation of post-tensioned floor 64
headed system involved the use of parallel, 6 mm (0.25 in) diameter wires. The wires were
bundled together in groups of seven to form tendons. The average effective post-tensioning
force in both directions was 36 kN/m (27 kips/ft). The material properties are discussed
later in this paper. The initial damage was imposed by exploding column D5 (see Figure
3-1 and Figure 3-2). The slab vertical displacement at the top of removed column D5 is
obtained using the average recording of two diagonal potentiometers as described in Sasani
et al. (2007).
3.3 Explicit Modeling of Unbonded PT Parking Garage
The building was symmetric about line 5 (Figure 3-1) and extended beyond line G.
The symmetric floor plan is utilized in the model. The floor beyond line G is not modeled
since the extended portion of the building beyond that line was not considerably affecting
the response after column removal. In order to reduce the analysis time, the floor is divided
into regions with linear and nonlinear material behavior. The linear regions are modeled
by 4-node shell elements while the nonlinear regions are modeled by beam elements. This
is due to the fact that the nonlinearity is modeled using localized fiber plastic hinges (FPH)
which can only be assigned to beam-column elements in the computer program SAP2000
(2009). The surroundings of the removed column as well as the neighboring columns are
the main nonlinear regions. Through an iterative process, the regions that remain linear
elastic are identified and modeled as such. Figure 3-1 shows a zoomed in view of the mesh
layout around the removed column. The geometric nonlinearity is also accounted for in the
analysis.
The beams are modeled using Bernoulli beam elements with localized nonlinear
FPHs at the center of the elements. The hinges account for the interaction between the
moment and axial forces and the corresponding deformations in the section. Given the
refined model and the short lengths of the beams with respect to the floor spans, the plastic
Chapter 3: Progressive collapse evaluation of post-tensioned floor 65
hinge length is set equal to the element length. In this computer program (SAP2000, 2009)
the force-deformation relationship of a FPH is not rigid-plastic but rather elastic-plastic.
This leads to an error of double counting the flexibility of the beam element. Therefore,
the portion of the beam elements represented by FPH is considered axially and flexurally
rigid (Sasani et al., 2011). Ten integration points are used over the depth of the section.
The shear area of the beam elements is set equal to the slab cross-section but the torsional
stiffness is half of the slab cross-section because of the change in shear flow in the
continuous slab as compared with that of beams (Hambly, 1991). The torsional stiffness of
the beam elements are calculated based on Roark's formulation (Young and Budynas,
2002).
The post-tensioning tendons are modeled explicitly. The model can be used for both
unbonded and bonded slabs. Unbonded tendons are modeled such that they are free to slide
horizontally with respect to the slab. That is, the relative vertical displacement of the tendon
with respect to the slab is neglected. The tendons are modeled as truss elements which are
connected to the slab (beam and shell) elements (see Figure 3-3). The connection between
the truss and slab elements is through link elements (Wilson and Habibullah, 2000). A Link
element constrains the displacement of a node on the truss to the corresponding node of
the slab element (beam or shell). For unbonded tendons, all degrees of freedoms except the
horizontal component of the link elements, which is parallel to the tendon line, are rigid.
The post-tensioning force for the truss elements are then calculated and applied by reducing
the temperature of the truss elements.
The top portion of the exploded column was not damaged after column removal
(see Figure 3-4a). In addition, the reinforcing bars of the lower half of the column survived
the explosion with some residual lateral deformation. To account for the resistance from
the remaining column rebars after explosion, they are explicitly modeled. Figure 4b shows
the analytical model for the rebars and the top portion of the column. Two perpendicular
Chapter 3: Progressive collapse evaluation of post-tensioned floor 66
rigid elements constrain the displacement of the top of the rebars to the bottom of the
remained column (Figure 3-4b) (Sasani and Sagiroglu, 2010). Due to the symmetry of the
plan in X direction (see Figure 3-1) only half of the model shown in Fig. 4b is used. The
longitudinal reinforcement of the column was 8 Φ25 mm (#8) bars. These bars are modeled
as 4 lumped nonlinear beam elements.
In order to remove the column dynamically, first, its reactions under gravity loads
and post-tensioning effects are found. Then the column is removed from the model and
replaced with its reactions. The results of analysis under the gravity loads and post-
tensioning effects are identical for the two models with and without the column. Then,
forces opposite to the reactions are applied in 2 milliseconds (Sasani and Sagiroglu, 2008)
and a nonlinear dynamic analysis is performed.
The average damping ratio in the first mode of vibration based on the recorded
vertical motion of the floor is found (Chopra, 2000), which is about 0.03. A Mass-
proportional damping is used in the model. In addition, numerical damping is used to
dissipate the effects of higher modes of vibration and improve numerical convergence.
Material properties
Due to some issues with concrete sampling from the parking garage floor, the
compressive strength of concrete is not known experimentally. A concrete sample obtained
from the first floor of the main structure surrounded by the garage suggested a concrete
compressive strength of 32 MPa (4.6 ksi), which is used in this study. This uncertainty is
discussed later in the paper. A linear post-peak compressive softening is considered up to
a strain of 0.006, with no residual strength beyond this point. The modulus of rupture
calculated based on the ACI 318-11 recommendation of 0.62 ′ MPa (7.5 ′ ksi) is
found to be 3.5 MPa (0.5 ksi). A linear tensile post-peak softening is considered up to
maximum tensile strain of 3 (Sinha et al., 1964; Bahn and Hsu, 1998) with no residual
Chapter 3: Progressive collapse evaluation of post-tensioned floor 67
tensile strength beyond it. This is used for 152 mm (6 in) long beam elements, representing
fracture energy of 104 N/m (7.1 lb/ft), which is in the range of values reported by
Yankelevsky and Reinhardt (1987). The Takeda model is adopted for the hysteretic
behavior of the concrete material. The tendons and the reinforcing bars had yield strengths
of 1700 MPa (250 ksi) and 480 MPa (70 ksi), respectively and modulus of elasticity of
about 200 GPa (29000 ksi).
Initial upward force
The removed column was supporting only one floor. The column explosion caused
an upward motion, with a peak value of 3.7 mm (0.14 in) at 0.019 sec after the column
removal (see Figure 3-5). In order to account for the upward motion soon after column
removal, a dynamic upward force is applied to the structure. Due to the unknown
magnitude and variation over time of the upward dynamic force over time, as a result of
explosion, this force was found by an iterative approach such that the floor displacement
would be consistent with the recorded field data. Consistent with the experimental data, in
the analytical model and during the upward motion, it was assumed that the bars were
deformed outwards, due to the blast effects inside the column. The results show that the
building response is not, however, sensitive to the maximum value of the outward
deformation, which is consistent with the results obtain by Sasani and Sagiroglu (2010).
At the peak upward motion, explicitly modeled column rebars apply about 1245
kN (280 kips) of downward force to the slab at the location of the removed column. This
was expected to help match the sharper slope of the recorded downward motion from about
0.02 sec to 0.04 sec. However, as can be seen in the close-up plot in Figure 3-5, the
analytical results deviate from the field data. Following this initial discrepancy, the
downward displacements obtained from the analysis and the experiment show rather
parallel curves, with the analytical results shifted by about 0.015 sec.
Chapter 3: Progressive collapse evaluation of post-tensioned floor 68
After column removal
The results obtained from the field test and the analytical study show that the
building resisted progressive collapse with the maximum vertical displacements of 92 mm
(3.6 in) and 84 mm (3.3 in), respectively. The permanent vertical displacements of about
61 mm (2.4 in) and 49 mm (1.9 in) were found experimentally and analytically,
respectively. The period of vibration of the analytical model is about 9% larger than that
of the field data, which can be primarily attributed to the discrepancy in estimating the
stiffness of the structure.
3.3.3.1 Slab tendency to grow
Based on the analytical results after column removal, with the increase of the
vertical downward displacement, the tensile stress at the bottom of the slab at the vicinity
of the removed column reaches the concrete modulus of rupture in the weakest sections
under positive moments. Note that before column removal and under the gravity loads, this
region was under negative moment. Since the slab around the removed column had tendons
and reinforcing bars located at the top of the slab sections, after column removal, a larger
portion of the sections including the centerline of the slab (mid-height) experiences
(smeared) tensile strains. Due to this tensile strain at the mid-height of the slab, the slab
tends to elongate or grow horizontally (Fenwick and Megget, 1993; Kim et al., 2004;
Sasani et al., 2011; Keyvani et al., 2014). One indication of the slab in-plane growth is the
relative horizontal movement of columns adjacent to the removed column. The growth
pushes the surrounding columns away from each other. Based on the analytical results and
as shown in Figure 3-6, the total maximum horizontal elongation of the slab along line 5
after column removal is about 0.64 mm (0.025 in). The effects of the slab growth tendency
are described below.
Chapter 3: Progressive collapse evaluation of post-tensioned floor 69
3.3.3.2 Slab membrane forces
The tendency of slab around the removed column to grow is primarily constrained
by the membrane action of the surrounding slab (including tendons) and the lateral stiffness
of the columns. As a result of these constraints, compressive membrane forces develop in
this region, which amplify the post-tensioning compressive forces. The elongation of the
slab increases the surrounding column shear forces. On average, 76% of the additional
compressive membrane forces developed as a result of the slab growth tendency being
constrained in the region with higher flexural demand are in equilibrium primarily with the
tensile membrane forces in the remaining portion of the slab. A 24% increase in column
shear forces also help satisfying the slab in-plane equilibrium (see Figure 3-7).
Figure 3-7 shows the formation of the additional compressive membrane force
normal to section 1-1, shown on Figure 3-1, at the peak vertical displacement. The axial
compressive force in the slab around the removed column increases due to the slab
tendency to grow and the imposed constraint by the structure (primarily the slab in the
surrounding region). In order for the structure to be in equilibrium horizontally, tensile
membrane forces develop in the rest of the slab to resist the additional compressive force
(Dat and Hai, 2013). The enhancement in compressive membrane forces is in general
higher at the locations with higher flexural demands such as the location of the removed
column where the growth tendency is higher compared to the rest of the slab.
Analytical results show a 10% increase in the tendon tensile force on column lines
5 and D at the peak displacement. This is due to the combined effects of geometric
nonlinearity and the slab tendency to grow. Kim et al. (2012) tested three simply supported
two-way slabs with two-way post-tensioning loaded to develop extensive cracks. With the
increase of the vertical displacement and formation of cracks, they also observed an
increase in tendon axial forces. Since the tendons are unbonded, the tendon force depends
Chapter 3: Progressive collapse evaluation of post-tensioned floor 70
on its total elongation. That is, the increase in the tendon force in unbonded tendons is not
localized. Thus, a local failure of an unbonded tendon is less likely in the case of large
deformations (Kim et al., 2012).
3.3.3.3 Gravity load redistribution
After column removal, the slab moment reverses from negative to positive (tension
at the bottom) around the removed column, while the negative moments around the
adjacent columns increase. At the peak displacement, more than half of the gravity load
previously supported by the removed column is transferred in the direction of the shorter
adjacent span to column E5. The percentages of axial force of the removed column that is
transferred to the adjacent columns at the peak vertical displacement after column removal
is given in Table 3-1 Note that due in part to the dynamic nature of the response, at the
peak displacement, the total increase in the axial force of the neighboring column is larger
than the removed column axial force.
Figure 3-8 show the moment diagrams about the global axis X along line 5 (see
Figure 3-2) at the peak and permanent vertical displacements directly obtained from the
computer program SAP 2000 (2009), called the “total” moments, respectively. The total
moment in a PT slab is composed of three parts: the primary moment which is generated
due to tendon eccentricity, the secondary moment which is generated because of the
tendons in indeterminate structures and most importantly, the moment due to gravity
(external) loads (Khan and Williams, 1995).
In the vicinity of all columns, as expected, both the tendons and the reinforcing bars
are located close to the top of the slab sections. As can be seen in Figure 3-8, the slab in
the vicinity of the neighboring columns of the removed column is under a negative moment
(consistent with the locations of the tendons and reinforcement) of about 84.5 kN-m/m
(19.0 kip-ft/ft) at permanent displacement. The slab around the removed column, however,
Chapter 3: Progressive collapse evaluation of post-tensioned floor 71
is under a positive moment of about 44.5 kN-m/m (10.0 kip-ft/ft) at the left face of the
shear cap, causing compressive stress at the top of the slab, where the tendons and
reinforcing bars are placed. That is, the gravity loads and the tendons develop moments in
the same direction (both positive) in the vicinity of the removed column and in opposite
directions (negative and positive, respectively) in the vicinity of the adjacent columns.
Despite the significant difference between the contribution of the reinforcement and
tendons in developing the moments of these two sections, the negative moment at the far
end is only about twice the positive moment. This ratio is even smaller if the positive
moment at the right side of the shear cap is considered. Therefore, the total moment does
not seem to correctly represent the contribution of different sections of the slab in
developing moments and in turn, shear forces to resist the gravity loads.
In order to better understand the gravity load redistribution in the slab after column
removal, the moment due to the gravity loads at the permanent displacement is of interest.
Due to the nonlinearity of the system, a method for estimating the secondary moments is
not readily available. One can, however, calculate the primary moment for each section,
subtract it from the total moment, and find the sum of the secondary moment and the
moment due to gravity loads. This is shown in Figure 3-8 as “Gravity+Secondary”.
The Gravity+Secondary moment at the permanent displacement is about 16 kN-
m/m (3.6 kip-ft/ft) in the slab section at the left face of the shear cap of the removed column.
While the negative Gravity+Secondary moments at the faces of columns E5 and C5 are
about 122 and 127 kN-m/m (27.5 and 28.6 kip-ft/ft), respectively (Figure 3-8). In order to
compare the relative contribution of the positive and negative moments in resisting the
gravity loads, the response of the slab can be analogous to that of a fixed end beam under
gravity loads. Having this analogy in mind, the contribution of the negative moment in
resisting the gravity loads is in fact about 8 times larger than that of the positive moment.
It is important to recognize that the positive Gravity+Secondary moment resistance in the
Chapter 3: Progressive collapse evaluation of post-tensioned floor 72
vicinity of the shear cap (where there is no bottom rebars or tendons) is due to the axial
compressive force developed by the compressive membrane forces caused by the slab
tendency to grow, which was discussed previously.
Column removal without initial upward force
As was explained in the introduction, one of the scenarios suggested in the ALP
method by guidelines such as DoD (2010) and GSA (2013) to evaluated progressive
collapse response of the structures is the instantaneous removal of an entire column.
Therefore, another analysis is carried out in which no upward force (pressure due to the
column explosion) is applied during column removal. The vertical displacement is shown
in Figure 3-5. The results show that the initial upward force due to the explosion did not
have a significant effect on the maximum response of the structure.
3.4 Explicit Bonded PT Modeling
In order to compare the effects of unbonded versus bonded tendons in PT slabs, in
this section the response of the building to a column removal under the assumption of
bonded tendons is analytically evaluated. To model the floor with bonded tendon, link
elements described before, are fully rigid in all DOFs at all nodes. Figure 9 shows the
vertical displacement history at the location of the removed column. The results show
insignificant differences between the two bonded and unbonded analytical models. Unlike
the unbonded model in which the change in tendon axial force is uniform along the slab
and depends on the total elongation of the slab between the anchored ends only, for the
bonded model, the variation of the tendon axial force along the slab is not uniform and
show localized increase in the tendon forces. At the locations where yielding of tendons is
likely, to account for the material nonlinearity in these regions, localized axial plastic
hinges are defined with bilinear force-deformation relationship according to the material
properties. Unlike FPHs, the elastic deformation occurs over the member length and the
Chapter 3: Progressive collapse evaluation of post-tensioned floor 73
plastic behavior occurs in the hinge. Figure 10 shows the change in tendon axial force after
column removal at the peak displacement. The analytical results show that the tendon
yields axially at the locations with larger flexural demands.
Compared to the unbonded model, in the bonded model due to the localization of
the deformation and forces, the tendons are subjected to higher strain at the critical section.
This could potentially lead to tendon fracture and eventually to partial progressive collapse
of the structure. Unlike the local responses, the global responses of the two models are not
significantly different.
3.5 Parametric study of Explicit Unbonded PT slab
In this section the sensitivity of the unbonded PT model to different modeling
parameters such as the torsional stiffness of the grillage, mesh size, presence of live load
and material properties is evaluated.
Mesh size
The analysis was started with a maximum mesh size of about 915 mm (36 in) and
achieved peak vertical displacement of about 76 mm (3 in). The mesh size was reduced to
the smallest reasonable size and the final mesh layout is shown in Fig. 2 which has been
used throughout this paper. The mesh layout is finer around the columns with layout of 152
mm (6 in) and coarser farther away with maximum shell element size of 432 mm (17 in).
The peak vertical displacement increased to 82 mm (3.2 in).
Effect of modulus of rupture of concrete
The modulus of rupture used in the previous sections was based on ACI318-11
(2011) recommendation of 0.62 ′ MPa (7.5 ′ ksi), however other studies show that
modulus of rupture for the normal weight concrete can vary between 0.66 ′ - ′ MPa
Chapter 3: Progressive collapse evaluation of post-tensioned floor 74
(8 - 12 ′ ksi (Nilson et al., 2010). The maximum value of 1 ′ MPa (12 ′ ksi is
used here to examine its effects. Figure 3-11 shows the effect of tensile properties of
concrete on the global response of the structure after column removal compared with the
unbonded model and experimental results. In this model, an increase of about 66% in
modulus of rupture results in 7% reduction in the maximum vertical displacement of the
structure (see Figure 3-11).
Torsional stiffness of grillage
As mentioned before, the torsional stiffness that is used for the grid of beam
elements is set equal to one half of the normal cross section of the slab (Hambly, 1991).
Using full torsional stiffness for the beam elements, shown in Figure 3-11, results in about
15% decrease in vertical displacements at the location of the removed column.
Effect of live load
The load combination DoD (2010) and GSA (2013) is used in this section to study
the structural response in the presence of live load and additional dead load for the explicit
unbonded PT model. This load combination is 1.2(Dead load) + 0.5(Live load). The live
load of parking garages is 1.9 kN/m2 (40 psf) according to ASCE/SEI-7 (2010). The results
show about 90% increase in vertical displacement as a result of 40% increase in the gravity
loads (see Figure 3-11) which is due to the nonlinearity of the system. However, the time
to peak displacement is increased only by 14%.
Effect of compressive strength of concrete
The results reported so far were based on using the concrete compressive strength
of a sample obtained from the first floor of main structure surrounded by the garage. A
second concrete sample obtained from the main structure suggested a concrete compressive
strength of 24 MPa (3.5 ksi). In order to evaluate the floor response with ′ = 24 MPa (3.5
Chapter 3: Progressive collapse evaluation of post-tensioned floor 75
ksi) and its corresponding modulus of elasticity, the explicit unbonded model of the parking
garage is analyzed with the smaller concrete compressive strength. The analytical model
was further modified by increasing the modulus of rupture to 1 ′ MPa (12 ′ ksi ,
which is the upper range according to Nilson et al. (2010). The results of these two analyses
are shown in Figure 3-12. The results suggest that lower concrete compressive strength and
modulus of elasticity with or without a high tensile strength could also capture the vertical
displacement response of the slab reasonably well.
3.6 PT models in SAP2000
The post-tensioning in SAP2000 (2009) can be modeled using template models
with linear behavior as well, which can be used either as equivalent constant force acting
on the structure along the tendon profile or as structural elements. The tendon profile for
both cases is modeled using linear segments, to be consistent with the explicit model
discussed before.
For the equivalent constant force method, the post-tensioning effects of the tendon
are replaced with the horizontal and vertical components of the tendon axial force as
constant forces acting at the boundaries of the beam or shell elements. This method is
mainly meant for models having linear response (Wilson and Habibullah, 2000). The peak
vertical displacement at the location of the removed column modeled using this method is
114 mm (4.5 in) compared to 92 mm (3.6 in) of experimental results. In the explicit model,
the tendons are modeled as elements and therefore increase the degree of indeterminacy of
the structure, which is ignored in the case of model with constant force. Furthermore, since
the force exerted from tendon to the structure is constant in the equivalent constant force
method, the increase in tendon force, which was discussed before, is not accounted for.
Chapter 3: Progressive collapse evaluation of post-tensioned floor 76
The second method, in which tendons are considered as structural elements, gives
questionable results when used in the nonlinear PT slab model. This is in part due to
automatic discretization of the tendons by the program into smaller segments, which cannot
be disabled. An interpolation constraint, then connects the end nodes of each discretized
segment to the nodes of beam and shell elements behaving as bonded tendons. Therefore
tendons cannot be properly modeled as unbonded.
Chapter 3: Progressive collapse evaluation of post-tensioned floor 77
3.7 Tables
Table 3-1 Percentage of axial force of removed column transferred to adjacent columns after column removal at peak vertical displacement
Lines 4 5
C 3% 27%
D 17% NA
E -4% 52%
Chapter 3: Progressive collapse evaluation of post-tensioned floor 78
3.8 Figures
Figure 3-1 Plan view of post-tensioned parking garage
Chapter 3: Progressive collapse evaluation of post-tensioned floor 79
Figure 3-2 Column D5 with shear cap (before removal)
Figure 3-3 A 2D view of PT slab showing tendons connectted to slab axis by link elements
Chapter 3: Progressive collapse evaluation of post-tensioned floor 80
a)
b)
Figure 3-4 a) Exploded column b) Analytical model
Column
Rebars
Undamaged top portion of column
Chapter 3: Progressive collapse evaluation of post-tensioned floor 81
0 0.2 0.4 0.6 0.8 1
Time (sec)
-4
-3
-2
-1
0
1
Ver
tica
l Dis
plac
emen
t (in
)
-100
-75
-50
-25
0
25
(mm
)
ExperimentAnalyticalAnal. w/o upward force
0 0.02 0.04 0.06Time (sec)
-1.2-0.8-0.4
00.4
(in)
-30-20-10010
(mm
)
Figure 3-5 Analytical and experimental vertical displacement of unbonded PT at top of removed column (zoomed-in view of initial upward motion is shown)
Chapter 3: Progressive collapse evaluation of post-tensioned floor 82
0 0.05 0.1 0.15 0.2 0.25
Time (sec)
0
0.01
0.02
0.03
Rel
ativ
e H
oriz
onta
l Dis
plac
emen
t (in
)
0
0.25
0.5
0.75
(mm
)
Figure 3-6 Relative displacement between columns B5 and D5 (slab elongation) along line 5 after column removal
Chapter 3: Progressive collapse evaluation of post-tensioned floor 83
-15
-10
-5
0
5
10
15C
hang
e in
Mem
bran
e F
orce
s (k
ip/f
t)
-210
-140
-70
0
70
140
210
(kN
/m)
G F E D C B A
Tension
Compression
9.75m32'
3.6612'
9.3530'-8"
6.120'
3.2610'-9"
3.2610'-9"
Figure 3-7 Change in membrane force of slab after column removal at peak displacement normal to section 1-1
Chapter 3: Progressive collapse evaluation of post-tensioned floor 84
-40
-20
0
20
Mom
ent a
long
axi
s 5
(kip
-ft/
ft)
E5 D5 C5Rmv'd Col
-180
-90
0
90
(kN
-m/m
)
E5 D5 C5
TotalGravity+Secondary
Rmv'd Cola) b)
Figure 3-8 Moment about global axis X, along line 5 per unit width of slab at a) peak and b) permanent displacements for unbonded PT (dashed lines represent faces of columns
E5 and C5 and shear cap of column D5 )
Chapter 3: Progressive collapse evaluation of post-tensioned floor 85
0 0.2 0.4 0.6 0.8 1
Time (sec)
-4
-3
-2
-1
0
1
Ver
tica
l Dis
plac
emen
t (in
)
-100
-75
-50
-25
0
25
(mm
)
UnbondedBonded
Figure 3-9 Comparison of vertical displacement history of analytical bonded and unbonded PT model
0
4
8
12
16
20
Cha
nge
in T
endo
n fo
rce/
wid
th (
kip/
ft)
0
60
120
180
240
300
(kN
/m)
E5 D5 C5
Figure 3-10 Change in bonded tendon axial force per unit width of slab along line 5 after column removal at peak displacement
Chapter 3: Progressive collapse evaluation of post-tensioned floor 86
0 0.1 0.2 0.3 0.4
Time (sec)
-7
-6
-5
-4
-3
-2
-1
0
1
Ver
tica
l Dis
plac
emen
t (in
)
-175
-150
-125
-100
-75
-50
-25
0
25
(mm
)
Experiment
Analytical (full tor. stif f .)Analytical (f r =1f 'c MPa)
Analytical (1.2D+0.5L)
Figure 3-11 Vertical displacement history at location of removed column for explicit unbonded PT model with different parameters compared to experiment ( ′ = 32 MPa
=4.6 ksi)
0 0.1 0.2 0.3 0.4
Time (sec)
-5
-4
-3
-2
-1
0
1
Ver
tica
l Dis
plac
emen
t (in
)
-125
-100
-75
-50
-25
0
25
(mm
)
ExperimentAnalytical (f 'c=24MPa)Analytical (f 'c=24 & f r=1f 'c MPa)
Figure 3-12 Vertical displacement history at the location of removed column for explicit unbonded PT model compared to experiment ( ′ = 24 MPa = 3.5 ksi)
Chapter 4 Progressive collapse resistance of RC flat plate floors
This chapter is a reprint of the following article with slight modifications
Keyvani, L., Sasani, M., and Mirzaei, Y., (2014). "Compressive membrane action in progressive collapse resistance of RC flat plates," Eng. Struct., 59, 554-564.
4.1 Introduction
Since 1921, researchers have reported an increase in the ultimate load carrying
capacity of laterally restrained slabs on a single column or flat plate structures than that of
Isolated and Simply Supported (ISS) slabs (Westgaard and Slater, 1921; Ockleston, 1955;
Ockleston, 1958; Park, 1964; Criswell, 1974; Hewit and Batchelor, 1975; Vecchio and
Tang, 1990; Salim and Sebastian, 2003; Jahangir Alam et al., 2009). The compressive
membrane action in the slab is known to contribute to the enhancement of punching
strength and load carrying capacity, which in turn can help prevent or limit progressive
collapse in flat plates (Ockleston, 1958;Vecchio and Tang, 1990; Salim and Sebastian,
2003; Pinho Ramos et al., 2011; Dat and Hai, 2011; Dat and Hai, 2013).
Over the past 50 years, researchers and guidelines have proposed various
analytical/empirical methods to predict the punching strength of flat plate floors (Kinnunen
and Nylander, 1960; Moe, 1961; Hewit and Batchelor, 1975; SIA 262, 2003; EC2, 2004;
Muttoni, 2008; ACI318-11, 2011). The majority of these methods were based on the
experimental results of ISS slabs that did not properly represent the boundary conditions
Chapter 4: Progressive collapse resistance of RC slabs 88
of slabs such as those conducted by Mirzaei and Muttoni (2008) (Moe, 1961; Hewit and
Batchelor, 1975; Vecchio and Tang, 1990; Salim and Sebastian, 2003; Jahangir Alam et
al., 2009). Thus, predicting the punching shear strength of flat plates based on the behavior
of ISS slabs underestimates the ultimate load carrying capacity of floor systems and/or
Despite the studies on the finite element modeling of punching failure in flat plate
and slab structures (Loo and Guan, 1997; Vidosa et al., 1988; Polak, 1998; Megally and
Ghali, 2000; Wang and Teng, 2008), the progressive collapse potential of RC flat plates
following punching is rarely investigated using Finite Element Methods (FEMs). This is
due to the complexity of modeling punching failure, including the effects of the
compressive membrane forces and dowel action on the punching shear strength. In the first
section of the present study, a new technique is developed to explicitly simulate the
punching failure of an isolated slab-column specimen. The effects of dowel action, critical
shear crack formation, critical shear crack widening during punching, and post-punching
response are investigated. The results are compared with the available experimental results.
The effects of the boundary conditions on the punching strength of the isolated slab-column
specimen are then numerically investigated by improving the proposed technique. In the
second section, the system-level response after a column loss of an RC flat plate floor
system with and without the effects of membrane forces is presented.
4.2 Punching failure in flat plates
Under monotonically increasing load, tangential flexural cracks form around
columns (ASCE-ACI committee 426, 1974; Muttoni, 2008). The propagation of the
flexural cracks in the slab in combination with shear cracks forms a diagonal critical shear
crack. After the formation of the shear crack, and prior to punching shear failure, aggregate
interlocking and dowel action are the main shear transfer mechanisms from the slab to the
Chapter 4: Progressive collapse resistance of RC slabs 89
column (Muttoni 2008). Once the shear crack crosses the bottom reinforcement,
reinforcing bars contribute to the shear transfer by dowel action. A truncated punching
cone around the column forms as the column punches through the slab (see Figure 4-1).
The punching shear failure occurs with very little warning. After punching shear failure,
the only connection between the slab and the truncated cone is the flexural and integrity
reinforcement, in the absence of shear reinforcement. Note that the slab bottom
reinforcement passing directly over the column is called the integrity reinforcement, which
may be under compressive stress before punching failure. Slabs with only top
reinforcement at the location of the column have little post-punching strength and
deformation capacity to redistribute the load from the damaged column to the adjacent
columns (Mitchell and Cook, 1984; Habibi et al., 2012). The top flexural reinforcement
tends to break the concrete cover and tear out as the slab moves downwards with respect
to the column. According to ACI 318-11, Section 13.3.8.5, at least two integrity (bottom)
reinforcing bars, which are continuous through the column and well anchored at the
supports, are required to increase the redundancy, ductility, and integrity of two-way slabs.
The integrity reinforcement will act in a hammock-like fashion to prevent the slab from
falling down and triggering a progressive collapse (Knoll and Vogel, 2009). After
punching, the integrity reinforcing bars can almost recover the pre-punching strength of
the slab if sufficient integrity reinforcing bars are used (Mirzaei and Muttoni, 2008).
Three failure zones can be defined during punching failure of the slabs with
integrity reinforcing bars (Figure 4-1). As the column punches through the slab, the tensile
reinforcement tears out of the concrete slab in zone 1 causing concrete spalling, and the
integrity and tensile reinforcing bars break concrete in zones 2 and 3 . When the thickness
of the concrete is enough to prevent the breakouts of zones 2 and 3, concrete failure stops
(Mirzaei, 2010).
Chapter 4: Progressive collapse resistance of RC slabs 90
4.3 Experimental and analytical response of isolated and simply-
supported (ISS) slab
A large number of experiments have been conducted to study the punching shear
strength over the past decades. The dimensions of most of the specimens were bounded by
the lines of contraflexure at a radial distance of about 0.22L from the supports, where L is
the center-to-center span of the slab. ISS slabs are individual panels with the dimensions
discussed above and no restraints against lateral (in-plane) movement around the edges.
One of the specimens tested by Mirzaei and Muttoni (2008) was chosen for the numerical
simulation in this section. The test was carried out on a half-scale, ISS RC slab specimen
(PM-11) under monotonically increasing displacement at the center of the specimen.
Figure 2c, shows a quarter of the test specimen after punching. The specimen, with
uniformly distributed tensile reinforcement ( 8@60 top), two integrity reinforcing
bars ( 12 in each normal direction, and dimensions of 1.5x1.5x0.125 meters, represented
a slab with 7 m center-to-center spans. The tensile and integrity reinforcing bars were well
anchored at the ends representing the continuity of the top and bottom bars over the entire
span.
Due to the symmetry and to simplify the analysis, a quarter FE model was
developed using Abaqus v.6.9-2 (see Figure 4-2a and Figure 4-2b). Figure 4-2a shows the
final mesh layout of the ISS slab. The finite element mesh used in this study is primarily
determined by considering the following factors: 1) Given that the integrity and tensile
reinforcing bars crossing the punching cone are modeled explicitly and need to attach to
the slab, these reinforcing bars are aligned with the boundary of finite elements and the
slab nodes; 2) A proper number of Slab-Cone Connectors (SCCs) connecting the nodes on
the mid-height of the slab to the corresponding nodes on the mid-height of the cone, is
required to model the slab punching strength; and 3) The state of stress and strain in the
Chapter 4: Progressive collapse resistance of RC slabs 91
slab need to be reliably represented. The results of a sensitivity study demonstrated that
increasing the number of Slab-Cone Connectors by a factor of two and the number of
elements by a factor of four leads to less than 1% change in the punching strength of the
slab and the vertical displacement at which punching occurs. Furthermore, the post-
punching response of the slab changes insignificantly as a result of increasing the number
of elements. Therefore, the finite element mesh presented in Figure 4-2a is considered
reliable. S4R general-purpose shell elements with quadrilateral finite-membrane-strain
were used for the slab. An explicit time integration method was used to perform a nonlinear
displacement-controlled quasi-static analysis which was compared with the experimental
results.
Material Properties
The tensile and cylindrical compressive strengths of the concrete were 2.5 MPa and
30 MPa, respectively. The yield and ultimate strengths of reinforcing bars were 548 MPa
and 625 MPa, respectively. The concrete and steel moduli of elasticity were 26 GPa and
200 GPa, respectively.
To account for the material nonlinearity, a quadrilinear stress-strain relationship is
defined for the steel reinforcement with ultimate strain of 0.1. Beyond this strain, the
reinforcing bars fracture. Among available concrete inelastic models in Abaqus, the
Concrete Damaged Plasticity Model (CDPM) was chosen. This model is based on the
scalar plastic damage models proposed by Lubliner et al. (1989) and Lee and Fenves
(1998). Upon crack closure, the compressive stiffness of this concrete model is fully
recovered (Abaqus, 2010). The ratio of initial equi-biaxial compressive yield stress to
initial uniaxial compressive yield stress was considered 1.2 to account for the biaxial state
of stress in the slab elements according to Kupfer and Hilsdorf (1969). The program’s
default values were assigned to the remaining parameters.
Chapter 4: Progressive collapse resistance of RC slabs 92
Modeling of Punching Failure
The punching cone and the integrity and tensile reinforcing bars crossing the critical
shear crack were modeled explicitly to account for the actual separation of the cone and
the contribution of the reinforcing bars to pre and post-punching responses. Figure 2b
shows the explicit reinforcing bars in only one direction, which are fully-anchored at the
ends, consistent with the experimental specimen. The same reinforcing bars are used in the
other normal direction. The flexural reinforcement of shell sections are modeled using
rebar layers. Four types of connectors are shown in Figure 2b which will be introduced in
the following sections.
The punching cone dimensions were estimated using an angle of inclination ( of
30° (see Figure 4-1). The continuity/separation of the slab shell elements for pre- and post-
punching response is modeled by three dimensional Cartesian-Cardan connector elements
with six components of relative motion which connect two arbitrary nodes. The relative
displacements and rotations of the nodes are referred to as components of relative motion.
Constitutive laws can be defined for each component which may include linear, nonlinear
or rigid force-displacement relationships. To connect slab mid-height (centerline) to the
cone mid-height (centerline), a total of eight Cartesian-Cardan connectors with six
uncoupled components of relative motion are used. These connectors are referred to as
Slab-Cone Connectors (SCCs) throughout this manuscript shown in Figure 4-2b. For
simplicity, the flexural contribution of the hatched area on the cone and the slab of the FE
model are neglected.
Hewit and Batchelor (1975) reported a 20% increase in the punching load due to
dowel action. The contribution of the reinforcement was found to be 10-30% in other
literature (Fib bulletin 12, 2001; Long, 1975). In the finite element model used in this paper,
the contribution of dowel action will be accounted for through the explicit modeling of the
reinforcing bars. To start the analysis, however, there is a need to divide the punching
Chapter 4: Progressive collapse resistance of RC slabs 93
strength between the concrete and dowel action. Given the test results reported here, a value
of 15% is assumed, which will be verified after the analysis is conducted. By allocating
15% of the punching strength (Vp) to be provided by the dowel action, 85% of the punching
strength is distributed among the vertical components of the SCCs according to their
tributary areas. Punching shear strength of the ISS slab (specimen PM-11) tested by
Mirzaei and Muttoni (2008) was calculated based on Muttoni’s (2008) method and was
estimated to be 238kN. Based on experiments performed on various specimen sizes,
including half-scale, full scale and even double scale, at about 70% of the punching load,
the critical shear crack opens about 1-1.5 mm (Theodorakopoulosa and Swamy, 2002;
Guandalini 2005; Guandalini, et al., 2009). Therefore, the vertical component of SCCs is
modeled rigid up to 70% of the punching strength, followed by yielding up to 1.25 mm of
vertical deformation and then failure (see Figure 4-3). Note that the crack opening size may
not be valid for all slabs and requires further studies. The plastic deformation of SCCs
represents the critical shear crack opening. As soon as the SCCs fail in shear, all of the
remaining rigid components of SCCs are set free representing the punching shear failure.
Axis-Symmetric Punching Strength
The concrete compressive strength, reinforcement ratio and grade, and slab depth
are the important parameters used in design guidelines and methods to calculate punching
shear strength of slabs (Kinnunen and Nylander, 1960; EC2, 2004; Muttoni, 2008; ACI318-
11, 2011). The first model for estimating punching shear strength was proposed by
Kinnunen and Nylander (1960). Despite providing a complex model, the effect of dowel
action was not included (Hewit and Bachelor, 1975). Recently, Muttoni (2008) proposed a
mechanical model based on critical shear crack theory (Muttoni and Ruiz, 2008; Muttoni,
2008).
Chapter 4: Progressive collapse resistance of RC slabs 94
Muttoni (2008) concluded that the punching shear strength of slabs with low
reinforcement ratio (yielding occurs prior to the punching) is controlled by the flexural
capacity of the slab. Dragosvic and Beukel (1974), however, showed that the effect of
flexural reinforcement ratio on the punching strength of slabs with low reinforcement ratio
was negligible (Sacramento et al., 2012). Formation of yield lines limits the amount of
shear demand on slabs with low reinforcement ratios. So the flexural capacity of the slab
controls the amount of shear demand applied to the slab. Therefore, increasing the
reinforcement ratio increases the transferred shear to the column. Thus, for slabs with low
flexural reinforcement ratio, the punching strength of the slab neither decreases nor
increases by alteration of the reinforcement ratio. Rather, the demand is affected by the
reinforcement ratio. Eventually, with the opening of the critical shear crack, the reinforcing
bars contribute to the punching strength by dowel action and finally the punching occurs.
Dragosvic and Beukel (1974) also showed that for slabs with high reinforcement ratio
(punching occurs prior to flexural yielding) the punching strength remains almost
unchanged with increases of reinforcement ratio. ACI-ASCE Committee 426 (1978)
reported similar results for the relationship between the shear force and reinforcement ratio
of beam elements without shear reinforcement.
Modeling of Post-Punching Response
After punching and in the absence of shear reinforcement, the only connection
between the cone and slab is the slab reinforcement. The explicitly modeled reinforcement
consists of two-node Bernoulli beam elements. Similar to the previous section, reinforcing
bars are connected to the slab or cone by the Cartesian-Cardan connectors which are
referred to as Rebar-Concrete connectors in this manuscript modeling the spalling and
breakout strength of concrete in zones 1-3.
Chapter 4: Progressive collapse resistance of RC slabs 95
Note that, Mirzaei (2010) developed a numerical procedure utilizing Equations (4-
1)-(4-3) to calculate the post-punching strength of more than 30 specimens tested by
Mirzaei and Muttoni (2008). The results of Mirzaei’s (2010) procedure using Equations
(4-1)-(4-3) for calculating the post-punching response of a large number of slabs show
good agreement with the experimental data (Mirzaei, 2010). Because the post-punching
response of a slab depends mainly on Equations (4-1)-(4-3), which have already been
verified by Mirzaei (2010), only one of Mirzaei and Muttoni’s (2008) tests is used in this
study to verify the proposed modeling technique. The concrete breakout and spalling
strength at a specific location can be calculated based on Mirzaei’s (2010) method, using
Equations (4-1)-(4-3). Equations (4-1) and (4-2) estimate spalling and breakout strengths
due to the interaction of tensile reinforcing bar and concrete, while Equation (4-3) estimates
the breakout strength due to the integrity reinforcement.
V _ x 2πc x η f (4-1)
V _ x 2πx tanα x η f (4-2)
V _ x 4 x tan α θ π 2θ sin 2θ η f (4-3)
V _ x is the sum of the vertical components of concrete spalling strength
associated with the tensile bars crossing an imaginary circle with radius x from the
column center at zone 1. x is the radial distance to the punching cone (see Figure 4-2b).
D is the diameter of the original punching cone (see Figure 4-2b) equal to a 2dcotα, a is
the column width, d is the effective depth of the slab andαis the angle of the critical shear
crack with the horizon (see Figure 1). c is the concrete cover, which is equal to the depth
of the spalled concrete.η is a reduction factor equal to 0.4, which is defined in the next
paragraph. f is the tensile strength of concrete. In Equation 4-1, although the concrete
cover is constant, as the diameter of the imaginary circle increases, the overall spalling
Chapter 4: Progressive collapse resistance of RC slabs 96
strength increases. However, because the number of tensile bars crossing the circle also
increases proportionally, the spalling strength of each connector remains constant.
V _ x is the sum of the vertical components of concrete breakout
strength associated with the tensile bars crossing an imaginary circle with radius x
from the column center. x tanα is the depth of the breakout zone. The breakout strength
of zone 2 increases as the breakout zone approaches the column face, at which its
progression stops. In Equations (4-1) and (4-2), the terms multiplied by η f are the
effective areas of spalling and breakout in Zones 1 and 2, respectively
V _ x is the sum of the vertical components of concrete breakout strength
associated with the integrity reinforcing bars passing through the column at distance x
from the face of the column.θ cos , s is the integrity bar spacing, n is the
number of integrity bars passing through the column in one direction, and η 0.6. In
Equation 4-3, the term multiplied by η f is the effective area of breakout in Zone 3,
which is the horizontal projection of the conical failure surface. Although Equation 3 is
based on ACI 349 (2001), unlike ACI 349 (2001)’s equation in which only a maximum
breakout strength is calculated, this equation provides the progressive destruction of the
concrete over reinforcing bars based on the distance to the column face. η and η are the
reduction factors of tensile bars and integrity bars equal to 0.4 and 0.6, respectively adopted
to consider the variation of the tensile stress from a maximum at the edge of reinforcing
bars to a minimum at the surface of the slab. The values of η and η are determined
empirically by Mirzaei (2010); and neither of the equations above depends on material
properties of the reinforcement. Rather, they are a function of the concrete properties over
the reinforcement.
Chapter 4: Progressive collapse resistance of RC slabs 97
Figure 4-2b shows the location of the Integrity Rebar-Concrete Connectors (IRCC)
on the ISS model, connecting a node on the integrity reinforcing bar to a corresponding
node on the slab. The vertical component of all Rebar-Concrete Connectors was rigid up
to the failure. The failure force for each IRCC was calculated by dividing _ by
the number of integrity bars on all sides of the column (8 bars). Tensile-Rebar Concrete
Connectors (TRCCs) connect a node on the tensile reinforcing bar to a corresponding node
on the cone or slab. TRCCs’ breakout and spalling strength were calculated by
dividing _ and by the number of the bars passing the imaginary circle
discussed before.
As the column punches through the slab, a portion of the concrete breaks out in
zones 2, and 3. This size is reported to be approximately eight times the corresponding bar
diameter and have found to be in good agreement with the experimental results (Mirzaei,
2010). The location of the first rebar-concrete connectors, modeling concrete breakout, is
estimated accordingly. The first IRCCs were located eight times the bar diameter away
from the column face (90 mm ≈ 8×12) and the first TRCCs eight times the bar diameter (
60mm ≈ 8×8) from the critical shear crack on each side.
Analytical Results and Discussion
Figure 4-4 compares the column axial force from the analytical and experimental
results of the ISS slab versus slab displacement at the center of the column (slab center
displacement). The analytical results reasonably follow the experimental data. The
maximum analytical punching shear strength was 251 kN at a vertical displacement of 8.4
mm, which was 4.1% larger than the experimental punching strength reported by Mirzaei
and Muttoni (2008). At this displacement, all the SCCs failed in shear and the concrete and
reinforcing bars contributed about 79% and 21% of the punching strength, respectively.
Chapter 4: Progressive collapse resistance of RC slabs 98
After the punching failure occurred, the three additional sudden large drops in the
analytical column axial force (Figure 4-4) are due to the concurrent failure of some IRCCs
and TRCCs. If the model was more refined the analytical curve would be smoother. Figure
4-5 shows the total shear force transferred by the tensile and integrity reinforcing bars from
the slab to the cone. Once the punching failure occurs, there is a sudden increase of about
10 kN in the shear force of integrity reinforcing bars. This is due to the sudden downward
movement of the slab with respect to the column. However, spalling of the concrete cover
right after punching reduced the shear force of the tensile reinforcing bars by about 8 kN.
At the peak post-punching column axial force the integrity and tensile reinforcement’s
contribution in transferring the force from slab to column were 84% and 16%, respectively.
The tensile reinforcing bars were fully anchored in the experiment. However, in slabs
designed in accordance with the detailing requirements of ACI 318-11 Section 13.3.8,
tensile reinforcement would not be continuous over the entire span and would be likely to
tear out of the concrete completely.
The considerable contribution of the integrity reinforcing bars to the post-punching
response of the slab increases the post-punching strength and deformation capacity, which
in turn help redistribute the gravity loads to the adjacent supports after punching. The
failure progression of the IRCCs with the increase of the vertical displacement is shown in
Figure 4-6. The IRCCs closer to the column were weaker compared to those farther away
due to the shallow depth of the breakout concrete (see Figure 4-2b), however, where the
integrity reinforcing bars were supported by the full depth of the slab, the IRCCs had
constant strength independent of their distance to the column.
4.4 Analytical evaluation of isolated and laterally restrained slabs
Under a monotonically increasing load, the formation and propagation of flexural
cracks in the slab sections along with yielding of the longitudinal reinforcing bars reduces
Chapter 4: Progressive collapse resistance of RC slabs 99
the depth of the compressive zone. As a result, the section neutral axis moves away from
the section centerline. Thus, tensile strain, forms at the mid-height of the slab. If the slab
is simply supported, any infinitesimal length of the slab, , will experience an
infinitesimal increase in length . . The total horizontal elongation of the slab,
∆ , due to the formation of flexural cracks is considered as the slab/beam tendency
to grow (Fenwick and Megget, 1993; Kim et al., 2004; Sasani et al., 2011). In actual flat
plate structures under small deflections, this growth tendency is constrained primarily by
the membrane action of the slab in the surrounding area leading to the development of axial
compressive forces in RC floor elements which contributes to the higher punching strength
capacity. In order to investigate the effects of compressive membrane forces on the
punching strength of isolated slabs, the ISS slab studied in the previous section is modified
to have lateral restraints similar to the pinned edge condition and will be referred to as
laterally restrained slab in this paper.
The effect of membrane forces developed in the slab on the SCCs’ shear strength
is accounted for by using a simplified relationship based on a model proposed by Bresler
and Pister (1958). Among the properties available for connectors in Abaqus, frictional
behavior was considered as a proper interaction between the membrane forces and the shear
strength.
Figure 4-7 shows Bresler and Pister’s parabolic failure criteria based on the
response of concrete specimens under combined shear and compression. A linear
relationship between the compressive strength and the shear strength is used to
approximate the parabolic failure criteria. Equation (4-4), which is similar to the Mohr-
Coloumb’s failure theory, relates the friction force of an SCC to the compressive
membrane force of the slab.
, tan , (4-4)
Chapter 4: Progressive collapse resistance of RC slabs 100
, is the total shear strength of the SCCs and tan is the slope of the
simplified linear criteria shown in Figure 4-7, which is equal to the Coulomb’s friction
coefficient. This coefficient is estimated from the experimental data of Bresler and Pister
(1958) and found to be 0.25. N is the axial compressive force in the slab, , is the
concrete shear strength of the SCCs without the effect of membrane forces. tan is
the friction shear as a result of the membrane forces in the slab.
Once the vertical deformation of the SCCs reached 1.25mm (see Figure 4-3), all
six DoFs of the SCCs were set free. It was assumed that the contribution of the
reinforcement to the punching shear by dowel action remains the same, independent of the
effect of lateral restraint (Hewit and Batchelor, 1975).
Analytical Results for laterally restrained Slab
Due to the lack of reliable experimental data, the results of the restrained analytical
model are compared with the results of the ISS analytical model to demonstrate the effect
of compressive membrane forces on punching strength. As was shown in Figure 4-4, the
results of the analytical ISS slab were in good agreement with experimental data. Figure
4-8 shows the column force versus column vertical displacement for the analytical ISS and
laterally restrained slabs. The increase in punching shear strength of the laterally restrained
slab is about 34% compared to that of the ISS slab. As a result of the increased punching
force a larger impact was applied to the system upon punching, causing more damage to
the connectors. So the shear strength of the laterally restrained slab immediately after
punching was about 20kN less than the post-punching strength of the analytical ISS slab.
The additional punching strength is due to the effect of friction shear caused by the
formation of the compressive membrane forces in the slab. In Figure 4-9, the three main
contributors to the punching strength of the slab (concrete, friction shear, and the dowel
action) are compared with the column force. At punching, 20% of the punching strength
Chapter 4: Progressive collapse resistance of RC slabs 101
was provided by the dowel action. The contribution of the reinforcements through dowel
action started at a vertical displacement of 3.8mm, which was after the initiation of plastic
deformation of the SCCs in shear (representing the formation of the shear crack). The
contribution of the friction shear started at the initial stage of loading with the formation of
the membrane forces.
Figure 4-10 shows the friction shear versus slab vertical displacement. With the
increase of vertical displacement and widening of cracks, the compressive membrane
forces in the slab increase until the critical elements around the column experience concrete
crushing. As the crushing propagates in the slab, the flexural and axial strengths of the
critical elements drop which lead to a decrease of the compressive membrane forces, and
in turn the friction shear in the slab. Due to the decrease of friction shear after 3.4mm of
vertical displacement, the total shear force from concrete and friction shear remains almost
constant (see Figure 4-9). Although there are no experimental results for the post-punching
behavior of laterally restrained slabs, the post-punching response is anticipated to be
similar to ISS slabs.
4.5 Progressive collapse in flat plate floor systems
Analytical Models
In a flat plate structure, the degree of lateral restraint of the slab in the vicinity of
the column, where punching shear can occur, is unknown (Hewit and Batchelor, 1975).
Thus, the results of analytical models similar to the laterally restrained slab which have
ideal boundary conditions are not valid for system-level response. The response of two
sixteen-column flat plate structures to a column removal with and without the effects of
compressive membrane forces are evaluated in this section. Figure 4-11 shows the plan
view of the slab and the location of the removed column as well as the explicit reinforcing
bars. As mentioned before, the explicit reinforcing bars will contribute to the post-punching
Chapter 4: Progressive collapse resistance of RC slabs 102
response at the location of the interior columns. The modeling technique presented in the
previous section for punching failure is used to model the interior slab-column connections
only, as they are more susceptible to punching. The final mesh layout was similar to that
of Figure 4-2a. In order for the results to be applicable to a wide range of flat plate
buildings, the slab’s geometry is considered as the average value of the typical flat plate
buildings’ dimensions reported by Mullers (2007). The slab is designed according to ACI
318-11 (2011).
A slab thickness of 0.28m satisfied the two-way shear punching design criteria
under an ultimate load of 15.2 kN/m2, including the slab self-weight. The average live load
is 3.2 kN/m2 and the additional dead load is 1.4 kN/m2. The design shear strength of the
slab including the strength reduction factor of 0.75 is estimated at 748 kN. A live load
reduction factor of 0.59 was used for the design of interior columns and the ultimate
uniform load was 13.1 kN/m2. The interior columns’ ultimate reaction was 722 kN
considering the live load reduction factor, which satisfied the design shear strength.
The slab flexural reinforcement is designed according to the direct design method
(ACI 318-11). The maximum top tensile flexural reinforcement ratio of the column strip is
0.3% and 0.51% in the transverse and longitudinal directions, respectively. For other
locations, the minimum reinforcement ratio satisfied the design requirements. According
to ACI 318-11 Section 13.3.8, top tensile reinforcement is cut at 0.3ln from the face of
support, where ln is the clear span length. The use of two integrity reinforcing bars with a
diameter of 22 mm in both normal directions was calculated according to Equation (4-5)
satisfying provisions of ACI 352.1R-11.
.
∅ (4-5)
Chapter 4: Progressive collapse resistance of RC slabs 103
Asm is the minimum area of the integrity reinforcement in normal directions passing
through the column, wu is the factored uniformly distributed load, fy is the yield strength
of steel, ∅ = 0.9, and ℓ1 and ℓ2 are the center-to-center spans in normal directions.
A dynamic analysis with an explicit time integration method was conducted
considering both material and geometric nonlinearities. The structure was analyzed under
the load combinations suggested by GSA (2013). The reaction of the removed interior
column under the distributed progressive collapse load combination of D + 0.25 L = 9.2
kN/m2 was 510 kN. The column was replaced with its reactions and the structure was
reanalyzed to ensure the likeness of the results under gravity before and after replacing the
column with its reaction. Then, the column reactions were removed in 2 milliseconds,
simulating the removal of a column under explosion (Sasani et al., 2007; Sasani, 2008). In
order to account for the effects of strain rates on material strength, Cowper-Symonds power
law was used. Mass-proportional damping with a damping ratio of 5% in the first mode
was used to dissipate the system’s dynamic energy.
Upon column removal, interior slab-column connections were considered more
vulnerable to punching failure than exterior slab-column connections, due to higher shear
stresses in the slab that generates higher axial forces in the columns. So the three remaining
interior slab-column connections were modeled by the explicit punching simulation
technique presented in this paper. Similarly, SCCs and Rebar-Concrete Connectors
simulated the continuity/separation. Eighty five percent (85%) of the strength was assigned
to the SCCs and the remaining to the dowel action of the explicit bars (see Figure 4-3).
Asymmetric Punching Strength
The flat plate building studied here is not symmetric in plan. A reliable evaluation
of the punching shear strength of asymmetric slabs with unequal span lengths and
reinforcement ratios in two orthogonal directions ( , requires experimental tests
Chapter 4: Progressive collapse resistance of RC slabs 104
conducted on rectangular specimens bounded by the corresponding line of contraflexure in
each direction. For such specimens under monotonically increasing vertical loads, the
longitudinal reinforcement in the two normal directions is likely to yield simultaneously in
tension. Due to the lack of relevant experimental data and methods for such cases, the
punching shear strength of the slab is calculated according to EC2, Equation (4-6). EC2
(2004) defines the shear strength of members without shear reinforcement or material
safety factors as follows:
0.18 1 100 0.1 (4-6)
In which d is the average effective depth of the slab; is the concrete compressive
strength; is the control perimeter at distance 2d from the column face; and are the
reinforcement ratios in the two normal directions; and is the axial stress in the section
as a result of pre-stressing. The Equation provided by EC2 requires a known value of axial
stress/force ( to be used in the Equation such as those developed as a result of
prestressing; however the amount of membrane forces developed in the slab is not a priori.
Therefore, this parameter is set to zero in this paper.
The geometric average of the reinforcement ratios in two orthogonal directions was
0.39% and the punching shear strength of the slab was 790 kN based on Equation (4-6).
Results and Discussions
Slab model without the effect of compressive membrane forces
Figure 4-12a shows the axial forces of the three remaining interior columns after
column removal. All three interior columns punched sequentially. At the beginning, the
majority of the additional shear force, as a result of the column removal, was dynamically
distributed in the transverse (shorter) direction to column B2. Following the punching of
Chapter 4: Progressive collapse resistance of RC slabs 105
column B2, the other two interior columns punched, starting with the closest to the location
of the initial damage. As mentioned before, punching was not modeled for slab connections
of exterior columns. Figure 4-12b shows the vertical displacement of the slab at the location
of the removed and punched interior columns versus time. The maximum slab deformation
was about 350 mm at the location of the removed column. The post-punching load on the
interior punched columns recovered 92% of the original column force under gravity. The
maximum reinforcing bar tensile strain at the bottom of the slab was less than 5% at the
location of the removed column. However, the maximum strain of the explicit integrity
reinforcing bars at the location of column B2 was about 10%, which is near fracture.
The post-punching response of column B2 showed that tensile reinforcing bars
which are not continuous over the span have negligible contribution to the post-punching
strength and tear out of the concrete. Figure 4-13a shows the contribution of the tensile and
integrity reinforcing bars to the post-punching strength of column B2. As shown in Figure
13a, the entire post-punching strength was provided by the integrity reinforcing bars.
Similar results were reported by the experimental results of Habibi et al. (2012). Figure
4-13b shows the vertical displacement profile of the slab, and the explicit integrity
reinforcement after punching. The explicit tensile reinforcing bars were torn out of the
concrete and are not shown in the figure.
Figure 4-14 shows the vertical displacement contours of the slab over time. Due to
the extreme deformations and potential fracture of the integrity reinforcing bars, the slab
response was evaluated considering the effect of compressive membrane forces in the next
section. Similar to the laterally restrained slab model, the effect of membrane forces on the
shear strength was modeled by defining Coulomb-like frictional behavior for the SCCs.
The deformed shape of an interior column, cone, and integrity bars modeled
explicitly is shown in Figure 4-15 after punching.
Chapter 4: Progressive collapse resistance of RC slabs 106
Slab model with effect of compressive membrane forces
Figure 4-16a shows the history of column forces and Figure 4-16b shows the
vertical displacements of the slab at the location of all four interior columns after column
removal. Including the effect of compressive membrane forces in the form of friction shear
increased the punching strength of the slab by 17% compared to the previous model and
none of the columns punched. Criswell (1974) reported 10-12% increase in the shear
strength of a quarter scale nine-panel slab. Criswell estimated the compressive membrane
forces developed in the section and implemented in an equation developed for prestressed
slabs to evaluate the punching strength enhancement of the slab.
The permanent force of column C2 did not change while 88% of the additional
force imposed on the system as a result of the column removal was transferred to columns
B2 and C3. The remaining force was transferred to the external columns. The slab at the
location of the removed column had a permanent vertical displacement of about 60mm.
The membrane forces in the transverse direction per unit length are shown in Figure
16 for axis 2 (see Figure 4-11) at the peak vertical displacement. The increase of vertical
displacement after column removal increased the curvature and the crack widths in the
slab. Consequently, the compressive forces in the slab, especially at the location of column
B2, developed as shown in Figure 4-17. As mentioned before, the slab tendency to grow is
limited by the neighboring portions of the slab resulting in compression in regions under
maximum moments and tension in the other areas. In other words, the compressive
membrane action is primarily in equilibrium with other portions of the slab in tension. The
total compressive membrane force formed in the slab was 1699 kN, of which 97% is in
equilibrium primarily with the tensile membrane forces of the middle strips of the slab and
the remaining 3% by the column shear forces.
Chapter 4: Progressive collapse resistance of RC slabs 107
Figure 4-18 shows the relative horizontal displacement of the slab at the top of
columns B2 and B4 in the transverse direction. The total growth allowed by the system is
about 1.6mm. This indicates that the slab in flat plate structures is not completely restrained
and is allowed to grow. Since the restraining membrane action was provided almost
entirely by the slab itself, none of the columns yielded in shear at the maximum horizontal
displacement.
Calibration factors used in this Chapter, and , are from a half-scale tests which
has been used throughout this manuscript.
Chapter 4: Progressive collapse resistance of RC slabs 108
4.6 Figures
2)
Figure 4-1Truncated punching cone, tensile and integrity reinforcing bars and failure zones of slab, cone and connectors
Chapter 4: Progressive collapse resistance of R
C slabs
109
Figure 4-2 A quarter of ISS slab a) FE mesh; b) four types of connectors: TRCC_Breakout, TRCC_Spalling, IRCCs, SCCs and explicit reinforcing bars in one direction; and c) test specimen of Mirzaei and Muttoni (2008)
288750
65
125
Ø 8 @ 60 mm
288750
Integrity rebar
Tensile rebars
TOPØ 8 @ 60 mm
Critical shear crack
Punching cone
TRCC_Breakout
TRCC_SpallingIRCCSCC
Integrity rebar
-XT
XI
Support
Support
a) b) c)
D/2+XT
Connector Types
Chapter 4: Progressive collapse resistance of RC slabs 110
Figure 4-3 Constitutive law for the vertical force component of SCCs
0 25 50 75 100 125
Slab Center Displacement (mm)
0
100
200
300
Col
umn
Axi
al F
orce
(kN
)
93 k
N
Post-punching
ExperimentalAnalytical
65 k
N
Figure 4-4 Comparison of experimental column force by Mirzaei and Muttoni (2008) and analytical results of ISS slab
0.7 Vp
0.85 Vp
1.25mm Vertical Deformation
Vertical Force
Chapter 4: Progressive collapse resistance of RC slabs 111
0 25 50 75 100 125
Slab Vertical Displacement (mm)
0
100
200
300
Ver
tica
l Com
pone
nt (
kN)
Punching
Integrity barsTensile bars
Figure 4-5 Contribution of integrity and tensile reinforcing bars to vertical shear force transfer from column to slab versus slab center displacement
0 25 50 75 100 125
Slab Center Displacement (mm)
0
4
8
12
16
IRC
C F
orce
(kN
)
Punching
Figure 4-6 IRCCs’ shear force versus column displacement starting from closest ones to column
Chapter 4: Progressive collapse resistance of RC slabs 112
0 0.25 0.5 0.75 1
Axial Stress/f 'c
0
0.05
0.1
0.15
0.2
0.25
She
ar S
tres
s/f'
c
Bresler & PisterSimplif ied
Figure 4-7 Simplified relationship of Bresler and Pister’s (1958) criteria between axial and shear components of SCCs
0 25 50 75 100 125
Slab Center Displacement (mm)
0
100
200
300
Col
umn
Axi
al F
orce
(kN
)
ISSILR
Figure 4-8 Analytical column axial forces of Isolated and Laterally restrained (ILR) slab compared to analytical column axial force of ISS slab
Chapter 4: Progressive collapse resistance of RC slabs 113
0 5 10 15
Slab Cener Displacement (mm)
0
100
200
300
For
ce (
kN)
Dowel Action
Friction Shear
Concrete+FrictionColumn
Concrete
Figure 4-9 Comparison between column axial force, concrete contribution with and without effect of friction
0 5 10 15
Slab Center Displacement (mm)
0
-40
-80
-120
Fri
ctio
n S
hear
For
ce (
kN)
Figure 4-10 Friction shear force of SCCs versus slab center displacement
Chapter 4: Progressive collapse resistance of RC slabs 114
Figure 4-11 Plan and explicit tensile and integrity reinforcing bars at location of interior columns
a)
0 0.2 0.4 0.6 0.8Time (sec)
0
-200
-400
-600
-800
Col
umn
forc
e (k
N)
Column B2
Column C3Column C2
b)
0 0.2 0.4 0.6 0.8Time (sec)
-400
-300
-200
-100
0
Ver
tica
l Dis
plac
emen
t (m
m) Exploded (B3)
Figure 4-12 a) Interior column axial forces vs time; and b) time history of vertical displacement
A B C D
1
2
3
4
8000 8000 8000 1000
1000
6000
600
060
00
IntegrityØ22
280
TensileØ12@150
TensileØ16@150
Cone
Ø16@150Ø12@150
Ø12@200
Shear crack
300
Chapter 4: Progressive collapse resistance of RC slabs 115
a)
0 0.2 0.4 0.6 0.
Time (sec)
0
200
400
600
800
Ver
tica
l She
ar F
orce
(kN
)
Tensile RebarIntegrity Rebar
b)
Figure 4-13 a) History of contribution of integrity and tensile reinforcing bars to vertical shear forces transferred from column to slab; and b) transverse profile of vertical
displacement of slab at peak displacement
Figure 4-14 Vertical displacement of slab a) under gravity; b) at t= 0.3; and c) final deformed shape
a)
b)
c)
0 4 8 12 16 20
Axis B (m)
Cone
Col. B2 Exploded (B3)
Integrity Rebar
350 mm
Δ= 20 mm -20 -80 -150 -250 -350
Chapter 4: Progressive collapse resistance of RC slabs 116
Figure 4-15 Cone, slab and integrity bars after punching modeled explicitly
a)
0 0.2 0.4 0.6 0.8
Time (sec)
0
-200
-400
-600
-800
-1000
Col
umn
forc
e (k
N)
Column B2
Column C3Column C2
b)
0 0.2 0.4 0.6 0.8
Time (sec)
-80
-60
-40
-20
0
Ver
tica
l Dis
plac
emen
t (m
m)
Column B2
Column C3Column C2
Exploded (B3)
Figure 4-16 History of interior columns’ a) axial forces; and b) vertical displacement with effect of compressive membrane forces
Chapter 4: Progressive collapse resistance of RC slabs 117
Figure 4-17 Membrane forces in transverse direction at maximum vertical displacement
0 0.2 0.4 0.6 0.8Time (sec)
-2
-1.6
-1.2
-0.8
-0.4
0
Hor
izon
tal D
ispl
acem
ent (
mm
)
Figure 4-18 Relative horizontal displacement of columns adjacent to removed column on axis B (Negative means moving away from removed column)
0 4 8 12 16 20 24 28
Axis 2 (m)
-800
-600
-400
-200
0
200
400
Mem
bran
e F
orce
s (k
N/m
)
Col. B2 Col. C2
Tension
Compression
Chapter 5 Post-punching response of a flat plate designed based on ACI 318-11
5.1 Introduction
ACI 318-11 “Standard Building Code Requirements for Structural Concrete and
Commentary” has integrity steel requirements with the objective of increasing the overall
continuity and redundancy of structures. These requirements do not involve any specific
loading or analysis. Rather they require minor changes in the reinforcement detailing of
structures to improve their integrity. Section 13.3.8.5 for two-way slabs, requires two
bottom bars pass through column core and anchored at the exterior supports in order to
maintain integrity of the structure after a punching failure by citing the study done by
Mitchell and Cook (1984) in the commentary without any requirements for bar diameter.
Experimental results of Mitchell and Cook (1984), Melo and Regan (1998), Mirzaei
and Muttoni (2008), Habibi et al. (2012) and our analyses from Chapter 4, showed that the
continuous bottom bars play a significant role after punching failure compared to the top
non-continuous bars. Mitchel and Cook (1984), Melo and Regan (1998), and Mitchell
(1990) suggest a minimum bar area for bottom/integrity bars based on the experimental
results to increase the integrity of the system by providing some residual strength in case
of a punching shear failure. Guidelines other than ACI 318-11 adopted their
recommendation as the minimum requirement for the integrity of flat plate structures.
Our main focus in this chapter is on the post-punching response of a flat plate floor
designed and detailed based on ACI 318-11. A brief summary of the explicit modeling
technique developed in Chapter 4 to evaluate punching and post-punching response of a
Chapter 5: Post-punching response of a flat plate 119
flat plate floor is introduced. The modeling technique mentioned earlier is not efficient both
time and effort wise for the purpose of this chapter. Thus, an alternative simple FE model
is introduced with reasonable accuracy compared to that of Chapter 4. Then, the flat plate
floor designed based on ACI318-11 is analytically evaluated at the system-level following
punching failure of an over loaded interior column.
5.2 Integrity requirements of other guidelines
ACI 352.1R-11 “Guide for Design of Slab-Column Connections in Monolithic
Concrete Structures” specifies minimum area for integrity bars passing through column to
increase the resistance of the structural system to progressive collapse. It requires that “at
interior connections, bottom reinforcement in each direction passing through column cage
have a minimum area of”:
. (5-1)
In which, Asm is the minimum area of the integrity reinforcement in normal
directions passing through the column, is the factored uniformly distributed load, fy is
the yield strength of steel, = 0.9, and ℓ1 and ℓ2 are the center-to-center spans in normal
directions.
Canadian standard for “Design of concrete structures for buildings” (CSA A23.3)
section 13.10.6.1 requires that “The summation of the area of bottom reinforcement
connecting the slab, drop panel, or slab band to the column or column capital on all faces
of the periphery of the column or column capital shall be:”
∑ 2 / (5-2)
The number of bar should be at least two extended through the column core in each
span direction. In which, is the shear force transmitted by rebars from slab to column,
Chapter 5: Post-punching response of a flat plate 120
is the yield strength of the rebars. This requirement was added to the code following
study of Mitchell and Cook (1984).
5.3 Previous studies on integrity of flat plates
Hawkins and Mitchell (1979) evaluated failures that can lead to progressive
collapse in flat plate structures. Punching failure of an overloaded column without bottom
bars (Figure 5-1) was found to be one that leads to brittle failures.
Mitchell and Cook (1984) reported the importance of continuous integrity bars in
preventing progressive collapse following punching failure. A number of a-quarter scaled
four-panel flat plate structures were designed and detailed according to ACI 318-77 at
McGill University. Since ACI 318-77 had no minimum bar area requirements, the size of
the bottom bars, however, were increased to help improve the post-punching strength. A
corner panel was overloaded with a 9-point load until bottom bars fracture at the corner
column. They proposed a simple equation (Eq 5-1), which was later adopted by ACI
352.1R, to help slab hang off the column and resist progressive collapse of overloaded slab
panels. The equation is valid up to a vertical deflection of 0.15ln. Since the majority of
failures for flat plates have happened during construction, used for the estimation of the
minimum area of integrity bar was considered not be less than twice the slab dead load.
They concluded for instance, the area of bottom bars required for a center column to have
the minimum post-punching strength ( 2 at about 60 mm deflection
after punching is 2 Φ 15 bars for a 4 m span flat plate structure.
Mitchell (1993) recommended a simplified form of the equation suggested by
Mitchell and Cook (1984) by replacing in (5-1) with Vs :
2 / (5-3)
Chapter 5: Post-punching response of a flat plate 121
Where, is the total area of the continuous bottom steel passing through column
cage at all sides of the column, is the likely shear due to the service load on the slab
column joint, is the strength reduction factor of 0.9 for tension, and is the specified
yield strength of the bars.
Melo and Regan (1998) ran three sets of post-punching tests. The first set was
conducted up to about 50 mm (about half of the slab thickness) vertical displacement in
which no bar fracture was observed. Steel bars had a large rupture strain of about 0.2. The
majority of the bottom bars passing through column were 6 or 8 mm in diameter. The
failure mode was dominated by concrete breakout strength for these tests. They found a
good agreement between the resistance estimated by ACI 349 (2001) “Code for nuclear
safety related structures” for concrete acting against integrity bar and the experimental data
of first set that was limited to the destruction of concrete above the bars (Eq 5-4 through 5-
6).
(5-4)
Where is the horizontal projection of the conical surface (Figure 5-2), and
is the average tensile stress in the concrete equal to 0.33 (MPa). For an isolated bar
they found
. (5-5)
A modification is applied for more than one bar to account for overlap of bars at a
spacing (s) < 2d (see Figure 5-2 for double bars).
. (5-6)
Chapter 5: Post-punching response of a flat plate 122
Where, , cos ; s is the spacing of integrity
bars, d is the effective depth, is the concrete compressive strength.
For the second set, each test was conducted until the ultimate post-punching
strength was reached by fracture of integrity bars. They observed bar fracture for integrity
bar diameters less than equal 12 mm provided that the bars have enough anchorage. For
steels with rupture strain of about 0.2, the maximum strength governed by fracture was
estimated as:
Vpp-f = 0.44∑ (5-7)
In which, is the ultimate strength of steel, is the cross section of one integrity
bar and 0.44 is the sinus of angle of bar at failure which was found by experiment (26o).
For unknown values of ultimate tensile strength they proposed =1.15fy and the equation
becomes:
V pp-f = 0.5∑ (5-8)
The third series was conducted by using large diameter bottom bars and the tests
were continued until the bars fractured, in order to evaluate the potential of crushing of
column concrete where the bars were connected. For larger bar diameters 16 and 20 (mm),
no concrete crushing was observed at the time of bar fracture (Melo and Regan, 1998).
Mirzaei and Muttoni (2008) summarized the results of an experimental campaign
carried out at Ecole Polytechnique Federale de Lausanne on post-punching behavior of 24,
half-scaled RC flap plate panels with single column of 130x130 mm. The thickness of all
the slabs were 125 mm. The specimens were mixture of panels with cold-rolled or hot-
rolled steel, straight or bent-up integrity reinforcement, different concrete strength and steel
Chapter 5: Post-punching response of a flat plate 123
diameters to study the effect of different parameters on the post-punching response. They
observed some bar fractures as it is summarized by Fernandez Ruiz et al. (2013).
Mirzaei (2010) developed a numerical procedure based on ACI 349 (2001)
equation (5-4 to 5-6) to calculate the post-punching strength of more than 30 specimens
including those tested by Mirzaei and Muttoni (2008). He expanded the equation such that
the progressive destruction of the concrete over the bars can also be estimated with respect
to the vertical displacement. He then, estimated the post-punching strength of slab-column
connections and verified based on the experiment
Habibi et al. (2012) tested seven interior slab-column specimens against punching
failure detailed according to the integrity requirements of CSA A23.3 to investigate the
efficiency of the integrity requirements. No bar fracture was observed after punching while
the test was continued after punching up to about 200 mm vertical displacement. They
concluded that the integrity requirements of CSA A23.3 standard gives the slab enough
post-punching resistance and deformation capability.
5.4 Explicit modeling method (Chapter 3Chapter 4)
In Chapter 4Chapter 3, post-punching response of a flat plate floor following a
column removal is investigated by explicitly modeling the failure progression of concrete
at discrete locations. The interaction of reinforcement and concrete during post-punching
phase is modeled using connector elements at discrete location. By means of the
connectors, the separation of reinforcement from slab and failure of concrete
(breakout/spall) is modeled after punching. The strength of concrete at those locations were
estimated by Mirzaei’s (2010) equations. However, due to high number of connector
elements and details used in the model, the analysis and modeling was costly in terms of
time and effort spent. Therefore, in the following sections an alternative and simple
modeling method is introduced such that the analysis and modeling process would be
Chapter 5: Post-punching response of a flat plate 124
expedited with reasonable accuracy and simple model to capture punching and post-
punching response of flat plates.
5.5 Simple method for modeling punching failure
In this method, the slab is modeled using nonlinear shell elements. A connector
connects the top of the column to its corresponding node on the slab. The punching strength
of the slab-column connections are estimated using EC2 (2004) and the post-punching
response is estimated using the numerical procedure developed by Mirzaei (2010). Based
on the estimated punching and post-punching strength, the force-deformation relationship
of the connector is defined in the FE model and the system-level response following a
punching failure is investigated. To validate the results, the flat plate floor of Chapter 4 is
remodeled using this method and the column removal scenario is repeated. Detailed
explanation of the procedure is presented in the following sections.
Estimation of punching strength: EC2 (2004)
Similar to section 4.5.2, EC2’s equation (Eq. 5-9) is used to estimate the punching
strength of the slab-column connection. The increase in punching strength due to
membrane actions, wherever needed, will be added as a percentage based on the finding of
Chapter 4.
0.18 1 100 ′ 0.1 (5-9)
In which d is the average effective depth of the slab; ′ is the concrete compressive
strength; is the control perimeter at distance 2d from the column face; and are the
Chapter 5: Post-punching response of a flat plate 125
reinforcement ratios in the two normal directions; and is the axial stress in the section
as a result of pre-stressing.
Estimation of post-punching strength: Mirzaei (2010)
After punching, the only connections between the slab and the column are the
reinforcing bars (Figure 5-3). As a result of the slab deformation with respect to the column,
concrete failures occur on the slab and cone sides and propagate along the reinforcing bars.
The maximum shear transferred by the reinforcing bars is equal to the spalling and breakout
strength of slab concrete.
In this section, first the shear force transferred from slab to column through
reinforcement is calculated. Then the spalling and breakout strength of concrete
(reinforcement-concrete interaction) mentioned in Chapter 4 is summarized.
5.5.2.1 Shear transfer through reinforcing bars
The post-punching strength of a slab is the sum of the contributions of the tensile
and integrity bars to the vertical load carrying capacity of the slab as shown in Figure 5-3a.
This is given in the following equation
Vp-p = VT + VI (5-10)
In which, Vp-p is the post-punching strength of the slab-column connection, VI is
the shear transfer through all the integrity bars passing through column core that is in
equilibrium with the breakout strength and VT is the shear transfer through all the tensile
bars crossing the punching cone and active in shear transfer that is in equilibrium with the
spalling strength of concrete.
Chapter 5: Post-punching response of a flat plate 126
Elasticdeformation
As shown in Figure 5-3b, after punching and having (vertical displacement with
respect to column) and (the free length of the bars measured from the face of the column),
the elastic deformation of bars is assumed to be a cubic function of
(Mirzaei, 2010). Mirzaei (2010) derived the following equations for the contribution
of one integrity or tensile bar to shear transfer.
/ (5-11)
In which, 1 1, , / and
127 /Φ / (Soroushian et al., 1986). Ab is the reinforcement cross-section area for
one bar, Es, modulus of Elasticity, Ib second moment of inertia,Φ reinforcement diameter
and the slope of bar.
L, the free length of the tensile and integrity bars are shown in Figure 5-3a. For
integrity bars L . and for tensile bars is defined later.
Plastichingeformation
Mirzaei (2010) reported the formation of plastic hinges in the reinforcing bars at
the face of the crack due to combination of flexural, shear and axial deformations during
experiment shown in Figure 5-3c. During this phase, the above mentioned equations are
no longer valid and the shear contribution of the bars can be found using the following
equations (Millard and Johnson, 1984; Mirzaei, 2010).
/ 1 (5-12)
Chapter 5: Post-punching response of a flat plate 127
Where, , 1, .
After calculating the vertical component of the force transferred by one integrity or
tensile bar, VT is the sum of V(I/T)i for the tensile bars that are crossing the punching cone.
The number of tensile bars (i) crossing the cone can be found as:
i(tensile)= ∗ 4 (5-13)
As concrete breakouts occur on the cone side, the number of tensile bars that
contribute to the shear transfer decreases. The tensile bars that remain and contribute at the
end are those passing through the column core.
VT is the sum of V(I/T)i on all sides for all the integrity bars that pass through the
column.
i(integrity)= number of bar passing through the column *2 (5-14)
CalculationofL:freelengthoftensilebars
To find the vertical component of the force in the tensile bars, Mirzaei (2010)
describes the free length of the reinforcing bars as: L= p + q
In which, p is the extent of damage in the cone and q is the extent of damage in the
slab (Figure 5-4) measured from the shear crack. For tensile bar p and q are related as
described in the following equation:
2 2 . cot
2 2 . cot (5-15)
Chapter 5: Post-punching response of a flat plate 128
All the parameters are discussed before. The progressive failure of the cone
concrete at the bottom of tensile bars on the cone side will stop at the face of the column.
That is, p is limited to dcot(α).
5.5.2.2 Reinforcement-concrete interaction (concrete spalling and breakout)
After punching, three types of damage/failures are expected while the slab is
deforming downwards with respect to the column. Two of them, as discussed in Chapter
4, are concrete failures due to the interaction of the concrete and reinforcement (top and
bottom bars) and the third one is the failure of reinforcing bars.
As shown in Figure 4-1, the thin layer of concrete cover gradually spalls off after
punching (failure type 1, zone 1) and tensile bars tear out of concrete on the slab side. At
the locations where a thick layer of concrete is acting against the reinforcing bar (concrete
on top of integrity bars and concrete below the tensile bars on the cone side) concrete
breakouts occurs (failure type 2, zones 2 and 3) (Mirzaei, 2010).
Chapter 5: Post-punching response of a flat plate 148
Table 5-4 Maximum estimated post-punching strength of interior slab-column connection based on Mirzaei (2010) compared with Melo and Regan (1998) estimation
Table 5-8 Minimum bar diameter to achieve specific post-punching deformation as a function of span without bar fracture
Vertical displ./span
0.10 0.15 0.20
1% 14.00 Φ 10 Φ 8 1.50% Φ 20 Φ 14 Φ 10
2% > Φ 22 Φ 18 Φ 14 2.50% > Φ 22 Φ22 Φ 16
3% > Φ 22 Φ 22 Φ 20
Chapter 5: Post-punching response of a flat plate 150
5.9 Figures
Figure 5-1 Post-punching behavior of flat slab with and without bottom reinforcement (adopted from Hawkins and Mitchell, 1979)
Chapter 5: Post-punching response of a flat plate 151
Figure 5-2 Horizontal projection of conical surface for single and double integrity bars (adopted from Melo and Regan, 1998)
Chapter 5: Post-punching response of a flat plate 152
Figure 5-3 a) geometry of slab, cone and rebars after punching (shear transfer), b) elastic deformed shape, c) plastic deformed shape(formation of plastic hinges) (adopted from Mirzaei, 2010)
Chapter 5: Post-punching response of a flat plate 153
Figure 5-4 Circumferential concrete cover failure ring (adopted from Mirzaei, 2010)
Figure 5-5 Distance xi from column face (adopted from Mirzaei, 2010)
xi
Chapter 5: Post-punching response of a flat plate 154
Figure 5-6 Numerical post-punching strength estimated based on Mirzaei (2010) compared with experimental results of specimen PM-9 from Mirzaei and Muttoni (2008)
Figure 5-7 Comparison of numerical post-punching strength based on Mirzaei (2010) with experimental results of specimen PM-10 from Mirzaei and Muttoni (2008)
0 20 40 60 80 100 1200
50
100
150
200
250
300
vertical displacement (mm)
Col
umn
forc
e (k
N)
Tensile bar (Num.)
Integiry bar (Num.)Total (Num.)
PM-9 (Exp.)
0 20 40 60 80 100 1200
50
100
150
200
250
300
vertical displacement (mm)
Col
umn
forc
e (k
N)
Tensile bar (Num.)
Integiry bar (Num.)Total (Num.)
PM-10 (Exp.)
Chapter 5: Post-punching response of a flat plate 155
Figure 5-8 Comparison of numerical post-punching strength based on Mirzaei (2010) with experimental results of specimen PM-11 from Mirzaei and Muttoni (2008)
Figure 5-9 Comparison of numerical post-punching strength based on Mirzaei (2010) with experimental results of specimen PM-12 from Mirzaei and Muttoni (2008)
0 20 40 60 80 100 1200
50
100
150
200
250
300
vertical displacement (mm)
Col
umn
forc
e (k
N)
Tensile bar (Num.)
Integiry bar (Num.)Total (Num.)
PM-11 (Exp.)
0 20 40 60 80 100 1200
50
100
150
200
250
300
350
vertical displacement (mm)
Col
umn
forc
e (k
N)
Tensile bar (Num.)
Integiry bar (Num.)
Total (Num.)
PM-12 (Exp.)
Chapter 5: Post-punching response of a flat plate 156
Figure 5-10 Comparison of numerical post-punching strength based on Mirzaei (2010) with experimental results of specimen PM-21 from Mirzaei and Muttoni (2008)
Figure 5-11 Comparison of numerical post-punching strength based on Mirzaei
(2010) with experimental results of specimen PM-22 from Mirzaei and Muttoni (2008)
0 20 40 60 80 100 1200
50
100
150
200
250
300
vertical displacement (mm)
Col
umn
forc
e (k
N)
Tensile bar (Num.)
Integiry bar (Num.)
Total (Num.)
PM-21 (Exp.)
0 20 40 60 80 100 1200
50
100
150
200
250
300
vertical displacement (mm)
Col
umn
forc
e (k
N)
Tensile bar (Num.)
Integiry bar (Num.)Total (Num.)
PM-22 (Exp.)
Chapter 5: Post-punching response of a flat plate 157
Figure 5-12 Comparison of numerical post-punching strength based on Mirzaei (2010) with experimental results of specimen S1 tested by Habibi et al. (2012)
Figure 5-13 Comparison of numerical post-punching strength based on Mirzaei (2010) with experimental results of specimen S2 tested by Habibi et al. (2012)
0 50 100 150 200 250 3000
50
100
150
200
250
300
350
Vertical displacement (mm)
Col
umn
forc
e (k
N)
Integiry bar (Num.)
S1(Exp.)
0 50 100 150 200 250 3000
50
100
150
200
250
300
350
Vertical displacement (mm)
Col
umn
forc
e (k
N)
Integiry bar (Num.)
S2(Exp.)
Slip
Slip
Chapter 5: Post-punching response of a flat plate 158
Figure 5-14 Comparison of numerical post-punching strength based on Mirzaei (2010) with experimental results of specimen SS tested by Habibi et al. (2012)
0 50 100 150 200 250 3000
100
200
300
400
500
600
Vertical displacement (mm)
Col
umn
forc
e (k
N)
Tensile bar (Num.)
Integiry bar (Num.)Total (Num.)
SS (Exp.)
Chapter 5: Post-punching response of a flat plate 159
Figure 5-15 Plan of flat plate floor studied in Chapter 4 modeled using simple
method
Figure 5-16 Estimated integrity bar shear force versus vertical deformation of slab for interior slab-column connection based on Mirzaei (2010)
0
100
200
300
400
500
600
700
800
900
0 50 100 150 200 250
Integrity bar shear force (kN)
Vertical displacement (mm)
Punching
Chapter 5: Post-punching response of a flat plate 160
Figure 5-17 Slab-column connection using connector for column B2
Figure 5-18 Force-deformation of axial component of connector (effect of tensile bars ignored)
0
100
200
300
400
500
600
700
800
900
0 50 100 150 200 250
Axial componet of connector (kN)
axial deformation of connector (mm)
Chapter 5: Post-punching response of a flat plate 161
Figure 5-19 Comparison of the punched column force after column removal for simple and explicit models
‐1,000
‐800
‐600
‐400
‐200
0
0 0.5 1 1.5 2
Column force
time
Simple
Explicit (Chapter 4)
Chapter 5: Post-punching response of a flat plate 162
Figure 5-20 Variation of vertical force provided by integrity bar on the south side of punched column for explicit and simple model versus relative displacement of slab with respect to column
Figure 5-21 Variation of vertical force provided by integrity bar on south side of punched column for explicit and simple model versus horizontal progress of damage from column face after punching
0
10
20
30
40
50
60
70
80
0 30 60 90 120 150
Vertical force of integ bar (kN
)
w (mm)
Numerical
Explicit_S2
0
10
20
30
40
50
60
70
80
0 100 200 300 400 500
Vertical force of integ bar (kN
)
L (mm)
Numerical
Explicit_S2
Chapter 5: Post-punching response of a flat plate 163
Figure 5-22 Variation of vertical force provided by the integrity bar on north side of punched column for explicit and simple model versus relative displacement of slab with respect to column
Figure 5-23 Variation of vertical force provided by integrity bar on north side of punched column for explicit and simple model versus horizontal progress of damage from column face after punching
0
10
20
30
40
50
60
70
80
0 30 60 90 120 150
Vertical force of integ bar (kN
)
w (mm)
Numerical
Explicit_N2
0
10
20
30
40
50
60
70
80
0 100 200 300 400 500
Vertical force of integ bar (kN
)
L (mm)
Numerical
Explicit_N2
Chapter 5: Post-punching response of a flat plate 164
Figure 5-24 Variation of vertical force provided by integrity bar on east and west side of the punched column for explicit and simple model versus relative displacement of slab with respect to column
Figure 5-25Variation of vertical force provided by integrity bar on east and west side of the punched column for explicit and simple model versus horizontal progress of damage from column face after punching
‐10
0
10
20
30
40
50
60
70
80
0 30 60 90 120 150
Vertical force of integ bar (kN
)
w (mm)
Numerical
Explicit_W2
Explicit_E2
‐10
0
10
20
30
40
50
60
70
80
0 100 200 300 400 500
Vertical force of integ bar (kN
)
L (mm)
Numericall
Explicit_W2
Explicit_E2
Chapter 5: Post-punching response of a flat plate 165
Figure 5-26 Profile of slab along axis 2 at location of column B2 at permanent displacement for simple and explicit models
‐250.00
‐200.00
‐150.00
‐100.00
‐50.00
0.00
Vertical displacemen
t (m
m)
Explicit model
Intebrity bar
simple model
B23 m 3 m
Chapter 5: Post-punching response of a flat plate 166
Figure 5-27 Reinforcement detailing of a quarter of 6 m span flat plate floor (only top bars are shown). Bottom bars are Φ12@300 mm in both directions
Chapter 5: Post-punching response of a flat plate 167
Figure 5-28 Estimated connector axial force-deformation relationship after punching for2Φ12 integrity bars in each direction
Figure 5-29 Estimated post-punching strength of slab-column connection for integrity bar diameters 12-22 mm for rupture strain of 0.1
0
100
200
300
400
500
0 20 40 60 80 100
Connector vertical force (kN)
Connector vertical deformation (mm)
0
100
200
300
400
500
600
0 50 100 150 200
Force (kN)
Vertical displacement (mm)
Integrity: 2 Φ 12
Integrity: 2 Φ 14
Integrity: 2 Φ 16
Integrity: 2 Φ 18
Integrity: 2 Φ 20
Integrity: 2 Φ 22
Chapter 5: Post-punching response of a flat plate 168
Figure 5-30 Effect of concrete compressive strength on estimated post-punching strength of slab-column connection of flat plate floor for integrity bar Φ12 mm
Figure 5-31 Effect of steel ultimate strength on estimated post-punching strength of slab-column connection of flat plate floor for integrity bar Φ12 mm
0
40
80
120
160
200
0 10 20 30 40 50 60 70 80 90 100
Post‐punching strength (kN
)
Vertical displacement (mm)
f'c=30
f'c=35
f'c=40
0
50
100
150
200
250
300
0 10 20 30 40 50 60 70 80 90 100
Post‐punching strength (kN
)
Vertical displacement (mm)
fy=400
fy=500
fy=600
Chapter 5: Post-punching response of a flat plate 169
Figure 5-32 Estimated post-punching strength as a function of horizontal propagation of concrete breakout
Figure 5-33 Effect of steel ultimate strain on estimated post-punching strength of slab-column connection of flat plate floor for integrity bar ∅ 12 mm
0
100
200
300
400
500
600
10 20 30 40 50 60 70 80 90 100
Horizontal propagation of concrete
breakout /Free length of integrity bar
(L) in m
m
Vertical displacement (mm)
fy=400
fy=500
fy=600
0
50
100
150
200
250
300
0 20 40 60 80 100 120 140
Post‐punching strength (kN
)
Vertical displacement (mm)
er=0.1
er=0.15
er=0.2
Chapter 5: Post-punching response of a flat plate 170
Figure 5-34 Estimated post-punching strength of slab-column connection for integrity bar diameters 12-22 mm for rupture strain of 0.15
0
100
200
300
400
500
600
0 20 40 60 80 100 120 140 160 180 200
Force (kN)
Vertical displacement (mm)
Integrity: 2 Φ 12
Integrity: 2 Φ 14
Integrity: 2 Φ 16
Integrity: 2 Φ 18
Integrity: 2 Φ 20
Integrity: 2 Φ 22
Chapter 5: Post-punching response of a flat plate 171
Figure 5-35. Estimated post-punching strength of slab-column connection for integrity bar diameters 12-22 mm for rupture strain of 0.2
0
100
200
300
400
500
600
0 50 100 150 200
Force (kN)
Vertical displacement (mm)
Integrity: 2 Φ 12
Integrity: 2 Φ 14
Integrity: 2 Φ 16
Integrity: 2 Φ 18
Integrity: 2 Φ 20
Integrity: 2 Φ 22
Chapter 6 Conclusions
6.1 Developing Wireless DAQ system
An attempt was made to develop a wireless DAQ system which combines the
sensor technology with the wireless communication technology and overcome the
constraints of the old wired DAQ system for progressive collapse field experiments. To
start, an application was developed capable of peer-to-peer communication based on IEEE
802.15.4 protocol for a short range. The hardware was CC2530, a system on-chip that is
2.4-GHz IEEE 802.15.4 compliant RF transceiver from Texas Instrument. The analog data
was sensed at specific intervals, digitalized and put together in a packet form and sent
wirelessly to a receiver. The receiver then transferred the received data to a PC through
UART links. The wireless DAQ was tested at different locations, with different obstacles.
The accuracy of the data received by wireless DAQ are then compared with that of the
wired DAQ. Followings are the concluding remarks from the peer-to-peer application:
For indoor tests, the efficient transmission range was about 7 m through walls and
doors (glass or metal).
The data was successfully transferred through staircases up to 4 floors (~ 15 m).
The maximum efficient LOS transmission range (outdoor/indoor) was about 50 m.
The accuracy of the wireless DAQ verified against the wired DAQ.
The highest sampling rate achieved considering the IEEE 802.15.4 limited data
rate and the hardware was 666 Hz/Channel.
The peer-to-peer application is possible only within a short range, the equipment
and the PC need to be located close to the sensing location (inside the building), and in
Chapter 6: Conclusions 173
order to not lose the DAQ, PC can only be used in an experiment that does not lead to
significant damage to the structure. In order to study the response to other scenarios such
as the collapse of the entire building, however the application mentioned above was
modified to develop a network of wireless DAQ cards such that the data could be
transferred to a station outside during the field test by relaying the data. ZigBee wireless
protocol was chosen for this purpose since it allows for the formation of a network of
wirelessly communicating devices.
Sensed data was successfully transferred from inside of the building to an outside
station by relaying the data over about 150 m distance. Directional antenna was
used on the received side to increase the transmission range. Only three devices
(End device, a router, and a coordinator) were involved in this experiment.
The highest data rate that was achieved for the above-mentioned communication
was 333 Hz/Channel which can be an alternative to wired DAQ system for field
studies or progressive collapse experiments such as those done by Sasani et al.
(2007), Sasani and Sagiroglu (2008), and Sasani et al. (2011).
The test was repeated for multiple channels at the hearing distance from each other
at the same time, which was not successful and led to high percentage of data loss.
6.2 Progressive collapse resistance of a PT flat plate parking garage
The progressive collapse resistance of an actual PT parking garage was
analytically evaluated to an interior column removal using SAP2000. The results are then
verified against the experimental data collected by Prof. Sasani’s research team in the
past from this structure after the column was removed by explosion and the response was
recorded using sensors. The post-tensioned slab of the parking garage had no bottom
reinforcement and around the removed column the tendons (located close to the top of
Chapter 6: Conclusions 174
the slab) were adding to the demand and pushing the floor down, yet the structural system
was able to redistribute the gravity loads with a permanent vertical displacement of about
61 mm based on the experiment.
The analyses showed that the readily available models in SAP2000 for post-
tensioning did not properly capture the nonlinear response of the structure to a
column removal.
Post-tensioning was modeled using truss elements representing tendons and
springs representing interaction the slab and tendons. The model can be used for both
unbonded and bonded slabs. Localized plasticity is used to model the material
nonlinearity.
This method was able to more closely simulate the recorded vertical displacement
of the floor.
Due to the slab tendency to grow and the constraint applied by the surrounding
slab, compressive membrane forces formed around the removed column where the
flexural demand is high.
76% of the additional compressive membrane forces developed as a result of the
slab growth tendency being constrained in the region with higher flexural demand
are in equilibrium primarily with the tensile membrane forces in the remaining
portion of the slab. A 24% increase in column shear forces also help satisfying the
slab in-plane equilibrium.
The slab successfully redistributed the gravity load to the adjacent columns
following the column removal.
Chapter 6: Conclusions 175
The increase in the gravity load carrying capacity of slab is in part attributed to an
increase in the flexural capacity of slab sections due to the formation of
compressive membrane forces in the slab.
It is demonstrated that the use of total moments developed in slab sections is
misleading in identifying the contribution of different portions of the slab in
collapse resistance following column removal.
Around the removed column, the primary moment is in the same direction as the
moment due to the gravity loads, therefore the total moment overestimates the
contribution of this region in redistributing gravity loads.
It is also concluded that compared to unbonded PT systems, bonded PT floors are
more susceptible to failure after column removal, due to the localization of tendon
strains.
6.3 Progressive collapse resistance of RC flat plate floors
The punching and post-punching failure of an isolated and simply supported slab-
column specimen is analytically evaluated. The effects of dowel action, critical shear crack
formation, critical shear crack widening during punching, and post-punching response are
accounted for in the model. The punching cone, the integrity and tensile reinforcing bars
crossing the critical shear crack were modeled explicitly to account for the actual separation
of the cone and the contribution of the reinforcing bars to pre and post-punching responses.
The post-punching damage propagation is estimated using an already verified numerical
method available in the literature.
Chapter 6: Conclusions 176
The effects of the boundary conditions on the punching strength of the isolated slab-
column specimen is then analytically accounted for and investigated. For material
nonlinearity, the Concrete Damage Plasticity Model (CDPM) available in Abaqus is used.
The punching and post-punching FE model using Abaqus reasonably simulated
the pre-punching shear transfer mechanisms, punching, and post-punching
response of the isolated slab specimen.
The lateral restraints led to the formation of compressive membrane force in the
isolated slab, which increased the punching strength through friction shear force
by 34%.
The system-level response after a sudden column loss of an RC flat plate floor
designed according to ACI 318-11 and ACI 352.1R with and without the effects of
membrane forces is presented. The following conclusions are made:
Unlike the fully restrained condition, the punching strength enhancement in the
actual flat plate floor system studied was found to be about 17%, which is less than
34% found for the isolated and laterally restrained slab.
The following finding was attributed to the fact that the slab is allowed to grow
partially in the flat plate structure, thus the compressive membrane forces which
developed in the slab and contributed to the enhancement of the punching shear
strength were less than that of the fully restrained slab.
Evaluation of the punching strength based on the fully restrained slab condition
would overestimate the contribution of the compressive membrane forces to the
punching shear strength.
Chapter 6: Conclusions 177
Compressive membrane forces improved the slab resistance against progressive
punching failures in flat plate buildings. Ignoring the formation of compressive
membrane forces underestimated the punching strength of the floor system.
97% of the compressive membrane forces developed in the slabs as a result of
growth tendency being constrained were mainly in equilibrium with the tensile
membrane forces of the middle strips of the slab and the remaining 3% by the
column shear forces.
It was also found that well-anchored integrity reinforcing bars which directly pass
over the column contributed significantly to the post-punching strength.
Discontinuous tensile reinforcement, however, did not considerably contribute to
the post-punching strength of slabs. Therefore, the use of well-anchored tensile
bars, which are often used in experiments, may in some cases overestimate the
post-punching strength of the slab.
6.4 Evaluating post-punching response of a flat plate designed based
on ACI 318-11
Previous experimental results and our analyses from Chapter 4 showed that the
continuous bottom bars play a significant role after a punching failure. However, the
integrity steel requirements of ACI 318-11 for two-way slabs only requires two bars pass
through column core and anchored at the exterior supports without specifying a minimum
bar diameter. To evaluate the post-punching response of a flat plate designed based on ACI
318-11, the modeling method mentioned earlier in Chapter 4 is replaced with a simple
model in which the post-punching response of the slab-column connection is estimated
using numerical methods used in Chapter 4 and the interaction of slab and column after
punching is replaced with a spring.
Chapter 6: Conclusions 178
The numerical method available in the literature is re-validated against
experimental data.
The results of simple model developed, was compared against response of the slab
studied in Chapter 4.
It was found that the model presented in Chapter 4 underestimates the post-
punching strength due to modeling the damage propagation along the slab at
discrete locations, while simple model provides better level of refinement for the
damage propagation and post-punching strength estimation.
The interior slab-column connection of the designed flat plate floor is modeled
using the simple method developed here. An interior column was overloaded and the post-
punching response is then evaluated. It is shown that for a flat plate floor of 6 meter long
span with 200 mm thickness 2Φ12 bottom bars in each direction will satisfy the integrity
steel requirements of ACI 318-11. If an interior column is overloaded and punched:
The system-level response showed that the above mentioned details for the integrity
bars would lead to bar fracture after punching of the overloaded column.
Increasing the bar diameter and steel rupture strain, increases the maximum post-
punching strength and deformation capacity of the connection before bar fracture.
The minimum bar diameter that did not lead to bar fracture was found to be at least
2Φ22 in each direction for 0.1, and 2 Φ 18 for larger rupture strain ( 0.2).
The minimum bar area recommended by other guidelines and researchers such as
Melo and Regan (1998), CSA A23.2 and ACI 352.1R, was found to be suitable for
bars with larger rupture strain ( 0.2).
Chapter 6: Conclusions 179
The following conclusion is made by numerical evaluation of the post-punching
response of the slab-column connection of the flat plate floor designed with FE analyses:
To achieve larger vertical displacement after punching (>300 mm) and before bar
fracture, the failure mode is better to be dominated by the concrete breakout
strength, which depends of the thickness of the slab relative to the bar diameter
(d/ and .
REFERENCES
Abaqus INC. (2010). Standard User’s Manual, 6.9 Edition.
ACI 318. (2011). Building code requirements for structural concrete (ACI 318-11) and
commentary. American Concrete Institute.
ACI Committee 349. (2001). Code Requirements for Nuclear Safety Related Concrete
Structures. American Concrete Institute.
ACI-ASCE Committee 352.1R-11. (2012). Guide for design of slab-column connections
in monolithic concrete structures. American Concrete Institute.
ACI-ASCE Committee 426. (1974). “Shear strength of reinforced concrete members-
slabs.” Proc., American Society of Civil Engineers, 100(ST8), 543-1591.
ACI-ASCE Committee 426. (1978). Suggested revisions to shear provisions for building
codes. American Concrete Institute, Detroit, 88pp.
ASCE/SEI-7, (2010). Minimum design loads for buildings and other structures. American
Society of Civil Engineers.
Bahn, B. Y., and Hsu, C. T., (1998). "Stress-strain behavior of concrete under cyclic
loading," ACI Mater. J., 95(2), 178-193.
Baronti, P., Pillai, P., Chook, V.W.C, Chessa, S., Gotta, A., and Fun Hu, Y. (2007).
“Wireless sensor networks: A survey on the state of the art and the 802.15.4 and ZigBee
ZigBee Alliance. (2005) ZigBee Specifications, version 1.0.
Appendix 1: Wireless communication codes
Peer to peer communication
Sender code:
/*********************************************************************************** Initial Code for configuring the ADC without timer, DMA, ISR,sequential conversions and for one sensor was written by: Max Wolfe 7/21/2010 The code for RF communication was written by: Jin Tao Configuration of timer, DMA, ISR and seq. conversion for ADC and remainings written By: Leila Keyvani: [email protected], Archita Shah: [email protected], Justin Murray: [email protected] 6/20/2011 /*********************************************************************************** * INCLUDING HEADER FILES ************************************************************************************/ #include <hal_mboard/hal_led.h> #include <types/hal_assert.h> #include <hal_mboard/hal_board.h> #include <hal_module/hal_rf.h> #include <hal_module/basic_rf.h> #include <hal_module/hal_mcu.h> #include <hal_module/hal_int.h> #include <dev/cc2530/hal_timer_32k.h> #include <ioCC2530.h> /*********************************************************************************** * CONSTANTS
Appendix 1 192
************************************************************************************/ // Application parameters #define RF_CHANNEL 26 // 2.4 GHz RF channel // BasicRF address definitions #define APP_PAYLOAD_LENGTH 102 #define BUFFER_LENGTH 3728 //saves 38 packets with 98 bytes of data + 4 packet header #define PAN_ID 0x2010 #define LOCAL_ADDR 0xdead #define DEST_ADDR 0xbeef #define RF_BUFFER_LENGTH 3724 /*********************************************************************************** * LOCAL VARIABLES ***********************************************************************************/ // Defined two pointers for DMA and RF respectively both of which are pointing to the start of the packet initially. // DMA pointer(DmaCursor) points to the beginning of the memory space where the packet has to be written and the // RF pointer(RFCursor) points to the beginning of the packet that is to be sent. // Once the DMA is done writing to the initially pointed memory space, the DMA pointer will be transferred // and pointed to the second block of the memory. By this time, RF pointer is still pointing to the initial memory // space because that packet is to be still sent and then both the pointers would swap. static uint8 pTxData[BUFFER_LENGTH];// buffer length for filling the data static basicRfCfg_t basicRfConfig; static uint8 dma_conf [8]; //DMA configuration data structure static uint8* DMAcursor = (pTxData + 4); // pointer used by RF static uint8 counter = 0; // counts the number of ADC sequential conversions that is done static uint16 seq_no = 0; static uint8 RFflag = 0;
Appendix 1 193
/*********************************************************************************** * GLOBAL VARIABLES ***********************************************************************************/ void dmaInitial (uint8* destAddrss); void timer1Initial(); void packetStart(uint16 ,uint8* ); /*********************************************************************************** * LOCAL FUNCTIONS ***********************************************************************************/ //@brief: Handles the channel 0 interrupt and overflow. Increases the sequence number automatically every 7 ms. #pragma vector = T1_VECTOR __interrupt void timer1_ISR(void) { //channel 0 interrupt if(T1STAT & BIT0) //Clear timer1 channel 0 interrupt flag { T1STAT = (T1STAT &(0xF0)); //Clear Timer1 CPU interrupt flag IRCON &= (~0x02); counter ++; if (counter == 8)//Automatically increments sequence number every 10.5ms { seq_no ++; RFflag = 1; counter = 1; } }
{ HAL_ASSERT(FALSE); } basicRfReceiveOn(); // set maximum TX power, 4dBm halRfSetTxPower(0xF5); dmaInitial(DMAcursor);// start with original packet // Indicate that device is ready halLedSet(1); // set pins pin 0.0, pin 0.1 , pin0.2, pin 0.3, pin 0.4, pin 0.5, pin 0.6 and P0.7 to ADC operation mode APCFG |= BIT0 | BIT1 | BIT2 | BIT3 | BIT4 | BIT5 | BIT6 |BIT7 ; ADCCON1 = 0x2F;//0x2F is selected based on Page 137 User's guide CC253x TO START USING TIMER1 CHANNEL0 ADCCON2 = 0x76;// Controls how the sequence of conversions is performed //sets ADCCON2.SCH to end at channel 6 (AIN6 single-ended input), ADCCON2.SDIV to use 12 bit resolution, and //ADCCON2.SREF to use AIN7 single-ended reference voltage timer1Initial(); // transmit frames in an infinite loop while(1) { while (RFflag != 1); if(seq_no == 0xFFFF) seq_no = 1; packetStart(seq_no,pTxData+RFindex); RFflag = 0; for (uint8 i = 1; i<3; i++) {
Appendix 1 196
if (basicRfSendPacket(0xbeef, pTxData+RFindex, APP_PAYLOAD_LENGTH) == SUCCESS) { halLedToggle(1); break; } } RFindex = (RFindex + 98) % RF_BUFFER_LENGTH; //creates a circular buffer for RFCursor } } void basicRfProcessPacket(void) {} /*********************************************************************************** @fn_name: dmaInitial() @brief: Initial configuration for DMA data structure. Calling this function configures the DMA and ARMs channel 0 We use DMA channel 0 and sends the address of data structure to the channel 0 @return: void ************************************************************************************/ void dmaInitial (uint8* destAddrss) { DMA0CFGH = (uint8)(((uint16)dma_conf & 0xFF00) >> 8); DMA0CFGL = (uint8)((uint16)dma_conf & 0xFF); //Source address is LSB of ADC result register dma_conf[0] = (uint8)((uint16)(&X_ADCL)>> 8); dma_conf[1] = (uint8)((uint16)(&X_ADCL)); //Destination Address packet index #4 dma_conf[2] = (uint8)((uint16)(destAddrss) >> 8); // Destination address high dma_conf[3] = (uint8)((uint16)(destAddrss)); // Destination Address low // VLEN disabled, LEN is set to the maximum transfer of 1862
Appendix 1 197
dma_conf[4] = 0x07; // LEN is set to the maximum transfer of 1862 dma_conf[5] = 0x46; //16-bit word size - TMODE: Single - trigger source # 20 dma_conf[6] = 0; dma_conf[6] |= BIT7 |0x14; // SRC address No increment - DST Address +1 word increment - DMA channel interupt enabled - High priority dma_conf[7] = 0x1A; //Clear DMA CPU interrupt flag IRCON &= (~0x01); //clear interrupt flag if any DMAIRQ = 0; //Enable DMA interrupt DMAIE = 1; //Clear general DMA interrupt flag- ARM DMA DMAARM = 1; } /*********************************************************************************** @fn_name: timer1Initial() @brief: Clock Source is 32MHz XOSC - we use Timer tick speed of 1MHz in order to get 0.001ms Timer Speed. Timer1 Channel 0 is used in compare and modulo mode with counter which counts from 0 to 999 inclusive to get 1ms ADC Sensing Time (1000*0.001) @return: void ************************************************************************************/ void timer1Initial() { CLKCONCMD = 0; // changes the clock source from 16MHz to 32MHz while(CLKCONSTA != 0);// waits for 32MHz XOSC to be stable CLKCONCMD |= BIT5 | BIT3; // changes the timer tick speed to 1MHz
Appendix 1 198
while(CLKCONSTA != 0x28);// wait to be stable // clear interrupts T1STAT = (T1STAT &(0xF0)); T1STAT = (T1STAT &(0x0F)); //set up interrupts T1CCTL0 |= BIT6; //Enable interrupt on channel 0 TIMIF |= BIT6; // Enable overflow interrup T1CCTL1 &= (~BIT6); //Disable interrupt for channel 1 T1CCTL2 &= (~BIT6); //Disable interrupt for channel 2 //Enable timer 1 interrupts by setting (IEN1.T1IE = 1) T1IE = 1; // Enable global interrupt by setting (IEN0.EA =1) EA = 1; //set up timer setting T1CCTL0 |= BIT2 | BIT4; //Toggle on output, compare mode T1CC0H =0x05;//compare value timer 1.5 ms (counts from 0 to 1499 inclusively) T1CC0L =0xDB;//compare value T1CTL |= BIT1; // modulo mode No prescaler } /*********************************************************************************** @fn_name: packetStart() @brief: Writes the header (0xFF) and sequence number at the beginning of each packet that is to be transmitted. @return: void ************************************************************************************/ void packetStart(uint16 seq,uint8* packet) { packet[0] = 0xFF; packet[1] = 0xFF; packet[2] = (seq & 0xFF00) >> 8; packet[3] = (seq & 0x00FF); }
frame[FRAME_SIZE-3] = 0x00; //Adding DLE,ETX to the end frame[FRAME_SIZE-2] = 0x00; CS = CS ^ frame[FRAME_SIZE-3]; CS = CS ^ frame[FRAME_SIZE-2]; frame[FRAME_SIZE-1] = CS; //Adding the checksum }
Appendix 1 205
Serial reader
/* * serial_reader.c * * Created on: Nov 17, 2009 * Author: taojin <[email protected]> * Modified by Leila Keyvani <[email protected]>, Archita Shah <[email protected]>, Justin Murray <[email protected]> * logs results are received from 7 potentiometers */ /************************************************************************************** INCLUDING HEADER FILES **************************************************************************************/ #include <stdio.h> #include <stdlib.h> #include <termios.h> #include <fcntl.h> #include <unistd.h> #include <string.h> #include <stdint.h> #include <time.h> #include <sys/time.h> #include <sys/ioctl.h> /*********************************************************************************** CONSTANTS ***********************************************************************************/ // Application parameters #define FRAME_SIZE 105 /************************************************************************************** GLOBAL VARIABLES **************************************************************************************/ static uint8_t buffer[FRAME_SIZE];
Appendix 1 206
int fd; static uint8_t CS; /************************************************************************************* LOCAL FUNCTIONS *************************************************************************************/ /************************************************************************************* @fn_name: usage() @brief: Prints an error message if the device name and the file name are not mentioned @return: void *************************************************************************************/ void usage() { printf("usage: serial_io [devicename] [log file name]\n"); } int check_header(void); int buffer_ready(); float result(int i); int valid_Packet(void); int check_End(void); int check_Sum(void); /************************************************************************************* @fn_name: main() @brief: Reads data from serial port and saves that data in a log file @return: integer *************************************************************************************/ int main(int argc, char *argv[])
Appendix 1 207
{ struct termios cfg; FILE *log; uint8_t timestamp = 1; uint16_t prevSeq = 0; uint16_t s_seq; struct timeval start, end; struct tm *tmtime; int rcvd = 0; int rcvdSens = 0; int tmp = 0; int i = 0; //long difftime; char *devname; char *logname; char loctime[30]; float Data [7]; int ActualL; uint32_t NewSeq = 0; uint32_t count = 0; if(argc != 3) { usage(); exit(1); } devname = argv[1]; logname = argv[2]; printf("opening device %s\n", devname); // open serial device fd = open(devname, O_RDWR | O_NOCTTY); if(fd == -1) { printf("failed to open devices %s\n", devname); exit(1); } if(!isatty(fd)) {
Appendix 1 208
printf("%s is NOT a serial device\n", devname); exit(1); } // open log file log = fopen(logname, "a"); if(log == NULL) { printf("error opening logfile\n"); exit(1); } // configure serial interface memset((void*)&cfg, 0, sizeof(struct termios)); cfg.c_cflag = B230400 | CS8 | CLOCAL | CREAD; // baud rate 230400bps, 8bit character size, cfg.c_iflag = IGNBRK; // ignore break condition cfg.c_oflag = 0; cfg.c_lflag = 0; // set non-canonical mode cfg.c_iflag &= ~(IXON|IXOFF|IXANY); // disable software flow control cfg.c_cflag &= ~CSTOPB; // set 1 stop bit if(tcsetattr(fd, TCSANOW, &cfg) == -1) { printf("error configuring %s\n", devname); close(fd); exit(1); } fprintf(log, "No.Sent\tNo.Received\tP0.0\tP0.1\tP0.2\tP0.3\tP0.4\tP0.5\tP0.6\n"); printf("No.Sent\tNo.Received\tP0.0\tP0.1\tP0.2\tP0.3\tP0.4\tP0.5\tP0.6\n"); fflush(stdout); // tcflush cannot properly flush the serial buffer. // have to wait for a while usleep(400000); // clear everything in INPUT buffer.
Appendix 1 209
tcflush(fd, TCIFLUSH); //time stamp received packet gettimeofday(&end, NULL); tmtime = localtime(&end.tv_sec); strftime(loctime,30,"%a %x %X",tmtime); printf("Program started at: %s:%.1f\n",loctime,end.tv_usec/(float)1000); fprintf(log, "Program started at: %s:%.1f\n",loctime,end.tv_usec/(float)1000); // keep reading byte stream from serial interface while(1) { while(valid_Packet()!= 1); if (timestamp == 1) { //time stamp received packet gettimeofday(&end, NULL); tmtime = localtime(&end.tv_sec); strftime(loctime,30,"%a %x %X",tmtime); printf("Data received at: %s:%.1f\n",loctime,end.tv_usec/(float)1000); fprintf(log, "Data received at: %s:%.1f\n",loctime,end.tv_usec/(float)1000); timestamp = 0; } s_seq = ((uint16_t)buffer[2] << 8) + buffer[3];// call the sequence number of the new pkt if (s_seq == prevSeq) { continue; }
Appendix 1 210
//converts input 16 bit sequence number to 32 bit if (prevSeq > s_seq ) { count++;} prevSeq = s_seq; NewSeq = count * 0xFFFE + s_seq ; // seq_no does not have 0xFFFF and 0x0000 // infer how many pkts sender has sent so far rcvd++; for (i=4; i<89; i+=14) { Data[0] = result(i); Data[1] = result(i+2); Data[2] = result(i+4); Data[3] = result(i+6); Data[4] = result(i+8); Data[5] = result(i+10); Data[6] = result(i+12); printf("%-8d\t%-5d\t%-6.3f\t%-6.3f\t%-6.3f\t%-6.3f\t%-6.3f\t%-6.3f\t%-6.3f\n", NewSeq, rcvd, Data[0], Data[1],Data[2],Data[3],Data[4],Data[5],Data[6]); fprintf(log,"%-8d\t%-5d\t%-6.3f\t%-6.3f\t%-6.3f\t%-6.3f\t%-6.3f\t%-6.3f\t%-6.3f\n", NewSeq, rcvd, Data[0],Data[1],Data[2],Data[3],Data[4],Data[5],Data[6]); // avoid expensive I/O operation if(tmp == 10) { fflush(log); tmp = 0; } } } close(fd); exit(0); }
Appendix 1 211
/************************************************************************************* @fn_name: check_header() @return: integer *************************************************************************************/ int check_header(void) { int j=0; for(j=0;j<=1;j++) { while(read(fd,buffer+j,1) != 1); if (buffer[j] != 0xFF) {printf("\nincorrect header: [0] = %X, [1] = %X\n", buffer[0], buffer[1]); return 0; } else continue; } return 1; } /************************************************************************************* @fn_name: buffer_ready() @brief: Expecting to read remaining (FRAME_SIZE-2) bytes. However, not all the (FRAME_SIZE-2) bytes might be ready It reads as many bytes as available return the number of bytes read. @return: integer *************************************************************************************/ int buffer_ready(void) { int i; int ActualL; int ExpL = FRAME_SIZE-2; ActualL = read(fd, buffer+FRAME_SIZE-ExpL, ExpL); //Read the buffer while((ExpL -= ActualL)!= 0)
Appendix 1 212
{ ActualL = read(fd, buffer+FRAME_SIZE-ExpL, ExpL); //Read the buffer } return 1; //indicates that the buffer is ready } /************************************************************************************* @fn_name: check_End() @return: integer *************************************************************************************/ int check_End(void) { if ((buffer[FRAME_SIZE-3]== 0x00)&& (buffer[FRAME_SIZE-2] == 0x00)) { return 1; } else return 0; } /************************************************************************************* @fn_name: check_Sum() @return: integer *************************************************************************************/ int check_Sum(void) { int i; CS = 0; for(i = 2; i <FRAME_SIZE-1; i++){ //add up data byte-by-byte CS = CS ^ buffer[i]; } if ( CS == buffer[FRAME_SIZE-1]) return 1;
* Modified by Leila Keyvani ([email protected]) * Compiler command-line options used to define a TI Z-Stack ZigBee device. * To move an option from here to the project file, comment out or delete the * option from this file and enter it into the "Define Symbols" box under the * Preprocessor tab of the C/C++ Compiler Project Options. New user defined * options may be added to this file, as necessary. * * Each macro is prefixed with '-D'. The entries are to be constructed as if * they are to be on the compiler command line invocation (which they are). * * NOTE: The RHS (Right-Hand-Side) must be quoted if there are embedded blanks. * See the DEFAULT_KEY definition for an example. */ /* Enable ZigBee-Pro */ -DZIGBEEPRO /* Set to 0 for no security, otherwise non-0 */ -DSECURE=0 -DZG_SECURE_DYNAMIC=0 /* Enable the Reflector */ -DREFLECTOR /* Default channel is Channel 26 - 0x1A */ // Channels are defined in the following: // 0 : 868 MHz 0x00000001 // 1 - 10 : 915 MHz 0x000007FE // 11 - 26 : 2.4 GHz 0x07FFF800 // //-DMAX_CHANNELS_868MHZ 0x00000001 //-DMAX_CHANNELS_915MHZ 0x000007FE //-DMAX_CHANNELS_24GHZ 0x07FFF800 -DDEFAULT_CHANLIST=0x04000000 // 26 - 0x1A //-DDEFAULT_CHANLIST=0x02000000 // 25 - 0x19 //-DDEFAULT_CHANLIST=0x01000000 // 24 - 0x18 //-DDEFAULT_CHANLIST=0x00800000 // 23 - 0x17 //-DDEFAULT_CHANLIST=0x00400000 // 22 - 0x16
Appendix 1 216
//-DDEFAULT_CHANLIST=0x00200000 // 21 - 0x15 //-DDEFAULT_CHANLIST=0x00100000 // 20 - 0x14 //-DDEFAULT_CHANLIST=0x00080000 // 19 - 0x13 //-DDEFAULT_CHANLIST=0x00040000 // 18 - 0x12 //-DDEFAULT_CHANLIST=0x00020000 // 17 - 0x11 //-DDEFAULT_CHANLIST=0x00010000 // 16 - 0x10 //-DDEFAULT_CHANLIST=0x00008000 // 15 - 0x0F //-DDEFAULT_CHANLIST=0x00004000 // 14 - 0x0E //-DDEFAULT_CHANLIST=0x00002000 // 13 - 0x0D //-DDEFAULT_CHANLIST=0x00001000 // 12 - 0x0C //-DDEFAULT_CHANLIST=0x00000800 // 11 - 0x0B /* Define the default PAN ID. * * Setting this to a value other than 0xFFFF causes * ZDO_COORD to use this value as its PAN ID and * Routers and end devices to join PAN with this ID */ -DZDAPP_CONFIG_PAN_ID=0x0001 /* Minimum number of milliseconds to hold off the start of the device * in the network and the minimum delay between joining cycles. */ -DNWK_START_DELAY=100 /* Mask for the random joining delay. This value is masked with * the return from osal_rand() to get a random delay time for * each joining cycle. This random value is added to NWK_START_DELAY. * For example, a value of 0x007F will be a joining delay of 0 to 127 * milliseconds. */ -DEXTENDED_JOINING_RANDOM_MASK=0x007F /* Minimum number of milliseconds to delay between each beacon request * in a joining cycle. */ -DBEACON_REQUEST_DELAY=100 /* Mask for the random beacon request delay. This value is masked with the * return from osal_rand() to get a random delay time for each joining cycle. * This random value is added to DBEACON_REQUEST_DELAY. For example, a value * of 0x00FF will be a beacon request delay of 0 to 255 milliseconds. */ -DBEACON_REQ_DELAY_MASK=0x00FF /* Jitter mask for the link status report timer. This value is masked with the * return from osal_rand() to add a random delay to _NIB.nwkLinkStatusPeriod. * For example, a value of 0x007F allows a jitter between 0-127 milliseconds. */
Appendix 1 217
-DLINK_STATUS_JITTER_MASK=0x007F /* in seconds; set to 0 to turn off route expiry */ -DROUTE_EXPIRY_TIME=30 /* This number is used by polled devices, since the spec'd formula * doesn't work for sleeping end devices. For non-polled devices, * a formula is used. Value is in 2 milliseconds periods */ -DAPSC_ACK_WAIT_DURATION_POLLED=3000 /* Default indirect message holding timeout value: * 1-65535 (0 -> 65536) X CNT_RTG_TIMER X RTG_TIMER_INTERVAL */ -DNWK_INDIRECT_MSG_TIMEOUT=7 /* The number of simultaneous route discoveries in network */ -DMAX_RREQ_ENTRIES=8 /* The maximum number of retries allowed after a transmission failure */ -DAPSC_MAX_FRAME_RETRIES=3 /* Max number of times retry looking for the next hop address of a message */ -DNWK_MAX_DATA_RETRIES=2 /* Number of times retry to poll parent before indicating loss of synchronization * with parent. Note that larger value will cause longer delay for the child to * rejoin the network. */ -DMAX_POLL_FAILURE_RETRIES=2 /* The number of items in the broadcast table */ -DMAX_BCAST=9 /* The maximum number of groups in the groups table */ -DAPS_MAX_GROUPS=16 /* Number of entries in the regular routing table plus additional * entries for route repair */ -DMAX_RTG_ENTRIES=40 /* Maximum number of entries in the Binding table. */ -DNWK_MAX_BINDING_ENTRIES=4 /* Maximum number of cluster IDs for each binding table entry. * Note that any value other than the default value may cause a * compilation warning but Device Binding will function correctly. */ -DMAX_BINDING_CLUSTER_IDS=4 /* Default security key. */ -DDEFAULT_KEY="{0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0D}" /* Reset when ASSERT occurs, otherwise flash LEDs */ //-DASSERT_RESET /* Set the MAC MAX Frame Size (802.15.4 default is 102) */
Appendix 1 218
-DMAC_MAX_FRAME_SIZE=130 /* Minimum transmissions attempted for Channel Interference detection, * Frequency Agility can be disabled by setting this parameter to zero. */ -DZDNWKMGR_MIN_TRANSMISSIONS=20 /* Compiler keywords */ -DCONST="const __code" -DGENERIC=__generic /**************************************** * The following are for End Devices only ***************************************/ -DRFD_RCVC_ALWAYS_ON=FALSE /* The number of milliseconds to wait between data request polls to the coordinator. */ -DPOLL_RATE=1000 /* This is used after receiving a data indication to poll immediately * for queued messages...in milliseconds. */ -DQUEUED_POLL_RATE=100 /* This is used after receiving a data confirmation to poll immediately * for response messages...in milliseconds */ -DRESPONSE_POLL_RATE=100 /* This is used as an alternate response poll rate only for rejoin request. * This rate is determined by the response time of the parent that the device * is trying to join. */
-DREJOIN_POLL_RATE=440
Appendix 1 219
Sensor code
/************************************************************************************************** Filename: DemoSensor.c Description: Sensor application for the Mysensor network utilizing the Simple API. The sensor application binds to a gateway and will periodically read temperature and supply voltage from the ADC and send report towards the gateway node. Modified by Leila Keyvani ([email protected]) Copyright 2009 Texas Instruments Incorporated. All rights reserved. IMPORTANT: Your use of this Software is limited to those specific rights granted under the terms of a software license agreement between the user who downloaded the software, his/her employer (which must be your employer) and Texas Instruments Incorporated (the "License"). You may not use this Software unless you agree to abide by the terms of the License. The icense limits your use, and you acknowledge, that the Software may not be modified, copied or distributed unless embedded on a Texas Instruments microcontroller or used solely and exclusively in conjunction with a Texas Instruments radio frequency transceiver, which is integrated into your product. Other than for the foregoing purpose, you may not use, reproduce, copy, prepare derivative works of, modify, distribute, perform, display or sell this Software and/or its documentation for any purpose. YOU FURTHER ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION ARE PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL TEXAS INSTRUMENTS OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER
Appendix 1 220
LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES (INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS. Should you have any questions regarding your right to use this Software, contact Texas Instruments Incorporated at www.TI.com. **************************************************************************************************/ /****************************************************************************** * INCLUDES */ #include "ZComDef.h" #include "OSAL.h" #include "sapi.h" #include "hal_key.h" #include "hal_lcd.h" #include "hal_led.h" #include "hal_adc.h" #include "hal_mcu.h" #include "hal_uart.h" #include "DemoApp.h" /****************************************************************************** * CONSTANTS */ #define REPORT_FAILURE_LIMIT 4 #define ACK_REQ_INTERVAL 5 // each 5th packet is sent with ACK request // Application States #define APP_INIT 0 // Initial state
Appendix 1 221
#define APP_START 1 // Sensor has joined network #define APP_BIND 2 // Sensor is in process of binding #define APP_REPORT 4 // Sensor is in reporting state // Application osal event identifiers // Bit mask of events ( from 0x0000 to 0x00FF ) #define MY_START_EVT 0x0001 #define MY_REPORT_EVT 0x0002 #define MY_FIND_COLLECTOR_EVT 0x0004 // ADC definitions for CC2430/CC2530 from the hal_adc.c file #if defined (HAL_MCU_CC2530) #define HAL_ADC_REF_125V 0x00 /* Internal 1.25V Reference */ #define HAL_ADC_DEC_064 0x00 /* Decimate by 64 : 8-bit resolution */ #define HAL_ADC_DEC_128 0x10 /* Decimate by 128 : 10-bit resolution */ #define HAL_ADC_DEC_512 0x30 /* Decimate by 512 : 14-bit resolution */ #define HAL_ADC_CHN_VDD3 0x0f /* Input channel: VDD/3 */ #define HAL_ADC_CHN_TEMP 0x0e /* Temperature sensor */ #endif // HAL_MCU_CC2530 /****************************************************************************** * TYPEDEFS */ /****************************************************************************** * LOCAL VARIABLES */ static uint8 appState = APP_INIT; static uint8 reportState = FALSE; static uint8 reportFailureNr = 0; static uint16 myReportPeriod = 200; // milliseconds static uint16 myBindRetryDelay = 2000; // milliseconds
Appendix 1 222
static uint16 parentShortAddr; /****************************************************************************** * GLOBAL VARIABLES */ // Inputs and Outputs for Sensor device #define NUM_OUT_CMD_SENSOR 1 #define NUM_IN_CMD_SENSOR 0 // List of output and input commands for Sensor device const cId_t zb_OutCmdList[NUM_OUT_CMD_SENSOR] = { SENSOR_REPORT_CMD_ID }; // Define SimpleDescriptor for Sensor device const SimpleDescriptionFormat_t zb_SimpleDesc = { MY_ENDPOINT_ID, // Endpoint MY_PROFILE_ID, // Profile ID DEV_ID_SENSOR, // Device ID DEVICE_VERSION_SENSOR, // Device Version 0, // Reserved NUM_IN_CMD_SENSOR, // Number of Input Commands (cId_t *) NULL, // Input Command List NUM_OUT_CMD_SENSOR, // Number of Output Commands (cId_t *) zb_OutCmdList // Output Command List }; /****************************************************************************** * LOCAL FUNCTIONS */ void uartRxCB( uint8 port, uint8 event ); static void sendReport(void); static int8 readTemp(void); static uint8 readVoltage(void);
Appendix 1 223
/***************************************************************************** * @fn zb_HandleOsalEvent * * @brief The zb_HandleOsalEvent function is called by the operating * system when a task event is set * * @param event - Bitmask containing the events that have been set * * @return none */ void zb_HandleOsalEvent( uint16 event ) { if(event & SYS_EVENT_MSG) { } if( event & ZB_ENTRY_EVENT ) { // blind LED 1 to indicate joining a network HalLedBlink ( HAL_LED_1, 0, 50, 500 ); // Start the device zb_StartRequest(); } if ( event & MY_REPORT_EVT ) { if ( appState == APP_REPORT ) { sendReport(); osal_start_timerEx( sapi_TaskID, MY_REPORT_EVT, myReportPeriod ); } } if ( event & MY_FIND_COLLECTOR_EVT ) { // Delete previous binding if ( appState==APP_REPORT ) {
Appendix 1 224
zb_BindDevice( FALSE, SENSOR_REPORT_CMD_ID, (uint8 *)NULL ); } appState = APP_BIND; // blind LED 2 to indicate discovery and binding HalLedBlink ( HAL_LED_2, 0, 50, 500 ); // Find and bind to a collector device zb_BindDevice( TRUE, SENSOR_REPORT_CMD_ID, (uint8 *)NULL ); } } /****************************************************************************** * @fn zb_HandleKeys * * @brief Handles all key events for this device. * * @param shift - true if in shift/alt. * @param keys - bit field for key events. Valid entries: * EVAL_SW4 * EVAL_SW3 * EVAL_SW2 * EVAL_SW1 * * @return none */ void zb_HandleKeys( uint8 shift, uint8 keys ) { // Shift is used to make each button/switch dual purpose. if ( shift ) { if ( keys & HAL_KEY_SW_1 ) { } if ( keys & HAL_KEY_SW_2 ) { } if ( keys & HAL_KEY_SW_3 ) { } if ( keys & HAL_KEY_SW_4 ) {
Appendix 1 225
} } else { if ( keys & HAL_KEY_SW_1 ) { } if ( keys & HAL_KEY_SW_2 ) { } if ( keys & HAL_KEY_SW_3 ) { // Start reporting osal_set_event( sapi_TaskID, MY_REPORT_EVT ); reportState = TRUE; } if ( keys & HAL_KEY_SW_4 ) { } } } /****************************************************************************** * @fn zb_StartConfirm * * @brief The zb_StartConfirm callback is called by the ZigBee stack * after a start request operation completes * * @param status - The status of the start operation. Status of * ZB_SUCCESS indicates the start operation completed * successfully. Else the status is an error code. * * @return none */ void zb_StartConfirm( uint8 status ) { // If the device sucessfully started, change state to running if ( status == ZB_SUCCESS ) {
Appendix 1 226
// Change application state appState = APP_START; // Set LED 1 to indicate that node is operational on the network HalLedSet( HAL_LED_1, HAL_LED_MODE_ON ); // Update the display #if defined ( LCD_SUPPORTED ) HalLcdWriteString( "Mysensor Network", HAL_LCD_LINE_1 ); HalLcdWriteString( "Sensor", HAL_LCD_LINE_2 ); #endif // Store parent short address zb_GetDeviceInfo(ZB_INFO_PARENT_SHORT_ADDR, &parentShortAddr); // Set event to bind to a collector osal_set_event( sapi_TaskID, MY_FIND_COLLECTOR_EVT ); } } /****************************************************************************** * @fn zb_SendDataConfirm * * @brief The zb_SendDataConfirm callback function is called by the * ZigBee after a send data operation completes * * @param handle - The handle identifying the data transmission. * status - The status of the operation. * * @return none */ void zb_SendDataConfirm( uint8 handle, uint8 status ) { if(status != ZB_SUCCESS) { if ( ++reportFailureNr >= REPORT_FAILURE_LIMIT ) { // Stop reporting osal_stop_timerEx( sapi_TaskID, MY_REPORT_EVT );
Appendix 1 227
// After failure reporting start automatically when the device // is binded to a new gateway reportState=TRUE; // Try binding to a new gateway osal_set_event( sapi_TaskID, MY_FIND_COLLECTOR_EVT ); reportFailureNr=0; } } // status == SUCCESS else { // Reset failure counter reportFailureNr=0; } } /****************************************************************************** * @fn zb_BindConfirm * * @brief The zb_BindConfirm callback is called by the ZigBee stack * after a bind operation completes. * * @param commandId - The command ID of the binding being confirmed. * status - The status of the bind operation. * * @return none */ void zb_BindConfirm( uint16 commandId, uint8 status ) { if( status == ZB_SUCCESS ) { appState = APP_REPORT; HalLedSet( HAL_LED_2, HAL_LED_MODE_ON ); // After failure reporting start automatically when the device // is binded to a new gateway if ( reportState )
Appendix 1 228
{ // Start reporting osal_set_event( sapi_TaskID, MY_REPORT_EVT ); } } else { osal_start_timerEx( sapi_TaskID, MY_FIND_COLLECTOR_EVT, myBindRetryDelay ); } } /****************************************************************************** * @fn zb_AllowBindConfirm * * @brief Indicates when another device attempted to bind to this device * * @param * * @return none */ void zb_AllowBindConfirm( uint16 source ) { } /****************************************************************************** * @fn zb_FindDeviceConfirm * * @brief The zb_FindDeviceConfirm callback function is called by the * ZigBee stack when a find device operation completes. * * @param searchType - The type of search that was performed. * searchKey - Value that the search was executed on. * result - The result of the search. * * @return none */
Appendix 1 229
void zb_FindDeviceConfirm( uint8 searchType, uint8 *searchKey, uint8 *result ) { } /****************************************************************************** * @fn zb_ReceiveDataIndication * * @brief The zb_ReceiveDataIndication callback function is called * asynchronously by the ZigBee stack to notify the application * when data is received from a peer device. * * @param source - The short address of the peer device that sent the data * command - The commandId associated with the data * len - The number of bytes in the pData parameter * pData - The data sent by the peer device * * @return none */ void zb_ReceiveDataIndication( uint16 source, uint16 command, uint16 len, uint8 *pData ) { } /****************************************************************************** * @fn uartRxCB * * @brief Callback function for UART * * @param port - UART port * event - UART event that caused callback * * @return none */ void uartRxCB( uint8 port, uint8 event ) { }
Appendix 1 230
/****************************************************************************** * @fn sendReport * * @brief Send sensor report * * @param none * * @return none */ static void sendReport(void) { uint8 pData[SENSOR_REPORT_LENGTH]; static uint8 reportNr=0; uint8 txOptions; // Read and report temperature value pData[SENSOR_TEMP_OFFSET] = readTemp(); // Read and report voltage value pData[SENSOR_VOLTAGE_OFFSET] = readVoltage(); pData[SENSOR_PARENT_OFFSET] = HI_UINT16(parentShortAddr); pData[SENSOR_PARENT_OFFSET + 1] = LO_UINT16(parentShortAddr); // Set ACK request on each ACK_INTERVAL report // If a report failed, set ACK request on next report if ( ++reportNr<ACK_REQ_INTERVAL && reportFailureNr==0 ) { txOptions = AF_TX_OPTIONS_NONE; } else { txOptions = AF_MSG_ACK_REQUEST; reportNr = 0; } // Destination address 0xFFFE: Destination address is sent to previously // established binding for the commandId. zb_SendDataRequest( 0xFFFE, SENSOR_REPORT_CMD_ID, SENSOR_REPORT_LENGTH, pData, 0, txOptions, 0 ); }
Appendix 1 231
/****************************************************************************** * @fn readTemp * * @brief read temperature from ADC * * @param none * * @return temperature */ static int8 readTemp(void) { static uint16 voltageAtTemp22; static uint8 bCalibrate=TRUE; // Calibrate the first time the temp sensor is read uint16 value; int8 temp; #if defined (HAL_MCU_CC2530) ATEST = 0x01; TR0 |= 0x01; /* Clear ADC interrupt flag */ ADCIF = 0; ADCCON3 = (HAL_ADC_REF_125V | HAL_ADC_DEC_512 | HAL_ADC_CHN_TEMP); /* Wait for the conversion to finish */ while ( !ADCIF ); /* Get the result */ value = ADCL; value |= ((uint16) ADCH) << 8; // Use the 12 MSB of adcValue value >>= 4; /* * These parameters are typical values and need to be calibrated * See the datasheet for the appropriate chip for more details * also, the math below may not be very accurate */
Appendix 1 232
/* Assume ADC = 1480 at 25C and ADC = 4/C */ #define VOLTAGE_AT_TEMP_25 1480 #define TEMP_COEFFICIENT 4 // Calibrate for 22C the first time the temp sensor is read. // This will assume that the demo is started up in temperature of 22C if(bCalibrate) { voltageAtTemp22=value; bCalibrate=FALSE; } temp = 22 + ( (value - voltageAtTemp22) / TEMP_COEFFICIENT ); // Set 0C as minimum temperature, and 100C as max if( temp >= 100) { return 100; } else if (temp <= 0) { return 0; } else { return temp; } // Only CC2530 is supported #else return 0; #endif } /****************************************************************************** * @fn readVoltage * * @brief read voltage from ADC * * @param none * * @return voltage */ static uint8 readVoltage(void) { #if defined (HAL_MCU_CC2530)
Appendix 1 233
uint16 value; // Clear ADC interrupt flag ADCIF = 0; ADCCON3 = (HAL_ADC_REF_125V | HAL_ADC_DEC_128 | HAL_ADC_CHN_VDD3); // Wait for the conversion to finish while ( !ADCIF ); // Get the result value = ADCL; value |= ((uint16) ADCH) << 8; // value now contains measurement of Vdd/3 // 0 indicates 0V and 32767 indicates 1.25V // voltage = (value*3*1.25)/32767 volts // we will multiply by this by 10 to allow units of 0.1 volts value = value >> 6; // divide first by 2^6 value = (uint16)(value * 37.5); value = value >> 9; // ...and later by 2^9...to prevent overflow during multiplication return value; #else return 0; #endif // CC2530 }
Appendix 1 234
Collector code
/************************************************************************************************** Filename: DemoCollector.c Description: Collector application for the MySensor network utilizing Simple API. Modified by Leila Keyvani([email protected]) The collector node can be set in a state where it accepts incoming reports from the sensor nodes, and can send the reports via the UART to a PC tool. The collector node in this state functions as a gateway. The collector nodes that are not in the gateway node function as routers in the network. Copyright 2009 Texas Instruments Incorporated. All rights reserved. IMPORTANT: Your use of this Software is limited to those specific rights granted under the terms of a software license agreement between the user who downloaded the software, his/her employer (which must be your employer) and Texas Instruments Incorporated (the "License"). You may not use this Software unless you agree to abide by the terms of the License. The License limits your use, and you acknowledge, that the Software may not be modified, copied or distributed unless embedded on a Texas Instruments microcontroller or used solely and exclusively in conjunction with a Texas Instruments radio frequency transceiver, which is integrated into your product. Other than for the foregoing purpose, you may not use, reproduce, copy, prepare derivative works of, modify, distribute, perform, display or sell this Software and/or its documentation for any purpose. YOU FURTHER ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION ARE PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL
Appendix 1 235
TEXAS INSTRUMENTS OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES (INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS. Should you have any questions regarding your right to use this Software, contact Texas Instruments Incorporated at www.TI.com. **************************************************************************************************/ /****************************************************************************** * INCLUDES */ #include "ZComDef.h" #include "OSAL.h" #include "OSAL_Nv.h" #include "sapi.h" #include "hal_key.h" #include "hal_led.h" #include "hal_lcd.h" #include "hal_uart.h" #include "DemoApp.h" /****************************************************************************** * CONSTANTS */ #define REPORT_FAILURE_LIMIT 4 #define ACK_REQ_INTERVAL 5 // each 5th packet is sent with ACK request
static void sendDummyReport(void); /****************************************************************************** * GLOBAL VARIABLES */ // Inputs and Outputs for Collector device #define NUM_OUT_CMD_COLLECTOR 2 #define NUM_IN_CMD_COLLECTOR 2 // List of output and input commands for Collector device const cId_t zb_InCmdList[NUM_IN_CMD_COLLECTOR] = { SENSOR_REPORT_CMD_ID, DUMMY_REPORT_CMD_ID }; const cId_t zb_OutCmdList[NUM_IN_CMD_COLLECTOR] = { SENSOR_REPORT_CMD_ID, DUMMY_REPORT_CMD_ID }; // Define SimpleDescriptor for Collector device const SimpleDescriptionFormat_t zb_SimpleDesc = { MY_ENDPOINT_ID, // Endpoint MY_PROFILE_ID, // Profile ID DEV_ID_COLLECTOR, // Device ID DEVICE_VERSION_COLLECTOR, // Device Version 0, // Reserved NUM_IN_CMD_COLLECTOR, // Number of Input Commands (cId_t *) zb_InCmdList, // Input Command List NUM_OUT_CMD_COLLECTOR, // Number of Output Commands (cId_t *) zb_OutCmdList // Output Command List }; /****************************************************************************** * FUNCTIONS */
Appendix 1 239
/****************************************************************************** * @fn zb_HandleOsalEvent * * @brief The zb_HandleOsalEvent function is called by the operating * system when a task event is set * * @param event - Bitmask containing the events that have been set * * @return none */ void zb_HandleOsalEvent( uint16 event ) { uint8 logicalType; if(event & SYS_EVENT_MSG) { } if( event & ZB_ENTRY_EVENT ) { // Initialise UART initUart(uartRxCB); // blind LED 1 to indicate starting/joining a network HalLedBlink ( HAL_LED_1, 0, 50, 500 ); HalLedSet( HAL_LED_2, HAL_LED_MODE_OFF ); // Read logical device type from NV zb_ReadConfiguration(ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType); // Start the device zb_StartRequest(); } if ( event & MY_START_EVT ) { zb_StartRequest(); }
Appendix 1 240
if ( event & MY_REPORT_EVT ) { if (isGateWay) { osal_start_timerEx( sapi_TaskID, MY_REPORT_EVT, myReportPeriod ); } else if (appState == APP_BINDED) { // sendDummyReport(); //osal_start_timerEx( sapi_TaskID, MY_REPORT_EVT, myReportPeriod ); } } if ( event & MY_FIND_COLLECTOR_EVT ) { // Find and bind to a gateway device (if this node is not gateway) if (!isGateWay) { zb_BindDevice( TRUE, DUMMY_REPORT_CMD_ID, (uint8 *)NULL ); } } } /****************************************************************************** * @fn zb_HandleKeys * * @brief Handles all key events for this device. * * @param shift - true if in shift/alt. * @param keys - bit field for key events. Valid entries: * EVAL_SW4 * EVAL_SW3 * EVAL_SW2 * EVAL_SW1 * * @return none */ void zb_HandleKeys( uint8 shift, uint8 keys ) { static uint8 allowBind=FALSE;
Appendix 1 241
static uint8 allowJoin=TRUE; uint8 logicalType; // Shift is used to make each button/switch dual purpose. if ( shift ) { if ( keys & HAL_KEY_SW_1 ) { } if ( keys & HAL_KEY_SW_2 ) { } if ( keys & HAL_KEY_SW_3 ) { } if ( keys & HAL_KEY_SW_4 ) { } } else { if ( keys & HAL_KEY_SW_1 ) { if ( appState == APP_INIT ) { // Key 1 starts device as a coordinator logicalType = ZG_DEVICETYPE_COORDINATOR; zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType); // Reset the device with new configuration zb_SystemReset(); } } if ( keys & HAL_KEY_SW_2 ) { allowBind ^= 1; if (allowBind) { // Turn ON Allow Bind mode infinitly zb_AllowBind( 0xFF ); HalLedSet( HAL_LED_2, HAL_LED_MODE_ON ); //This node is the gateway node
Appendix 1 242
isGateWay = TRUE; // Update the display #if defined ( LCD_SUPPORTED ) HalLcdWriteString( "Gateway Mode", HAL_LCD_LINE_2 ); #endif } else { // Turn OFF Allow Bind mode infinitly zb_AllowBind( 0x00 ); HalLedSet( HAL_LED_2, HAL_LED_MODE_OFF ); isGateWay = FALSE; // Update the display #if defined ( LCD_SUPPORTED ) HalLcdWriteString( "Collector", HAL_LCD_LINE_2 ); #endif } } if ( keys & HAL_KEY_SW_3 ) { // Start reporting osal_set_event( sapi_TaskID, MY_REPORT_EVT ); } if ( keys & HAL_KEY_SW_4 ) { // Key 4 is used to control which routers // that can accept join requests allowJoin ^= 1; if(allowJoin) { NLME_PermitJoiningRequest(0xFF); } else { NLME_PermitJoiningRequest(0); } } } } /****************************************************************************** * @fn zb_StartConfirm
Appendix 1 243
* * @brief The zb_StartConfirm callback is called by the ZigBee stack * after a start request operation completes * * @param status - The status of the start operation. Status of * ZB_SUCCESS indicates the start operation completed * successfully. Else the status is an error code. * * @return none */ void zb_StartConfirm( uint8 status ) { // If the device sucessfully started, change state to running if ( status == ZB_SUCCESS ) { // Set LED 1 to indicate that node is operational on the network HalLedSet( HAL_LED_1, HAL_LED_MODE_ON ); // Update the display #if defined ( LCD_SUPPORTED ) HalLcdWriteString( "Mysensor network", HAL_LCD_LINE_1 ); HalLcdWriteString( "Collector", HAL_LCD_LINE_2 ); #endif // Change application state appState = APP_START; // Set event to bind to a collector osal_set_event( sapi_TaskID, MY_FIND_COLLECTOR_EVT ); // Store parent short address zb_GetDeviceInfo(ZB_INFO_PARENT_SHORT_ADDR, &parentShortAddr); } else { // Try again later with a delay osal_start_timerEx( sapi_TaskID, MY_START_EVT, myStartRetryDelay );
Appendix 1 244
} } /****************************************************************************** * @fn zb_SendDataConfirm * * @brief The zb_SendDataConfirm callback function is called by the * ZigBee stack after a send data operation completes * * @param handle - The handle identifying the data transmission. * status - The status of the operation. * * @return none */ void zb_SendDataConfirm( uint8 handle, uint8 status ) { if ( status != ZB_SUCCESS && !isGateWay ) { if ( ++reportFailureNr>=REPORT_FAILURE_LIMIT ) { // Stop reporting osal_stop_timerEx( sapi_TaskID, MY_REPORT_EVT ); // After failure reporting start automatically when the device // is binded to a new gateway reportState=TRUE; // Delete previous binding zb_BindDevice( FALSE, DUMMY_REPORT_CMD_ID, (uint8 *)NULL ); // Try binding to a new gateway osal_set_event( sapi_TaskID, MY_FIND_COLLECTOR_EVT ); reportFailureNr=0; } } else if ( !isGateWay ) { reportFailureNr=0;
Appendix 1 245
} } /****************************************************************************** * @fn zb_BindConfirm * * @brief The zb_BindConfirm callback is called by the ZigBee stack * after a bind operation completes. * * @param commandId - The command ID of the binding being confirmed. * status - The status of the bind operation. * * @return none */ void zb_BindConfirm( uint16 commandId, uint8 status ) { if( status == ZB_SUCCESS ) { appState = APP_BINDED; // Set LED2 to indicate binding successful HalLedSet ( HAL_LED_2, HAL_LED_MODE_ON ); // After failure reporting start automatically when the device // is binded to a new gateway if ( reportState ) { // Start reporting osal_set_event( sapi_TaskID, MY_REPORT_EVT ); } } else { osal_start_timerEx( sapi_TaskID, MY_FIND_COLLECTOR_EVT, myBindRetryDelay ); } } /****************************************************************************** * @fn zb_AllowBindConfirm
Appendix 1 246
* * @brief Indicates when another device attempted to bind to this device * * @param * * @return none */ void zb_AllowBindConfirm( uint16 source ) { } /****************************************************************************** * @fn zb_FindDeviceConfirm * * @brief The zb_FindDeviceConfirm callback function is called by the * ZigBee stack when a find device operation completes. * * @param searchType - The type of search that was performed. * searchKey - Value that the search was executed on. * result - The result of the search. * * @return none */ void zb_FindDeviceConfirm( uint8 searchType, uint8 *searchKey, uint8 *result ) { } /****************************************************************************** * @fn zb_ReceiveDataIndication * * @brief The zb_ReceiveDataIndication callback function is called * asynchronously by the ZigBee stack to notify the application * when data is received from a peer device.
Appendix 1 247
* * @param source - The short address of the peer device that sent the data * command - The commandId associated with the data * len - The number of bytes in the pData parameter * pData - The data sent by the peer device * * @return none */ void zb_ReceiveDataIndication( uint16 source, uint16 command, uint16 len, uint8 *pData ) { gtwData.parent = BUILD_UINT16(pData[SENSOR_PARENT_OFFSET+ 1], pData[SENSOR_PARENT_OFFSET]); gtwData.source=source; gtwData.temp=*pData; gtwData.voltage=*(pData+1); // Flash LED 2 once to indicate data reception HalLedSet ( HAL_LED_2, HAL_LED_MODE_FLASH ); // Update the display #if defined ( LCD_SUPPORTED ) HalLcdWriteScreen( "Report", "rcvd" ); #endif // Send gateway report sendGtwReport(>wData); } /****************************************************************************** * @fn uartRxCB * * @brief Callback function for UART * * @param port - UART port * event - UART event that caused callback * * @return none */ void uartRxCB( uint8 port, uint8 event ) { uint8 pBuf[RX_BUF_LEN];
// Start of Frame Delimiter pFrame[FRAME_SOF_OFFSET] = CPT_SOP; // Start of Frame Delimiter pFrame[FRAME_SOF_OFFSET+1] = CPT_SOP; // Length //pFrame[FRAME_LENGTH_OFFSET] = 10; No need for length // Command type //pFrame[FRAME_CMD0_OFFSET] = LO_UINT16(ZB_RECEIVE_DATA_INDICATION); //pFrame[FRAME_CMD1_OFFSET] = HI_UINT16(ZB_RECEIVE_DATA_INDICATION); // Source address //pFrame[FRAME_DATA_OFFSET+ ZB_RECV_SRC_OFFSET] = LO_UINT16(gtwData->source); //pFrame[FRAME_DATA_OFFSET+ ZB_RECV_SRC_OFFSET+ 1] = HI_UINT16(gtwData->source); // Command ID //pFrame[FRAME_DATA_OFFSET+ ZB_RECV_CMD_OFFSET] = LO_UINT16(SENSOR_REPORT_CMD_ID); //pFrame[FRAME_DATA_OFFSET+ ZB_RECV_CMD_OFFSET+ 1] = HI_UINT16(SENSOR_REPORT_CMD_ID); // Length //pFrame[FRAME_DATA_OFFSET+ ZB_RECV_LEN_OFFSET] = LO_UINT16(4); //pFrame[FRAME_DATA_OFFSET+ ZB_RECV_LEN_OFFSET+ 1] = HI_UINT16(4); // Data //for (i=0;i<102;i+=2) //{ pFrame[FRAME_DATA_START+ 0] = gtwData->temp; pFrame[FRAME_DATA_START+ 1] = gtwData->voltage; //pFrame[FRAME_DATA_OFFSET+ ZB_RECV_DATA_OFFSET+ 2] = LO_UINT16(gtwData->parent); //pFrame[FRAME_DATA_OFFSET+ ZB_RECV_DATA_OFFSET+ 3] = HI_UINT16(gtwData->parent); // End of Frame Delimiter pFrame[FRAME_EOF_OFFSET] = EOF_DEL; //End of Frame Delimiter pFrame[FRAME_EOF_OFFSET+1] = EOF_DEL;
Appendix 1 251
// Frame Check Sequence pFrame[ZB_RECV_LENGTH - 1] = calcFCS(&pFrame[FRAME_LENGTH_OFFSET+1], (ZB_RECV_LENGTH - 2) ); // Write report to UART HalUARTWrite(HAL_UART_PORT_0,pFrame, ZB_RECV_LENGTH); } /****************************************************************************** * @fn sendDummyReport * * @brief Send dummy report (used to visualize collector nodes on PC GUI) * * @param none * * @return none */ static void sendDummyReport(void) { uint8 pData[SENSOR_REPORT_LENGTH]; static uint8 reportNr=0; uint8 txOptions; // dummy report data pData[SENSOR_TEMP_OFFSET] = 0xFF; pData[SENSOR_VOLTAGE_OFFSET] = 0xFF; pData[SENSOR_PARENT_OFFSET] = HI_UINT16(parentShortAddr); pData[SENSOR_PARENT_OFFSET+ 1] = LO_UINT16(parentShortAddr); // Set ACK request on each ACK_INTERVAL report // If a report failed, set ACK request on next report if ( ++reportNr<ACK_REQ_INTERVAL && reportFailureNr==0 ) { txOptions = AF_TX_OPTIONS_NONE; } else { txOptions = AF_MSG_ACK_REQUEST; reportNr = 0; }
Appendix 1 252
// Destination address 0xFFFE: Destination address is sent to previously // established binding for the commandId. zb_SendDataRequest( 0xFFFE, DUMMY_REPORT_CMD_ID, SENSOR_REPORT_LENGTH, pData, 0, txOptions, 0 ); } /****************************************************************************** * @fn calcFCS * * @brief This function calculates the FCS checksum for the serial message * * @param pBuf - Pointer to the end of a buffer to calculate the FCS. * len - Length of the pBuf. * * @return The calculated FCS. ****************************************************************************** */ static uint8 calcFCS(uint8 *pBuf, uint8 len) { uint8 rtrn = 0; while (len--) { rtrn ^= *(pBuf++); } return rtrn; }
Bold items are the major changes in the code by Leila Keyvani
Appendix 2: Design work sheet
h (mm) 200 slab concrete cover (mm) 28
longer span length (m) 6 additional dead load (kN/m2) 1.4
shorter span length (m) 6 concrete unit weight (kN/m3) 25
column size (m) 0.3 Live load (kN/m2) 2.4
clear span(m) 5.7 Total factored load (kN/m2) 11.52