Stephan Kaufmann

Institute of Mechanical Systems

Swiss Federal Institute of Technology, ETH Zürich

CH-8092 Zürich, Switzerland

E-mail: stephan.kaufmann@imes.mavt.ethz.ch

URL: http://www.zfm.ethz.ch/~kaufmann/

© 2004 by Stephan Kaufmann

Version 1.8, May 2004

This package is written for Mathematica Version 3.0 or higher. It does not work with earlier versions.

Copy the directory MechanicsExplorers with its all contents into the directory <Mathematica installation directory>/AddOns/Autoload.

You can also use the AddOns/Applications directory. In this case, you have to manually load the package before using its functions.

Rebuild your help index (use the command Rebuild Help Index in the menu Help).

On a multi-user systems, you can use your <personal Mathematica directory> instead of the <Mathematica installation directory>. Your <personal Mathematica directory> is identical to the value of the global variable $PreferencesDirectory.

If you are using Mathematica 3.0, you must copy the file FrontEnd/Palettes/BeamPalette.nb to the directory <Mathematica installation directory>/Configuration/FrontEnd/Palettes or <personal Mathematica directory>/FrontEnd/Palettes.

This package uses the Euler-Bernoulli theory for (small) deflections of thin elastic straight beams.

The coordinate system is chosen such that the x-axis lies parallel to the beam and points to the right, the y-axis points vertically downwards, and the z-axis points backwards into the screen.

The z-axis coincides with the axis of a main moment of inertia (). Only forces in the y-direction and moments in the z-direction are considered. Torsion and elongation are neglected.

The basic function of this package is . It calculates the shear force , the bending moment , and the deflection y (as well as its slope y') for beams with given loads (discrete forces, distributed forces, and discrete moments), supports (simple or fixed), and possibly hinges. The bending stiffness can be described by arbitrary functions; discontinuities have to be expressed with the help of functions (from the standard package Calculus`DiracDelta`). E is Young's modulus, the main moment of inertia about the z-axis.

The solution is calculated by integrating the following well known differential relations is the distributed force in y-direction):

Discrete forces and moments (either given externally or in the supports) are added in the form of functions. An unknown force has to be added in a simple support, an unknown force and an unknown moment in a fixed support.

The unknown forces and moments, as well as the constants of integration, can be determined by taking into account the following relations.

In a simple support at :

In a fixed support at :

In a hinge at :

Furthermore, the limits of and as x approaches the end points of the beam from outside of the beam, have to vanish.

This works for statically determinate and statically indeterminate systems.

The functions of this package work best if the positions and values of supports and loads are dimensionless numerical quantities. As far as possible, the solutions can also be derived for symbolic values. But, in this case, the results tend to be complicated, and the plotting functions will not work. If you want to use units, please read the remark below.

All functions defined in the package can be used from the BeamPalette which appears in the File > Palette menu after the installation. There are three levels of simplicity for the interaction with the package:

You are guided through the use of the functions, either by dialogs, or by text which is pasted into your notebook. The corresponding switch (Input by Dialogs or Input by Evaluating Expressions) can be set from the palette. All calculations are done with hidden work objects.

The medium level also uses hidden work objects for the definitions and calculations. But here, the palettes only paste templates into the notebook. You are expected to supply the parameters and to evaluate the expressions.

The advanced level basically uses the same functions as above, but you are requested to give a name for the beam and for the solution. Instead of constructing a beam step by step, you can directly define the end points, supports, and loads in a Beam object.

In the advanced mode, the solution has to be calculated explicitly with the function SolveBeam. The resulting object can then be plugged into the drawing, printing, and plotting functions.

The following symbols are used to represent supports and loads of beams.

A simple support:

A fixed support:

A hinge:

A positive discrete force:

A positive distributed force:

Moments (positive and negative):

It is possible to add units; the unit names are just treated as symbolic quantities. But the package cannot differentiate between units and other symbol names. In order to simplify the results, additional information should be given in the form of positivity definitions for the unit names. For example:

In[1]:=

In[2]:=

The package has to be loaded manually, if it is not installed in the AddOns/Autoload directory.

Loading the package.

In[3]:=

In the simple user mode, all functions operate on hidden work beams and work solutions. When necessary, the solutions are calculated automatically.

Usually, in the simple user mode, the palette buttons are used. But it is also possible to call the functions directly, normally by giving an empty argument. Except for the construction functions, this coincides with the medium user mode.

