Theme Music?

Galaxy Dynamics by John Dubinski 

“… Gravitas points clearly at ties between the ideas of Isaac Newton and the music of Bach. To do this with sounds and images that appeal to club kids and new music fans equally is a major achievement.”

http://www.galaxydynamics.org/gravitas.html

Milky Way-Andromeda

Posted in Bach, Newton | Leave a comment

The history of the theory of beam bending – Part 1

The theory of the flexural strength and stiffness of beams is now attributed to Bernoulli and Euler, but developed over almost 400 years, with several twists, turns and dead ends on the way.

Galileo Galilei is often credited with the first published theory of the strength of beams in bending, but with the discovery of “The Codex Madrid” in the National Library of Spain in 1967 it was found that Leonardo da Vinci’s work (published in 1493) had not only preceded Galileo’s work by over 100 years, but had also, unlike Galileo, correctly identified the stress and strain distribution across a section in bending.

The complete scanned text of the Codex Madrid (20 pdf files, each of about 40 MB) may be downloaded from: http://historical.library.cornell.edu/kmoddl/toc_leonardo1.html

The relevant page is Folio 84, reproduced below.

Codex Madrid
 

The page is translated with further commentary here:

 http://memagazine.org/contents/current/webonly/webex418.html

“Therefore, the center of its height has become much like a balance for the sides. And the ends of those lines draw as close at the bottom as much as they draw away at the top. From this you will understand why the center of the height of the parallels never increases in ‘ab’ nor diminishes in the bent spring at ‘co.’”

In spite of Leonardo’s accurate appreciation of the stresses and strains in a beam subject to bending, he did not provide any way of assessing the strength of a beam, knowing its dimensions, and the tensile strength of the material it was made of.  This problem was addressed by Galileo in 1638, in his well known “Dialogues concerning two new sciences.  Illustrated with an alarmingly unstable looking cantilever beam supported by a wall, Galileo assumed that the beam rotated about the base at its point of support, and that there was a uniform tensile stress across the beam section equal to the tensile strength of the material. 
Galleo’s Beam
 
From this he derived a bending strength equal to the tensile strength of the beam multiplied by half its depth.

 Due to the incorrect assumptions of uniform stress across the section and rotation about the base of the section Galileo’s result was three times higher than the correct value for a brittle material which has approximately linear behaviour up to its failure load.  The disparity between Galileo’s calculations and actual breaking loads did not go unnoticed, and in 1686 Edme Mariotte’s alternative approach was published.  Mariotte initially retained Galileo’s position of the axis or rotation, but proposed a triangular stress distribution, varying  from the failure stress at the top to zero at the base.  He then proposed (without proof) that the neutral axis should be at the centre of the section, but also introduced an error in his working resulting in the section modulus being double its correct value, as it would be if the neutral axis were at the base of the section as he had initially assumed.

The correct formula was eventually derived by Antoine Parent in 1713 who correctly assumed a central neutral axis and linear stress distribution from tensile at the top face to equal and opposite compression at the bottom, thus deriving a correct elastic section modulus of the cross sectional area times the section depth divided by six.  Unfortunately Parent’s work had little impact, and it was many more years before scientific principals were regularly applied to the analysis of the strength of beams in bending.

To be continued.

   

Posted in Beam Bending, Newton | Tagged , , , , , , , | 10 Comments

Worksheetfunction vs UDF

The previous post provided VBA code for a number of trigonometric functions, most of which are already available in Excel.  Why bother you may say, why not just use the WorksheetFunction object?  The numbers below provide the answer:

Time to calculate ATan2() 65,536 x 16 times

XL2007

XL2000

VBA ATn2() 

1.60

1.21

Worksheetfunction

14.20

3.06

With Excel 2007 using a UDF in preference to Worksheetfunction gives a speed improvement of almost 10 times.  With Excel 2000 the difference is not so dramatic, but still a worthwhile 2.5 times improvement.

Posted in Excel, UDFs | Tagged | 7 Comments

Trigonometric Functions in VBA

Deep within the bowels of the Microsoft on-line help can be found:

http://msdn2.microsoft.com/en-us/library/csfk8t62(VS.85).aspx

which lists  the derivation of trigonometric functions not provided by VBA.  Not included in this list is ATan2(), which is strange because this is the one trigonometric function that is really essential for anyone doing trigonometric or vector based calculations.

The file: http://www.interactiveds.com.au/software/TrigFuncsVBA.zip provides UDF versions of all the functions listed on the Microsoft site, plus 2 versions of ATan2().

See the next post for an illustration of the advantage of using a UDF for Excel functions that are not included in VBA, rather than using the WorksheetFunction object.

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

Hello World in a UDF

An Excel User Defined Function (UDF) is probably the single most useful feature that remains unused by the majority of users. This post will provide a brief introduction with the obligatory “Hellow World” program, followed by something only a little more complicated and much more useful.

Excel UDFs allow users to write their own functions that operate in a similar way to the built in functions. It would for instance be possible, and in fact quite easy, to write a MySum() function that behaved exactly the same as the Excel Sum() function. Fortunately it is also possible to write functions providing functionality that is not built into Excel.

Continue reading

Posted in Excel, UDFs | Tagged , | 4 Comments