Published November 14, 2020 | Version 1.1.0
Software Open

Supplemental material for the article entitled "A simple higher-order beam model that is represented by two kinematic variables and three section constants"



This archive contains the Python code used in the paper by Honickman and Kloppenborg entitled "A Simple Higher-Order Beam Model that is Represented by Two Kinematic Variables and Three Section Constants" (DOI: 10.1177/1081286520988876). This Python code was used to investigate the performance of the beam model, and to produce the figures used in the paper. This archive also contains the FEA files for the finite element analysis validation performed in the paper.

Contents of the Archive

This archive contains two sub-folders: fea-validation and shear-paper-python. The fea-validation folder contains the NASTRAN input deck (shear-paper-F1-linear-000.dat) used in the paper and the NASTRAN output file (shear-paper-f1-linear-000.op2). The shear-paper-python file contains the following contents:

  • Beam/: a Python module that implements the Honickman-Kloppenborg beam model, as well as several other existing beam models. This module uses the Finite Difference Method to solve the differential equations of these models.
  • environment.yml: a file defining the conda environment used for running and testing the Python code
  • figures.ipynb: the Jupyter Notebook that was used to produce the figures for the paper.
  • LICENSE.txt: the license that applies to the Python code in this supplemental material.
  • README.html: this file

Computational Environment

This Python implementation has been tested and run using an Anaconda distribution of Python 3.8.1 running on an Intel x86-64 machine running the Ubuntu 20.04 operating system.

The computational environment used by the authors is a conda environment.

You can reproduce the conda environment used by the authors by first installing the Anaconda python distribution. You must next create a new conda environment based on the environment.yml file in this ZIP archive. To do so, run the following command in the terminal (in the same folder as environment.yml):

conda env create -f environment.yml

Each time you want to use this environment, you'll have to run:

conda activate shear-paper

If you wish to run the Notebook, you'll also need LaTeX installed on your system. If you're using the texlive distribution, you'll also need the texlive-latex-extra package, and depending on your system, you may need dvipng as well.

Running the Model

There is a Jupyter Notebook that contains the code used to produce the figures for the paper. This notebook provides an example of how the model is used. In order to run the notebook, open a terminal in the folder containing the Notebook (figures.ipynb) and run:

conda activate shear-paper
jupyter notebook


Files (5.5 MB)

Name Size Download all
5.5 MB Preview Download