The roof of the Taq-i-Kisra; Analysis

Following the previous post, I have compared the stresses in the Taq-i-Kisra assuming either a catenary or parabolic profile. I have also compared constant depth sections with sections increasing in depth towards the supports. The arch span was taken as 24 metres, with an arch height of 16.6 metres, supported on vertical faced buttress walls with a height of 11.1 metres. The section depth was taken as 0.85 metres, increasing to 1.7 metres at the supports for the variable depth profiles. The span was taken from the Wikipedia article, and all other dimensions were estimated by scaling from photographs. Four analyses were carried out:

Run 1: Catenary with varying section depth
Run 2: Catenary with constant section depth
Run 3: Parabola with varying section depth
Run 4: Parabola with constant section depth

Profiles with variable section depth

Profiles with constant section depth

Bending moments and axial forces from these four runs are shown below:

Bending moments and axial forces

It can be seen that axial forces are similar, with the constant depth sections having a significantly smaller force, as would be expected.

Bending moments for the constant depth catenary (Run 2) are close to zero throughout. Bending moments for the constant depth parabola (Run 4) and the variable depth catenary (Run 1) are similar, with a maximum of 50 kNm/m. The variable depth parabola (Run 3) had bending moments more than twice as high.

Axial stresses for these four runs are shown below:

Axial stresses - Run1

Axial stresses - run 2

Axial stresses - Run3

Axial stresses - run 4

It can be seen that stresses were compressive throughout for Run 2, and tensile stresses increased progressively through Runs 1, 4 and 3 respectively. The maximum tensile stress from Run 3 was 400 kPa, which would leave little reserve capacity for wind or earthquake loads.

Since Runs 1 and 3 were intended to be the closest models to the actual structure the analyses show that the maximum tensile stress was about four times higher for the parabolic profile than the catenary profile.

Finally, many sources on the ‘net suggest that the arch was constructed without centering, that is with no temporary supports before the closure of the arch. The analysis below shows that this results in tensile stresses of up to 7.5 MPa, which would be far in excess of the strength of the material, and construction of the arch without some form of temporary support would not be possible.

Axial stresses - run 5

Posted in Arch structures, Finite Element Analysis, Maths, Newton | Tagged , , , , , | 2 Comments

The Roof of the Taq-i-Kisra

Roof ot the Taq-i-Kisra

A higher resolution image, from a slightly different viewpoint

The roof of the Persian Throne Room of the Taq-i-Kisra, now in Iraq, is the best surviving example of an ancient large span structure built to a catenary profile, the shape that will minimise bending moments in a structure of uniform thickness, standing under its own weight.

The red line added to the photograph is a catenary, and the blue line a parabola with the same span at first floor level. The plot suggests that the roof shape from first floor level does indeed approximate a catenary, although the low resolution photograph and irregular outline of the end face of the structure make it difficult to be certain.

Posted in Newton | Tagged , | 7 Comments

Lane Cove Tunnel, Eastern Portal; during construction

13th July 2006.
Click on thumbnail, then click on image to see full size.

Posted in Newton | Tagged | Leave a comment

Drawing in Excel – 1

This is a the first of a series of posts describing how to produce scale drawings in Excel, based on a list of coordinates. This post will cover the use of XY graphs, or scatter charts as Microsoft likes to call them. Later posts will cover the use of the various line and shape objects, using VBA to automate the process.

Using XY graphs for line drawings has a number of disadvantages: the drawing is likely to be distorted because of the automatic scaling to fill the chart area; there is no provision for adding shading; adding text is difficult; and there is no provision for generation of shapes such as circles, ellipses and arcs, other than plotting lines as a series of straights. There are however two big advantages: it’s quick and easy, and the graph automatically updates to reflect the underlying data.

For these reasons the use of an XY graph can be a good option for many purposes, and this post provides two alternatives for automatic scaling. A cross-section drawing of an Australian “Super-T” bridge girder is used for illustration purposes. The two figures below show the results of plotting the cross section using auto scaling. The edge coordinates have been plotted using one XY range (with point markers hidden), and the reinforcement and prestressing strands have been plotted from coordinates in a second range, hiding the connector lines, and choosing the point marker symbol closest to a circle. It can be seen that both images are distorted to fill the available space.

No scaling - deep

No scaling - shallow

The simplest way to get approximately equal scaling in the X and Y directions is to ensure that the plot range is square, then plot an additional line so that the smaller range is stretched to match the larger one. This line is allocated its own data range, and has both the line and data markers hidden.

The coordinates of the ends of the scale line are calculated as follows:

XLength = MAX(xrange) – MIN(xrange)
YLength = MAX(yrange) – MIN(yrange)

AddX = MAX((YLength – XLength)/2, 0)
AddY = MAX((XLength – YLength)/2, 0)

Scale Line Coordinates:
Start: MIN(xrange) – AddX, MIN(yrange) – AddY
End: MAX(xrange) + AddX, MAX(yrange) + AddY

