README.md 6.46 KB
Newer Older
1
![Vadere Logo](vadere.png "Vadere Logo")
Felix Dietrich's avatar
Felix Dietrich committed
2
3
4

---

Daniel Lehmberg's avatar
Daniel Lehmberg committed
5
# Vadere
Felix Dietrich's avatar
Felix Dietrich committed
6

7
Vadere is an open source framework for the simulation of microscopic pedestrian dynamics. Vadere provides generic model classes and visualisation and data analysis tools for two-dimensional systems. A series of pedestrian locomotion models are already implemented in the framework that are also the basis for scientific publications. Namely the optimal steps model, the gradient navigation model, and the social force model are available for simulation studies. In addition to pedestrians, other systems including cars and granular flow can be introduced into the framework.
Felix Dietrich's avatar
Felix Dietrich committed
8

9
This software runs on Windows, OS X and Linux.
Felix Dietrich's avatar
Felix Dietrich committed
10

11
Vadere has been developed by [Prof. Dr. Gerta Köster's](http://www.cs.hm.edu/die_fakultaet/ansprechpartner/professoren/koester/index.de.html)
Jakob Schöttl's avatar
Jakob Schöttl committed
12
13
research group at the [Munich University of Applied Sciences](https://www.hm.edu/) at the
[department for Computer Science and Mathematics](http://cs.hm.edu/).
Benedikt Zoennchen's avatar
Benedikt Zoennchen committed
14
15
However, we welcome contributions from external sources. 

Benedikt Zoennchen's avatar
Benedikt Zoennchen committed
16
The Vadere framework includes a mesh generator for unstructured high-quality 2D meshes called **EikMesh** which is described [here](https://gitlab.lrz.de/vadere/vadere/wikis/eikmesh/Overview). 
Felix Dietrich's avatar
Felix Dietrich committed
17

18
19
## Pipeline Status

20
21
| Branch  | Pipeline Status  | Coverage |
|:--------|:----------------:|:--------:| 
Benedikt Kleinmeier's avatar
Benedikt Kleinmeier committed
22
| master  | [![pipeline status (master)](https://gitlab.lrz.de/vadere/vadere/badges/master/pipeline.svg)](https://gitlab.lrz.de/vadere/vadere/commits/master) | [![coverage report (master)](https://gitlab.lrz.de/vadere/vadere/badges/master/coverage.svg)](https://gitlab.lrz.de/vadere/vadere/commits/master) |
23
| stable | [![pipeline status (stable)](https://gitlab.lrz.de/vadere/vadere/badges/stable/pipeline.svg)](https://gitlab.lrz.de/vadere/vadere/commits/stable) | [![coverage report (stable)](https://gitlab.lrz.de/vadere/vadere/badges/stable/coverage.svg)](https://gitlab.lrz.de/vadere/vadere/commits/stable) |
24

Felix Dietrich's avatar
Felix Dietrich committed
25
26
## Installation

27
### Download Releases
Daniel Lehmberg's avatar
Daniel Lehmberg committed
28

Daniel Lehmberg's avatar
Daniel Lehmberg committed
29
30
31
32
33
Latest build of master:
* [Windows](http://www.vadere.org/builds/master/vadere.master.windows.zip)
* [Linux](http://www.vadere.org/builds/master/vadere.master.linux.zip)

Stable releases and selected branch-builds are located on [www.vadere.org/releases/](http://www.vadere.org/releases/)
Daniel Lehmberg's avatar
Daniel Lehmberg committed
34

35
36
The ZIP file contains:
* **README.md** - this README file. 
Daniel Lehmberg's avatar
Daniel Lehmberg committed
37
* **vadere.jar** - provides Vadere with a GUI. 
38
* **vadere_console.jar** - provides the command line version of Vadere and allows easy integration into other applications. 
Daniel Lehmberg's avatar
Daniel Lehmberg committed
39
40
* **VadereModelTests** - contains test scenarios for pedestrian locomotion models. Note: The tests are also useful for a "getting started" (see below "Run Built-In Examples" for details).

Daniel Lehmberg's avatar
Daniel Lehmberg committed
41
To execute the `.jar` files it is highly recommended to use Oracle Java 8.  
Daniel Lehmberg's avatar
Daniel Lehmberg committed
42

43
### Build from Source
Daniel Lehmberg's avatar
Daniel Lehmberg committed
44
45

#### Dependencies
Felix Dietrich's avatar
Felix Dietrich committed
46
47
48
49

* Java 8
* Maven 3.0
* Git
Benedikt Zoennchen's avatar
Benedikt Zoennchen committed
50
* OpenCL (optional but recommended)
Felix Dietrich's avatar
Felix Dietrich committed
51

52
53
**Note:** Please, ensure that the Git executable can be found in the `PATH` variable of your operating system.

Benedikt Zoennchen's avatar
Benedikt Zoennchen committed
54
#### Install OpenCL (optional but recommended)
Felix Dietrich's avatar
Felix Dietrich committed
55

Benedikt Zoennchen's avatar
Benedikt Zoennchen committed
56
Vadere uses computer's video card to speed up some computations. Therefore, following OpenCL components should be installed:
Felix Dietrich's avatar
Felix Dietrich committed
57

Benedikt Zoennchen's avatar
Benedikt Zoennchen committed
58
59
* the OpenCL Installable Client Driver loader also called ICD loader (Opencl.dll for Windows and libOpenCL.so for Linux)
* OpenCL Drivers for your device 
Felix Dietrich's avatar
Felix Dietrich committed
60

Benedikt Zoennchen's avatar
Benedikt Zoennchen committed
61
Both should be offered by the vendor of your device. The device can be a CPU as well as a GPU (recommanded). For example if you have a NVIDIA GPU updating your drivers should be enough to install both components. 
Benedikt Zoennchen's avatar
Benedikt Zoennchen committed
62
Vadere will search for the best device which is supported. On a desktop workstation this should be your video card (GPU). If there is no device Vadere will use a plain and slower Java-Implementation instead. 
63
Please, use following instructions to set up the OpenCL components for your operating system:
Felix Dietrich's avatar
Felix Dietrich committed
64

Benedikt Zoennchen's avatar
Benedikt Zoennchen committed
65
* Windows: For further information using OpenCL on Windows read the paragraph Running an OpenCL application [click here](https://streamcomputing.eu/blog/2015-03-16/how-to-install-opencl-on-windows/).
Felix Dietrich's avatar
Felix Dietrich committed
66
* OS X: OpenCL is pre-installed for OS X.
67
68
* Linux: Please refer to the installation manual of your Linux distribution. 
  * [Sources: OpenCL HowTo](https://wiki.tiker.net/OpenCLHowTo)
Daniel Lehmberg's avatar
Daniel Lehmberg committed
69
70
71
72
73
74
75
76
77
78
79
80
81
  * Tips and official packages (Ubuntu): 
    
    <details>

    * Use the console tool `clinfo` (`sudo apt-get install clinfo`) to see the current status in terminal
    * Drivers commonly have the prefix `opencl-icd` (to look at most opencl related packages run `apt search opencl`). Some that may be helpful:
         * `beignet-opencl-icd` (OpenCL library for Intel GPUs)
         * `mesa-opencl-icd` (free and open source implementation of the OpenCL API)
         * `nvidia-opencl-icd`
         * `ocl-icd-opencl-dev` (installs opencl development files and can be required for compiling)
         * `ocl-icd-libopencl1` (Generic OpenCL ICD Loader)
    
    </details>
82
  * [Intel Driverpack (only driver needed)](https://software.intel.com/en-us/articles/opencl-drivers#latest_linux_driver)
Felix Dietrich's avatar
Felix Dietrich committed
83

Daniel Lehmberg's avatar
Daniel Lehmberg committed
84
#### Run the Application
Felix Dietrich's avatar
Felix Dietrich committed
85

86
1. Get the Source: Run `git clone https://gitlab.lrz.de/vadere/vadere.git`.
Daniel Lehmberg's avatar
Daniel Lehmberg committed
87
2. Build the Application: Go to the project directory and run `mvn clean package` (or `mvn clean package -Dmaven.test.skip` if you want to skip the unit tests). This will build `vadere.jar`, `vadere-console.jar` and `postvis.jar`.
Benedikt Zoennchen's avatar
Benedikt Zoennchen committed
88
89
3. Start the Application: After building the application, you can start Vadere by running `java -jar VadereGui/target/vadere.jar`.
4. (If you only want to use the Postvisualization-Tool you can do so by running `java -jar VadereGui/target/postvis.jar`).
Felix Dietrich's avatar
Felix Dietrich committed
90

Daniel Lehmberg's avatar
Daniel Lehmberg committed
91
## Run Built-In Examples
Felix Dietrich's avatar
Felix Dietrich committed
92

Benedikt Kleinmeier's avatar
Benedikt Kleinmeier committed
93
With the following steps, you can run a simulation with one of the built-in examples from [VadereModelTests](VadereModelTests):
Felix Dietrich's avatar
Felix Dietrich committed
94
95
96

- start Vadere 
- *Project* > *Open* 
97
- choose `vadere.project` of one of the projects e.g. [TestOSM](https://gitlab.lrz.de/vadere/vadere/tree/master/VadereModelTests/TestOSM) and click *open*
Felix Dietrich's avatar
Felix Dietrich committed
98
99
- select the scenario on the left and press *run selected scenario*

100
101
## Changelog

102
See [CHANGELOG.md](https://gitlab.lrz.de/vadere/vadere/blob/master/CHANGELOG.md) for a list of changes.
Felix Dietrich's avatar
Felix Dietrich committed
103

Benedikt Zoennchen's avatar
Benedikt Zoennchen committed
104
105
## JavaDoc

Benedikt Zoennchen's avatar
Benedikt Zoennchen committed
106
- [state](http://www.vadere.org/javadoc/state/index.html)
Benedikt Zoennchen's avatar
Benedikt Zoennchen committed
107

108
109
## Contribution

110
See [CONTRIBUTING.md](https://gitlab.lrz.de/vadere/vadere/blob/master/CONTRIBUTING.md) for how to set up the development environment and the coding guidelines.
111

Felix Dietrich's avatar
Felix Dietrich committed
112
113
## License

114
This software is licensed under the GNU Lesser General Public License ([LGPL](https://gitlab.lrz.de/vadere/vadere/blob/master/LICENSE)).
Felix Dietrich's avatar
Felix Dietrich committed
115

116
For more information: http://www.gnu.org/licenses/lgpl.html