Salt la conținutul principal

Simulators API

The Simulator API uses the following Cognite Data Fusion (CDF) API resources to enable simulation operations:

Simulators

The Simulators resource contains the definitions necessary for CDF to interact with a given simulator. This resource serves as a central contract for APIs, user interfaces, and connectors to utilize the same definitions when dealing with a specific simulator. Each simulator is uniquely identified and can be associated with various file extension types, model types, step fields, and unit quantities. Simulators are essential for managing data flows between CDF and external simulation applications, ensuring consistency and reliability in data handling.

Simulator Integrations

The Simulator Integration resource represents a simulator connector in CDF. This resource provides information about the configured connectors for a given simulator, including their status and additional details, such as data set, name, license status, connector version, simulator version. This resource is essential for monitoring and managing the interactions between CDF and external simulation applications, ensuring proper data flow and integration.

Simulator Models and model revisions

Simulator Models represent an asset modeled in a simulator. For instance, an asset can be a pump, a well, a processing facility, or a refinery. The simulator model is the root of its associated revisions, routines, runs, and results. The data set assigned to a model is inherited by its children. Deleting a model also deletes all its children, thereby maintaining the integrity and hierarchy of the simulation data.

Simulator model revisions track changes and updates to a simulator model. Each revision ensures that modifications to models are traceable and allows users to understand the evolution of a given mode.

Simulator Routines and routine revisions

The Simulator Routines resource defines instructions for interactions with a simulator model. A simulator routine includes inputs (values set into the simulator model), commands (actions to be performed by the simulator), and outputs (values read from the simulator model). Simulator routines can have multiple revisions, enabling users to track changes and evolve the routine over time. Each model can have multiple routines, each performing different objectives such as calculating optimal operation setpoints, forecasting production, benchmarking asset performance, and more.

Each routine is bound to a specific connector. Connectors manage the scheduling of their associated routines. Connectors use a queue to manage simulation runs triggered by schedules and API calls. When the incoming load exceeds processing capacity, runs are dropped based on a configurable timeout. Users can distribute load by creating multiple connectors and assigning routines across them, ensuring manageable workloads per connector.

Simulation Runs and simulation data

Every time a simulation routine executes, a simulation run object is created. This object ensures that each routine execution is documented and traceable. Each run has an associated simulation data resource, which stores the inputs and outputs of a simulation run, capturing the values set into and read from the simulator model to ensure the traceability and integrity of the simulation data.

Simulation runs provide a historical record of the simulations performed, allowing users to analyze and compare different runs, track changes over time, and make informed decisions based on the simulation results.

Simulator Logs

Simulator Logs track what happens during simulation runs, model parsing, and generic connector logic, and provide valuable information for monitoring, debugging, and auditing. Simulator logs capture important events, messages, and exceptions that occur during the execution of simulations, model parsing, and connector operations. Use logs to identify issues, diagnose problems, and gain insights into the behavior of simulator integrations.