Container#

Images for DAMASK containers are available on 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:3.0.0-alpha7

and run DAMASK_grid with the given arguments (n_threads, load, geom) inside that container

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

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. Note that the file material.yaml needs to be present in the current working directory, similar to when executing DAMASK_grid directly.

Mesh Solver#

Install a container that holds the mesh solver

docker pull eisenforschung/damask-mesh:3.0.0-alpha7

and run DAMASK_mesh with the given arguments (n_threads, load, geom) inside that container

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

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. Note that the file material.yaml needs to be present in the current working directory, similar to when executing DAMASK_mesh directly.

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:3.0.0-alpha7

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:3.0.0-alpha7

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:3.0.0-alpha7

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:3.0.0-alpha7

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.