Installing Python and pyxll from scratch

I recently installed Python and pyxll (plus the required additional libraries) on a new computer, which raised a few problems with incompatible versions, so here is a summary of what worked (as of 26th September 2022):

Office should be installed and working before starting the Python installation. Then download and install Python Rel. 3.10.7 (must be the same bit number as Excel). Make sure that the options to install pip and tcl/tk and IDLE are selected.

When Python is installed the pip library installer can be used to install the rest of the required packages, including pyxll. To install pyxll (see here for more details) enter at a command line:

pip install pyxll
pyxll install

As a minimum, numpy, scipy and pandas should also be installed. For many of the applications published on this blog the numba jit compiler is also required:

pip install numpy
pip install scipy
pip install pandas
pip install numba

For applications requiring the solution of large sparse matrix equations the pypardiso library is recommended as being much faster than the sparse solvers included in scipy. This may now be installed simply with pip:

pip install pypardiso

For working with text based equations and units the following libraries are required:

pip install sympy
pip install pint

Note that sympy requires mpmath for multi-precision arithmetic, but this is now included in the pip installation.

For plotting graphics (including 3D graphs and animations) the following libraries are required. Note that the specific releases listed below are required.

pip install matplotlib==3.5.2
pip install plotly
pip install kaleido==0.1.0post

If earlier or later releases of matplotlib or kaleido have been installed, they can be replaced with the required release with:

pip install –upgrade matplotlib==3.5.2

The “–upgrade” command will work to either “upgrade” or “downgrade” the installed package.

Finally, the sectionproperties application, including all required additional libraries, may now be simply installed with:

pip install sectionproperties

Posted in Animation, Arrays, Charts, Coordinate Geometry, Differential Equations, Excel, Finite Element Analysis, Link to Python, Maths, Newton, Numerical integration, NumPy and SciPy, Python Pandas, PyXLL, UDFs | Tagged , , , , , , , , , , , , , , | Leave a comment

Australasian Engineering Heritage Conference 2022

The Australasian Engineering Heritage Conference will be held at the Engineers Australia Sydney offices at 44 Market Street, Sydney on 12-13 October 2022.

The theme of the conference is: Transport and Communications: Looking Forward – Looking Back.

In addition to a wide range of speakers on engineering heritage and heritage engineering, there will be two very notable keynote speakers: Howard Collins, Chief Operations Officer in Transport for NSW, and Pamela Henderson, Executive Director, Technical Services in Transport for NSW. At the end of the first day there will be an informal networking dinner, when the guest speaker will be Scott MacGregor, the well-known railway presenter and tour guide. There will also be site tours on the second afternoon to Central Station Clocktower and the new Metro Station at Central.

For more information and to register see:

Australasian Engineering Heritage Conference 2022

Posted in Historic Bridges, Newton | Tagged | Leave a comment

RC Design Functions 9.02; DevLength function

The RC Design Functions spreadsheet has now been updated to Version 9.02, and is available for free download from:

RC Design

Changes in the new version include:

The new DevLength function returns reinforcement development length to AS 3600, AS 5100, Eurocode 2, or BS 5400 requirements. An example of the function can be found on the “UMom Out” sheet:

The function output returns the development length followed by the required code factors, which are different for each code:

On the same sheet, the MaxAx function has been updated to return all values:

On the “UShear” sheet examples have been added of the ShearCapEC2 and ShearCapBS5400 functions, which can also be called from the UMomPF function. There is also a correction to the shear capacity results to AS 3600 and AS 5100:

Finally, the shear results from the UMom function have been updated so that the full results are returned with array input of applied actions. See the “Array exmples” sheet for an example:

Posted in Beam Bending, Concrete, Excel, Newton, UDFs, VBA | Tagged , , , , , , , , , , | Leave a comment


Click for full size view

Stereograms, when looked at the right way, reveal a hidden 3D image, or perhaps a hidden message.

The example above was created at:

Easy Stereogram Builder

As well as a very simple tool to create your own stereograms, there are many excellent examples, and background information on ways to see the hidden image.

Another one of mine:

The World in 3D
Posted in Newton | Tagged , | Leave a comment

RC Design Functions 9.01; Shear for Eurocode 2 and BS 5400

The RC Design Functions spreadsheet has now been updated to Version 9.01, and is available for free download from:

RC Design

The UMomPF function returns ultimate bending and axial load capacity to the Eurocode 2 and BS 5400 design codes. It has now been updated to also return shear capacity, and modified bending capacity, allowing for the additional tensile force in the longitudinal steel due to the shear force. Note that in the current version there is no provision for design for torsion.

The main data input array is the same as for the UMom function:

Shear reinforcement and related data input is different to UMom:

The last two input values are only required for Eurocode 2:

  • The shear capacity in Eurocode 2 is calculated with a strut and tie model. The angle of the compression strut to the horizontal is specified by the Cotangent of the angle, which must be in the range 1.0 to 2.5.
  • The additional longitudinal tension is limited to the force that would increase the applied bending moment at the section to more than the maximum moment along the beam.

If the Cot(strut angle) input is not entered (or is outside the range 1.0 to 2.5) the function adjusts the angle so that the maximum shear controlled by concrete compression is equal to the shear capacity of the shear reinforcement:

In this example the shear capacity (712 kN) is well over the applied shear, but the adjusted moment capacity (492 kNm) is less than the applied moment.

Entering a Cot Theta value of 1.2 reduces the shear capacity and also reduces the additional longitudinal force:

The reduced shear capacity of 508 kN is greater than the applied shear (500 kN), but the adjusted moment capacity (547 kNm) is still just under the bending moment at the section.

Entering a moment of 650 kNm as the maximum moment along the beam reduces the additional longitudinal force to 207 kN, and the adjusted bending capacity increases to 589 kNm:

The shear capacity calculation in BS 5400 is simpler, and the Cot Theta and maximum moment values input have no effect on the results:

In this case the shear capacity is greater than the final value found using Eurocode 2, but the bending capacity is significantly lower, and after adjustment for shear it is below the required value.

Posted in Beam Bending, Concrete, Excel, Newton, UDFs, VBA | Tagged , , , , , , , | Leave a comment