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 https://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:

Skew arch units
The bending moment (due to self-weight) about Beam Axis 2 is the same for each arch:

Bending moment due to self-weight
Torsional moments are very close to zero for all arches:

Torsion moment
Large frame model (2730 nodes and 7065 beams)

Results for 3 strings of columns compared with Strand7 results

Solution times for the three solvers:

Large Frame Solution Time (solver only)
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.