Beam Fixed End Actions by Macaulay’s Method

Following the previous post examples have been added to the Macaulay Spreadsheet illustrating the use of the method to find fixed end moments and reactions for a beam fixed at one or both ends, and subject to any number of combinations of trapezoidal distributed loads and point loads and moments.  The beam may be of uniform cross-section, or divided into any number of segments with different properties.  The download spreadsheet contains full open source code.

The basis of the method is:

  • Find the slope of the ends for the applied loads assuming simple supports, using SSSpan.
  • Find the end slopes due to a unit moment applied at the end.
  • Solve the resulting simultaneous equations to find the end moments that will give the calculated end slopes under your loads, with a simply supported span.  The fixed end moments are the equal and opposite reactions to these moments.

This procedure is incorporated in the User Defined Function (UDF) FEA().  The screenshots below show a description of the UDF input and output, and some examples taken from Formulas for Stress, Strain, and Structural Matrices, Walter D. Pilkey and The Reinforced Concrete Designer’s Handbook, C.E. Reynolds and J.C. Steedman.  Finally a more complex example has been compared with the results of a Strand7 analysis.  In all cases the UDF results and the formula or analysis values are in exact agreement.

FEA Input and Output

Uniform Distributed Load

Triangular Distributed Load


Point Load

Partial Uniform Distributed Load

Partial Triangular Distributed Load


Uniform Distributed Load

Increasing Triangular Distributed Load

Decreasing Triangular Distributed Load


Complex Loading

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

2 Responses to Beam Fixed End Actions by Macaulay’s Method

  1. Thanks for your contribution. However, I have found the beam2 Excel spreadsheet quite confusing. What is L – the inclined or horizontal length. How do I input a horizontal UDL and how do I input an inclined UDL (Parallel to the beam)? Can I use global and/or member X, Y and Z coordinates for the direction of the load? I have also seen that if I enter fixed ends for both sides of the beam, there is an #name? error. Thanks. Paul –


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

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