Monday, November 28, 2011

Kleinlogel Formula at ExcelCalcs

An alternative source of the file is over on MiScion Pty Ltd: workbook for rigid frames using kleinlogel-formula.

Taken from the website.


  1. Now made available a simple 2D plane frame analysis command line program see:

Plane Frame Analysis

[28/11/2011] : Original
[12/05/2016] : Added alternative link to MiScion Pty Ltd

Monday, November 21, 2011

Design Methods: Quality Robust Design and Limit State Design

Soft Conversion of Permissible Stress Design to Limit State Design.

Some time around 1989, Australia started to convert their structural codes from permissible/allowable stress design to limit state design. Such conversions had apparently been tried many times before in the past, but always eventually scrapped, and this was the general view again, that the idea would be shorted lived. However by 2000 all relevant structural codes had been converted to limit state methodology, and the permissible stress codes scrapped. The one exception I know of, being the aluminium structures code for which there is both a permissible stress version and limit state version: the limit state version does not conform with any of the other limit state version codes.

Limit state theory is based on the concept that every product has multiple states-of-nature in which it operates, for each state-of-nature there are unique acceptable criteria for acceptance. A car for example may be fuel efficient for city driving but extremely inefficient for long cross country trips, another car may be the exact opposite. The end-user selects the vehicle which is optimum for their most frequent type of journey and accepts the inefficiency for the other type of journey. Alternatively if frequently make both types of journey, a vehicle which is optimum across both types of journey, but less than optimum on any individual type of journey compared to those vehicles optimised for one type of journey only. As a vehicle ages it also becomes less fuel efficient. As a vehicle ages, the brakes also become less effective, and stopping distances increase. Another concept known as quality robust design (QRD) aims to ensure that whilst there is high variability in the operating conditions, there is minimum variability in the performance. This also takes into consideration the variability in the production process, and the capability to produce an end-product with the required performance.

For example in a region where there is a high demand for housing, and a scarcity of steel, and where clearly the steel is not required in the concrete to prevent the building collapsing during construction or day to day usage, then the steel is not going to be installed in the reinforced concrete structure no matter how much inspection is implemented. The steel will be seen as an unwarranted and unnecessary expense and if not available it cannot be installed. The need for the steel will not become apparent until its too late, during an earthquake or hurricane. Traditional quality control (QC) would place the responsibility with the builder for not following the specifications. Modern quality assurance (QA) places the responsibility with the designer, for not designing a product which can be constructed from the available resources: labour skills, materials and equipment.

A product experiences differing states-of-nature during its fabrication and construction, handling and transportation, in-service usage, maintenance and repair and during and after future modifications and renovations. Structurally these states-of-nature are classified into 3 large groups:

  1. Stability
  2. Strength
  3. Serviceability

{As is usual I got side stepped from my original train of thought}. Limit state design and quality robust design are both dependent on statistics and probability to allow for the variability in operating condition of the product and the environment. The ultimate strength limit state, can be a state of collapse of a member or assembly or the fracture of materials. Most traditional design has been based on keeping materials in the linear elastic range, so that when a load is removed the deflection caused by that load is also removed: elastic recovery. The end of the linear elastic range is typically marked by the yield strength of the material if the material has one. Above the yield strength materials deform plastically: that is when the load causing deformation is removed the deformation remains. This is important for manufacturing where a large slab of steel is to be rolled into a a thin sheet or the I-section of a universal beam, or coiled sheet steel roll formed into a c-section. In these cases once the section has been formed, it is not desired that the material spring back to its original condition. Once these formed sections are put to use in the structure of a building or machine then any further permanent deformation would typically be considered end-of-life for the structure. Collapse or fracture of the structure is thus an important limit state, and the operating and environmental conditions under which this is acceptable need to be determined.

