I have now extended the Frame4 spreadsheet to deal with 3D frames. As well as making the necessary changes to the input ranges and stiffness matrix generation routines I have revised the Sparse solver routine, added a new compiled solver, and changed to a more efficient VBA solver:
- In the previous version a full stiffness matrix was generated, which was then converted to hash table format for solving with the sparse solver. This was not only very inefficient, but also limited the size of problems that could be solved because of the large matrix, containing mostly zero values.
- For similar reasons the VBA matrix solver routine has been replaced by a much more efficient one taken from “Programming the Finite Element Method” by Smith and Griffiths.
- The new VBA solver has also been converted to a C# dll, as an alternative to the sparse solver.
The new spreadsheet (including full open-source code) can be downloaded from: 3DFrame.zip
The download zip file includes ALMatrixLib.dll, alglibnet2.dll and ALMatrixLib.tlb which must be installed to use the sparse solver or the compiled solver. See http://newtonexcelbach.wordpress.com/2012/11/16/frame4-now-with-added-alglib/ for instructions on installing and linking to these files.
Warning: This software has had only limited testing and is not fully documented. Do not rely on the output from this spreadsheet for any application where incorrect, ambiguous, or misinterpreted results could have adverse consequences.
Example analyses:
Arch sections rotated about Z axis:
The bending moment (due to self-weight) about Beam Axis 2 is the same for each arch:
Torsional moments are very close to zero for all arches:
Large frame model (2730 nodes and 7065 beams)
Results for 3 strings of columns compared with Strand7 results
Solution times for the three solvers:
These times are for solution of the frame stiffness equations only; setting up the matrix and extraction of the results is performed entirely in VBA and took about 10 seconds for the large frame model. Nonetheless the sparse solver gives dramatic reductions to the solution time, which would potentially make non-linear analysis of even very large models practicable with this spreadsheet.






Good day sir,
may I request for a new link for the download? the one I download seems not to open. thank you very much!
The download file seems OK. Are you using Excel 2003 or earlier? I have added an xls version that should run in 2003 (but I haven’t tested it).
Or did you have trouble opening the zip file?
Please let me know.
Pingback: Daily Download 5: Frame Analysis | Newton Excel Bach, not (just) an Excel Blog
Hey Doug
Sorry to be tedious, but the count functions in Input 1 and Input 2 seem to have lost their references in the excel file, so nels, nn, numLoads, go undefined. A quick fix and it works.
Are you planning on developing the program further, or is it more of an (awesome) academic exercise? I’m going to enjoy playing with it.
Thanks!
Tom – thanks for letting me know. I had set the count range in the .xlsb file to the .xls limit, but I must have inserted a row at some stage, so when I saved as an xls it lost the range references. I have uploaded a corrected copy, although I’d suggest using the xlsb version if you can anyway.
I do intend to keep developing it, although I’d say it was more than an academic exercise as it stands. The main benefit I see in having a frame analysis running in Excel is that it is very easy to set up custom applications using on-sheet formula and/or a bit of VBA.
Pingback: 3DFrame v1.01 | Newton Excel Bach, not (just) an Excel Blog