After loading the package (see Installation), you can either use at the default work beam (it has a fixed left end and a force at the right end) or start constructing your own beam. The construction is done by adding supports and loads, and possibly defining the end points of the beam, or the bending stiffness. After the construction phase, various plots can be drawn, or the results can be printed in a nicely readable form, or they can be returned as pure functions for further calculations.

By default, every change of the loads and supports of the work beam is drawn into your notebook. And also by default, your input is requested by dialogs. This default behavior can be changed with the Switches palette.

Setting the switches.

The input mode using dialogs is not very useful for the examples in this notebook. Therefore, we click at .

In[4]:=

Out[4]=

A beam consists of the left and right end points, a bending stiffness function, and definitions for supports (simple or fixed) and (moments or forces), and, possibly hinges. The default end points are 0 and 1, the default bending stiffness is a constant. A beam is "constructed" by adding definitions for the elements.

Constructing a beam.

We clear the work beam ().

In[5]:=

Now we define a fixed support at 0 () and a simple support at () and introduce a force at () and a moment at (). The text cells are automatically pasted into the notebook.

Replace the placeholder in the following input cell by the position of the fixed support. Then evaluate the cell.

In[6]:=

Replace the placeholder in the following input cell by the position of the simple support. Then evaluate the cell.

Out[6]=

In[7]:=

Replace the placeholders in the following input cell by the position and the value of the force. Forces pointing downwards are positive. Then evaluate the cell.

Out[7]=

In[8]:=

Replace the placeholders in the following input cell by the position and the value of the moment. Moment vectors pointing into the screen are positive. Then evaluate the cell.

Out[8]=

In[9]:=

Out[9]=

The drawing and plotting functions automatically solve the work beam, if necessary, and display the requested result. The positive (y-) axis in the representation of deflections and slopes points downwards (see the definition of the coordinates).

Plots and drawings of beams and solutions.

By using the button, we can draw all relevant results in one step. The solution is calculated automatically.

In[10]:=

Out[10]=

These functions print the results in a nicely readable form. Discontinuities are represented by printing the formulas and the corresponding intervals. The printed results cannot be used for further calculations, because they are written in term of a string "x" (to avoid possible conflicts with a global variable x).

Printing results in a nicely readable form.

Let us look at the shearing force () and at the bending moment () of our work beam. The results already have been determined.

In[11]:=

In[12]:=

The results can be requested in the form of pure functions containing UnitStep functions. These results can be used for further calculations.

Results in the form of pure functions.

The deflection of the beam, written as a pure function, has the following form ().

In[13]:=

Out[13]=

This function can, e.g., be evaluated for a couple of values.

In[14]:=

Out[14]=

The medium level also uses hidden work objects for the definitions and calculations. But, here, the palettes only paste templates into your notebooks. You are expected to supply the parameters and to evaluate the expressions. This level is preferable once you have learned which parameters should be inserted into the construction functions.

Only the switch SetDrawEach makes sence here. If set True, all changes of supports and loads are automatically reflected by a drawing.

Setting the switch to draw or not to draw all changes of supports and loads.

Advanced users can access to the hidden work beam and work solution. The SetWorkBeam and SetWorkSolution functions require the knowledge Beam objects and solutions. They are mainly useful when working with the advanced form of the functions.

Accessing the work beam and the work solution.

Let us glimpse at the work beam and at the work solution. (Their structure will be explained in the section for advanced users.)

In[15]:=

Out[15]=

In[16]:=

Out[16]=

In this solution, we can see the forces and moments in the supports. The force at 0 is , the moment at 0 . The force at is .

Constructing a beam.

We can remove the moment which has been added last to the work beam.

In[17]:=

Out[17]=

Instead, we add a distributed force.

In[18]:=

Out[18]=

The solution of the work beam can be requested explicitly, even though it is calculated automatically when necessary.

Solving the work beam.

We can request the solution for the new work beam.

In[19]:=

Out[19]=

Drawing and plotting beams and solutions.

This produces a plot of the deflection.

In[20]:=

Out[20]=

The plot is a little bit clearer than the sketch.

In[21]:=

Out[21]=

But the forces and moments in the supports are visible here.

Printing results in a nicely readable form.

The slope now hat the following form.

In[22]:=

Results in the form of pure functions.

Except at the positions of discrete forces and moments, the derivative of the bending moment is the negative shearing force.

In[23]:=

Out[23]=

In[24]:=

Out[24]=

