Problem with file downloads

There has been a problem with the web site where I host my files for downloading, with the result that any links for file download will not have been working.

I have copied all the linked files to:
New file location

I have edited most of the recent links, but if you find one that doesn’t work, try the link above.

If you still have problems, please leave a comment below.

Update 28 July 2008: The file link has now been transferred to a new server, with the old domain name: New new file location

Please leave a comment if you have any problems

Posted in Uncategorized | Leave a comment

Newton’s Cradle

Previous animation post

I have added a Newton’s Cradle animation to the animation file posted previously:

Animation.zip

The animation finds the correct period for the input string length and starting angle, and displays the movement of the balls in real time.

Posted in Animation, Drawing, Excel, Newton | Tagged , , , | 4 Comments

Drawing in Excel-4

This post will look in a bit more detail at the methods presented in the previous post.  It would be a good idea to open the previous post on another tab, or download the example file and open the code in the Visual Basic editor.

For each of the shapes in the example code the shape was added to the “shape collection” (and hence displayed on the active worksheet) with a command of the form, either:

set VariableName = ActiveSheet.Shapes.addShape(parameters)

or

with ActiveSheet.Shapes.addShape(parameters)
.property = PropertySetting
end with

or the similar:

ActiveSheet.Shapes.addShape(parameters).property = PropertySetting

For two of the methods used in the example (AddCurve and AddPolyLine) a different form is allowed; e.g.:

ActiveSheet.Shapes.AddCurve (PointArray)

will add the curve specified by PointArray to the shapes collection.  Note the space between AddCurve and the parameters.  The editor will add the space if necessary for those methods where this form is acceptable, otherwise it will tell you that it is expecting a “=”, and one of the forms described earlier must be used.

I have no idea what is the logic (or if there is any logic) behind the way the different methods are handled, but it seems to me best to stick with command forms that will work for all the shape methods.

It can be seen that there are a variety of methods to create simple shapes, for instance a straight line can be created using:

AddLine
AddPolyline (with one segment)
AddShape
ConverttoShape
or even AddCurve

Similarly the dodecahedron can be created with AddPolyline, ConverttoShape or AddShape, but using AddCurve with the same coordinates produces a different shape.

In general I will be using AddLine or AddPolyLine in most cases, with AddShape being used for arcs and circles (or ellipses) or if a regular polygon is required.

The final point concerns the naming of shapes.  Each of the shapes except the dodoecahedron created with the AddPolyline method have been given a name at the time of their creation.  Shapes not explicitly named are given a name consisting of a description followed by a sequence number, such as FreeForm44.  Since the sequence number will increment as shapes are created and deleted it is impossible to know what any given shapes allocated name will be, so if you will need to select a shape using VBA code at any time the shape should be named explicitly at the time of its creation.

Posted in Drawing, Excel, VBA | Tagged , , , | 3 Comments

The history of the theory of beam bending – Part 3

In the previous post in this series I took the story up to 1773 and the work of Coulomb, skipping over the work of the Bernoulli family and Euler, which in the modern context was certainly the most important advance in the entire story. In this post I shall rectify that omission, and discuss why this work was largely overlooked by practicing engineers until the second half of the 19th Century.

Jacob Bernoulli investigated the deflection of cantilever beams as an exercise in the application of the infinitesimal calculus, originated (in Continental Europe) by Leibnitz.  Bernoulli published a preliminary discussion of the problem in 1694, and a final version in the year of his death, 1705.  He followed Mariotte’s original assumption that the neutral axis would be located at the bottom of the beam (i.e. on the compressive face).  Assuming that plane sections remained plane he equated the nett bending moment across the section to the external bending moment, and derived the equation:

C/r = Px

Where P is the vertical load applied to the end of a horizontal cantilever, x is the distance from the load to the section, C is a stiffness factor, and r is the radius of curvature of the section.

For a rectangular beam C was given as:

 C = mbh2/3

Where m is an elastic constant, and b and h are the width and height of the beam.

