Medeek Engineering
-
An example of some distributed and point loads applied to a steel (W) beam:
I could also do something like this for the distributed load representations, thoughts?
Now I just need to add the supports and we are done with the engineering geometry.
After that I need to figure out the finite element analysis (matrix analysis) engine that will be used to calculate the shear, moments and deflections of the beam (single or multi-span). Since the number of loads and supports is potentially unlimited there is no one classical equation that will solve this problem:
-
The last matrix analysis engine I wrote was for the truss calculator, its been a while. The good news is that I have my textbook on how to do it and it turns out that the beam analysis problem is really only a one dimensional problem, much less complicated than a two or three dimensional problem. This is going to be fun, just so you guys no I'm on summer vacation right now so let me have some fun with a bit of engineering.
This is my reference and favorite text on the subject matter:
-
An example of a beam with loads and supports:
Clicking the control key allow the user to insert supports by their center and then bearing length.
View model here:
3D Warehouse
3D Warehouse is a website of searchable, pre-made 3D models that works seamlessly with SketchUp.
(3dwarehouse.sketchup.com)
-
Insertion of a support:
-
When you assign a support with blocking (lateral bracing) then it will be drawn with a dashed line (both sides of beam) as shown to indicate that bracing is being provided at that location:
-
Editing a support:
-
The beam engineering geometry features are now complete. You can now add, move, delete or modify an unlimited number of supports, distributed loads and point loads. If the beam itself is modified there is also a function to regenerate all of the engineering geometry to properly match the updated beam width and depth.
The next step will be to work on the actual engineering engine (FEA) and add in additional engineering (global) parameters. Some of these parameters will be things like deflection limits etc...
-
Great stuff Medeek
Really super study script to understand loads and reactions.
How about an FEA just for fun.???
Thanks for all your good workdtr Architect
-
Moving a distributed load:
It may be more intuitive to select the distribute load and then select whether to move the start or end point, rather than just moving it by its center point. Granted, one can modify the start and end locations within the edit menu.
-
The updated toolbar with the “Engineer Beam” icon added.
-
Version 0.8.0 - 03.14.2021
- Created the Medeek Engineering Plugin, utilizing SketchUp's Ruby API (BETA release).
I haven't paid much attention to this plugin for about 8 months as I have been so busy updating all of the other plugins (Wall, Truss, Foundation and Electrical). When I get some more time I will get back to work on the matrix analysis engine that is required for the calculation module. For now you should be able to add loads and supports to beams created with the beam module of the Medeek Wall plugin.
The plugin is very much in BETA right now, however I wanted to at least get it out so people can start playing with the load and support tools and give me any feedback they might have.
The BETA/Trial version of the plugin can be downloaded here:
Note, that you cannot purchase this plugin yet. I will not enable purchasing until I have completed the calculation module and brought it out of BETA status.
-
First look at a sample load diagram that will be generated within the report:
I was going to include the numerical values but it clutters things up too much so I think it makes more sense to just include the appropriate tables below the diagram with all of that information.
Notice how P3 is essentially on top of D1. The point loads and distributed loads can be anywhere along the beam so things may become a little cluttered even with my best attempts at trying to make the diagram as clear as possible.
If you look at the output from Weyerhaeuser's Forte app, my diagram is similar in many respects but somewhat more detailed.
One thing I have not considered yet is what if the user wants to input negative (uplift) loads. I will need to give that some more thought and figure out if that is something I should add and then determine how to best represent an uplift load.
The other thing I realized is that unlike a truss, I'm actually only dealing with a one dimensional structural entity here. Do I really need the grid? It does help show the size of the beam (the length and depth are to scale) but otherwise there is really no need for it.
Thoughts overall?
-
Now that I have the shear, moment, slope and deflections algorithms in place for point loads it is just a matter of algebraically adding multiple loads for more complex loading scenarios (ie. multiple loads and load cases). Here is a very simple example of two point loads applied to a two span beam. Note that self weight of the beam is not yet being considered:
I need to add some formatting logic into the top beam diagram to account for shorter spans so the dimensions don’t run into the supports as shown. This is why a lot of testing and debugging is necessary.
This beam engineering tool with its matrix analysis engine is probably the single most complicated piece of code I’ve ever written, it certainly rivals the truss calculator (2013) and the complex roof (2019) module. I will admit that I now freely use ChatGPT with some of my coding puzzles lately and surprisingly it even understands the context of what I’m coding and offers suggestions to improve the accuracy and efficiency of the engine itself.
The numerical integration (for the slope and deflection) was initially stymied by incorrect boundary condition constants and I had no easy way of analytically solving for them. At that point I was fully aware of the issue but I was stumped at how to arrive at the right solution. ChatGPT suggested a normalization algorithm which proved to be correct and was even an easy fix within the algorithm. It’s like having a really smart graduate student looking over your shoulder pointing out what your doing wrong and how to make it all better.
-
I’ve been wanting to finish this beam calculator for some time now so I’m trying to dig deep and see if I can’t get it out the door, even if it only has the capabilities to handle wood (sawn lumber, glulam, SCL, I-Joist) beams and joists initially..
Unlike my previous web based beam calculator this new tool will be completely open ended, there will be no limit on the number of supports or loads one can assign. Each load can have up to six different load types (dead, live, live roof, snow, wind, or seismic) So in a sense it is a general solver or engine which makes it quite powerful and much more useful in my opinion.
The one other harsh reality with engineering though is that the code is always changing. I will need to continually update the tool as future revisions to the ASCE7 and NDS are released as applicable. I’ve noticed as I review various copies of the ASCE7 (2005 - 2022) that the load cases are continually changing, which I find a bit odd, you would think that after years of refining the code we would slowly arrive at suitable load combinations and stick with them. This constant flux is rather annoying to be perfectly honest, and makes me really question the powers that be and why they can’t iteratively arrive at a standard and eventually stick with it.
We all know how the (engineering) sausage is made. Why continually tweak the recipe? The technology and materials used in the building industry has not dramatically changed in my lifetime (50+ years). All of this continual tweaking and minor adjustments to the engineering code really does nothing to safety of the structure in my mind and simply adds to the cost of engineering since new software updates are required and additional training is imposed. Maybe the ASCE needs to keep itself relevant and the revenue from selling updated pricey copies of its signature standard (ASCE7) is a serious cash cow? I don’t know what the story is with all of this but I feel I need to rant a bit when I just shelled out $260.00 for a paperback book that I will only crack open once every few months at best.
-
@medeek said in Medeek Engineering:
you would think that after years of refining the code we would slowly arrive at suitable load combinations and stick with them.
yeah, but then without so many conflicting standards, where would we be? all those jobless standards bearers would be out on the street making mischief... lol
-
First look at the shear and moment diagrams being generated by the report generator. It took me most of yesterday and today to learn the ropes of Chart.js, an open source charting library for Javascript. It's not perfect but it does seem to get the job done. My only real issues with it is that I still can't figure out how to make it render to a higher resolution (300 dpi for printing purposes). The sample below is a screenshot of the PDF that is printed from the HTML output.
-
I am using the stiffness method per Ch. 15 of R.C. Hibbeler’s book, Structural Analysis. For intermediate loads between supports I use (FEM) fixed end moments. I’m actually still working on the matrix analysis piece. I’ve got point loads pretty much in place I’ve just got to implement distributed loads next. I suppose I could have it generate the entire polynomial for both shear and the moments since I am generating them for each applied load, it is probably just matter of using superposition on them as well.
Here is a first look at the ability to switch between various load cases for the deflection graph:
Advertisement