• Documentation
  • Core API
  • SmartOpenHamburg API
  • Model Components API
  • Common API
Search Results for

    Show / Hide Table of Contents
    • MARS DSL Language
    • MARS Runtime System
      • Getting started with MARS
      • Basic Concepts
        • Multi-Agent-Simulation
        • Agents
        • Layers
        • Entities
        • Environments
          • SpatialHashEnvironment
          • GeoHashEnvironment
          • SpatialGraphEnvironment
          • CollisionEnvironment
        • Model Setup
      • Model Configuration
        • Agent and Entity Configuration
        • Layer Configuration
        • Output Filter
        • Simulation Configuration Options
        • Simulation Output Formats
      • Data Sources
        • Geospatial Data Sources
        • Geospatial Data Types
        • ASCII grid (.asc)
        • CSV
        • Time-series Data
      • Analysis and Visualization
        • Visualizing Agent Movement Trajectories
        • Simple Live Visualization
        • Analyzing Output Data
      • Tutorials
        • Creating a new MARS C# project
        • Creating a starting point for your model
        • Creating vector and raster layer files
        • Building your first model (wolf-sheep-grass)
        • Common problems and solutions
        • Acquire geo data for layers
        • Build and start your model in Kubernetes cluster
    • SmartOpenHamburg
      • Quick Start
      • Ready to use scenarios (boxes)
        • Ferry Transfer
        • Green4Bikes
        • Results
        • Result Schemas
      • Layer
        • Multimodal Layer
        • Modal Layer
        • Scheduling Layer
        • Vector Layer
      • Agents
        • Behaviour Model
        • Multimodal
        • Multi-Capable
        • Multi-Modality
        • Citizen
        • Traveler
      • Entities
        • Referencing
        • Street Vehicles
        • Bicycle Vehicles
        • Ferry

    Execution Configuration

    The execution of the simulation can be defined globally or individually per agent type or instance. It specifies exactly how often an agent or the model should be executed.

    Global Execution Time

    The global settings affect the simulation time and include the definition of the simulation period and the step length (deltaT).

    MARS distinct two different time models:

    Step Based Execution

    The step-based version is the simplest kind of execution. By setting the steps, the concrete amount of steps to be actually executed is determined.

    This temporal execution is suitable for models that do not consider any kind of temporal relationships in their concept model.

    In the simulation configuration the following must be specified under the global settings globals:

    {
        "globals": {
            "deltaT" : 1,
            "steps" : 1000
        }
    }
    

    In the configuration above we have defined the simulation runs exactly 1000 steps.

    ❗❗❗ One simulation tick tick is interpreted as 1 step.

    Real-time based execution

    The real-time based execution uses a concretely defined start and End time in which this simulation is executed.

    This temporal execution is suitable for most models that want to react to calendar events within the model logic (e.g. in October it gets cooler ...).**

    In the simulation configuration the following must be specified under the global settings ``globals'':

    {
        "globals": {
            "deltaT" : 1,
            "deltaTUnit": "minutes",
            "startTime" : "10-10-1993T10:34:01",
            "endTime" : "10-10-2003T12:00:00"
        }
    }
    

    The real time is set as the validity period. By specifying the step length deltaT and a concrete time unit minutes real-time step is specified.

    ❗❗❗ One simulation tick tick is interpreted as 1 minute.

    The following time units are available:

    deltaTUnit
    microseconds
    milliseconds
    seconds
    minutes
    days
    weeks
    months
    years

    Due to the existing real time, a further attribute DateTime is created in the output of the results, which assigns the corresponding validity time to the version of an object.

    Individual Execution Time

    The frequency of execution of concrete agent and active layer instances can be set.

    The setting always refers to the simulation tick that maps to the logical simulation step or the real-time step (see above).

    In the simulation configuration, the so-called executionFrequency can be specified under the type mapping (agents or layers). This specifies an integer value, which tells after how many ticks, instances of these types should be executed.

    {
        "globals": {
            "deltaT": 1,
            "deltaTUnit": "minutes",
            "startTime": "10-10-1993T10:34:01",
            "endTime": "10-10-2003T12:00:00"
        },
        "agents": [{
                "name": "Marula",
                "count": 1180,
                "executionFrequency": 10
            },
            {
                "name": "Citizen",
                "count": 105610
            }
        ]
    }
    

    In conjunction with the global real-time based execution every minute, this setting means: Every Marula is executed after each passed 10 minutes and every citizen is executed after every minute.

    The executionFrequency applies to all instances of the type Marula and can be individually assigned to an output group for selected instances when registering to the runtime system (more about spawning and registering here.

    In This Article
    Back to top © 2022 MARS GROUP