## Frame Analysis with Excel – 4, 2D frame analysis

Continuing from: Frame Analysis with Excel – 3, Continuous beam or frame

The continuous beam spreadsheet presented in the previous post has been modified to deal with 2D frames where any nodes may be connected, and to deal with much bigger structures.  The changes that have been made are:

1. The input has been rearranged to allow (in principle) data to be limited only by the number of rows in the spreadsheet.  I say “in principle” because the size of the problem that can be handled is still limited by Excel’s matrix handling capabilities, and for Excel 2003 and earlier this is a restrictive limitation, but this will be fixed in future versions.
2. The routine for forming the global stiffness matrix no longer assumes that beams are connected end to end in a single line, any 2D arrangement of beams is now possible.
3. The matrix arithmatic operations are now carried out in VBA, rather than on the spreadsheet.

Screenshots below show the new input screens, and the results of the analysis of a 16 bay truss structure, compared with the analysis of the same structure in Strand7.  Note that in the current version this structure is too large for Excel 2003 and earlier, but in the next version a VBA routine for the solution of the stiffness matrix equations will be incorporated, which will allow the analysis of much larger structures.

Input of beam properties, node coordinates, node restraints, and beam connections and property types

Inclined truss

Results of truss analysis compared with Strand7 results for the same structure

This entry was posted in Beam Bending, Excel, Frame Analysis, Newton, Uncategorized, VBA and tagged , , , . Bookmark the permalink.

### 20 Responses to Frame Analysis with Excel – 4, 2D frame analysis

1. Luke Epp says:

Hi Doug,

I developed a similar 2D Frame / Truss analysis software as a term project at university which includes graphical representation of input and deflected structure. The analysis is all performed in VBA. Shear and P-delta deformations are also considered in the analysis. Thought you might be interested in seeing it – if so, drop me a line.

Luke

Like

• Mark Bettney says:

Luke,

I am interested in developing a spreadsheet/program that will analyze open web steel joists, and code check them to the Canadian Code, for in-house use at my consulting firm.

I know all the necessary code checking, but not much about the programming. If you already have the joist analysis program done, you are already 90% there.

Are you for hire?

Mark Bettney

Like

• Sanjay says:

I am interested in understanding how your spreadsheet was designed to perform 2D frame analysis. I have some knowledge of VBA and VB and I have created a few spreadsheets as well. I will be oblidged if you can send your spreadsheet to me.

Like

• dougaj4 says:

Sanjay – where it says: “Download Frame1.zip” at the top of the post, click there.

Also click on : Frame Analysis with Excel – 5; Large frames in Excel 2003 « Newton Excel Bach, not (just) an Excel Blog (Edit) in the comments or use the search box for later versions.

Like

• Avinash Jain says:

hey i wanna to see that programme because it will help me further can u plz send me

Like

• Hello, can i have a look at your worksheet

Like

• Charles Chika says:

Yes ,I will be happy to have it. Thanks

Like

2. a says:

Like

• Red says:

Oug! Smart guy likes color of black box.

Like

3. dougaj4 says:

Sure, use Staad if you like it.

But it won’t teach you much about how it works.

Like

there is an error on x64 excel with “kernel32”

Like

• dougaj4 says:

hadwa – I’m still running 32 bit Excel, so that will be hard for me to resolve. I’ll have a search to see if there is any useful information out there, but if anyone else can provide advice on VBA problems with 64 bit Excel I’d be very grateful.

Like

problem solved, you need to change code at begining of module (add PtfSafe):
Private Declare PtrSafe Function GetFrequency Lib “kernel32” _
Alias “QueryPerformanceFrequency” (Frequency As Currency) As Long

Private Declare PtrSafe Function GetCounter Lib “kernel32” _
Alias “QueryPerformanceCounter” (counter As Currency) As Long

Like

• dougaj4 says:

Where did you find that?!

Like

6. Logan says:

Dougaj4, I realize this is an old post, but I’m hoping you still keep up with comments. I was going through your series on Frame analysis starting with Beam1 and working towards Frame1 and I noticed a change you made with Frame1 that I do not understand. You changed how FEMA is calculated inside of the FEMact function. ‘Alpha’ used to be based on Load Start Position/L which basically gave you a position along the beam in %. But in Frame1, you changed this to just Load Start Position without dividing by L , so it is now a distance and not a %. None of the equations that reference Alpha or Beta changed, so this makes me think one method is in error. Any insight on this? Look forward to any reply on here.

Like

• dougaj4 says:

Logan – all comments are welcome.
You are right; there is an inconsistency there between the beam spreadsheets and the Frame1 and Frame2 (and probably Frame3) programs. To get the correct results with Frame1/2 you have to enter the load start and end positions as a proportion of the beam length (i.e. divide by the beam length). I’ll add a note on the load input sheet.

In the current version (Frame4) I have gone back to entering the load start and end as a length, and it is divided by the beam length in the program. This is probably Revision 1.04 on the “about” sheet. You can download Frame4 from:
http://interactiveds.com.au/software/Frame4.zip

Thanks for the comment

Like

This site uses Akismet to reduce spam. Learn how your comment data is processed.