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.