JPScore issueshttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues2018-06-13T16:41:32+02:00https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/219Segmentation Fault with router with defined Goals2018-06-13T16:41:32+02:00Mohcine Chraibim.chraibi@fz-juelich.deSegmentation Fault with router with defined GoalsUsing the following geometry
![Screen_Shot_2016-09-22_at_13.33.39](/uploads/696b032b2f8439a48a8dad809598bba5/Screen_Shot_2016-09-22_at_13.33.39.png)
with the following [inifile](/uploads/6359b037f90fe249989e9f9bb38cf739/inifile.xml) a...Using the following geometry
![Screen_Shot_2016-09-22_at_13.33.39](/uploads/696b032b2f8439a48a8dad809598bba5/Screen_Shot_2016-09-22_at_13.33.39.png)
with the following [inifile](/uploads/6359b037f90fe249989e9f9bb38cf739/inifile.xml) and [geometry](/uploads/1c882c4c28a7346afdc0ecc5bbcabeeb/xiao_geometry.xml) files with **the global router**
lead to "no route to destination" errors
![Screen_Shot_2016-09-22_at_13.36.48](/uploads/31f7c49502ced40d873f54c4e7e7a1c7/Screen_Shot_2016-09-22_at_13.36.48.png)
With the combo **FFrouter+ Strategy 9** leads to "out of bound error" + sporadic SegFaults.
![Screen_Shot_2016-09-22_at_13.38.18](/uploads/94feb6fbba0c612cd6f0fcc469d0b187/Screen_Shot_2016-09-22_at_13.38.18.png)
**Note** without specifying the attribute `goal_id` the simulation runs without problems. For the FF-router some oscillations are visible, though.Arne GrafArne Grafhttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/220f.mack's legacy2017-08-31T17:24:32+02:00Mohcine Chraibim.chraibi@fz-juelich.def.mack's legacyI have to geometry files I would like to share with you. You can use them for your own private testing or add them to the official tests.
"Equal distance" is a symmetric building. The two pedestrians (one commented out) should need the ...I have to geometry files I would like to share with you. You can use them for your own private testing or add them to the official tests.
"Equal distance" is a symmetric building. The two pedestrians (one commented out) should need the same time. I had some issue where this was not the case (one took the longer way).
"U shape" was to test the router (regarding the door hopping). The pedestrian should walk through the room and go back to the corridor (that is shorter than staying in the corridor).
Mohcine wants to make my report available to all of you. It contains some more documentation about the changes I made.
My branch parallel_ff will hopefully be merged soon into develop. Remember that it fixes the issues 213, 214, 215, and 218, so close them after merging.
[geometry_files.zip](/uploads/1dba1bff12e2ed06a51ac70ac9e2d2b2/geometry_files.zip)https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/226Output Bug - Writing part of output multiple times2017-08-31T17:24:32+02:00Mohcine Chraibim.chraibi@fz-juelich.deOutput Bug - Writing part of output multiple timesCould it be, that we should flush all buffers before entering a parallel section?
Found the following output - and I guess, it is written by each thread of a new entered parallel section. (No proof though)
```
INFO: Distributing 44 Ag...Could it be, that we should flush all buffers before entering a parallel section?
Found the following output - and I guess, it is written by each thread of a new entered parallel section. (No proof though)
```
INFO: Distributing 44 Agents in Room/Subrom [11/8]! Maximum allowed: 1763
...Done
INFO: Distributing 7 Agents in Room/Subrom [11/8]! Maximum allowed: 1719
...Done
INFO: Initializing the grid with cell size: 2.000000
INFO: Done with Initializing the grid
INFO: using CentrePointLocalFFViaFm in ffRouter::Init
imum allowed: 1719
umber="3" goal_id="0" router_id="1" />
<group group_id="10" agent_parameter_
INFO: using CentrePointLocalFFViaFm in ffRouter::Init
imum allowed: 1719
umber="3" goal_id="0" router_id="1" />
<group group_id="10" agent_parameter_
INFO: using CentrePointLocalFFViaFm in ffRouter::Init
imum allowed: 1719
umber="3" goal_id="0" router_id="1" />
<group group_id="10" agent_parameter_
INFO: using CentrePointLocalFFViaFm in ffRouter::Init
imum allowed: 1719
umber="3" goal_id="0" router_id="1" />
<group group_id="10" agent_parameter_
INFO: using CentrePointLocalFFViaFm in ffRouter::Init
imum allowed: 1719
umber="3" goal_id="0" router_id="1" />
<group group_id="10" agent_parameter_
INFO: using CentrePointLocalFFViaFm in ffRouter::Init
imum allowed: 1719
umber="3" goal_id="0" router_id="1" />
<group group_id="10" agent_parameter_
INFO: using CentrePointLocalFFViaFm in ffRouter::Init
imum allowed: 1719
umber="3" goal_id="0" router_id="1" />
<group group_id="10" agent_parameter_
INFO: using CentrePointLocalFFViaFm in ffRouter::Init
imum allowed: 1719
umber="3" goal_id="0" router_id="1" />
<group group_id="10" agent_parameter_
INFO: Adding distances in Room 12 to matrix
INFO: Adding distances in Room 8 to matrix
INFO: using CentrePointLocalFFViaFm in ffRouter::Init
INFO: Adding distances in Room 0 to matrix
INFO: using CentrePointLocalFFViaFm in ffRouter::Init
INFO: Adding distances in Room 6 to matrix
```https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/227Global_Shortest router: Pedestrian not finding its way! [Hochhaus]2019-01-29T09:29:14+01:00Mohcine Chraibim.chraibi@fz-juelich.deGlobal_Shortest router: Pedestrian not finding its way! [Hochhaus]![router](/uploads/231dd348d3e499ec0db4953ce025b7f5/router.gif)
Files used to reproduce this behavior are here [issue_global_shortest.zip](/uploads/6825a7eb659a07d0ca23fe7710cf5390/issue_global_shortest.zip)
- Pedestrian has `i...![router](/uploads/231dd348d3e499ec0db4953ce025b7f5/router.gif)
Files used to reproduce this behavior are here [issue_global_shortest.zip](/uploads/6825a7eb659a07d0ca23fe7710cf5390/issue_global_shortest.zip)
- Pedestrian has `id=69` lives in `Subroom=39` `Room=12`
- Branch: DevelopArne GrafArne Grafhttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/231Cleanup branches2018-06-13T16:41:33+02:00Mohcine Chraibim.chraibi@fz-juelich.deCleanup branches## What should be done
Clean up unused branches
## Why?
Too much unused branches is not good. For clarity and in order to not delete functionality we need to **cleanup**
## What should be done
Clean up unused branches
## Why?
Too much unused branches is not good. For clarity and in order to not delete functionality we need to **cleanup**
Arne GrafArne Grafhttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/232Calculate Voronoi Area2018-06-13T16:41:33+02:00Yao XiaoCalculate Voronoi AreaIn Branch: Xiao
`CalculatePolygonArea()` returns segFault.
`voronoinodes.size()` can be smaller than 3, but should not.In Branch: Xiao
`CalculatePolygonArea()` returns segFault.
`voronoinodes.size()` can be smaller than 3, but should not.Yao XiaoYao Xiaohttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/235Router Test Suite2018-06-13T16:41:29+02:00Arne GrafRouter Test SuitePlease upload for every test:
- the inifile
- the geometry file
- a file describing the result in the following format
| Router *id* | Test *id* | Comments |
| ----------- | --------- | -------------|
---
## Test 1:
- Author: Ke...Please upload for every test:
- the inifile
- the geometry file
- a file describing the result in the following format
| Router *id* | Test *id* | Comments |
| ----------- | --------- | -------------|
---
## Test 1:
- Author: Kemloh und Löhner
- Inifile:
- geometry:[test1.zip](/uploads/72304756c14a816f2c6fe9568cf0ad64/test1.zip)
---
## Test 2:
- Author: Löhner
- Inifile:
- geometry:[test2.zip](/uploads/ebb317f5bfdad6d3f25d0c0b849c90e3/test2.zip)
---
## Test 3:
- Author: @gutt1
- Inifile: [ini_Test3.xml](/uploads/20a6f62d1e6b302d48467eb671a71aa2/ini_Test3.xml)
- geometry:[geo_Test3.xml](/uploads/1633894e52aa62bd48d7ac867d5f5b3e/geo_Test3.xml)
- results:[res_Test3.ods](/uploads/b63b83177290ebd2c7bab26bd35f39dd/res_Test3.ods)
---
## Test 4:
- Author: @zhong1
- Inifile: [ini_Test4.xml](/uploads/0e90f5ac6423d7ac777e5490d30ebeca/ini_Test4.xml)
- geometry: [geo_Test4.xml](/uploads/b59056b6d4cec267093c33254c1f959d/geo_Test4.xml)
- results: [router_test_results_Test4.md](/uploads/39cff571f5368da97477f2b213e88b8f/router_test_results_Test4.md)
---
## Test 5:
- Author: @zhong1
- Inifile: [ini_Test5.xml](/uploads/749244f0927c8af82afad54667263784/ini_Test5.xml)
- geometry: [geo_Test5.xml](/uploads/413b0ce2056f903f3c9c98f3b4c655b6/geo_Test5.xml)
- results: [router_test_results_Test5.md](/uploads/ee3fc5671e14c7228f4f68ebe731b115/router_test_results_Test5.md)
---
## Test 6:
- Author: Crociani
- Inifile:
- geometry:[test6.zip](/uploads/8891322ba46264555cdd35f920e5d428/test6.zip)
---
## Test 7:
- Author: von Sivers
- Inifile:
- geometry:[test7.zip](/uploads/f9536e77164b44ca657ee42dba89275c/test7.zip)
---
## Test 8:
- Author: @gutt1
- Inifile:[ini_Test8.xml](/uploads/59616e0083924e68904a05b3da04ed71/ini_Test8.xml)
- geometry:[geo_Test8.xml](/uploads/bde779483ec145d29452b617fff6f1e8/geo_Test8.xml)
- results:[res_Test8.ods](/uploads/eecdfe87ed686297af82d60201dc19fa/res_Test8.ods)
---Mohcine Chraibim.chraibi@fz-juelich.deMohcine Chraibim.chraibi@fz-juelich.de2017-03-04https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/236Curve in Voronoi diagram2017-08-31T17:24:31+02:00Yao XiaoCurve in Voronoi diagramIn library boost Voronoi, how to get the curve of Voronoi edge in a Voronoi diagram including segments. And how to cut off the curve by geometry.
![issue](/uploads/7fd710ff9d6bbcd74b5a96d7705cf527/issue.png)In library boost Voronoi, how to get the curve of Voronoi edge in a Voronoi diagram including segments. And how to cut off the curve by geometry.
![issue](/uploads/7fd710ff9d6bbcd74b5a96d7705cf527/issue.png)https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/237Change naming of geometry2017-08-31T17:24:31+02:00Ghost UserChange naming of geometryrooms -> floors
subrooms -> rooms
crossings connecting rooms
transitions connecting floors or lead to the outsiderooms -> floors
subrooms -> rooms
crossings connecting rooms
transitions connecting floors or lead to the outsidehttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/239Output room id in the the trajectories2018-06-13T16:41:29+02:00Mohcine Chraibim.chraibi@fz-juelich.deOutput room id in the the trajectories## Short description of suggestion
Sometimes it may help to have not only the coordinates of the agents but also their room/subroom id.
## Why would the enhancement be useful to most users
Helps when in `jpsvis` only certain rooms ar...## Short description of suggestion
Sometimes it may help to have not only the coordinates of the agents but also their room/subroom id.
## Why would the enhancement be useful to most users
Helps when in `jpsvis` only certain rooms are visualized we may also visualize only the peds walking there.
See screenshot
![Screen_Shot_2017-02-23_at_09.55.31](/uploads/3c3b9a7e194023689c6262e08f52efb1/Screen_Shot_2017-02-23_at_09.55.31.png)https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/242read premovement time from file2018-06-13T16:41:29+02:00Mohcine Chraibim.chraibi@fz-juelich.deread premovement time from file## Short description of suggestion
Initialize premovement time from a file
## Why would the enhancement be useful to most users
Needed when comparing with experiments, since in the experiments pedestrians do no enter the geometry at t...## Short description of suggestion
Initialize premovement time from a file
## Why would the enhancement be useful to most users
Needed when comparing with experiments, since in the experiments pedestrians do no enter the geometry at the same time.Mohcine Chraibim.chraibi@fz-juelich.deMohcine Chraibim.chraibi@fz-juelich.dehttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/246Rimeatest 4 not working2018-06-13T16:41:29+02:00Tao ZhongRimeatest 4 not working## Relevant logs, files (inifile and geometry) and/or screenshots
```python
Traceback (most recent call last):
File "runtest_rimea_4.py", line 221, in <module>
test.run_test(testfunction=run_rimea_test4)
File "/Users/sainho93/Do...## Relevant logs, files (inifile and geometry) and/or screenshots
```python
Traceback (most recent call last):
File "runtest_rimea_4.py", line 221, in <module>
test.run_test(testfunction=run_rimea_test4)
File "/Users/sainho93/Documents/Repos/jpscore/Utest/JPSRunTest.py", line 77, in run_test
res = self.__execute_test(jpscore_exe, inifile, testfunction, *args)
File "/Users/sainho93/Documents/Repos/jpscore/Utest/JPSRunTest.py", line 228, in __execute_test
res = testfunction(inifile, trajfile, *args)
TypeError: run_rimea_test4() takes no arguments (2 given)
```Mohcine Chraibim.chraibi@fz-juelich.deMohcine Chraibim.chraibi@fz-juelich.dehttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/248Removing Dependencies on the directory-tree parsing (JPSfire)2018-03-22T17:31:39+01:00Arne GrafRemoving Dependencies on the directory-tree parsing (JPSfire)## Short description of suggestion
The directory-tree is parsed but when reading the files, the different paths get build with small paths-parts ("Z_") being hardcoded. Yet the shell script for creating these directories from JPSfire-Rep...## Short description of suggestion
The directory-tree is parsed but when reading the files, the different paths get build with small paths-parts ("Z_") being hardcoded. Yet the shell script for creating these directories from JPSfire-Repository ( https://gitlab.version.fz-juelich.de/jupedsim/jpsfire/blob/master/A_smoke_sensor/FDS/A_smoke_sensor/A_smoke_sensor.sh ) opens the possibility to have other prefixes.
## Why would the enhancement be useful to most users
There is no use-case in the demo-files, but it's likely to happen, once the smoke sensors get used more often.Arne GrafArne Grafhttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/252relocate agents, if they have invalid room-/subroom information Refactor2017-10-06T09:23:03+02:00Arne Grafrelocate agents, if they have invalid room-/subroom information Refactor## What should be done
In ```Simulation::UpdateRoutesAndLocations()``` there is the following code:
```
std::function<void(const Pedestrian&)> f = std::bind(&Simulation::UpdateFlowAtDoors, this, std::placeholders::_1);
assigned = ped->R...## What should be done
In ```Simulation::UpdateRoutesAndLocations()``` there is the following code:
```
std::function<void(const Pedestrian&)> f = std::bind(&Simulation::UpdateFlowAtDoors, this, std::placeholders::_1);
assigned = ped->Relocate(f);
```
which is working with the part in the ```Pedestrian``` class:
```
for (auto&it_room : allRooms)
{
auto& room = it_room.second;
auto subrooms = room->GetAllSubRooms();
map<int, std::shared_ptr<SubRoom> >::iterator sub =
std::find_if(subrooms.begin(), subrooms.end(), [&] (std::pair<int, std::shared_ptr<SubRoom>> iterator) {
return ((iterator.second->IsDirectlyConnectedWith(allRooms[_roomID]->GetSubRoom(_subRoomID))) && iterator.second->IsInSubRoom(this));
});
if(sub != subrooms.end()) {
flowupdater(*this); //@todo: ar.graf : this call should move into a critical region? check plz
ClearMentalMap(); // reset the destination
const int oldRoomID = _roomID;
SetRoomID(room->GetID(), room->GetCaption());
SetSubRoomID(sub->second->GetSubRoomID());
SetSubRoomUID(sub->second->GetUID());
_router->FindExit(this);
if(oldRoomID != room->GetID()){
//the agent left the old room
//actualize the egress time for that room
#pragma omp critical(SetEgressTime)
allRooms.at(GetRoomID())->SetEgressTime(GetGlobalTime()); //set Egresstime to old room //@todo: ar.graf : GetRoomID() yields NEW room
}
status = true;
break;
}
}
```
It seems to me, that the correction of the room-information somehow does not work. In the following call to the router, there are still pedestrian objects, that hold wrong room-subroom information.
I think it's worth to refactor this part of the code and make it easier and functional.
## Why?
Right now, it is not working and we want to change this part anyway. The call to the router every timestep seems to much. If we find a mechanic, that will only call the router once in a while __or__ the router will be called every timestep, but only executes once in a while, will be up for discussion.Mohcine Chraibim.chraibi@fz-juelich.deMohcine Chraibim.chraibi@fz-juelich.dehttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/256Simulation with different groups2017-11-02T16:41:18+01:00Ghost UserSimulation with different groupsSimulation with disabled peoples on stairs, which couldn't go downstairs.
* Group1 - non disabled people can go downstairs -> shortest way, so they go down
* Group2 - disabled people can't go downstairs -> wait on stairs until timeoutSimulation with disabled peoples on stairs, which couldn't go downstairs.
* Group1 - non disabled people can go downstairs -> shortest way, so they go down
* Group2 - disabled people can't go downstairs -> wait on stairs until timeouthttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/257ellipse size of wheelchair user2017-11-23T12:51:19+01:00Ghost Userellipse size of wheelchair user## Question
Who can I resize the ellipse size of people?
In case of wheelchair user is it necessary.
In the documentation I could find nothing about this topic.
## Screenshots
## Branch
JPScore Version 0.8
## OS
Mac 10.13.1 (17B48)...## Question
Who can I resize the ellipse size of people?
In case of wheelchair user is it necessary.
In the documentation I could find nothing about this topic.
## Screenshots
## Branch
JPScore Version 0.8
## OS
Mac 10.13.1 (17B48)
## Compiler and versionhttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/259Smoke Cue Model2018-06-13T16:41:34+02:00Mohcine Chraibim.chraibi@fz-juelich.deSmoke Cue Model## Short description of suggestion
- User defines a pre-movement time (e.g. 120 s)
- + detection time (e.g. 60s)
That means: the occupant remains in that position for 180 s regardless the occurrence of smoke or temperature.
It would b...## Short description of suggestion
- User defines a pre-movement time (e.g. 120 s)
- + detection time (e.g. 60s)
That means: the occupant remains in that position for 180 s regardless the occurrence of smoke or temperature.
It would be good if we can implement a function in the model that changes the pre-movement time of the occupant to 0 when the visibility drops to 10 m.
## Why would the enhancement be useful to most users
In this way, no weird results are obtained regarding people waiting in the smokeBen HeinBen Heinhttps://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/261osm-convert: creating geometries from open data2018-01-19T15:00:01+01:00benjamin moehringosm-convert: creating geometries from open data## Short description of suggestion
Hello, I am currently developing a tool to convert openstreetmap data into jps-readable geometry.xml files.
You can check out the current version of my python code from https://github.com/bsmoehring/jps...## Short description of suggestion
Hello, I am currently developing a tool to convert openstreetmap data into jps-readable geometry.xml files.
You can check out the current version of my python code from https://github.com/bsmoehring/jpsTools
To be honest the code might still be unhandy for someone who didn't write it. But I provided some example datasets in https://github.com/bsmoehring/jpsTools/tree/master/jpsTools/osmImport/resources
## Why would the enhancement be useful to most users
I believe that the power of jps will be accessible for way more users as soon as required data such as the geometry file can be easily converted from third party data sources. In addition the JOSM-Editor, which I find quite useful, provides well maintained and user-friendly editing tools based on vertices, just like jps.
If anyone is interested in what I#m doing, fell free to contact me. I'd be honored if it might someday help some users creating geometry files. Since my usecase are train stations, the code and especially the input parameters are very likely not well supporting other areas for now. If you're facing problems, let me know.https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/265EllipsesVelocityModel2018-02-02T14:21:57+01:00Mohcine Chraibim.chraibi@fz-juelich.deEllipsesVelocityModelExtend the velocity model with ellipses.Extend the velocity model with ellipses.0.8.3https://gitlab.jsc.fz-juelich.de/jupedsim/jpscore/-/issues/267Pedestrians get in shapes2018-06-13T16:41:34+02:00Mohcine Chraibim.chraibi@fz-juelich.dePedestrians get in shapes## Short description of suggestion
The default shape of agents is `ellipse`.
In some models, the ellipse' semi-axes are chosen in a way, that we can even simulate *indirectly* `circles`.
It should be important to make proper (distan...## Short description of suggestion
The default shape of agents is `ellipse`.
In some models, the ellipse' semi-axes are chosen in a way, that we can even simulate *indirectly* `circles`.
It should be important to make proper (distance)calculations based on the agent's shape.
## Why would the enhancement be useful
The "hack" explained above comes at cost: Ellipse-calculations are expensive. So even, if the agents are circles, still expensive ellipse-functions e.g. for distance calculations are called.
Besides, it is important to be able to compare in a reproducible way the different possible shapes.
## How?
I suggest to introduce a class `shape`. Every agent *has* a `shape`. From this class derive two classes:
- `ellipse`
- `circles`
Other sub-classes can follow.tobias schroedtertobias schroedter