Excel and MathCAD are the major tools of the trade for structural design, but creating transparent design calculations and standard workflows to use across projects remains a challenge. While Excel is well suited for batch calculations, it is difficult to create a step-by-step design narrative. MathCAD is great for illustrative single element calculations (with unit consideration) but lacks a mechanism for batch calculation and table generation needed for design summaries.
Jupyter Notebooks utilizing the Python programming language can offer a free and open source alternative to this design calculation paradigm, allowing for illustrative and idempotent documentation. These workflows are widely used in the data science and scientific communities to create reproducible reports on an approachable platform that does not require extensive programming knowledge. This workshop will show attendees alternate approaches to creating illustrative calculation documentation using open source software, as well as how to hook into open source interoperability platforms like the BHoM and Speckle to tie their analysis models directly into design calculation creation.
- Introduce concepts from software engineering relevant to the structural engineering profession (i.e. open source, version control, reactive programming)
- Identify open source alternatives to standard design calculation practices (i.e. Excel, MathCAD) and benefits/pitfalls of each approach
- Demonstrate the use of Python (a widely used and approachable programming language) in Jupyter Notebooks for developing transparent and readable design calculations
- Demonstrate utilization of other open source Python libraries and interoperability platforms to directly tie analysis results from standard structural engineering software suites (such as SAP2000) to design calculations.
- Internet connection
- Personal laptops
MathCAD is great for illustrative single element calculations (with unit consideration) but lacks a mechanism for batch calculation
lacks a convenient mechanism