Risk analysis, failure mode, effect and criticality analysis (FMECA) can involve some highly qualitative reasoning before anything is quantitified, if at all. Probability concepts can also be relatively complex. Design for collapse involving probabilities of events can also be fairly daunting and scary, coming from a tradition of designing for operation and concept of safety. However it is this latter concept of safety, that wish to remove. In my mechanical engineering studies we were explicitly advised against making reference to factors-of-safety, or margins of safety, we were reprimanded if we used such terms. The preference was design factor or factor of ignorance. These numbers can in general be fairly arbitrary and give a false sense of safety which is not present.

For example a cable may be broken a certain load (N), and we choose to use the cable only for situations where the operating load is 50% of the load (0.5N). It is a mistake to assume that the cable is twice as strong as it needs to be. The cable may well break at a load less than 0.5N, it just as a lower probability of occurring than breakage at a load N, or 0.9N or 0.75N or what ever higher load chosen. The higher the load to N, the higher the probability of the cable breaking, the further away the lower the probability of failure so 0.1N may be good choice, but there is still a probability of failure. It is not safe from breaking. Further more we cannot be certain that the operating environment will not exceed N, or the 0.5N, or the 0.1N that we choose. All we know is that the strength of the cable can vary and that the load applied can vary, and we need to accomodate this variability in design. Whilst permissible stress design hides the probability and reliability concepts behind the scenes in the derivation of a design factor, limit state design wants to make these risk concepts foremost in the designers mind. But tradition is in the way, so a soft conversion of the permissible stress codes was carried out, to set a path in place towards a more risk based probabalistic approach to design.

With respect to bending the permissible stress formula for hot-rolled steel design was something of the form:

M <= 0.6.fy.Z

M = applied bending moment
fy = yield strength
Z = elastic section modulus {S=plastic section modulus. Though some countries may reverse these notations.}

