Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations SSS148 on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Open Source Analysis/Design Software 5

Status
Not open for further replies.

Celt83

Structural
Sep 4, 2007
2,083
Lately I have been struggling with some of the software we use in our office which seems to not live up to the licensing price tag, ex. RAM not designing slender concrete columns per the latest codes, Enercalc using the wrong 'd' for shear calculations, etc. A few of us at our office have taken to developing our own applications some in python some in vba, think excel spreadsheets with more power, or supplemental excel spreadsheets to handle aspects outside the scope of the software.

I am wondering if an open source alternative existed would the engineering community embrace it or write it off. Seems to be a stigma of if the software wasn't paid for it must not be adequate or maybe not calculate things properly.

If the community here is up for it I am open to creating and maintaining a git hub or similar account to host community created applications for structural analysis and design.

My goal is for this to be geared to Structural Engineering which is why I have posted here and not one of the eng. software pages.
 
Replies continue below

Recommended for you

First up, more power to you. Nothing is ever done well that's not started.

The most successful open source is run by a small group who are dedicated and don't care if anyone else contributes. Some, like the Linux project, have a guy at the core who is basically an ass and is abusive and is brilliant enough to make dealing with his process worth while. Others, like Blender, have a small core of very enthusiastic people who one day woke up and noticed that others liked what they were doing a lot, enough that they work hard on usability as much as core functions.

For projects that don't follow these organization models, they flame out pretty easily. As soon as Sun stopped paying for 'open source' office software, the development pretty much died. Development has now moved to LibreOffice since Oracle gave up using it to undercut Microsoft (its original mission.) Others putter along without much enthusiasm like Gimp does. (interview with the Gimp admin )

If I was going to make an effort in this direction, attaching to the Blender group (Python based) would be an attractive choice as it gives access to a 3D modeling and animation platform for visualization and interaction and there are a lot of people who seem eager to extend the product. It's been around a very long time. I just looked and there's even a book for a whole $8 to help understand integrating add-ons
Ultimately there can be a problem with liability - the appearance of avoiding established vendors to save expenditure doesn't look as good before a jury as one might hope. This is mostly a problem because the big cost is traceability and software QA, which can easily exceed the cost of development. Open source software doesn't typically have QA as much as it ships bug fixes on a frequent basis. Linux is a bit special in this case as it has reached far enough that some companies offer direct support and will do their own in-house QA testing to cover liability and fixes for issues are supposed to be returned under the license to the community. But Blender, et al, or a home built version? Probably not.
 
While I wouldn't want to overegg the OS pudding, all the software I use explicitly states that the supplier of the software is in no way liable for the accuracy of the code or the results obtained. So 'relying' on commercial software is just a crutch. I'll post the exact wording tomorrow.

Cheers

Greg Locock


New here? Try reading these, they might help FAQ731-376
 
Celt83 - Have a look at the Downloads on my blog. It's all open-source and there may be items of interest there for you. The Downloads by category tab is probably the best place to start. I have thought about putting projects on github, but haven't yet because of the time requirement, and also it seems to require a non-trivial amount of learning to use properly, which I'd rather spend doing other stuff, but I still might go that way.

3DDave - Blender sounds interesting, although in the discussion linked below (in response to the question whether it would make a good CAD platform), the responses seemed to vary from definitely not to umm, maybe. It might be a good combination with an Excel/Python based frame/FEA package, but again it looks like a lot of work.

Doug Jenkins
Interactive Design Services
 
I'd be excited to participate in something like this. I've got lots of old code sitting around idle and would like to work on some new stuff if I had some expectation that it would be of value to others.

I like to debate structural engineering theory -- a lot. If I challenge you on something, know that I'm doing so because I respect your opinion enough to either change it or adopt it.
 
3DDave:
Thank you for the reply. I am very familiar with linux, gimp, blender, and several other of the open source offerings. Having only messed around with Blender as a hobby I did play with some of the particle physics and fluid mechanics plugins that I could find at the time so understand the plugin system to be robust. Tying into blender via a plugin could be pretty cool. My current line of thinking was having a set of small one-off modules similar in nature to an enercalc or Tedds. I see blender as a stepping stone into full building modeling.

QA/QC I think can be a strong and week spot for open source with a strong community of both developers and users the QA/QC happens a bit naturally and can be fixed and rolled out quickly, relative to the programming effort required of course. Also being open source in my mind alleviates the "black box" scenario of not knowing what is going on behind the scenes. On the flip side with a week community as you noted above the project as a whole usually suffers.

IDS:
I have read your blog several times as well as checked out some of your spreadsheets. Always impressed with your documentation and blog write ups.

