vadere issueshttps://gitlab.lrz.de/vadere/vadere/-/issues2023-08-03T16:21:21+02:00https://gitlab.lrz.de/vadere/vadere/-/issues/372[GUI] Add tree expand and tree collapse icon in attribute table2023-08-03T16:21:21+02:00Rahn, Simon[GUI] Add tree expand and tree collapse icon in attribute tableCheck if [promodsim2022/5c9a90c1](https://gitlab.lrz.de/hm-koester-lectures/promodsim2022/vadere-fork/-/commit/5c9a90c1) can be implemented without affecting the performance of the GUI.
If this is useful, adopt this proposal.Check if [promodsim2022/5c9a90c1](https://gitlab.lrz.de/hm-koester-lectures/promodsim2022/vadere-fork/-/commit/5c9a90c1) can be implemented without affecting the performance of the GUI.
If this is useful, adopt this proposal.Jaeck, LudwigJaeck, Ludwighttps://gitlab.lrz.de/vadere/vadere/-/issues/140Scenario Checker - wishlist2023-05-17T17:07:24+02:00Marion GoedelScenario Checker - wishlistSince the topography checker is extended to the other tabs, here is a place to add in your ideas / wishes on what the Scenario Checker could do:
#### Simulation
* [x] ERROR: Bounds for `simTimeStepLength` - Suggestion: [0.01 - 1]
* [...Since the topography checker is extended to the other tabs, here is a place to add in your ideas / wishes on what the Scenario Checker could do:
#### Simulation
* [x] ERROR: Bounds for `simTimeStepLength` - Suggestion: [0.01 - 1]
* [ ] WARNING: realTimeSimRatio != 0 - only if started from console
(Maybe this could also be realized by visualizationEnabled = false -> then automically realTimeSimRatio is set to 0)
#### Model
* [ ] WARNING: OSM + optimizationType = DISCRETE AND varyStepDirection = False -> Background: Pedestrians might not be able to walk through small passages
* [ ] WARNING: `loadingType` "CONSTANT_RESPECT_TARGETS" and "DYNAMIC" because they are deprecated
(compare: https://conwiki1.cc.private.hm.edu/confluence/display/FK07PD/VADERE+Input+Parameters)
* [ ] WARNING if the parameters deviate from the default configuration - to avoid accidental "mis-"settings
* [x] WARNING if groupSizeDistribution of any source is different from [1.0] but AttributesCGM is not present in Model tab (no groups will be simulated)
#### Topography
* [x] WARNING: No target that has `absorbing` = true (that means pedestrians will never leave the simulation)
* [x] WARNING: if a list of targets is defined but one (which is not the last one) has the attribute `absorbing` = true
-> pedestrians won't reach their final target
* [x] WARNING: if `radius` != 0.2 (because at the moment all potentials are calibrated for this radius)
* [x] ERROR: If in a source a group distribution is given where something other then groups of 1 are produced and the group submodel is not given throw an error.
* [ ] ERROR: If a pedestrian has no target (separate pedestrian)
* [ ] ERROR: If distributionParameter of the source is 0.0 - leads to Exception (Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException)
* [ ] WARNING: if the source is too small for the amount of agents spawning. Some formula to estimate the pedestrian density required here, e.g. sourceArea / spawnNumberInSeconds < alpha => warning!
* [ ] WARNING: if `footStepsToStore` is zero (position interpolation and computing speed does not work then properly)
* [ ] WARNING: if `lineCrossProcessor` is within obstacle (flow will not be calculated correctly!)
-> maybe also, `LineCrossProcessor` attribute `Line line` can be defined as `Measurement Area`
* [ ] ERROR: agents might stop suddenly in front of non-absorbing targets if agent's `minStepLength` and target's `deletionDistance` are in conflict. Therefore, check `minStepLength < deletionDistance` or `minStepLength + eps < deletionDistance`. See #140.
* [ ] ERROR: if area of obstacle == 0
* [ ] NO WARNING: check for the targets if they are used by a dynamic element
##### TargetChangers
* [x] NO WARNING: If a ``TargetChanger`` is present, some targets might be used only by it. In this case, a warning is currently displayed that the target is unused.
* [ ] WARNING: If a ``TargetChanger``is present but ``useMinimumStepLength`` is ´´true``. Recommend to set to ´´false´´.
##### Free-flow speed
* [ ] ERROR: In attributesPedestrians: When the `speedDistributionMean` is set larger or smaller than the `minimumSpeed` and `maximumSpeed` (NOTE: same as in Topography checker for single placed peds)
* [ ] ERROR: Negative (maybe even non-positive?) `minimumSpeed` && The `maximumSpeed` set larger than 12 m/s (12.4 m/s is the world record by Usain Bolt) (NOTE: same as in Topography checker for single placed peds)
* [ ] ERROR: `minimumSpeed` is larger than `maximumSpeed`
* [ ] WARNING: If the free-flow std is larger than the limits for `minimumSpeed` and `maximumSpeed` allow.
#### Data processing
* [ ] WARNING if `writeSimulationData` = false even though output processors are added and files are defined in which their output should be saved
* [ ] ERROR if group model is active groupId Processor must be selected
* [ ] ERROR if `PedestrianPositionProcessor` is set and `footStepsToStore` is 0. Bachground: The pedestrian position processor uses the latest foot step for interpolation, so it always needs the latest footstep and therefore a capacity of minimum 1.https://gitlab.lrz.de/vadere/vadere/-/issues/3Personalized Model Presets2023-05-17T17:06:18+02:00Ghost UserPersonalized Model PresetsIt would be nice, if any user could define personalized model presets, e.g. a special configuration of the OSM with a certain number of points on the disc for the optimization or for the potentials.
These presets should be saved locally...It would be nice, if any user could define personalized model presets, e.g. a special configuration of the OSM with a certain number of points on the disc for the optimization or for the potentials.
These presets should be saved locally and there they should be selectable in the GUI.https://gitlab.lrz.de/vadere/vadere/-/issues/6Linked-Cell editable cell size2023-05-17T17:04:37+02:00Zoennchen, BenediktLinked-Cell editable cell sizeDie breite der Zelle ist derzeit noch statisch im Code festgelegt, diese sollte man über die JSON-Datei einstellen können. Zudem sollte man untersuchen welche cell size für die jeweiligen Modelle am meisten Sinn macht und diese dann als ...Die breite der Zelle ist derzeit noch statisch im Code festgelegt, diese sollte man über die JSON-Datei einstellen können. Zudem sollte man untersuchen welche cell size für die jeweiligen Modelle am meisten Sinn macht und diese dann als Default für die jeweiligen Modelle verwenden.Zoennchen, BenediktZoennchen, Benedikthttps://gitlab.lrz.de/vadere/vadere/-/issues/8[GUI] Background image for TopographyCreator2023-05-17T17:00:20+02:00Zoennchen, Benedikt[GUI] Background image for TopographyCreatorSimplify the scenario creation by loading a background image to the topography creator.Simplify the scenario creation by loading a background image to the topography creator.https://gitlab.lrz.de/vadere/vadere/-/issues/12Allow for different target potentials for each target2023-05-17T16:59:17+02:00Zoennchen, BenediktAllow for different target potentials for each targetIt should be possible to access different target potentials for a target. Depending on the strategy of the pedestrian, e.g. queueing, the proper potential field should be used.It should be possible to access different target potentials for a target. Depending on the strategy of the pedestrian, e.g. queueing, the proper potential field should be used.https://gitlab.lrz.de/vadere/vadere/-/issues/19[GUI] Auswahl und Aktionen auf mehreren Objekten im Topography Creator2023-05-17T16:57:38+02:00Zoennchen, Benedikt[GUI] Auswahl und Aktionen auf mehreren Objekten im Topography CreatorVon Benedikt Kleinmeier vor fast 2 Jahren hinzugefügt.
Im Topography Creator wäre es wünschenswert, wenn mehrere Objekte gleichzeitig selektiert werden könnten, z.B.
durch ziehen eines Rechtecks (und alle Objekte innerhalb des Rechteck...Von Benedikt Kleinmeier vor fast 2 Jahren hinzugefügt.
Im Topography Creator wäre es wünschenswert, wenn mehrere Objekte gleichzeitig selektiert werden könnten, z.B.
durch ziehen eines Rechtecks (und alle Objekte innerhalb des Rechtecks werden dann selektiert).
bei gedrückter Strg-Taste mit der linken Maustaste mehrere Objekte anklicken.
Zudem sollten dann Aktionen auf alle Objekte angewandt werden (z.B. Kopieren oder Löschen). Dadurch wäre es möglich Objekte aus mehreren Einzelteilen aufzubauen, zu kopieren und an anderer Stelle wieder einzufügen.https://gitlab.lrz.de/vadere/vadere/-/issues/20JSON save to file and load from file should remember last location2023-05-17T16:56:41+02:00Ghost UserJSON save to file and load from file should remember last locationIt would be great, if the JFileChooser dialogs in the GUI's tabs "Simulation", "Model", "Pedestrians", and "Topography" would remember their last location.
Common use case: Load a generated test topography from a separate file in a dire...It would be great, if the JFileChooser dialogs in the GUI's tabs "Simulation", "Model", "Pedestrians", and "Topography" would remember their last location.
Common use case: Load a generated test topography from a separate file in a directory other than the project directory.
Save and Load dialogs of one tab should maybe share one location. Dialogs from different tabs should probably not share the same location, since they are for different "file types".
Default can be the project directory. Or store it in something like an ini file to restore it in the next session.https://gitlab.lrz.de/vadere/vadere/-/issues/32[GUI] Visual notification that recording is ongoing2023-05-17T16:55:58+02:00Ghost User[GUI] Visual notification that recording is ongoingFrom Issue #9 there follows a feature request: <br>
<blockquote cite="https://gitlab.lrz.de/vadere/vadere/issues/9">
.....Der Video-Recorder zeit ein Pausen-Symbol an wenn er läuft. Wäre nicht ein Stop-Symbol (Quadrat) einleuchtender?
V...From Issue #9 there follows a feature request: <br>
<blockquote cite="https://gitlab.lrz.de/vadere/vadere/issues/9">
.....Der Video-Recorder zeit ein Pausen-Symbol an wenn er läuft. Wäre nicht ein Stop-Symbol (Quadrat) einleuchtender?
Vielleicht visuell noch deutlicher machen das gerade aufgenommen wird - man kriegt es sonst nur über die Konsolenausgabe mit. Vielleicht das Szenario-Fenster dick rot einrahmen?
</blockquote>
According to the quoted text the ongoing recording has to be more notifying. For example a red dashed frame:
![Recording-Postvisualization](/uploads/19b45aa3cc6c1ea98a6d5e47325da314/Recording-Postvisualization.png)https://gitlab.lrz.de/vadere/vadere/-/issues/75[GroupModel] Gruppen Typen2023-05-17T16:51:51+02:00Schuhbaeck, Stefan[GroupModel] Gruppen TypenPedestrians gehören zu einer Gruppe. Gruppen untereinander haben keine Beziehung zueinander.
Einzelne Gruppen sollen zu einem oder mehrere Typen besitzen. Über einen Gruppentyp kann somit
Verhalten von mehreren Gruppen gleichzeitig beein...Pedestrians gehören zu einer Gruppe. Gruppen untereinander haben keine Beziehung zueinander.
Einzelne Gruppen sollen zu einem oder mehrere Typen besitzen. Über einen Gruppentyp kann somit
Verhalten von mehreren Gruppen gleichzeitig beeinflusst werden.
Eigenschaften:
* Eine PedGruppe A kann mehrere Typen besitzen.
* Überlappende Typen: Eine pedGruppe A kann gleichzeitig vom Type 1 und Type 2 sein.
* Disjunkte Typen: Eine pedGruppe A kann nicht gleichzeitig im Type 2 und Type 3 sein.https://gitlab.lrz.de/vadere/vadere/-/issues/99Add ".include" statement to scenario file2023-05-17T16:50:09+02:00Ghost UserAdd ".include" statement to scenario fileTo avoid code duplication, the scenario file should accept an `.include <path/to/file>` statement. For instance, all model test files (scenarios) under directory `VadereModelTests` define the same topology. This could be avoided by reusi...To avoid code duplication, the scenario file should accept an `.include <path/to/file>` statement. For instance, all model test files (scenarios) under directory `VadereModelTests` define the same topology. This could be avoided by reusing an existing topology description.
See following example for a scenario file with an `.include statement`:
```
{
"name" : "scenario_with_include",
"description" : "",
"release" : "0.2",
"processWriters" : {
"files" : [ ],
"processors" : [ ],
"isTimestamped" : true
},
"scenario" : {
.include "../topographies/ushape_obstacle.json"
.include "../events/multiple_wait_events.json"
}
```https://gitlab.lrz.de/vadere/vadere/-/issues/112Pedestrian's potential is not affected by stairs2023-05-17T16:48:52+02:00Ghost UserPedestrian's potential is not affected by stairsIn Rimea 14 (see the screenshot from VADERE scenario) the question is:
> Do the pedestrians take a shorter route via another
floor or do they stay on the longer route on the
same floor?
Currently, in our case, _all_ pedest...In Rimea 14 (see the screenshot from VADERE scenario) the question is:
> Do the pedestrians take a shorter route via another
floor or do they stay on the longer route on the
same floor?
Currently, in our case, _all_ pedestrians take the shorter way using the stairs. This means we have no option to define this behaviour. The reason is that stairs are *another* model and do not affect the OSM floor field. Consequently, the pedestrians do not see the additional effort when taking the shortest path but using the stairs.
This is also a modelling question, how should the floor field be changed?
![Screenshot_from_2018-08-21_12-44-39](/uploads/347bee619fcc217137a377a226c39d2b/Screenshot_from_2018-08-21_12-44-39.png)https://gitlab.lrz.de/vadere/vadere/-/issues/123New density output processor2023-05-17T16:42:25+02:00Ghost UserNew density output processorI plan to design/implement a new density processor. The difference to the existing ones is
1. generalize observable area to polygon shapes
2. measure at multiple fixed points inside the polygon. Current processors i) average density ...I plan to design/implement a new density processor. The difference to the existing ones is
1. generalize observable area to polygon shapes
2. measure at multiple fixed points inside the polygon. Current processors i) average density over a specified area (i.e. scalar) or ii) compute the density for every pedestrian in every timestep. Because of point 1) I want to use an unstructured grid; the prefered algorithm is the already developed & implemented @BZoennchen (has to be merged before)
Something like this, where each vertex in the triangulation is a point to evaluate the density:
![Screenshot_from_2018-09-12_17-52-39](/uploads/d9a6b6654cdd2e02f03a82ef72a091e2/Screenshot_from_2018-09-12_17-52-39.png)
The output would be something like:
| timeStep | point ID | density |
|----------|----------|---------|
| 1 | 1 | 0.5 |
| 1 | 2 | 0.6 |
| 1 | 3 | 0.1 |
| 2 | 1 | 0.9 |
| 2 | 2 | 0.6 |
| 2 | 3 | 0.8 |
##### Potential options to integrate into the processor (only implemented when needed):
* true/false to consider agents inside or outside the defined polygon
* set density algorithm (use available ones)
* options to forward to the triangulation algorithm (be able to give the accuracy of the density sampling)
* options to forward to the density algorithm (e.g. cut-off for Gaussian density)
* only compute the density of every `X` timestep (as this can be quite an expensive operation)
* allow averaging the density to one point (maybe this would be another processor)
##### Other issues:
* To reconstruct the density of a polygon, it is desirable to write a description of either the points or the entire triangulation in either the data file or in a separate file.
##### Aim:
Have a density evolution over time at fixed points in the scenario. I plan to investigate how many dimensions are needed to represent the density (use PCA) and use the output for QoI.https://gitlab.lrz.de/vadere/vadere/-/issues/182[PotentialFieldModel] Replace Cartesian grid by unstructured mesh2023-05-17T16:41:25+02:00Ghost User[PotentialFieldModel] Replace Cartesian grid by unstructured meshIn some scenarios (e.g., RIMEA 10 for GNM grid resolution = 0.1), agents get stuck at walls if Cartesian mesh is too coarse.In some scenarios (e.g., RIMEA 10 for GNM grid resolution = 0.1), agents get stuck at walls if Cartesian mesh is too coarse.Zoennchen, BenediktZoennchen, Benedikthttps://gitlab.lrz.de/vadere/vadere/-/issues/357[Test/Scenario] Add model tests from ISO 204142023-05-17T16:39:10+02:00Mayr, Christina Maria[Test/Scenario] Add model tests from ISO 2041413 tests for model validation are defined in the ISO 20414.
![iso20414](/uploads/899046475c447b8ab4a5674f886214c5/iso20414.png)
Add a scenario for each test.
For the setup the tests marked in green (Table), the Vadere simulator does no...13 tests for model validation are defined in the ISO 20414.
![iso20414](/uploads/899046475c447b8ab4a5674f886214c5/iso20414.png)
Add a scenario for each test.
For the setup the tests marked in green (Table), the Vadere simulator does not need to be adjusted.
For the other tests, adaptions might be necessary.https://gitlab.lrz.de/vadere/vadere/-/issues/128[GUI] Revise VADERE settings dialog (cog icon in online/post visualization)2023-05-17T16:38:20+02:00Ghost User[GUI] Revise VADERE settings dialog (cog icon in online/post visualization)Two things should be changed in VADERE's settings dialog (see screenshot below):
1. At the coloring options for pedestrians (see red box below), only one option can be chosen at a time (and not the four options). Currently, the last sel...Two things should be changed in VADERE's settings dialog (see screenshot below):
1. At the coloring options for pedestrians (see red box below), only one option can be chosen at a time (and not the four options). Currently, the last selected option wins. In the long run, only three options are necessary:
- Color pedestrians by using logical expression (see [LogicalParser](https://gitlab.lrz.de/vadere/vadere/blob/master/VadereUtils/src/org/vadere/util/io/parser/LogicalParser.java)). Include grammar examples directly.
- Random colors
- By evacuation time
- Note: Maybe, this should be designed by using radio buttons. I.e., not selected options are greyed out.
2. Option "By evacuation time" requires the corresponding output processor. Therefore, a warning text should be placed in settings dialog.
![VADERE-Einstellungen](/uploads/653a8477d78df3e65eca4f4df975f3dd/VADERE-Einstellungen.png)https://gitlab.lrz.de/vadere/vadere/-/issues/130[VadereConsole] Allow VadereConsole to run multiple scenarios given via list ...2023-05-17T16:37:27+02:00Ghost User[VadereConsole] Allow VadereConsole to run multiple scenarios given via list argumentsBackground:
Currently the suq-controller uses for every simulation the vadere-console with `java -jar $model_path suq -f $scenario_path -o $output_path`, i.e. every time a new Java VM is started. This leads to overhead. Instead, it may...Background:
Currently the suq-controller uses for every simulation the vadere-console with `java -jar $model_path suq -f $scenario_path -o $output_path`, i.e. every time a new Java VM is started. This leads to overhead. Instead, it may be better when a list of scenarios and output paths (both of the same length) is handled and these are then run sequentially.
The performance advantage is only for small and fast executed scenarios -- for large and complex ones (such as with dynamic floor field) the performance gain of starting the VM less often is negligible.https://gitlab.lrz.de/vadere/vadere/-/issues/165New model tests for validation2023-05-17T16:19:44+02:00Zoennchen, BenediktNew model tests for validationLike JuPedSim we also should use the tests in "Transitions in pedestrian fundamental diagrams of straight corridors and T-junctions" (zhang-2011) to validate our models. Therefore, one should construct those scenarios, implement processo...Like JuPedSim we also should use the tests in "Transitions in pedestrian fundamental diagrams of straight corridors and T-junctions" (zhang-2011) to validate our models. Therefore, one should construct those scenarios, implement processors (to compute the required measures), run the simulation and compare the results for different models (OSM, GNM, SFM, ...)https://gitlab.lrz.de/vadere/vadere/-/issues/174vadere-console.jar shall use more than two exit codes2023-05-17T16:09:41+02:00Ghost Uservadere-console.jar shall use more than two exit codesAt the moment, `vadere-console.jar` only returns two exit codes (0 for success, 1 otherwise).
Especially for the CI environment, it would be useful to have multiple return values so that caller of `vadere-console.jar` is better informed...At the moment, `vadere-console.jar` only returns two exit codes (0 for success, 1 otherwise).
Especially for the CI environment, it would be useful to have multiple return values so that caller of `vadere-console.jar` is better informed.
Possible exit codes:
- 0 = success
- 1 = exception occurred
- 2 = assertion occurred (raised by a test processor)
Before implementing, think about useful exit codes.https://gitlab.lrz.de/vadere/vadere/-/issues/185[GUI] Ruler for Topography Creator2023-05-17T15:55:01+02:00Marion Goedel[GUI] Ruler for Topography Creator### Problem to solve
Adding a ruler function to the `Topography Creator` to measure lengths.
### Further details
When modelling the scenarios from zhang-2011 with their changes in entrance width, I have noticed that I'm using the cur...### Problem to solve
Adding a ruler function to the `Topography Creator` to measure lengths.
### Further details
When modelling the scenarios from zhang-2011 with their changes in entrance width, I have noticed that I'm using the cursor to try to figure out sizes. It might be helpful for this type of scenario to have a ruler function in the topography creator with which one can draw a line and see it's length.