Agent Parameters

Overview

This page is part of the Multi Agent System (MAS) documentation.
It contains a listing of all PALM input parameters used to steer the MAS.
For an overview of all MAS-related pages, see the MAS main page.


Parameter list

NAMELIST group name: agent_parameters

Parameter Name FORTRAN Type Default Value Explanation

a_rand_target

L(100)

100 * .F.

Flag for agents within a group to have random targets outside of model domain.

One logical value per agent group. If .T., each agent in that group will have a random target just outside the model domain. Otherwise a target (see at_x/at_y) must be set manually for each agent group.

adx

R(100)

100 * 9999999.9

Distance along x between agents within an agent source (in m).

Each agent source is defined as an area from x = asl to asr and y = ass to asn. The first agent is released at x = asl; y = ass. More agents are released at x = asl + N * adx (x <= asr) and y = ass + N * ady (y <= asn), forming a raster.

To add a random element to these release points, see random_start_position_agents.

ady

R(100)

100 * 9999999.9

Distance along y between agents within an agent source (in m).

agent_maximum_age

R(100)

100 * 9999999.9

Maximum time an agent can spend in the simulation before it is deleted.

alloc_factor_mas

R

20.0

Factor (in percent) describing the memory allocated additionally to the memory needed for initial agents at a given grid cell.

Implementation is the same as alloc_factor.

asl

R(100)

100 * 9999999.9

Left border of agent source(s) (in m).

Check adx for information on agent sources.

asn

R(100)

100 * 9999999.9

North border of agent source(s) (in m).

Check adx for information on agent sources.

asr

R(100)

100 * 9999999.9

Right border of agent source(s) (in m).

Check adx for information on agent sources.

ass

R(100)

100 * 9999999.9

South border of agent source(s) (in m).

Check adx for information on agent sources.

at_x

R(100)

100 * 9999999.9

x-coordinate of agent group target (in m).

Each agent in a group will navigate through building topography toward the corresponding target with x = at_x and y = at_y

at_y

R(100)

100 * 9999999.9

y-coordinate of agent group target (in m).

Each agent in a group will navigate through building topography toward the corresponding target with x = at_x and y = at_y

bc_mas_lr

C*15

'absorb'

Boundary condition for agents at the left and right model boundary.

By default, agents are deleted when they leave the model domain (bc_mas_lr = 'absorb' ).
Cyclic lateral boundary conditions can be introduced by setting bc_mas_lr = 'cyclic' .

bc_mas_ns

C*15

'absorb'

Boundary condition for agents at the north and south model boundary.

By default, agents are deleted when they leave the model domain (bc_mas_ns = 'absorb' ).
Cyclic lateral boundary conditions can be introduced by setting bc_mas_ns = 'cyclic' .

coll_t_0

R

3.0

Range of unscreened interactions for social force model (in s).

Collision avoidance of pedestrians is implemented according to the approach of Karamouzas et al. (2014). This parameter implies a maximum range that pedestrians consider for collision avoidance, i.e., potential collisions that will occur more than coll_t_0 in the future are largely ignored.

NOTE: This parameter should generally not be changed.

corner_gate_start

R

0.5

Distance of navigation gate starting point to obstacle corner (in m).

Convex obstacle corners are used for agents to navigate towards their target (see at_x/at_y). In order to avoid collisions with these obstacles, the navigation points do not coincide exactly with the obstacle corners but are shifted outward along the bisector of the corner. The navigation point for each agent at a given corner is chosen randomly along a line following the corner bisector starting at corner_gate_start outward from the corner and ending at corner_gate_start + corner_gate_width outward from the corner, forming a 'gate' at each obstacle corner through which agents can pass. This gate helps to avoid clustering of agents moving in different directions at corner navigation points.

corner_gate_width

R

1.0

Width of navigation gate at obstacle corners (in m).

See corner_gate_start for details.

deallocate_memory_mas

L

.T.

Parameter to enable deallocation of unused memory.

If the number of agents in a grid box exceeds the allocated memory, new memory is allocated. However, if the number of agents per grid box is only temporarily high, most of the memory will be unused later. If deallocate_memory_mas = .T., the allocated memory used for agents will be dynamically adjusted with respect to the current number of agents every step_dealloc_mas'th timestep.

dim_size_agtnum_manual

I

9999999

Manually set size for agent-number dimension.

Agent output has two dimensions, time and agent number. By default, the size of the latter is estimated via the output interval and amount, the MAS simulation time and agent_maximum_age. This is a maximum estimation and may thus be much too large. Use dim_size_agtnum_manual to explicitly set the dimension size.
In case dim_size_factor_agtnum is also set, the minimum of the resulting dimension sizes is chosen.

WARNING: This may lead to the dimension being smaller than the number of agents and thus data loss.

dim_size_factor_agtnum

R

1.0

Factor to modify the agent-number dimension size for agent output.

Agent output has two dimensions, time and agent number. By default, the size of the latter is estimated via the output interval and amount, the MAS simulation time and agent_maximum_age. This is a maximum estimation and may thus be much too large. Use dim_size_factor_agtnum to reduce the dimension size.
In case dim_size_agtnum_manual is also set, the minimum of the resulting dimension sizes is chosen.

WARNING: This may lead to the dimension being smaller than the number of agents and thus data loss.

dist_to_int_target

R

0.25

Distance (in m) at which an intermittent target counts as reached.