Kootk:
I here you I have dozens of old excel spreadsheets that are sitting dormant. There was a time I was active on ExcelCalcs but fell away from it prior to the site migration to what it is now.

I have a personal GitHub page which can be found here If you want to check anything out I used a default install of Python X,Y for developing the modules there, , version 2.7.10.0 should have all the required dependancies to run anything off my GitHub page.

I will be the first to admit my coding style and documentation are poor currently and something I am working on, I do however try to name variables to match their code counterpart, feel free to contact me if something isn't making sense.
 
Interesting thread, have you thought of using a structural solver API? I'll try to be as objective as possible in its benefits, but our vision is to make structural engineering software more accessible and I think this is a step in the right direction.

An API lets you tap into an established accurate, solver without having to build anything yourself. Rather, engineers can build their own UIs and functions AROUND the solver to meet their needs; all while the solving is done by an established, safe commercial product. To compare the two:

API:
- Free, up to a certain amount of usage
- Solver is accurate and quality controlled by the company
- The computations are run on the cloud via a cluster computer (much faster computations)
- Not fixed to one program or language: can be tapped into from Python, MatLab, Excel, Javascript, other programs etc...
- Multiple solve types: Buckling, p-delta, linear static
- Design modules are automatically managed, updated and maintained by the organization and pushed to the users
- Well maintained documentation

OPEN SOURCE:
- Completely free
- Quality controlled by individuals
- Full control over the actual solver
- Less reliance on commercial products

Could this meet your needs? It could even be used as an aid to open source. For instance the community builds applications that tap into a reliable, powerful solver; hence removing the stigma around using a non-commercial product.
 
GregLocock:
That is my experience also even with our most powerful design applications they all have a waiver of liability as well as a no warranty clause some where in the EULA. I chose to license everything on my GitHub under GPL v2 which states no warranty and also has a liability waiver.

Skyciv:
What you all have created is certainly impressive but at least for me falls back into that "black box" category where I don't know exactly what is being done in the back end cloud to solve the structure, would assume some form of FEM and proprietary algorithms for the post processing and solver. I will say I do really like the hand calc output for the beam module you all have.
 
Celt,
1. Are you married? Do you want to stay married, or create a very successful suite of open source applications for structural engineers.
You might have to choose.
2. As noted above, many successful companies - for profit, not-for-profit... - are run by maniacs. Good for the product offerings and consumer, not so good for everyone else that has to deal with the maniac. If you are a maniac, this might be a good pursuit. I look forward to seeing the end product.
3. Without naming my favorites, the software we structural engineers have available to us is actually pretty good - extremely powerful. Along with a dozen or two dozen custom Excel spreadsheets, are you really convinced that the industry is lacking design tools? Seems like we have the opposite problem - lots of design tools, and very few engineers take the time to learn even 50% of the features.
4. If you do this half way, you're really wasting your time. Few people want to use almost software.
5. My company bills me out at over $200/hour. Considering on a large project I can save hundreds of hours, software is for sure the best business investment we can make after hardware.

My $0.02.
 
Thanks for the the feedback and yes you assumed correct, we use FEM with 1D and 2D elements. I agree, that I think it's important to at least log the calculations to show the engineer exactly what is being calculated, the assumptions taken etc.. The solver is a complex series of matrices which makes this difficult to log and report. However, design modules typically follow methodical, procedures which makes this easy to document - we hope to add this into our modules as we get more users on board.
 
OpenProject... another pretty good program I use...

Dik
 
I do apologise for not posting the wording of the licenses. Would you believe that the licensing information of the 3 packages I use most often are, if not hidden away, at least not easily found? Bizarre.

Cheers

Greg Locock


New here? Try reading these, they might help FAQ731-376
 
ATSE:
I agree with everything you posted, I recently just got married hence the delayed reply. I am admittedly not a maniac but I am willing to step up and try and give the initial shoves to attempt to get the boulder moving.

There is a lot of good software commercially available I do not dispute that, I have just grown tired of seeing release notes buried on back end websites that contain info like this:
"SLAB SELF-WEIGHT MISSED*: Slab self-weight was not determined and applied to two-way slabs.

Effect: Slab self-weight was missing from the slab Dead Load."

Skyciv:
yeah finding a meaningful way to display the back end matrices is difficult, may I suggest at the very least having an option to review the element stiffness matrices generated by your back end. Agreed on the design modules I've been finding the most difficult pieces to be the generalized analysis the design aspects end up as essentially plug into equation x and compare to limit y if even that involved.
 
