diff --git a/Setup/README.md b/Setup/README.md index 5e1de4ebea27450da75cfc0a05c22bc73316777e..9075fe0c020cd5808ac48d6fc56588a0c48a5162 100644 --- a/Setup/README.md +++ b/Setup/README.md @@ -29,18 +29,27 @@ in the command line. Note: If you don't have admistrative rights on your system, ask your systemadmin to perform these steps for you. The user that wants to run `docker` needs to be in the docker group. If you have added yourself to the docker group, don't -forget to log out and back in again. A reboot might be required, so if in doubt, -do that. +forget to log out and back in again. ## Manual how to set up latest fenix image in Docker Pull the latest `Fenics` Docker image docker pull quay.io/fenicsproject/stable:latest -This code as been tested on the latest docker version, which is as of October 2020 `Fenics 2019`. The above explains how to pull the latest `Fenics` docker image. Drastic changes to Fenics are envisioned for the next release, notably abandoning the mesh tool `mshr` which this code heavily relies on. Therefore, before even starting, check on the `Fenics` [website](https://fenicsproject.org/download/) if another version of `Fenics` has come out. -If yes, you are free to check whether or not this code still works under the latest version, but things might have broken. +This code as been tested on the latest docker version, which is as of October +2020 `Fenics 2019`. +The above explains how to pull the latest `Fenics` docker image. +Drastic changes to Fenics are envisioned for the next release, notably +abandoning the mesh tool `mshr` which this code heavily relies on. +Therefore, before even starting, check on the `Fenics` +[website](https://fenicsproject.org/download/) if another version of `Fenics` +has come out. +If yes, you are free to check whether or not this code still works under the +latest version, but things might have broken. In that case, the code needs to be adapted first. -Alternatively, look on [the release cite](https://quay.io/repository/fenicsproject/stable?tab=tags) for the latest 2019 tag and pull the 2019 image. +Alternatively, look on +[the release cite](https://quay.io/repository/fenicsproject/stable?tab=tags) +for the latest 2019 tag and pull the 2019 image. So assuming `2019.1.0` was the latest tag for the 2019 version, you would run docker pull quay.io/fenicsproject/stable:2019.1.0 @@ -52,14 +61,18 @@ Move into the folder in which you cloned this directory and run docker run --dns=129.69.252.252 -it --env HOST_UID=$(id -u $USER) --env HOST_GID=$(id -g $USER) --env DISPLAY=unix$DISPLAY --device /dev/dri --volume /tmp/.X11-unix:/tmp/.X11-unix:rw --volume $(pwd):/home/fenics/shared --name LDD-TPR-fenics2019 quay.io/fenicsproject/stable:latest /bin/bash This will setup your current folder as shared directory for the `Fenics` docker -image. +image. Once you stepped into the docker image (see below), this shared +directory can be found in `~/shared`. +This directory is used to share files between your system and the docker +container. As you most likely will be programming on your system and only step +into the docker container to run a simulation, this is a necessary mechanism. + Note: If you pulled a version of docker with a fixed tag, you need to adapt the line `quay.io/fenicsproject/stable:latest` in the above to `quay.io/fenicsproject/stable:2019.1.0`. If you want the container do be automatically deleted after exiting add `--rm` option. - If you have trouble with internet connection inside the container use --dns=YOUR_DNS_SERVER @@ -89,11 +102,13 @@ example: python3 demo_poisson.py ``` - It is good practice to update the system in your `docker image` so run sudo apt-get update && sudo apt-get upgrade +Have a look around running `ls`. You should see the folder `shared` from where +you are, which should be the fenics home directoy. + ## Install missing python3 modules Once you are in the container navigate into the `Setup` of the cloned repository. This should be achieved by running @@ -146,26 +161,48 @@ Remove image **Solution** -1. If the package is not found first `apt-get update` and then try again. If there is no connection -check your dns settings. +1. If the package is not found first `apt-get update` and then try again. +If there is no connection check your dns settings. -2. In the container, execute once the script `Rechtesetup/setpermissions.sh` to gain write access in `/home/fenics/shared` +2. In the container, execute once the script `Rechtesetup/setpermissions.sh` to +gain write access in `/home/fenics/shared` cd /home/fenics/shared/Rechtesetup & sudo ./setpermissions.sh -## Nützliche FEniCS Links +## Usefull FEniCS Links +The dolphin documentation including introductory documentation and demos +can be found here -- Fenics based forums: + [Dolphin (latest)](https://fenicsproject.org/docs/dolfin/latest/python/index.html) - https://www.allanswered.com/community/s/fenics-project/ + [Dolfin (2019.1.0)](https://fenicsproject.org/docs/dolfin/2019.1.0/python/index.html) + + [Dolfin (2018.1.0)](https://fenicsproject.org/docs/dolfin/2018.1.0/python/index.html) + +It is sometimes usefull to look at older docs to find the right answers. +- Python API references: +An index for API references of dolphin (both cpp and python) can be found +[here](https://fenicsproject.org/docs/dolfin/). +The python API references can be found here -- Python API reference (die von der neuesten Version existiert quasi noch nicht): + [Dolphin (Fenics latest)](https://fenicsproject.org/docs/dolfin/latest/python/api.html) - https://fenicsproject.org/docs/dolfin/2017.2.0/python/programmers-reference/index.html + [Dolphin (Fenics 2019.1.0)](https://fenicsproject.org/docs/dolfin/2019.1.0/python/) + [Dolphin (Fenics 2018.1.0)](https://fenicsproject.org/docs/dolfin/2018.1.0/python/index.html) -- Fenics git wenn man wirklich mal in die source files schauen möchte: + [Dolphin (Fenics 2017.2.0)](https://fenicsproject.org/docs/dolfin/2017.2.0/python/programmers-reference/index.html) + +It is sometimes necessary to have a look at older versions because some details +are better explained there and the docs have not been updated yet. + +- Fenics git in case you want to view the source files: https://bitbucket.org/fenics-project/ + + +- Fenics based forums: + + https://www.allanswered.com/community/s/fenics-project/