Martin Sharp, Disraeli Gears, and Tales of Brave Ulysses

When I heard on the radio today of the death of Australian artist Martin Sharp I thought I wasn’t familiar with his work.  I was wrong; he was one of the founders of Oz magazine, which all the cool guys read when I was at school, and through a chance meeting with Eric Clapton he provided the artwork for Cream’s 1967 album Disraeli Gears:

Disraeli Gears

Disraeli Gears

He also wrote the words for Tales of Brave Ulysses (on the back of a napkin). Hear the story here:

And listen to the full song un-interrupted here:

The image used in this video is Ulysses and the Sirens by Herbert James Draper

You thought the leaden winter would bring you down forever,
But you rode upon a steamer to the violence of the sun.
And the colours of the sea bind your eyes with trembling mermaids,
And you touch the distant beaches with tales of brave Ulysses,
How his naked ears were tortured by the sirens sweetly singing,
For the sparkling waves are calling you to kiss their white laced lips.
And you see a girl’s brown body dancing through the turquoise,
And her footprints make you follow where the sky loves the sea.
And when your fingers find her, she drowns you in her body,
Carving deep blue ripples in the tissues of your mind.
The tiny purple fishes run laughing through your fingers,
And you want to take her with you to the hard land of the winter.
Her name is Aphrodite and she rides a crimson shell,
And you know you cannot leave her for you touched the distant sands
With tales of brave Ulysses, how his naked ears were tortured
By the sirens sweetly singing.
The tiny purple fishes run lauging through your fingers,
And you want to take her with you to the hard land of the winter

Farewell Martin Sharp, it seems I knew you better than I realised.

 

Posted in Bach | Tagged , , , , , | Leave a comment

Aspects of Love from Buffy Sainte-Marie

Buffy Sainte-Marie was (and continues to be) one of the great North American singer-song writers of the post-war era, but she never achieved the recognition accorded to others of her era such as Joan Baez and Joni Mitchell.  According to her Wikipedia article she was subject to active and personal censorship during the 70’s by Lyndon B. Johnson and his government.

Here are three very different samples of her work, taken from her 1965 album “Many a Mile”, which was I think the third LP I ever bought.  The first tells of the innocence of young love, the second the exact opposite, and the third something somewhere in between.

Posted in Bach | Tagged , , , , | Leave a comment

Continuous Beam spreadsheet with moving load

I have added a moving load function to the ConBeamU spreadsheet, allowing maximum load actions and deflections to be determined in a continuous beam  under the influence of a vehicle defined by a number of point loads.  The new version may be downloaded from ConBeamU Download, including full open-source code.

The procedure to use the new function is:

  • Define: Beam Segments, Supports, and fixed Distributed and Point Loads, as for the other beam analysis functions:
Beam segments, supports, and fixed loads

Beam segments, supports, and fixed loads

  • Define the moving vehicle loads (axle loads and axle spacing), load factors and output units:
Vehicle loads and axle spacing, load factors, and output units

Vehicle loads and axle spacing, load factors, and output units

  • Define the output actions or deflections required, and their location along the beam, with a two row range of as many columns as required.
  • Define the vehicle positions to be analysed with a column of positions of Axle 1 of the vehicle.
  • The loads generated for any specified vehicle position may be displayed by entering the vehicle position above the Loads graph:
Fixed load details, Output actions and positions, Vehicle positions, and output results

Fixed load details, Output actions and positions, Vehicle positions, and output results, Click for full size view

Bending moments, shear forces and deflections for a 3 span bridge deck under AS 5100 MS1600 loading are illustrated in the graphs below:

MovLoad4 MovLoad5 MovLoad6

For convenience, the input data areas used in the analysis shown have been shaded grey, but the input may be rearranged as desired, and then the MovLoadU function re-enetered, selecting the new ranges.

A summary of the input and output of this, and all the other functions included in the spreadsheet, may be found on the Functions sheet:

Click for full size view

Click for full size view

