Sign inSign up

solanpaa/fiend

By solanpaa

•Updated almost 8 years ago

FInite Element Nanoscale Dynamics

Image
0

625

solanpaa/fiend repository overview

⁠Overview

For a quick overview on Fiend, please check the project's Gitlab repository⁠.

⁠Using Docker

We recommend using Docker images for running simulations on your personal computer. For supercomputers and clusters, we recommend either installing the entire package from source or with pip.

To use the prepared Docker image, first install Docker⁠ to your PC. The docker image for Fiend⁠ can fetched with the command docker pull solanpaa/fiend. Please note that the image is a few GB in size.

By default, running the docker image for interactive process,

docker run -it solanpaa/fiend

drops you in a Unix shell. All the scripts are pre-installed, and you can switch between the complex and real PETSc installations with commands ml petsc/real and ml petsc/complex.

You can inquire preinstalled commands from the docker image with

docker run solanpaa/fiend help

To enable GUIs for the scripts, you should launch the docker container with the commands executed on the HOST machine (works on Linux)

$ xhost +local:docker
$ docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:ro -it solanpaa/fiend

As you probably wish to save the datafiles computed within the container, you should create a directory data on your HOST and mount it to the container with

$ docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:ro -v `pwd`/data:/home/fiend/data:Z -it solanpaa/fiend

This also allows you to provide the laser parameters by saving it to a file within data on the HOST and passing the argument --vecpot data/filename to docker run solanpaa/fiend fiend_linpol_propagate.

For non-interactive use, you can pass the above command arguments corresponding to the script you would like to execute together with its arguments, e.g.,

$ docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:ro -v `pwd`/data:/home/fiend/data:Z solanpaa/fiend fiend_linpol_tise --radius 10 --how_many 3

Parallelization of the linear algebra backend can be achieved with the flag -e OPENBLAS_NUM_THREADS N of docker run. MPI-parallelized simulations can be achieved with the environment variable NMPIPROC, e.g.,

$ docker run -e NMPIPROC=3 -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:ro -v `pwd`/data:/home/fiend/data:Z solanpaa/fiend fiend_linpol_tise --radius 10 --how_many 3

⁠Authors

Janne Solanpää

Tag summary

Content type

Image

Digest

Size

3.2 GB

Last updated

almost 8 years ago

docker pull solanpaa/fiend