Each agent in an agent group navigates toward that groups target (at_x/at_y). To do this a preprocessed navigation mesh (visibility graph) is searched via the A*-algorithm for the most efficient path toward the target. The agent successively navigates toward a number of intermittent targets along the calculated path, each such target providing the direction of the driving force until it is reached. Each intermittent target counts as reached as soon as the distance between it and the current agent position is smaller than dist_to_int_target. Then, the next intermittent target along the path is chosen.

NOTE: This parameter should be chosen in a way that insures that the next intermittent target is visible to the agent once the current one is reached. If not, agents could get stuck at obstacle corners.

dt_agent

R

0.02

Agent timestep (in seconds).

The MAS performs a number of subtimesteps usually much smaller than the model timestep until all agents have reached the model timestep. The value of this parameter should not exceed 0.02 s, as above that, the agents' local interaction will become unstable.

dt_arel

R

9999999.9

Interval in which agents are released at their respective sources (in s).

Every dt_arel seconds, agents are released at their sources as defined by asl, asr, adx, ass, asn and ady.

dt_write_agent_data

R

9999999.9

Output interval for agent NetCDF output (in s).

Agent data is output every dt_write_agent_data s to the NetCDF file described here.
Note: To animate the results of an agent simulation in real-time speed, dt_write_agent_data = 0.04 is recommended.
Note: While prognostic quantities are output at every output step, this data will not change between two PALM timesteps, as no new values have been calculated yet.

end_time_arel

R

9999999.9

Simulation time at which the release of agent is stopped (in s).

From this time on no more agents are released from the sources as defined by asl, asr, adx, ass, asn and ady. There may still be agents left in the simulation until the last agent has reached agent_maximum_age and is deleted or until all agents have left the model domain or reached their targets.

max_dist_from_path

R

1.0

Agent distance from current path section that triggers recalculation of that agent's path (in m).

An agent's path to its target consists of a number of intermittent targets. If an agents deviates further from its current path section (the line between its last and its current intermittent target) than max_dist_from_path, a recalculation of the path to its target is triggered.

min_nr_agent

I

2

Minimum number of agents for which memory is allocated at every grid cell.

multi_agent_system_end

R

9999999.9

Simulation time at which the multi agent system will stop excuting (in s).

NOTE: This does not consider spin-up time.

multi_agent_system_start

R

0.0

Simulation time at which the multi agent system will start excuting (in s).

NOTE: This does not consider spin-up time.

number_of_agent_groups

I

1

Number of agent groups.

Sources ( asl, asr, adx, ass, asn and ady) and targets (at_x/at_y) should be defined for each group individually. A maximum of 100 groups are allowed.
Note: dt_arel is the same for all groups.

radius_agent

R

0.25

Quasi-solid core of agents.

If agents collide, (distance of their centers smaller than 2*radius_agent) the standard social force model according to Helbing (1995) is used to calculate their repulsive forces on each other instead of the default collision avoidance scheme.

random_start_position_agents

L

.T.

Initial position of the particles is varied randomly within certain limits.

By default, the initial positions of agents within the source exactly correspond with the positions given by asl, asr, asn, ass, adx and ady. With random_start_position_agents = .T. the initial positions of the agents are allowed to randomly vary from these positions within certain limits.

Very important: In case of random_start_position = .T., the random-number generators on the individual PEs no longer run synchronously. If random disturbances are applied to the velocity field (see create_disturbances), then as a consequence for parallel runs the realizations of the turbulent flow fields will deviate between runs which used different numbers of PEs!

read_agents_from_restartfile

L

.F.

Flag to read agent data from restart file.

Currently no function, as restart runs with agents are not yet implemented. Will follow.

repuls_agent

R

1.5

Magnitude of the repulsive force agents exert on each other (in m2 s-2).

The repulsive force agents exert on each other according to the original social force model (Helbing and Molnár, 1995) is calculated from a potential field and drops exponentially with distance. This is the magnitude of that potential field.

repuls_wall

R

7.0

Magnitude of the repulsive force obstacles exert on agents (in m2 s-2).

The repulsive force obstacles exert on agents according to the original social force model (Helbing and Molnár, 1995) is calculated from a potential field and drops exponentially with distance. This is the magnitude of that potential field.

scan_radius_agent

R

3.0

Radius around the agent in which it scans for obstacles (in m).

Based on scan_radius_agent, each agent at each subtimestep determines a number of gridboxes around it and scans them for obstacles (topography and other agents). It will interact only with obstacles in that radius. The limiting factor is the grid spacing, since a maximum of three grid boxes can be scanned at subdomain boundaries.

sigma_rep_agent

R

0.3

Width of agent repulsive field (in m).

The repulsive force agents exert on each other according to the original social force model (Helbing and Molnár, 1995) is calculated from a potential field and drops exponentially with distance. This is the width of that potential field.

sigma_rep_wall

R

0.1

Width of obstacle repulsive field (in m).

The repulsive force obstacles exert on agents according to the original social force model (Helbing and Molnár, 1995) is calculated from a potential field and drops exponentially with distance. This is the width of that potential field.

step_dealloc_mas

I

100

Interval for memory reallocation.

See deallocate_memory_mas.

switch_off_module

L

.F.

tau_accel_agent

R

0.5

Relaxation time in social force model (in s).

tau_accel_agent determines how quickly an agent will aproach its desired velocity and direction. A smaller value leads to a more aggresive walking style.


References

Helbing, D. and Molnár, P. (1995): Social force model for pedestrian dynamics. Physical Review Journals, 51(5), 4282-4286, ​https://doi.org/10.1103/PhysRevE.51.4282 .

Last modified 4 years ago Last modified on Feb 26, 2021 4:28:40 PM

Attachments (1)

Download all attachments as: .zip