As stated in the previous post, this post will cover the calculation of beam actions and displacements when one or more supports have a defined vertical displacement, using the pyCBA beam analysis package. The Python code has been updated since the previous post, so the revised code and associated spreadsheets should be downloaded from:


The procedure used for analysis with specified support deflections in the latest update is:
- Find results with no displacement at all fixed supports. This is easily done using the original input data ranges, but select only the first three columns of the Supports data.
- At the first support with a specified displacement, set the support translation restraint to 0 and apply unit upward force.
- Calculate the force required for the specified displacement:
Specified displacement/displacement due to unit force - Apply this force at the support, and add the resulting actions and displacements to the results from the first stage.
- Repeat for each support with a specified displacement.
This procedure is shown step by step in the screenshots below and is included on the DefStages sheet of the py_CBA-def-stages.xlsb file. The final results are compared with the results of a Strand7 analysis, with near exact agreement.
Analyse with no deflection at fixed supports:

At the first fixed support, set translation restraint to zero, and apply unit upward force:

Apply force required for the specified displacement, and add results to the first stage results:

Repeat for Support 2:

and Support 3:

Final results are in near exact agreement with Strand7:

Strand7 output for the same beam:
