More moves through the fair

Following the last Bach instalment, here are three more versions of She Moves Through the Fair.

The first is the “official” Fairport Convention release, with Sandy Denny on vocals.  Much more polished than the demo version posted last time, but it doesn’t capture the same ghostly feel, to my mind.

The second is a live performance from Richard Thompson in 1990 (who would also have been playing lead guitar on the Fairport version), and finally an instrumental version from a very Young Jimmy Page (probably recorded around 1969), with a dash of Blackwater Side, thrown in for good measure.

If you catch a glimpse of the ghosts of Davy Graham or Bert Jansch flitting through the background in the last one, it wouldn’t be at all surprising.

Posted in Bach | Tagged , , , , , , | 3 Comments

Polynomial Update

Following a comment here: Solving cubic and quartic equations with Excel the Quartic and CubicC User Defined Functions (UDFs) have been amended to fix a problem occurring with some combinations of coefficients.

The updated spreadsheet (including full open source code) can be downloaded from: Polynomial.zip

As well as functions to solve Quartic, Cubic and Quadratic equations analytically the spreadsheet includes an iterative method that will solve polynomial functions of any order, using the Jenkins-Traub method, and a function to evaluate polynomial functions of any order.

Posted in Excel, Maths, Newton, UDFs, VBA | Tagged , , , , , , , | 12 Comments

Mohr’s Circle and Plate Stresses and Actions

The functions described in this post can be found in the download file PlateStress.zip, including examples and full open source code.

PlateStress Functions, click for full size view

The function MCircle returns the plane stress components (XX, YY and XY stress) for any specified stress field, when rotated through a specified angle.  If no angle is specified the function returns the principal stresses, and the principal stress angle to the X axis of the original stresses.

MCircle is used in the function PlateStress4, which returns the in-plane forces and moments on a finite element analysis plate element, given the stresses at 4 Gauss Points.  The stresses may either be specified in the element local axis system, or the global XY system, in which case the angle between the X axis and the element longitudinal axis at each section must be specified.  Examples are included in the spreadsheet and illustrated below.

The first example looks at an inclined simply supported beam, modelled with 8 noded plate elements in the finite element package Strand7:

Strand7 results for inclined beam

The spreadsheet analysis of the stresses extracted from Strand7 is shown below, including:

  • Global stresses from the FE analysis
  • Stresses converted to the element local axes with the MCircle function
  • Beam actions found using the global stresses with a rotation angle
  • Beam actions from the local stresses with no rotation angle (identical results).

Plate stresses and beam actions in an inclined beam

The second example is a circular arc subject to vertical point loads, and modelled using 8-noded plate elements and with short straight beam elements:

Strand7 analysis of a circular arc modelled with plate elements and beam elements

The analysis results are shown below, with Strand7 global plate stresses, plate actions found with the PlateStress function, and for comparison beam actions from the analysis using short beam elements:

PlateStress results from Strand7 analysis of a circular arc

Plate results compared with Strand7 beam results for bending and shear force

Posted in Arrays, Beam Bending, Excel, Finite Element Analysis, Frame Analysis, Newton, Strand7, UDFs, VBA | Tagged , , , , , , | 1 Comment

Ghost Stories

The first video was directed by my daughter whilst at the Australian Film Television and Radio School last year, and weaves together stories of hard times in the early days of Sydney’s Newtown district:

Plug in the headphones, switch off the lights, start the video, and click on full-screen

The second combines a poor quality demo recording of Sandy Denny singing “She Moves Through the Fair” with blurred and grainy video of “The Fall of the House of Usher”.  The result is simply perfect:

Posted in Bach, Excel, Films, Newton | Tagged , , , | 1 Comment

Daily Download 33: Miscellaneous

This is the last of the month and a bit of Daily Downloads, and consists of a bumper bundle of 20 spreadsheets with miscellaneous functions that didn’t fit in elsewhere:

Repeating a set of data: for instance making three copies of every row of a range of data, and also extract specified rows or columns, or rows or columns at a specified spacing.
Download file: http://interactiveds.com.au/software/IndexA.zip

Multiple Match Function: A function to find the first row in a table that contains two or more different matching numbers.
Download file: http://interactiveds.com.au/software/Mmatch.zip

A Sort Function: Sort VBA arrays, or use as an array function on the spreadsheet for dynamic sorting.
Download file: http://interactiveds.com.au/software/SortFunc.zip

Adding Function Categories and Descriptions A simple method of adding categories and descriptions to VBA functions (with a link to a more complicated method with greater functionality).
Download file: http://interactiveds.com.au/software/StringFunctions.zip

Using Goal Seek on Multiple Cells:  A simple macro to allow Goal Seek to be automatically applied to a range of cells, arranged in either a column or row.
Download file: http://interactiveds.com.au/software/GSeek.zip

Randomising a list: A VBA subroutine to randomise a list.
Download file: http://interactiveds.com.au/software/randomise%20list.zip

Three UDFs: Three simple UDFs to add every other cell; sum the digits of a number and transpose data from columns.
Download file: http://interactiveds.com.au/software/SumTab.zip

Hello World (again): A bit of fun with text and numbers.
Download file: http://interactiveds.com.au/software/HWorld-JW.xls

The speed of loops:  Looks at the speed of alternative ways of looping through a set of data, with examples in:
Download file: http://interactiveds.com.au/software/CheckLoopSpeed.xls

Code Generator: VBA code to automatically generate VBA code.
Download file: http://interactiveds.com.au/software/Code%20Generator.xls

Comparing floating point numbers : Functions to check if two numbers are equal, to any specified tolerance.
Download file: http://www.interactiveds.com.au/software/CombineArray.xls

The Switch Function (VBA and UDF): Examples of the VBA Switch function, and a UDF providing similar functionality.
Download file: http://www.interactiveds.com.au/software/SwitchPY.xls

Retrieving unique values from a range or array … using the Scripting Dictionary object.
Download file: http://www.interactiveds.com.au/software/GetUnique.xlsb

Update Dec. 2013:

SelectAv Function:  find the average for a number of the most recent values from a range, ignoring the highest (and/or lowest) values from the selected set.
Download file: http://interactiveds.com.au/software/SelectAv.xlsb

Function to make a list of functions …:Make a list of all the VBA procedures in a workbook.
Download file: http://interactiveds.com.au/software/GetProcedures.xlsb

Selecting Ranges from a UDF:

  • 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
  • Download file: http://interactiveds.com.au/software/GetRange.xlsb

Showing numerical values of formulae cell references:
Download file: http://interactiveds.com.au/software/Getrefs.xls

Copy non-blank rows to another sheet:
Download file: http://interactiveds.com.au/software/NonBlank.xlsb

Select and sum data using the scripting dictionary:
Download file: http://interactiveds.com.au/software/SelectSum.xlsb

Using Index() as an array function: Using the Excel built in Index() function to operate on arrays; it also provides a VBA user defined function (UDF), VBIndex, which simplifies working with arrays within VBA, and also provides improved functionality when called from the spreadsheet.
Download file: http://interactiveds.com.au/software/VBIndex.xlsb

All the download files listed over the past 33 days (plus later updates) are free and include full open-source code.  Questions, comments and suggestions are welcomed.

Posted in Arrays, Computing - general, Excel, UDFs, VBA | Tagged , , , , , , , , , | Leave a comment