{NB: actually not the exact form since code was based on permissible stresses, however much of the steel was designed using the Australian Institute of Steel Construction (AISC) safe load tables. Now the Australian Steel Institute (ASI) and design capacity tables (DCT's)}

The problem with the permissible stress equation is that it gets rearranged:

1.67M <= fy.Z

Thus inferring that the structure is 67% stronger than it needs to be. This however is incorrect, for it fails to allow for variability in the strength of the material (fy), and variability in the dimensions of the section used to calculate elastic section modulus (Z). It also fails to allow for variability in the actual design action-effect (M). Given that we can have fairly tight control on the strength of materials and the dimensions of the sections, the strength or resistance (fy.Z) has little variability (or small standard deviation), whilst the magnitude of the loading has significantly greater variability, the design factor (1.67) can be split into two parts to accommodate variability on both sides of the expression and remain calibrated against the old code and provide a step towards a new philosophy. Thus the expression becomes:

1.5M <= 0.9fy.Z

This can be expressed more generally as:

psi.M <= phi.fy.Z


psi = partial load factor
phi = capacity reduction factor

The fundamental requirement of the building code of Australia (BCA) is that the resistance in this case (phi.fy.Z) is the 5th percentile resistance of the part. The value of phi can therefore be adjusted to suit the origins of the values of fy and Z. In general fy should be the 5th percentile yield strength of the material, so that phi mostly applies to the variability in Z. So that phi is a simple way to allow for variability present in the dimensions of the section which go into calculating the elastic section modulus. The derivation of the value of phi=0.9 is something hidden behind the scenes of the code, but it is something which can be questioned and brought more into the open. Anycase it reflects an expected low variability in the resistance of the structural member. None the less there is variability and there is a 5% probability that this strength will not be achieved in practice.

Our code has no explicit reference on the probability of exceedance for the design load (psi.M), however in the 1989 version of the wind loading code, the 1000 year mean return period used back then was derived from a 5% probability of exceedance for a 50 year life expectancy. Currently wind loading is based on wind speed with a 1/500 annual probability of exceedance for buildings of normal importance, this relates to a 500 year mean return period. So unless otherwise noted the basic principle is that the design action and/or design action-effect should have a 5% probability of exceedance for a given life expectancy: or is otherwise the 95th percentile load.

So when we work with wind loads we do not use the psi=1.5, instead we use the design action (psi.M) which has the required probability of exceedance. So that the most generic version of limit state structural design is:

95th percentile action-effect <= 5th percentile member resistance

There is no safety as such, there is always some probability of failure. We could choose the 99th percentile action-effect, but there would still be some probability of it being exceeded. We cannot choose the 100th percentile action-effect because we don't know what it is: everything we measure has variability. Whilst statistical assessment of manufacturing output can control resistance fairly tightly, the statistical estimates of loading is fairly crude and in some instances possibly highly unreliable.

Engineers Australia in 1990 issued to its members a booklet titled :"Are you at risk! Managing expectations". Part of the exercise was to get engineers and other technical professionals away from declarring things to be safe. When something is declared as "safe" the public tends not to perceive that it will fail no matter what the conditions. Little seems to have changed: there are still engineers declaring buildings to be earthquake resistant, hurricane resistant and flood proof: and as to be expected they continue to fail. The response is make the design load bigger will make it safer. Keep making design loads bigger, just makes more expensive, uses more materials, and limits supply to fewer and fewer people.

The magnitude of the design load is not the issue. The real issue is the qualitative consideration of the modes of failure and the consequences, consideration of the full continuous spectrum of limit states.

Some of the poorest regions of the world, are also prone to seismic activity, and they have been making use of steel reinforced concrete. Whilst the concrete is obviously abundant, the investigations after destructive earthquakes, indicates the steel is obviously not so abundant.

Since the design load can always be exceeded, making the design load bigger is of little real benefit, it just makes the structures less affordable. Reading about the 2008 Sichuan earthquake, it reinforced the perspective that consequences of failure are the issue. Traditional Mongolian yurts may not have resisted the earthquake, but their collapse would have caused fewer deaths, less severe injuries, and further more could have been replaced rapidly. Far from being a disaster, would have been more like an inconvenience. Our ancestors were mobile, that is the benefit of being an animal rather than a plant. Plants are stuck in the paths of earthquakes, hurricanes and floods, animals are not. Architects and civil/structural engineers are turning us into plants, and many of our modern world problems are associated with us being more like static plants than mobile animals: not least of which is concentration of pollutants and waste of fuel. Sure there is an issue of travel: work/home/work/home etc... which is a major waste. But brought about because the city is a giant plant with massive global root system. If going to use concrete in a structure in these regions because it is abundant then make it a compression only structure, so that doesn't require the steel: get creative. However, if the design load is exceeded still going to get crushed. Tension membranes and cable-nets can certainly cover large areas: but back to issues of availability of suitable materials. Also what is housing for, protection from the environment or privacy? A large membrane structure could protect a village, but not provide privacy to the individuals within.

If we can get back to the qualitative issues instead of thinking we are smart because we can do some complex mathematics, then we can find better design solutions to the problems that we encounter. There are different states-of-nature, a great deal of variability and uncertainty to be accounted for, and differing criteria for acceptable performance.

At the moment the community has little to say on the performance requirements imposed in the built environment, yet it is the people who have to pay one way of another. The BCA talks about loss of amenity: at the present point in time the primary loss of amenity is not getting it in the first place. Further more most houses do not comply with current code requirements.

So first here is an opportunity to knock down the price of an established house because it is not compliant with current codes. Second an opportunity to assess when these established houses will fail, what the consequences of failure are, and then use this as a basis for BCA alternate-solutions, which will provide more affordable housing and less hazard to life when they actually collapse. Note the building doesn't have to be made of cotton wool so that when it collapses it cause minimum injury: rather the structure should provide adequate warning of its impending collapse. A warning from a government department not adequate because that may relate to current codes of practice, not the capability of existing structures. So need an early warning system which alerts occupants before they hear the loud cracking sound of the members of the structure failing.

Thursday, November 17, 2011

Earlier Attempt at Describing Probabilistic Structural Design

An Earlier attempt at describing Probabilistic Structural Design:

Metamorphs Journal on Scribd

Basically involves testing of a cable, then considering selection of a suitable cable for a baggage handling department where do not know the maximum weight of the baggage handled. Same principle could be applied to selection of suitable scales so that do know weight of baggage handled: but not the weight of that which arrives.

NB: Whilst the probabilities for independent events may generally be multiplied together, the approach taken in the above essay, is over simplistic. For more detail on reliability refer to Mechanical Engineering design by Shigley, or to Reinforced Concrete by Warner, Rangan and Hall.

Tuesday, November 01, 2011

Cold-Formed Steel Shed Industry: part:#2

As explained previously an Excel/vba macro is used to generate an AutoCAD script which is written to a default folder, and then AcadLT is launched from vba using command line parameters to run the Acad script automatically as Acad loads. The model space output of the script is shown in Fig 1, and the paper space output shown in Figs 2 to 6.

Fig 1: Model Space output of script.

Fig 2: Paper Space output of script. Footing plan showing stiffened raft (not typically required).

Fig 3: Framing Plan & Member Schedule

Fig 4: Side (Front) and End Elevation (Right)

Fig 5: Side (back) and End Elevation (Left)

Fig 6: Detail Section of Portal Frame

At present the script doesn't modify the paper space layouts to match the paper size. This is largely because in the first instance it requires using "print" and adjusting the layout parameters and then cancelling the print command. It can crash if invalid paper size names and printer names are provided, so it was left out. Text is all placed in paper space, with exception of the grid labels which are written in model space. The input parameters allow varying the paper size, the scale, and forcing either one view per sheet or everything to a single sheet. The scale can also be selected to be calculated. Either way the vba macro will determine one of a few different preferred layouts, and attempt to use as few sheets as possible. All the parameters to define the structural frame can be varied. Spacing of frames, girts and purlins are assumed to be constant. Except for the simplest of buildings, usually after the script has run a great deal of manual editing is required to produce finished drawings for development approval.

Fig 7: Screen Capture of Time Script Takes.

As can be seen from the screen capture, Fig 7, the script takes less than 9 seconds to run, this is significant decrease on the 5 to 20 hours that may be required for drawing such stick diagrams from scratch. Another 5 to 40 hours may be required for drawing connection details and other relevant detail sections. Given that the shed industry typically does not produce formal drawings, only a freehand sketch on square ruled paper order form, taking some 10 to 60 minutes whilst salesperson talks to customer: collapsing the drafting time is important. Whilst the freehand sketch is suitable for a small garden shed, its not suitable for a 4000 sq.m industrial warehouse with office space. But people go to the shed suppliers on the assumption that they have solved all the problems before and have standard designs which can be modified. Whilst the industry advertises custom manufacture it cannot provide custom design. The industry relies heavily on the local council, requesting further information, before they go and get architectural and engineering input. This results in delays for the customer as issues of  non-compliance with building codes are resolved.

Whilst high end building information modelling (BIM) software may be useful for the task, it is too complex for sales people to be using at the point-of-sale, and with costs from $5000 to $25,000 (AUD) per license it is also far too expensive. {Though any shed supplier setting up own engineering staff and making  use of such software, has the potential to make it financially viable, taking advantage of the software to improve their product and increase sales.}

Whilst the suppliers run around from one consultant to another, requesting standard designs for one shed or a range of sheds, there is a need to develop low cost, highly product specific software which produces drawings, and structural calculation reports, along with material take-off's,  cost estimates, and work shop details, along with any CNC machine instructions if appropriate, to resolve the problems of not using standard designs correctly.

There is already precedent for such software with the nail plated timber roof truss manufacturers, however their software started in the wrong direction: it failed to provide adequate evidence-of-suitability and was proprietary. This made it difficult for council to check the adequacy of the proposed trusses, and there is still need for improvement, but there is now a guide line for such software, put out by Planning SA.

Minister’s Specification: SA A2.2 : Structural engineering software

The problem with such software is that it tends to only produce specifications, and it can do so in a short period of time, a few minutes. Compare this to a few hours to check all the different roof trusses in a typical house, using either manual methods or standard frame analysis software. It seems no consultants providing technical certification services has automated their standard frame analysis software for checking timber roof trusses. Similarly they also haven't produced automation for sheds, carports and verandahs. So the industry can do fast, but the checkers and certifiers are slow. The big question though is the industry fast because its not doing engineering checks, or because it has fast design tools, and have those design tools been checked and are they being used correctly. Hence developing and releasing the software not just a matter of writing source code. Hence these things tend to get part developed as useful in-house productivity tools rather than commercial products. But not everyone has the time to develop such tools in-house, and that causes hindrance, and delays, when at the certifier level. So tools need to be readily available to all, not just limited to manufacturers, possibly under a GPL, so that source code viewable by all.

Any case primary task at moment is to reduce the drafting effort, since calculation effort has largely been reduced already for the typical gable frame shed.

AutoCAD Speed Test

As a simple test of the comparison between speed of manual CAD drafting and scripting (*.scr), a simple test can be carried out. This test comprises of drawing a rectangle and then diagonal lines and bisectors of the sides. All entities should be ordinary lines, no polylines or rectangles, and no drawing as such and exploding to ordinary lines. Running osnaps can be switched on to save time. I typically have osnaps switched off, it interferes with running scripts, and otherwise tends to waste time in manual drafting selecting the wrong points, so I typically select snaps manually, the right one at the right time. Anycase for the test I used running osnaps, because it is a situation where it clearly provides benefit rather than an hindrance. The dimensions of the rectangle are @10000,5000.

It should be noted that the larger the screen the longer the distance to travel from one corner to the other and therefore the longer the drawing time. So larger screens not altogether a benefit. Faster times can be achieved by reducing the size of the AutoCAD window, or by zooming to a fraction of the screen (eg. zoom 0.5x).

Fig 1: Screen image of finished drawing test.
{NB: click image to enlarge and scroll all images.}

Fig 2: Screen capture of time taken for manual drafting

The time taken with manual drafting is approx 26 seconds. With practice it may be possible to get the time down further. Starting out today it took 55 seconds, but for some reason I was typing the command "Line" rather than using the alias "L", also wasn't using running osnaps. But since I knew last time I did the test I did it in 26 seconds, I kept trying until could capture such time from screen. Faster  computers and faster operators may be able to get lower times, but unlikely to achieve the less than 1 second that the script takes to run.

Fig 3: Screen capture time taken by script, drag and drop onto CAD drawing.

Fig 4: Screen capture time taken when macro added to a toolbar button.

Not sure why but the script runs slower when called from a toolbar button than when script file is "drag and dropped" onto the drawing. However the button saves operator  time finding the script.

The script:

LINE 0,0
LINE 0,0 10000,5000

LINE 0,5000 10000,0

LINE 5000,0 5000,5000

LINE 0,2500 10000,2500

ZOOM s 0.5x


The button macro:

'_script speedTest1.scr 

Faster computers and larger monitors save time, but only when there is a great deal of interaction between the operator and the machine. To really save time and increase productivity need to get the computer to do the work, and a slow computer may be adequate for such purpose. If it takes a person 2 minutes to enter data, and the computer 1 second to respond, it does not make any perceptible difference if get a computer twice as fast to complete its task in 0.5 seconds. Its the 2 minutes of human interaction with the machine that needs to be reduced: and that is likely to become a political issue. There has to be some acceptable need to reduce the production time before effort gets applied to do so. After all what are you going to do with the free time if just reduce production time just because you can.

Related Posts:

Programming/Automating #Autocad LT
Automated Drawing List Update Acad LT (revised)

Cold-Formed Steel Shed Industry: part:#1 (Shed Framing Drawings)
Cold-Formed Steel Shed Industry: part:#2 (Shed Framing Drawings)