Due to his use of Mariotte’s assumption regarding the location of the neutral axis, his expression for C was double the correct value; however the general form of the equation was correct, and was used later by Daniel Bernoulli and Euler in their investigations.

According to Timoshenko, the contribution of Johann Bernoulli (Jacob’s younger brother) to the field of the elastic properties of materials was of little importance, although he did formulate the principal of virtual displacements, which seems to me a significant enough development. Johann’s son, Daniel, and his pupil Leonard Euler collaborated to apply the mathematical advances of the early 18th Century to the investigation of the deflection of beams, and the associated problem of the stability of columns.

Daniel Bernoulli (1700-1782) suggested to Euler that he should apply the variational calculus in deriving the equations of elastic curves in a letter where he said “Since no one is so completely the master of the isoparametric method as you are, you will very easily solve the following problem in which it is required that ∫ds/r2 shall be a minimum” (1). Daniel Bernoulli was also the first to derive the differential equation governing lateral vibrations of prismatic bars, which equation was integrated by Euler. Bernoulli made a series of verifying experiments, and above his results he wrote to Euler: “These oscillations arise freely, and I have determined various conditions, and have performed a great many beautiful experiments on the position of the knot points and the pitch of the tone, which beautifully with the theory.”(1).

The principal results of Euler’s work on the bending of beams are to be found in his book “Methodus Inveniendi Lineas Curvas Maximi Minive Proprietate Gaudentes” (1744), in which he tackles the problem using variational calculus, and formulates possibly the earliest statement of the principle of least action. Euler felt that problems should be tackled by consideration of both what he called “effective causes” and “final causes”, and so developed both equilibrium and energy based methods to tackle the problems he studied.

To use the method of “final causes” to find the deflection equation for an elastic bar Euler needed an expression for strain energy, which was provided by Daniel Bernoulli. Euler used variational calculus to obtain Jacob Bernoulli’s differential equation for elastic curves, and integrated this to obtain the correct formula for the deflection of the end of a cantilever:

f = PL3/3C

Euler called the constant C the “absolute elasticity”, saying that it depended on the elastic properties of the material, and that in the case of the rectangular beams it was proportional to the width and the square of the depth h, rather than the cube. It seems surprising that a mathematician of the stature of Euler should propose a value for this constant that was not dimensionally correct, but it should be remembered that dimensional analysis had not been developed at this time, and in fact when Euler corrected the equation in 1750, based on dimensional considerations, this was one of the earliest successful applications of dimensional analysis.

Again using the “method of final causes” Euler considered the buckling of straight bars under axial load, and simply derived the famous equation:

 P = CП2/4l2

He also successfully derived equations for the vibration of beams, again using the “method of final causes” or energy methods.

By 1750 Euler had derived equations that not only could predict the deflection of beams under transverse load, and the buckling load of beams under axial load, but his methods could be simply extended to the calculation of bending stresses, and hence the bending capacity of beams made of brittle materials. It seems however that his work had little effect on the methods used by practicing engineers for another 100 years. The reasons for this are not clear, but possibilities include:

  • The reputation of Galileo, and the apparent better correlation of his equation with experimental results.
  • The actual failure loads of the stocky brittle members commonly used in the 18th Century were far less than the buckling load predicted by Euler buckling theory.
  • Euler’s results were not presented in a way relevant to the structures of the time, where prediction of deflections of slender beams was not of prime importance.

Whatever the reasons, the results of the Bernoullis and Euler did not become widely used until the use of iron and steel became common in large structures in the 19th Century.

Reference:

  • (1) History of Strength of Materials; Stephen P. Timoshenko
Posted in Beam Bending, Newton | Tagged , , , | 5 Comments

Evaluate Function – update

Previous post

The evaluate function described in the previous post has been used in writing a UDF that will evaluate the integral of any suitable function over a specified range.

The revised worksheet can be downloaded from:

Eval.zip

EvalInt

EvalInt

Posted in Excel, Maths, UDFs | Tagged , , , , | 5 Comments