Showing posts with label stiffness. Show all posts
Showing posts with label stiffness. Show all posts

Tuesday, 25 September 2018

Complex Cantilevers made easy

Introduction

The last few decades, a sound structural design has more and more become a delicate balance of engineering possibilities and wishes of architect and client on one side, and safety considerations and engineering judgment on the other. Architectural designs become more and more complex, and because of the capabilities of modern day engineering tools (e.g. FEM software), structural engineers are expected to deliver on those designs. But how do you verify the results from those complex calculations?

Burj Khalifa as one of the most well-known examples of advancements in engineering
Source photo: klook.com
I always try to break complex FEM models down to existing - in Dutch so-called - "vergeet-me-nietjes" (which roughly translates in English to "forget-me-nots"). These however can become too conservative to do a good verification of the results of complex FEM models...

This got me wondering: not only FEM software evolves, but math software evolves as well. So why not try and take those "vergeet-me-nietjes" to the next level, to actually use what I was taught in university all those years ago, to advance my verification calculations as well?

So I started with a very basic example of a stability calculation: second order bending of a slender building as a result of wind loading, combined with the vertical loads in the building over the height, where some or more parameters are not constant over the height.

Point loads and moment functions

With a building tall and slender enough, a structural engineer has to take into account (amongst others) the following aspects in his design:
  • determining the basic forces in the structure, both horizontal and vertical, over the height
  • determining the horizontal displacements of the structure, again over the height, and
  • the influence of these displacements on the primary forces in the structure
The last bullet deals with so-called second-order effects of the structure. I will go into that subject in the second part of this blog.

Calculation through "vergeet-me-nietjes" has plenty of examples on the steps above, but always depending on limited set of variables, like constant stiffness over the length/height, and/or just one or two loads. But what if the vertical load is not constant over the height of the building? Or the horizontal load? Or even the stiffness?

In a previous blog, "MathCAD in Structural Engineering" I showed how math software can be used to calculate section forces due to a variable load over the height of the building (in that case wind), using the method of integration, where
  • the shear force is the first integral of the (line) load over the height and
  • the bending moment is the first integral of the shear load
For a structure loaded by point loads over the height, the shear force is the sum of the point loads over the height, but how to integrate that to bending moments? Also, integration is quite heavy on the processing power of the computer. A more efficient way to calculate the bending moment over the height would be to calculate for each individual point, and then sum the results of all seperate moment lines.

The bending moment as a result of a single point load is easily calculated :
$M_{F} = F_{i} \cdot x$
For a cantilever, the bending moment along the length can then be described as:
$M_{Ed,F} = F_{i} \cdot (l_{i}-x)$
Next, using math software and vector operations, it's just a matter of a sum of the bending moments for each point load over the height, which results in a function for the total bending moment over the height:
Below two examples of a cantilever structure with a length of 80 meters, with 4 point loads on different heights:


Next up: calculating the deformations due to the point loads in above example.

Advancing simple integration schemes

Let's start with examples of aforementioned "vergeet-me-nietjes", relevant for the stability of buildings: either a point load or a bending moment at the end of a cantilever.


With both examples, it's possible to calculate the deformation along the length of the cantilever, but only the rotation of the cantilever at the end. So I got to thinking, what if there's mutiple point loads on the cantilever, how do I determine the deformation and rotation of the cantilever along the length then?

Then I very vaguely remembered two things I was taught ages ago: 
  • Rotation and deformation are in one way or the other the result of integration of the bending moment
  • Integration is "math" for "chopping a function into pieces and determining the area below the function".
If you look at the examples above, several integrals can be recognized: for the deformation, the variable "L" is always of an order higher than for the rotation. So the deformation is the integral of the rotation. Also, looking at the second example where the bending moment is constant over the height, we can determine that the rotation is the first integral of the bending moment. In "math":
$\varphi (x) = constant \cdot \int_{0}^{x} Mdx$
$f(x) = constant \cdot \int_{0}^{x} \varphi (x)dx$
$f(x) = constant \cdot \int_{0}^{x} \int_{0}^{x} M(x)dxdx$
where "constant" in this case equals the reciprocal bending stiffness (1/EI), to account for the (reverse) relation to the stifness of the cantilever. Which  happens to be exactly what I learned in university (but never again used since, at least not me, until now! :-) )

If you look closely at the first "vergeet-me-nietje", you can imagine it can be broken down to multiple elements of the second one:
Thus we get an integral which can handle any kind of moment function we throw at it, resulting in the rotation at any given point of the beam; if we integrate the moment function, found in the first part of this blog, twice over the length of the cantilever, we get the displacements of a cantilever loaded by random (point) loads:

The bending moment as a result of a single point load is easily calculated :
$f(z) = \frac{1}{EI} \cdot \int_{0}^{z} \int_{0}^{z} M_{tot}dzdz$
Calculation of both earlier examples of a cantilever with 4 point loads:


Fun thing is: not only the bending moment can be defined depending on z, this can be done for the stiffness (either Young's modulus E or moment of inertia I). Just keep in mind, that the stiffness parameter depending on z then needs to be included inside the integration!

Below two variations of the first example above: in the first variation, the bottom half of the cantilever is 4 times stiffer than the top half, in the second one these stiffnesses are switched:


Now it's possible to more accurately calculate bending moments and deflection of tall, slender buildings like the Burj Khalifa at the start of this blog, with a calculation sheet no longer than page :-)

In my next blog, introducing a rotation spring at the foundation and calculating second order effects on the whole cantilever with horizontal and vertical loads alike...

* FYI, all results have been verified using FEM beam calculations *
* Just make sure shear deformation is eliminated in the verification calculations *

Saturday, 29 April 2017

Pile groups: FEM vs. Math(CAD)


One of the regularly returning structural elements is the so called pile cap, plainly put a huge block of concrete with multiple foundation piles to transfer loads from (a column in) a building to the earth underneath.

Start of pile cap reinforcement,
with the pile heads visible
Final pile cap reinforcement, with the connecting column reinforcement.
All it needs now is a bit of liquid concrete (just a few cubic meters :-P)

These piles have a finite stiffness, whereas the stiffness of the concrete block can be considered (close to) inifinite most of the times. Due to construction tolerances or obstructions in de ground underneath a building, these pile groups are not necessary symmetrical in regard to the transferred load. Therefore stiffness and position of the piles determine the load distribution to the piles.

With large pile caps, nowadays normal practice would be to model the pile cap in a FEM (Finite Element Model) software package and calculate it there. This can be quite time consuming, so for design purposes it would be nice to have an easy calculation sheet that does the same.

Just to demonstrate, I've made a FEM model of a pile cap with some eccentricity in pile grouping and loading, with reaction forces resulting from the calculation of this model:


I was working on just such a sheet to calculate stiffness and load distribution on a foundation block. I imagined writing loads on and piles under the foundation blocks in arrays and then processing those very efficiently to get load- & pile group centre, calculate loads, etc. For this one I chose to investigate usage of tables in MathCAD.

Defining sets of data with tables

The tables work out nice! And they make it quite easy to execute aforementioned operations on the entire table like determining the load- and pile group center. Using that data I want to calculate the location of the resulting force (from the left table) and the center of the pile group (right table). This is done by summation of the distance of a load or pile mutiplied by respectively the load or the stiffness. In MathCAD these are simple mathematical operators, using table row references:


The functions are elegant, but are at the same time taking up a lot of space on the sheet when defining them one by one. In programming this is usually tackled by defining a function, so why not introduce this to MathCAD as well? It turned out to be easier than expected:


This has two major advantages: first, I can use one function to calculate both the resulting load X&Y coordinates AND the X&Y coordinates of the pile group. Second, I can define the function at the start of the sheet, even before creating the tables above. That way, the function can be used everywhere in the sheet. So I put the function outside of the print area at the top of the file, and I can calculate directly following the tables, very compact:


One thing left: the operation leaves an 1x1 matrix variable (the brackets around the resulting values), which is not what I want. A small adjustment of the function (adding an index 0) will result in a single variable as the result of the function:




Next step is calculating the distance from each load or pile to the group centre (left function below), and the total load on the pile group (right). Again I introduce functions. They're quite simple really, but make the sheet very scalable:


These functions help determine the overall pile cap make-up: load and pile centres (res subscripts), distances to load and pile group centres (z subscripts). From there the pile group properties and external forces on the group can be determined:


The content of Xp.z and Yp.z is not shown above. The zc function operates on a Matrix, resulting in another matrix:


I will not go into too much detail on the structural mechanics behind the stiffness of the pile group (Ix, Iy and Ixy); what it boils down to is that these properties determine the load distribution to the piles. Using these values, we can finally determine the load distribution and vertical deformations of the piles!


Resulting in:


Comparing these with the FEM calculation, an (almost) exact match! :-)



This pile cap clearly needs some added stiffness :-) To demonstrate that it also takes into account the stiffness of the supports, The stiffness of the first support is divided in half: k = 50 MN/m1. Also, a sixth pile is introduced with a stiffness of 200 MN/m1. Comparing MathCAD calculation with the sheet:




Advantage of a sheet like this one, is that it can be scaled to almost every size of pile (or anchor) group imaginable. As long as the transferring medium can be considered about infinitely stiff, of course...

One downside though: I have failed at making a viable pile cap. But hey, as long as it served a purpose!