I hadn’t heard the name Timoshenko since my college days back in the 90’s. Then I remembered that one of my text’s authors went by that name (apparently Timoshenko wrote many excellent texts). I did a deep dive into Stephen Timoshenko last night, amazing man, and even more amazing legacy.
He is probably the most influential engineer in the 20th century and the godfather of modern mechanical engineering. He developed a more complete treatment of beam bending and shear deformation in 1921, hence the Timoshenko beam method bears his name. He passed away in 1972, the same year I was born.
The text I had in my materials science class was Mechanics of Materials (3rd Edition, 1990):
It is one thing to understand his derivations and how it all works but it is entirely different thing to develop this new understanding from essentially nothing and take the field into uncharted territory. I have an extreme amount of respect for geniuses like Stephen Timoshenko, Euler and Bernoulli.
In order to keep the clutter to a minimum I will put these two options at the very bottom of the HTML menu under “Advanced Options”. I will also add them into the global settings so they will default to the preferred choice of the user everytime the tool is run:
The simple report style will be one page report only showing the loading the diagram and the design results, supports and loads tables. The detailed report will probably be about seven pages showing all the calcs and additional graphs.
Here are the different EB (Euler-Bernoulli) and TIMO (Timoshenko) deflections for the same simple supported beam with a basic UDL (no self weight, just the external load applied) :
As you can see the Timoshenko analysis yields slightly more deflection since we are accounting for deflection from both shear and bending. According to my calculations my results are within less than 0.05% of the theoretical value so I think the algorithm is working correctly
Now I need to check a few different multi-span configurations as well as overhangs to make sure everything is indeed robust.
When I calculate the Timoshenko beam I’m wondering if I should adjust the tabulated E value since it is being adjusted for the shear already by %3 for sawn lumber per Appendix F of the NDS (Sec. F.3). So the listed value is is actually 3% larger than the (shear-free) or true value of E.
P.S.
As many of you know the genesis of the Truss plugin and hence the beginning of all my plugin efforts was the Truss Calculator on my website. What I started as a mere engineering academic exercise slowly evolved into a multi-year development project and ultimately a business. My goal has always been to one day bring that engineering directly into SketchUp and by doing so eliminate the data bottle neck between the architect and the engineer. This extension is a huge first step in that direction. So much more to do but I am seriously excited that I have finally gotten it off the ground and we are nearing the finish line to a functional product.
I still have completely finished the PDF reports since I’ve had my head so buried in the Timoshenko stuff for a couple of weeks (probably not a good use of my time but I couldn’t resist). Here is some output for a couple of cases (two span and three span beam, equal spans with a UDL). What is interesting is the shape of the deflection graphs for the Timoshenko analysis. I think the numbers are correct but to be honest I really don’t have another 3rd party program I can fully test against.
I’m using a kappa of 5/6 and a G of 1/16 the E value, so in this case G = 106,250
Also I am just using the listed value of E for my Timoshenko calculations even though it already includes a 3% bump for shear built in.
As a sanity check I multiplied my calculated value of G above by 10,000 in the code and then ran the TIMO analysis, the results are almost identical to the EB analysis as expected, so that tells me that with an extreme stiffness the TIMO degrades to an EB analysis as it should in theory. Here are the links to the TIMO analsys with a 10,000X inflated G:
I’ve added the Engineering and HVAC plugins to the Lifetime license bundle:
If a multi-year license is purchased we are also willing to offer the Electrical, HVAC and Engineering plugin licenses at no additional cost and their licenses will also reflect the same number of years as the multi-year option that was chosen.
The report body is slowly coming together a few more tables to add on the first page of the report but at least I have the bending (moments) engineering piece added now. I would say I’m about 95% done. Of course once I complete the full report then I will need to do some extensive testing and verifications.
Here is a simple two span beam with a single point load centered on the first span:
Here are a couple examples, everything should be complete, but I will now spend the next couple of weeks error checking and seeing if I can break the engine or the report formatting. I will also need to test against other third party programs to make sure all my calcs are indeed correct. It is amazing how easy it is to make errors in the code on something this extensive.
Currently the calculator will only handle sawn lumber beams. Once I’m fairly certain I’ve eliminated any bugs or other issues I will then extend the logic so we can handle glulam and timber beams. Once that is done I will probably next work on LVL, LSL, and PSL and then finally I will include the ability to analyze various I-joists from the major manufacturers.
I’ve been slowly working on this for about three months now, probably another month to go.
Enabled a detailed and simple engineering report/analysis for sawn lumber beams.
Added an option to switch between Euler-Bernoulli and Timoshenko beam analysis.
Report now includes live load and total load deflection graphs.
Shear, Moment and Deflection graphs can be toggled to all load combinations within the report.
Tutorial 1 - Beam Calculator
I’m very excited about this release, it is the first time in history (that I know of) that one can do actual engineering all within SketchUp. The API is magical, you can turn SketchUp into just about any thing you can imagine.
Steel beams are a whole different animal as compared with wood engineering. I will first complete all of the wood engineering (ie. glulam, LVL etc…) and if there is enough call from the user base I will probably also extend it to handle W-flange beams.
Honestly I haven’t done any significant steel or aluminum engineering since about 2014 (when I was working in Aerospace, doing structural stuff for Boeing). I will seriously need to review and brush up on my Steel engineering.
The following text is provided on the web page for the Engineering plugin:
The current beam calculator allows one to “run the numbers” for beams created within the beam module of the Medeek Wall extension. Future updates will also allow analysis of structural members created within the Truss, Foundation and Floor extensions.
The design methodology used is ASD (US/Imperial units) and the code standards referenced are the ASCE7-22 for load combinations and the AWC NDS 2024 for reference design values and general wood engineering.
The engineering report produced by the calculator can be toggled between detailed and simple mode. The analysis engine uses the Euler-Bernoulli method by default but can be set to Timoshenko in the advanced options. Both statically determinate and indeterminate beams are analyzed using matrix analysis and the stiffness method (for reference see Chapter 15 of Structural Analysis by R.C. Hibbeler).
Up until now I have ignored the Bearing Area Factor (AWC NDS 2024 - Sec. 3.10.4) since I considered it conservative just to assume it was 1.0, however now I’m beginning to think I should check this and see if it can be utilized. It only adds a bit more complication to the algorithm and should be easy enough to implement.
The other issue I am a bit unclear on is the unbraced length (lu) especially in the case of checking negative moments in multi-span situations (where beam is unbraced along its bottom edge). I’ve checked a number of examples in Donald Breyer’s book “Design of Wood Structures”. Rather than considering the lu as the actual span he is calculating the lu as the distance between the points of zero moment. I could certainly use a bit of clarification on this. Section 3.3.3.4 of the NDS (page 17) only talks about the distance between points of intermediate lateral support.
I will need to study the alternate span loading algorithms, I think Breyer covers it to some degree in his text. I’m not as confident in his text now that I’ve encountered the unbraced length issue. Other engineers I’ve spoken with agree that his method is not conservative and may even be erroneous in some cases. Also I purchased the seventh edition (after the Green cover edition (6th)) in 2014, and when I compared the text to the ASCE7-10 I noticed that the wind load material was all outdated. It was supposed to be updated to include the 2012 IBC and the ASCE7-10. I don’t remember all the details now but I did contact Donald Breyer himself and spoke to him about it. I think his response was something like he is mostly retired and Kelly Cobeen is now mostly responsible for recent updates. Maybe the latest version (8th edition) has finally updated these issues to correct it, but I haven’t bothered to purchase the latest edition since it is already outdated and doesn’t cover the ASCE7-22.
For multi-span beams I will need one additional lateral bracing option: “Braced at Supports”.
This will differ from laterally unbraced option in that the intermediate supports will also be braced (top and/or bottom). Whereas with the “Laterally Unbraced” option only the outermost supports will be braced both top and bottom, and the assumption is that any intermediates supports are not braced.
If the beam has only two supports (simple supported beam) the options “Braced at Supports” and “Laterally Unbraced” will be effectively the same.
I think it is safe to assume that a beam should be fully braced at a minimum of two supports. However my assumption that the default bracing for a multi-span beam is applied automatically to the two outermost supports may be a slight oversimplification.
In the BC Calc notes the following statement is made: “Calculations assume member is braced at ends.” In Forte I think the “blocking” option allows one specify bracing for each support separately, so a bit more flexible than my proposed options.
I just remembered that I did include a “blocking” parameter for each support (edit menu). However it still makes sense to add in the additional “Braced at Supports” option in the case that you want to have all supports braced at the top and then only the outermost supports braced at the bottom. If the blocking option is turned on for a support then one can make the assumption that the support is braced both top and bottom regardless of the overall top and bottom bracing settings. Does this make sense?
This should then provide complete flexibility with regards to lateral bracing and supports.
With regards to negative moments. These usually occur at a support so it is not immediately clear which span is actually the unbraced length. I think it is clear to me that the correct thing to do is to examine the spans on each side of the support (if the support is braced at its bottom) and chose the largest adjacent unbraced span as the unbraced length (conservative).
If the support is unbraced at its bottom at this negative moment then the unbraced length should be the two adjacent unbraced span lengths added together.
In the case of cantilevered beams or beams with overhangs I think one should assume that the support is braced fully (outermost support) and hence braced at its bottom. Then one would simply compare the overhang length and the inner unbraced span and take the larger of the two.
Does anyone see any major holes in this seemingly rational algorithm.
That Bearing Area Factor is something I was never familiar with. Does it allow higher loads or smaller bearing areas if you use it vs. not using it (what I would assume you mean by it being “conservative”)?
IIRC beam size might be OK for loads but beam could fail at the bearing point (perpendicular to grain strength varies for different species) - I am always conservative with this using my gut / experience for timber design as I’m always looking at housing depths for beams, joists and rafters.
Or course you then need to check that the bearing along grain (for posts) works for carrying the beam so we don’t shear off the area under the beam. For joists into housings or pockets it is a different matter but that doesn’t really apply for stick frame work.
It make the allowable a bit higher (11%) as you can see. So it is actually more conservative to just set this factor to 1.0. For a simple supported beam it does not apply, so it is only is a factor with multi-span beams or beams with overhangs.