The advanced level basically uses the same functions as above, but you are requested to give a name for the beam and for the solution. Instead of constructing a beam step by step, you can directly define the length, supports, and loads in a Beam object.

In the advanced mode, the solution has to be calculated explicitly with the function SolveBeam. The resulting object can then be plugged into the drawing, printing, and plotting functions.

All construction functions can either be used to manipulate a Beam variable, or their result can be assigned to a variable.

Constructing beams.

This defines the variable b1 to be an empty beam of length 1.

In[25]:=

Out[25]=

In[26]:=

Out[26]=

We now add two simple supports and a force.

In[27]:=

Out[27]=

In[28]:=

Out[28]=

In[29]:=

Out[29]=

The same could have been achieved in one step by a functional approach.

In[30]:=

Out[30]=

Instead of constructing beam step by step, they can also be defined directly. Beams are represented by Beam objects. A Beam object contains two lists.

The first list defines the left and right end points and the bending stiffness (given as a pure function with UnitStep expressions defining the discontinuities).

The second list defines the supports (Simple and Fixed elements), hinges (Hinge elements) and loads (Force and Moments elements).

The structure of Beam objects.

This defines the beam from above.

In[31]:=

Out[31]=

When working with several beam objects, it is useful to assign the solutions to variables. These solution variables can the be analyzed with the plot and print functions.

Calculating the solution of a beam problem.

We solve the beam b1 from above.

In[32]:=

Out[32]=

The solution is a list with two elements. The first element is a list containing the shearing force, the bending moment, the slope, and the deflection (written as pure functions). The second element is a Beam object containing the original elements plus Force and Moment elements for the forces and moments in the supports.

The structure of a beam solution.

Drawing and plotting beams and solutions.

We can look at all relevant results.

In[33]:=

Out[33]=

Printing results in a nicely readable form.

This is the formula for the deflection.

In[34]:=

Results in the form of pure functions.

Between the supports, the deflection is a cubic polynomial.

In[35]:=

Out[35]=

We will use similar names for the beams. To avoid warnings, we turn off the spelling checker.

In[36]:=

This is a simply supported beam with a load in the middle.

In[37]:=

In[38]:=

Out[38]=

In[39]:=

In[40]:=

In[41]:=

Out[41]=

We might use symbolic values for the length and the force in this statically determinate beam with a fixed support.

In[42]:=

A numerical value has to be given for a drawing.

In[43]:=

Out[43]=

The solution can be calculated with the symbolic parameters. We can ignore the warning.

In[44]:=

The deflection can be printed with the symbolic parameters.

In[45]:=

y | = | , | 0 | < | x | < | L |

But plotting is only possible if all parameters are numerical.

In[46]:=

Out[46]=

We now consider a statically indeterminate system with a distributed load and a moment.

In[47]:=

In[48]:=

Out[48]=

In[49]:=

The deflection function looks like this:

In[50]:=

With a numerical value for m, we can draw and plot the results.

In[51]:=

Out[51]=

The following beam contains a hinge, which makes it statically determinate.

In[52]:=

In[53]:=

Out[53]=

In[54]:=

Because there are no loads to the right of the hinge, the bending moment vanishes.

In[55]:=

In[56]:=

Out[56]=

We now consider a statically determinate beam with a fixed support.

In[57]:=

In[58]:=

Out[58]=

In[59]:=

In[60]:=

Out[60]=

The shearing force is constant.

In[61]:=

= | 1 | , | 0 | < | x | < | 1 |

In a physical system, the fixed support might be realized by a sequence of simple supports.

In[62]:=

In[63]:=

Out[63]=

In[64]:=

In[65]:=

Out[65]=

In such a system, the forces in the supports can become much larger than one might expect from the idealization by a fixed support.

In[66]:=

Let us look at a beam with a hinge.

In[67]:=

In[68]:=

Out[68]=

In[69]:=

The hinge is similar to having a very small bending stiffness in a small interval.

In[70]:=

In[71]:=

Out[71]=

In[72]:=

In[73]:=

This shows the solution of the beam with the hinge.

In[74]:=

Out[74]=

And this shows the simulation of the hinge by an interval of small bending stiffness.

In[75]:=

Out[75]=

But neither should the interval size be reduced with the same scale as the bending stiffness.

In[76]:=

Out[76]=

Nor should the bending stiffness be made too small (if there is a non-vanishing bending moment on both sides of the "hinge").

In[77]:=

Out[77]=

The explanation of these two effects is left to the reader.

Created by Mathematica (May 3, 2004)