Celt,
You can probably do much better piggy-backing on to an existing effort. And being more selective about your software purchases. Yes, there is some B- software.
I've spend many hours on my favorite retaining wall spreadsheet, and when I compare it to Retain-Pro, my spreadsheet is lacking. Retain-Pro isn't perfect, but for less than $500, it's a bargain.
You and I can in no way compete with specialized effort.
And continue to complain loudly to other engineers and to the B- software vendors.
 
You could also use some existing finite element solvers and customize your solutions instead of starting from scratch. Here is a list I know of:
EngiSSol 3D frame analysis
AnaxSoft FEEA SDK
SolverBlaze Finite Element Library
 
Mr.Xu:
Thanks for the suggestions some of those look very promising. I have a colleague that has been working on developing FEM for beam elements but some of your suggestions seem to have ability for full 3d FEM, although maybe behind a paywall.

I am going to try to open up my git hub for contribution by all, as soon as I figure out how (maybe create a project?), I have plans to work on a strap beam program inclusive of gui before years end and possibly a concrete retaining wall based on equivalent fluid pressure, already have an excel sheet for this so conversion shouldn't be to bad and should give added flexibility for additional vertical/lateral loads to capture back end of parking areas + handrail loads, etc.

if any of the items on my git hub peak your interest but you don't want to go thru the python install, let me know and I can compile anything to run as an executable in windows without needing an install and email directly.

ATSE:
I get what you're saying but what if we took both our retaining wall spreadsheets and combined them and what if KootK had a spreadsheet as well and it covered some items we didn't and then maybe some other silent lurker on eng-tips had something they added as well....all of a sudden maybe after all that we are at feature parity with Retain Pro or perhaps optimistically we are now doing things they aren't all with the benefit of the end users being able to see and access our code base?

So as you say you and I can't compete but you, I, and maybe a dozen other engineers working in unison in our spare time towards a single calculation goal well now we're getting closer if not surpassing the resources being expended by the development company with an added bonus of being created by those actually detailing/designing this stuff in the real world. Too often I find analytical justification in program manuals that if the programmer had been a practicing engineer would have resulted in either a different result or different approach. An example would be columns integral with basement walls many programs will have vertical load leak out of the column above into the walls resulting in the very odd but mathematically correct phenomena of lower axial force in the column integral in the wall than in the isolated column above.
 
Celt83,

Look up CalculiX. This is an FEA program released under the GNU License. It is Free Software, so you can contribute to the project. Eng-Tips user kellnerp was looking into this, but he has not been online in a while. He was posting in forum572.

--
JHG
 
I think the biggest reason that I wouldn't use this is 90% of the time I want to verify the results and understand exactly what the black box is doing. So; for my typical design I want to have to create my own spreadsheets and other supporting design software so that I know what goes into it and what limitations I've built into the spreadsheet/software.

For the other 10% it's some instance where it's too complicated for me to create my own software or verify it completely (think FEA or similar). For these I want to ensure I have a robust program that has been vetted using standardized verification problems, other engineers, numerous updates and revisions, etc. And I would still make sure the design passes a "back of the envelope" design check to make sure I wasn't way out in left field.

Not saying this isn't a great idea and I do use many spreadsheets created by other engineers (but have verified myself), but it's not something I see myself needing enough to really be enthusiastic about using.

I'd contribute my excel sheets but much of my spreadsheets are made on company time and thus I couldn't share without getting permission from my boss. I'd also want to do WAY more work to ensure it's user friendly. I know what my excel files limitations are but that does not mean it's well documented or completely user friendly.

I honestly think that eng-tips is already the best system. People ask questions and get responses with supporting information, and occasionally people forward spreadsheets/documents/details that fill any gaps. Perhaps what you really should say is that people should be more willing to share spreadsheets and similar.

Professional Engineer (ME, NH, MA) Structural Engineer (IL)
American Concrete Industries
 
drawoh, thanks, I was talking about commercial software. Typically the EULA states that the enormously rich corporation that is charging me tens of thousands a year is not responsible for the accuracy of the software or its results.

here's typical wording (not actually from software but written by the same lawyer)

XXX SPECIFICALLY DISCLAIMS ALL WARRANTIES WITH RESPECT TO YYY OR YOUR USE THEREOF, EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ALL WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. XXX SHALL NOT BE LIABLE FOR ANY SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST REVENUES, LOST PROFITS, OR LOSS OF PROSPECTIVE ECONOMIC ADVANTAGE, RESULTING FROM THE USE OR MISUSE OF YYY.

Cheers

Greg Locock


New here? Try reading these, they might help FAQ731-376
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor