generalized_centrifugal_force

Contents

generalized_centrifugal_force#

Module Contents#

class GeneralizedCentrifugalForceModel[source]#

Parameters for Generalized Centrifugal Force Model

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 = 9[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 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