jupedsim.models

Contents

jupedsim.models#

Module Contents#

class CollisionFreeSpeedModel[source]#

Collision Free Speed Model

A general description of the Collision Free Speed Model can be found in the originating publication https://arxiv.org/abs/1512.05597

A more detailed description can be found at https://pedestriandynamics.org/models/collision_free_speed_model/

All attributes are initialized with reasonably good defaults.

strength_neighbor_repulsion[source]#

Strength of the repulsion from neighbors

range_neighbor_repulsion[source]#

Range of the repulsion from neighbors

strength_geometry_repulsion[source]#

Strength of the repulsion from geometry boundaries

range_geometry_repulsion[source]#

Range of the repulsion from geometry boundaries

strength_neighbor_repulsion: float = 8.0[source]#
range_neighbor_repulsion: float = 0.1[source]#
strength_geometry_repulsion: float = 5.0[source]#
range_geometry_repulsion: float = 0.02[source]#
class CollisionFreeSpeedModelV2[source]#

Collision Free Speed Model V2

This is a variation of the Collision Free Speed Model where geometry and neighbor repulsion are individual agent parameters instead of global parameters.

A general description of the Collision Free Speed Model can be found in the originating publication https://arxiv.org/abs/1512.05597

A more detailed description can be found at https://pedestriandynamics.org/models/collision_free_speed_model/

class GeneralizedCentrifugalForceModel[source]#

Parameters for Generalized Centrifugal Force Model

Warning

Unfortunately we broke the model before the 1.0 release and did not notice it in time. For the time being please do not use this model.

We track the defect here: PedestrianDynamics/jupedsim#1337

All attributes are initialized with reasonably good defaults.

strength_neighbor_repulsion[source]#

Strength of the repulsion from neighbors

strength_geometry_repulsion[source]#

Strength of the repulsion from geometry boundaries

max_neighbor_interaction_distance[source]#

cut-off-radius for ped-ped repulsion (r_c in FIG. 7)

max_geometry_interaction_distance[source]#

cut-off-radius for ped-wall repulsion (r_c in FIG. 7)

max_neighbor_interpolation_distance[source]#

distance of interpolation of repulsive force for ped-ped interaction (r_eps in FIG. 7)

max_geometry_interpolation_distance[source]#

distance of interpolation of repulsive force for ped-wall interaction (r_eps in FIG. 7)

max_neighbor_repulsion_force[source]#

maximum of the repulsion force for ped-ped interaction by contact of ellipses (f_m in FIG. 7)

max_geometry_repulsion_force[source]#

maximum of the repulsion force for ped-wall interaction by contact of ellipses (f_m in FIG. 7)

strength_neighbor_repulsion: float = 0.3[source]#
strength_geometry_repulsion: float = 0.2[source]#
max_neighbor_interaction_distance: float = 2[source]#
max_geometry_interaction_distance: float = 2[source]#
max_neighbor_interpolation_distance: float = 0.1[source]#
max_geometry_interpolation_distance: float = 0.1[source]#
max_neighbor_repulsion_force: float = 3[source]#
max_geometry_repulsion_force: float = 3[source]#
class GeneralizedCentrifugalForceModelAgentParameters[source]#

Parameters required to create an Agent in the Generalized Centrifugal Force Model.

See the scientific publication for more details about this model https://arxiv.org/abs/1008.4297

Note

Instances of this type are copied when creating the agent, you can safely create one instance of this type and modify it between calls to add_agent

E.g.:

positions = [...] # List of initial agent positions
params = GeneralizedCentrifugalForceModelAgentParameters(speed=0.9) # all agents are slower
for p in positions:
    params.position = p
    sim.add_agent(params)
speed[source]#

Speed of the agent.

e0[source]#

Desired direction of the agent.

position[source]#

Position of the agent.

orientation[source]#

Orientation of the agent.

journey_id[source]#

Id of the journey the agent follows.

stage_id[source]#

Id of the stage the agent targets.

mass[source]#

Mass of the agent.

tau[source]#

Time constant that describes how fast the agent accelerates to its desired speed (v0).

v0[source]#

Maximum speed of the agent.

a_v[source]#

Stretch of the ellipsis semi-axis along the movement vector.

a_min[source]#

Minimum length of the ellipsis semi-axis along the movement vector.

b_min[source]#

Minimum length of the ellipsis semi-axis orthogonal to the movement vector.

b_max[source]#

Maximum length of the ellipsis semi-axis orthogonal to the movement vector.

