Installation

Option 1: With FEniCSx binaries installed

Clone the repository and install the package:

git clone https://github.com/Universite-Gustave-Eiffel/elastodynamicsx.git
cd elastodynamicsx/
pip3 install .

Test by running an a demo:

python3 demo/weq_2D-SH_FullSpace.py

Option 2: Build a dedicated docker image

Because it can still be somewhat tricky to install fenicsx, the package provides two docker files, for use within a shell (Dockerfile.shell) or within a Jupyter notebook (Dockerfile.lab). Here we show how to build the docker images and how to use them.

Clone the repository and build a docker image called ‘elastolab:latest’:

git clone https://github.com/Universite-Gustave-Eiffel/elastodynamicsx.git
cd elastodynamicsx/
docker build -t elastolab:latest -f Dockerfile.lab .

Run the image and shares the folder from which the command is executed:

docker run --rm -v $(pwd):/root/shared -p 8888:8888 elastolab:latest

# Open the URL printed on screen beginning with http://127.0.0.1:8888/?token...
# The examples are in /root/demo; the shared folder is in /root/shared

Dependencies

Main dependencies:

DOLFINx version: 0.8.0
  • DOLFINx-MPC. This dependency is optional (periodic BCs).

DOLFINx-MPC version: 0.8.1
  • numpy

  • pyvista and matplotlib for 3D/2D plots

Optional packages:
tqdm (progress bar for loops)