Edit 29 Nov 2012: I have now added an xls version to the download zip file. This also has a much smaller example model, which will solve quickly using the VBA solver, so will be more useable for anyone having problems with the Alglib solver.
The compiled matrix functions featured in recent posts (Compiled Matrix Functions for Excel; Using Regasm.exe), have now been incorporated into the Frame4 spreadsheet (Download here), and also Frame4Buckle (Download here). Both spreadsheets include full open-source code, and the Frame4 download also includes the necessary interface files (ALMatrixLib.tlb and ALMatrixLib.dll), and the AlgLib dll file (Alglibnet2.dll). Step by step installation instructions are given below; see the previous posts for some shortcuts, and details of how to compile the program yourself (not necessary, unless you want to modify the code, or just follow the process).
- Copy the files: ALMatrixLib.dll, ALMatrixLib.tlb, and alglibnet2.dll to your C:\Windows\System32\ folder.
- Copy the spreadsheet files to any convenient directory.
- Click on “Start” (bottom left)-Computer and find the latest Microsoft.NET\Framework folder. On my machine this is at C:\Windows\Microsoft.NET\Framework\v4.0.30319
- Right click on the final folder name (at the top of the window) and select “copy address as text”
- Click on “Start” and enter cmd in the search box
- Right click on the cmd icon under Programs(1) and select Run as Administrator
- It is necesary to move to the folder containing the Regasm.exe file. In the command line window enter: CD space , right click and paste the folder path name.
- Ensure that you are in the correct folder then enter:
regasm /codebase C:\Windows\System32\ALMatrixLib.dll /tlb
(with path amended as required) or copy this line and right click at the command prompt to paste it.
- Check that there is no error message. If there is, check the spelling of the command and that you opened the cmd window “as administrator”.
- If there is no error, close the command prompt window.
- Open any of the three downloaded spreadsheets and check if the Alglib functions are working. If not:
- Press Alt-F11 to open the Visual Basic editor window.
- Select Tools-References-Browse, go to \Windows\System32 and select ALMatrixLib.tlb.
- Return to the spreadsheet, which should now work correctly.
- This process should only be necessary once.
- Any problems, let me know.
The new code gives a respectable improvement in performance; how much? – see below:
To use the compiled code ensure that the necessary files are installed then simply click the “Use Alglib Sparse Solver” check-box as shown below. Note that if the Alglib routines are not properly installed the solver will automatically revert to the VBA routine, and the check box will automatically de-select.
The screenshots below show the frame included with the download spreadsheet, and an example of bending moment diagrams plotted for selected beams.