19 Jul

Finding the Warping Constant for back-to-back Cold Formed Channels using Python

This blog post is inspired by a recent post which I responded to on the EngTips forum. The question was related to finding the warping constant of back to back cold formed channels.

The poster was querying the validity of some random formula for calculating the warping constant for back to back channels that they found in another post. Comparing this to values that were published for the shape they were interested in, and they were ultimately getting limited agreement.

Read More
05 Jul

Parabolas, Rectangles, Triangles & Snakes (Part 8)

Part 8 – Documentation, the Necessary Evil

Love it or hate it, I’ve already decided documentation is required so you are stuck with it. Code comments and docstrings aside, part of the planned documentation is this series of blog posts (so I can remember what I did basically). Hopefully these demystifying some of the mysteries behind the general methods involved.

For the remainder I’ll leave it up to a readthedocs page to explain the ins and outs for the end user. If you are not familar with readthedocs or RTD for short, it’s basically a free service for hosting documentation for public open source projects. You can link it directly to your Github repo, changing any of the documentation committed within Github, and you’ll automatically trigger an update of the RTD documentation pages.

Read More
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