The results of adding the scale line are shown in the two figures below. Advantages of this method are that scaling is carried out automatically, and that no VBA is required. The main disadvantage is that if the plot area shape is changed from square the resulting image will be distorted.

Scale line - deepScale line - shallow

The second method is to use VBA to adjust the range of the graph scales, so that the drawing will have the same scale in both directions regardless of the range of X and Y values, and the shape of the plot area. I have taken the macro to perform this task from Jon Peltier’s site:
http://peltiertech.com/Excel/Charts/SquareGrid.html

The code below has been slightly modified to plot the graph in the centre of the plot area, rather than to one side, or towards the bottom:


Sub MakePlotGridSquareOfActiveChart()
MakePlotGridSquare2 ActiveChart
End Sub

Sub MakePlotGridSquare2(myChart As Chart, Optional bEquiTic As Boolean = False)
‘ Code from http://peltiertech.com/Excel/Charts/SquareGrid.html
‘ Modified DAJ 31 May 08
Dim plotInHt As Integer, plotInWd As Integer
Dim Ymax As Double, Ymin As Double, Ydel As Double, YMid As Double, YHWidth As Double
Dim Xmax As Double, Xmin As Double, Xdel As Double, XMid As Double, XHWidth As Double
Dim Ypix As Double, Xpix As Double

With myChart
‘ get plot size
With .PlotArea
plotInHt = .InsideHeight
plotInWd = .InsideWidth
End With

‘ Set axes to auto
With .Axes(xlValue)
.MaximumScaleIsAuto = True
.MinimumScaleIsAuto = True
‘ .MajorUnitIsAuto = True
End With
With .Axes(xlCategory)
.MaximumScaleIsAuto = True
.MinimumScaleIsAuto = True
‘ .MajorUnitIsAuto = True
End With

Do
‘ Get axis scale parameters and lock scales
With .Axes(xlValue)
Ymax = .MaximumScale
Ymin = .MinimumScale
Ydel = .MajorUnit
.MaximumScaleIsAuto = False
.MinimumScaleIsAuto = False
.MajorUnitIsAuto = False
End With
With .Axes(xlCategory)
Xmax = .MaximumScale
Xmin = .MinimumScale
Xdel = .MajorUnit
.MaximumScaleIsAuto = False
.MinimumScaleIsAuto = False
.MajorUnitIsAuto = False
End With
If bEquiTic Then
‘ Set tick spacings to same value
Xdel = WorksheetFunction.Max(Xdel, Ydel)
Ydel = Xdel
.Axes(xlCategory).MajorUnit = Xdel
.Axes(xlValue).MajorUnit = Ydel
End If

‘ Pixels per unit
Ypix = plotInHt * Ydel / (Ymax – Ymin)
Xpix = plotInWd * Xdel / (Xmax – Xmin)

‘ Keep plot size as is, adjust scale width
If Xpix > Ypix Then
XMid = (Xmax + Xmin) / 2
XHWidth = (plotInWd * Xdel / Ypix) / 2
.Axes(xlCategory).MaximumScale = XMid + XHWidth
.Axes(xlCategory).MinimumScale = XMid – XHWidth
Else
YMid = (Ymax + Ymin) / 2
YHWidth = (plotInHt * Ydel / Xpix) / 2
.Axes(xlValue).MaximumScale = YMid + YHWidth
.Axes(xlValue).MinimumScale = YMid – YHWidth
End If

‘ Repeat if “something” else changed to distort chart axes
‘ Don’t repeat if we’re within 1%
Loop While Abs(Log(Xpix / Ypix)) > 0.01

End With

End Sub

The results of applying this code are shown below:

Scale macro - deepScale macro - shallow

The advantage of this method is that it will work for any shape plot area, and will still work if the plot area is changed. The main disadvantage is that the macro needs to be re-run every time the graph data changes, but this could be accomplished by triggering the scale routine with a worksheetchange event.

This code was found via the Eng-tips forum (http://www.eng-tips.com/viewthread.cfm?qid=141275), where there are also some modified versions which switch on the axes display, then return them to their original state. I found that the original works works (at least in Excel 2007) whether the axes are displayed or not, so there did not seem to be any advantage in this refinement.

Posted in Charts, Drawing, Excel | Tagged , , , | 6 Comments

Reinforced Concrete Section Analysis – 3

Previous post -1

Previous post -2

The theory presented in the previous 2 posts in this series has been incorporated into an Excel UDF, allowing concrete and reinforcement stresses and strains to be evaluated quickly and easily for reinforced and prestressed members of complex cross-section, subject to combined bending and axial load.

The Excel file also includes UDFs for solution of polynomial equations up to quartic, and routines for plotting the cross section shape.

Beam Design Functions Download

Circular cross section

Super-T pretensioned bridge girder

Posted in Beam Bending, Excel, Newton, UDFs | Tagged , , , , , , , , | 8 Comments