25 Jun

Parabolas, Rectangles, Triangles & Snakes (Part 7)

Part 7 – Documentation & Verification, Better Than More Integration?

At some point in any projects life cycle you should start thinking about the need for documentation and verification. This post and probably the next few will be dedicated to exploring these aspects.

As a structural engineer, if you are designing a building you have to produce some drawings, calculations, specifications, etc to describe what is being built, and someone probably needs to check these deliverables. Often the drawings are the only deliverable, so its all the end user ever sees out of your blood sweat and tears. You’ll be judged on this alone if it contains mistakes, omissions, etc. Small omissions can cost you or the client are lot of time or money to put right if the contractor has made no allowance for the items. As an engineer designing something tangible like a building, you simply cannot get away without producing drawings, someone needs to produce your design after all and they are going to need some instructions.

Read More
25 Jun

Pi Massacre

This site is hosted on a Raspberry Pi 3, I like to tinker with these things. I don’t use this particular Raspberry Pi for anything else but the WordPress server on which this site runs for fear of breaking it.

However, I usually update/upgrade the underlying operating system on a regular basis to ensure it’s running the latest and greatest fixes for peace of mind. This includes runningsudo rpi-update to update the firmware to the latest and greatest. Today I had a panic inducing incident:-

Read More
21 Jun

Parabolas, Rectangles, Triangles & Snakes (Part 6)

Part 6 – Slicing & Dicing

Based on the last two posts, I’d now reached the stage where I’d determined the general basis for calculating the force and centroid of the concrete compression force. This seemed like one of the major challenges had been overcome, just a matter of coding it now I guess.

Going Off Script…

However for a moment I’d like to touch on the inherent errors in other approaches, because you’re probably thinking all this integration is a bit over the top at the end of the day. When you’ve done these things before, you just obliviously divided the compression region up into some discrete strips and were none the wiser. It’s probably close enough after all considering all the other inherent variability in material properties, time is money man.

Read More
20 Jun

Parabolas, Rectangles, Triangles & Snakes (Part 5)

Part 5 – Centroids, More Integrals….

In the last post we went through a process to find a general force integral which involved knowing the width and height of the stress block in terms of how far from the neutral axis depth you are. Then by using numerical integration methods we would be able to calculate the concrete force by evaluating this integral. Note that except for certain cases like a constant stress or constant width I don’t think you can even solve the integral by hand, so your best chance of success is solving it numerically unless of course you’re a masochist and love integration that much. Good thing Python makes it easy to solve integrals numerically.

In this post we’ll look at extending the previous post (and the result we had magicked up for the force integral) by going on to find the centroid, or in other words the location where the resultant force acts within our concrete compression block.

Read More
14 Jun

Parabolas, Rectangles, Triangles & Snakes (Part 4)

Part 4 – Integrals, its Business Time

In the first post in this series I posted the following integral for the x direction centroid of a part of the compression block for EC2 parabolic-rectangular derivation :-

\overline{x}=\frac{\displaystyle{\int_{y_1}^{y_2}}\;\bigg[\frac{(x_1-x_2)(y_2-y)}{(y_2-y_1)}+x_2\bigg]\;\bigg[(1-(1-\displaystyle{\frac{y}{k_1c}})^n\bigg]\;\bigg[\frac{(x_{b\,mid}-x_{t\,mid})(y_2-y)}{(y_2-y_1)}+x_{t\,mid}\bigg]\;\bigg[dy\bigg]}{\displaystyle{\int_{y_1}^{y_2}}\;\bigg[\frac{(x_1-x_2)(y_2-y)}{(y_2-y_1)}+x_2\bigg]\;\bigg[(1-(1-\displaystyle{\frac{y}{k_1c}})^n\bigg]\;\bigg[dy\bigg]}

Which at first glance looks a bit intimidating, but it breaks down to quite a simple formulation which I’ll try my best to explain in this post and the next post.

Read More
09 Jun

Parabolas, Rectangles, Triangles & Snakes (Part 3)

Part 3 – Class Hell Week

At some point I came to the realisation that I’m going to need classes in my code, I didn’t know what they were exactly, but I needed them! Everyone else used them, so I must have them and they seemed the solution to a number of limitations I was coming up against or problems that needed solving according to good old google.

So I split up my code and copied it to the four corners of my project. Welcome to class hell, all my code that did work, now doesn’t work. Try as I might I just wasn’t getting it.

Read More
05 Jun

Parabolas, Rectangles, Triangles & Snakes (Part 2)

Part 2 – Bits & Pieces of Geometry

A large part of the previous issues I was having with implementing a tool like this in Excel is the fact you have to generate your own routines (or find suitable ones by others) for all the geometrical calculations required to assess a given section at any given angle of loading or neutral axis angle. Simple shapes is probably ok, but it get exponentially harder as things get more complex in terms of complex geometry, addition of holes or voids and other such stuff. It’s enough to make you question if Excel is the best tool for the job.

Read More
02 Jun

Parabolas, Rectangles, Triangles & Snakes (Part 1)

Part 1 – Prelude

So for a while I have been playing around with the idea of creating some kind of tool for the analysis, design and detailing of reinforced concrete sections. In the past I have used SPColumn at a previous employer (that could afford it) for the analysis of concrete members, and some other basic free tools at those employers that could not. I’d also started (and stopped) a few times working in Excel to develop my own solution/tool as these free tools just never cut it, either having clunky interfaces or missing vital functionality.

Read More