A Python module for shell analysis based on the Reissner-Mindlin plate theory and implemented with FEniCSx, the next generation of the automated PDE solver FEniCS. We exploit an unconventional locking-free shell formulation presented by Campello et al. with extension to use quadrilateral elements. This formulation has also been implemented with the legacy FEniCS by Jeremy Bleyer in his tutorial on Linear Shell Model, which has inspired the development of this module in many ways. The generic formulation and implementation make it convenient to be applied to different applications and also interchangeable with triangular and quadrilateral elements. Examples contain validation test cases from shell obstacle course and also more applied problems including structural analysis on different aircraft wing models.
In order to use this module, one should have the FEniCSx library installed first. There are several approaches to install FEniCSx based on the user's operation system and self preferences. For Windows users, you will need to use a Windows Subsystem for Linux (WSL) for the installation, and Ubuntu for Windows subsystem is preferred.
Conda makes it easy for version control and intergration with other Python modules. You will need to install Conda first, and follow the instructions to create an environment for FEniCSx.
If you are using an Ubuntu system, you are able to install FEniCSx locally by the Ubuntu PPA distribution.
Within the environment where you have FEniCSx installed, run:
git clone https://github.com/RuruX/shell_analysis_fenicsx.git
cd shell_analysis_fenicsx/
pip install -e .
Now you can test your installation by running the examples under the shell_analysis_fenicsx/examples/
directory. To run the tests, you should go into the directory, for example, examples/scordelis_lo_roof/
, and run scordelis_lo_roof.py
. If the installation was successful, you will be able to see the outputs of the simulation results, and you can also check the results through visualization by openning solutions/u_mid.xdmf
in Paraview.