speed: float = 0.0[source]#
e0: tuple[float, float] = (0.0, 0.0)[source]#
position: tuple[float, float] = (0.0, 0.0)[source]#
orientation: tuple[float, float] = (0.0, 0.0)[source]#
journey_id: int[source]#
stage_id: int[source]#
mass: float = 1[source]#
tau: float = 0.5[source]#
v0: float = 1.2[source]#
a_v: float = 1[source]#
a_min: float = 0.2[source]#
b_min: float = 0.2[source]#
b_max: float = 0.4[source]#
class CollisionFreeSpeedModelAgentParameters[source]#

Agent parameters for Collision Free Speed Model.

See the scientific publication for more details about this model https://arxiv.org/abs/1512.05597

Note

Instances of this type are copied when creating the agent, you can safely create one instance of this type and modify it between calls to add_agent

E.g.:

positions = [...] # List of initial agent positions
params = CollisionFreeSpeedModelAgentParameters(v0=0.9) # all agents are slower
for p in positions:
    params.position = p
    sim.add_agent(params)
position[source]#

Position of the agent.

time_gap[source]#

Time constant that describe how fast pedestrian close gaps.

v0[source]#

Maximum speed of the agent.

radius[source]#

Radius of the agent.

journey_id[source]#

Id of the journey the agent follows.

stage_id[source]#

Id of the stage the agent targets.

position: tuple[float, float] = (0.0, 0.0)[source]#
time_gap: float = 1.0[source]#
v0: float = 1.2[source]#
radius: float = 0.2[source]#
journey_id: int = 0[source]#
stage_id: int = 0[source]#
class CollisionFreeSpeedModelV2AgentParameters[source]#

Agent parameters for Collision Free Speed Model V2.

See the scientific publication for more details about this model https://arxiv.org/abs/1512.05597

Note

Instances of this type are copied when creating the agent, you can safely create one instance of this type and modify it between calls to add_agent

E.g.:

positions = [...] # List of initial agent positions
params = CollisionFreeSpeedModelV2AgentParameters(v0=0.9) # all agents are slower
for p in positions:
    params.position = p
    sim.add_agent(params)
position[source]#

Position of the agent.

time_gap[source]#

Time constant that describe how fast pedestrian close gaps.

v0[source]#

Maximum speed of the agent.

radius[source]#

Radius of the agent.

journey_id[source]#

Id of the journey the agent follows.

stage_id[source]#

Id of the stage the agent targets.

strength_neighbor_repulsion[source]#

Strength of the repulsion from neighbors

range_neighbor_repulsion[source]#

Range of the repulsion from neighbors

strength_geometry_repulsion[source]#

Strength of the repulsion from geometry boundaries

range_geometry_repulsion[source]#

Range of the repulsion from geometry boundaries

position: tuple[float, float] = (0.0, 0.0)[source]#
time_gap: float = 1.0[source]#
v0: float = 1.2[source]#
radius: float = 0.2[source]#
journey_id: int = 0[source]#
stage_id: int = 0[source]#
strength_neighbor_repulsion: float = 8.0[source]#
range_neighbor_repulsion: float = 0.1[source]#
strength_geometry_repulsion: float = 5.0[source]#
range_geometry_repulsion: float = 0.02[source]#
class GeneralizedCentrifugalForceModelState(backing)[source]#
property speed: float[source]#

Speed of this agent.

Return type:

float

property e0: tuple[float, float][source]#

Desired direction of this agent.

Return type:

tuple[float, float]

property tau: float[source]#
Return type:

float

property v0: float[source]#

Maximum speed of this agent.

Return type:

float

property a_v: float[source]#

Stretch of the ellipsis semi-axis along the movement vector.

Return type:

float

property a_min: float[source]#

Minimum length of the ellipsis semi-axis along the movement vector.

Return type:

float

property b_min: float[source]#

Minimum length of the ellipsis semi-axis orthogonal to the movement vector.

Return type:

float

property b_max: float[source]#

Maximum length of the ellipsis semi-axis orthogonal to the movement vector.

Return type:

float

class CollisionFreeSpeedModelState(backing)[source]#
property time_gap: float[source]#
Return type:

float

property v0: float[source]#

Maximum speed of this agent.

Return type:

float

property radius: float[source]#

Radius of this agent.

Return type:

float

class CollisionFreeSpeedModelV2State(backing)[source]#
property time_gap: float[source]#
Return type:

float

property v0: float[source]#

Maximum speed of this agent.

Return type:

float

property radius: float[source]#

Radius of this agent.

Return type:

float

property strength_neighbor_repulsion: float[source]#

Strength of the repulsion from neighbors of this agent.

Return type:

float

property range_neighbor_repulsion: float[source]#

Range of the repulsion from neighbors of this agent.

Return type:

float

property strength_geometry_repulsion: float[source]#

Strength of the repulsion from geometry boundaries of this agent.

Return type:

float

property range_geometry_repulsion: float[source]#

Range of the repulsion from geometry boundaries of this agent.

Return type:

float