Container#

Images for DAMASK containers are available on Docker Hub. Details regarding the individual containers are available on DAMASK@Docker Hub. Using containers requires to install Docker (Linux, MacOS, and Windows), Podman (Linux only), or Singularity (Linux, MacOS, and Windows).

Note

Windows users should run the commands on PowerShell or Windows Terminal, not on Command Prompt (cmd.exe).

The following instructions assume that Docker is used on the command line.

Grid Solver#

Install a container that holds the grid solver

docker pull eisenforschung/damask-grid:latest

and run DAMASK_grid with the given arguments (n_threads is the number of threads, load the load case file, geom the geometry file, and material the material configuration file) inside that container

docker run --rm --tty --interactive --volume ${PWD}:/wd --env OMP_NUM_THREADS={n_threads} eisenforschung/damask-grid:latest --load {load}.yaml --geom {geom}.vti --material {material}.yaml

The container transparently maps its internal directory “/wd” to the current external working directory (i.e. the value of environment variable ${PWD}) such that the latter becomes accessible within the container environment.

Mesh Solver#

Install a container that holds the mesh solver

docker pull eisenforschung/damask-mesh:latest

and run DAMASK_mesh with the given arguments (n_threads is the number of threads, load the load case file, geom the geometry file, and material the material configuration file) inside that container

docker run --rm --tty --interactive --volume ${PWD}:/wd --env OMP_NUM_THREADS={n_threads} eisenforschung/damask-mesh:latest --load {load}.load --geom {geom}.msh --material {material}.yaml

The container transparently maps its internal directory “/wd” to the current external working directory (i.e. the value of environment variable ${PWD}) such that the latter becomes accessible within the container environment.

Processing Tools#

The processing tools can be used within IPython or JupyterLab.

IPython#

Install a container that provides the processing tools in IPython

docker pull eisenforschung/python-damask:latest

and start an interactive IPython shell with imported DAMASK processing library within that container

docker run --rm --tty --interactive --volume ${PWD}:/wd eisenforschung/python-damask:latest

The container transparently maps its internal directory “/wd” to the current external working directory (i.e. the value of environment variable ${PWD}) such that the latter becomes accessible within the container environment.

JupyterLab#

Install a container that provides the processing tools in JupyterLab

docker pull eisenforschung/jupyter-damask:latest

and start a JupyterLab instance with imported DAMASK processing library within that container

docker run --rm --tty --interactive --volume ${PWD}:/wd -p 8805:8805 eisenforschung/jupyter-damask:latest

The container transparently maps its internal directory “/wd” to the current external working directory (i.e. the value of environment variable ${PWD}) such that the latter becomes accessible within the container environment. JupyterLab starts an HTML server listening on port 8805 which is mapped to 8805 on the host system.

Note

If the port 8805 is in use by another application, replace 8805 left to the ‘:’ with the number of a free port and edit the URL in your browser accordingly.