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 damaskmultiphysics/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} damaskmultiphysics/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 damaskmultiphysics/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} damaskmultiphysics/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 damaskmultiphysics/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 damaskmultiphysics/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 damaskmultiphysics/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 damaskmultiphysics/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.