Posted in Beam Bending, Excel, Frame Analysis, Newton, UDFs, VBA | 17 Comments

Unit aware continuous beam spreadsheet update

The ConbeamU spreadsheet provides Excel user defined functions (UDFs) for the analysis of continuous and simply supported beams and cantilevers using Macaulay’s method.  It allows complex combinations of any number of partial distributed loads, point loads and moments, with changes in section properties along the length of the beam, and partial restraint to translation and rotation at the supports.  All functions have a “unit aware” version, allowing input and output to be in any of a wide variety  of units.  Full details are included in the download file (ConbeamU.zip) and at: Continuous Beam Spreadsheet – with Units.

Recently using the spreadsheet I noticed that some features were not particularly friendly, such as if a blank column was selected for an optional input range, this caused the functions to return an error.  This has now been fixed, and some other features added for added convenience:

  • Any number of rows may be selected for each input range.  The ranges will automatically be adjusted to the length of the continuous block of data in the first column (see the previous post for details of the range selection functions).
  • Data in optional columns may now be deleted without requiring the input range to be reselected to remove the blank range.
  • The input areas in the examples have been rearranged to allow data ranges to be extended more conveniently without re-entering the functions (but note that the functions can be re-entered anywhere on the spreadsheet).
  • The examples checked against Strand7 results have been moved to a separate file.
  • Two functions to plot the input loads have been added.  PlotLoads and PlotMom allow the input loads to be plotted conveniently without re-adjusting the graph ranges.

Typical input and output is shown in the screenshot below.  The spreadsheet, including full open source code, may be downloaded from: ConbeamU.zip.

ConbeamU; click to view full-size

ConbeamU; click to view full-size

Posted in Beam Bending, Excel, Frame Analysis, Newton, UDFs, VBA | Tagged , , , , , , , | 1 Comment

Selecting Ranges from a UDF

In the process of tidying up the ConBeamU spreadsheet (which will be posted here in the next few days) I decided to revise the routine for converting input ranges to arrays.  The input for the continuous beam analysis functions consists of several ranges of variable length.  The functionality required of the routine to read the data is:

  • Extend or reduce the range size to the length of continuous data in the first column.
  • Return the number of rows and columns in this range.
  • Convert the range object to a variant array

This task is performed by the EndDown function below:

Function EndDown(InRange As Variant, Optional Vol As Boolean = False, Optional NumRows As Long = 0, Optional NumCols = 0) As Variant
Dim SelectRows As Long, NextRow As Variant, LastRow As Long, TopRow As Long

    If Vol = True Then Application.Volatile

    If TypeName(InRange) = "Range" Then
        SelectRows = InRange.Rows.Count
        NumCols = InRange.Columns.Count
        TopRow = InRange.Row

        '  Check for a single row
        NextRow = InRange.Offset(1, 0)(1, 1).Value2
        If IsEmpty(NextRow) = True Then
            NumRows = 1
            InRange = InRange.Resize(1).Value2
        ' Else use xlDown to return all rows to the first blank cell
        Else
            LastRow = InRange.End(xlDown).Row
            NumRows = LastRow - TopRow + 1
            InRange = InRange.Resize(NumRows).Value2
        End If

    Else
        NumRows = UBound(InRange)
        NumCols = UBound(InRange, 2)
    End If
    EndDown = InRange
End Function

This function, and two related functions, EndRight and EndBoth, can be downloaded from GetRange.xlsb, including full open source code.

These functions can also be used on the spreadsheet, as shown in the screenshot below:

EndDown, EndRight and EndBoth functions combined with Sum function

EndDown, EndRight and EndBoth functions combined with Sum function

Note that by default any changes to data outside the selected range (outside the yellow range in the screenshot) will not cause the functions to recalculate. To change this behaviour, so that a change to a cell value anywhere on the spreadsheet will trigger a recalculation, set the optional second function argument to TRUE, as shown in cells H11 and I11.

Posted in Excel, UDFs | Tagged , , , | 3 Comments