Eigen Ingenuity Digital Twin
The Digital Twin capability in Eigen Ingenuity is powered by the Data Model (also called Asset Model); a contextualised digital map of your information showing where it is and how it is related. In some cases it may also contain the information itself.
The Data Model is a flexible digital model made up of Objects and Relationships, for example:
The Data Model can include both Physical Equipment (e.g. a valve, pipe, vessel etc.) and Concepts (e.g. a Barrier Function, a System or Major Accident Hazard).
Each object can be contexualised by adding properties and relating it to any other object. In this way a full digital map of all the information about a facility is built.
The full context for a thing may be made up of relevant documents, facts about the thing, sensors that measure data on the thing, events, how it relates to other things and any abstract (i.e. conceptual) groups it is part of.
Accessing the Data Model
When the user accesses an object in the Data Model, the full context is immediately available; that is, all the properties and all the related information and objects. In Eigen Ingenuity the Common Menu is the always-available way of viewing this information.
The Common Menu gives a user instant access to contextualised information about an object in a Digital Twin. Items in blue are live links to other objects or data in other systems, e.g. documents.
The data model has the following key features:
- A graph not a hierarchy
- Flexible – continually grow and improve
- Links to source data – maintain trust and traceability
How is the Data Model built
The Data Model can be as small or as large as you like, for example it could just model the Production Wells on a facility to start with and then be expanded over time to cover more equipment.
The initial model is normally built from scripts and input files from existing systems/data[1] to identify all the objects and relationships.
Typically around 80% of the structure can be generated by scripts based on rules and regular expressions.
The last 20% often needs engineering input because either the relationships are not obvious or there are significant differences in naming conventions (or just plain errors). This is where Eigen’s extensive domain expertise makes a big difference.
Graph technology
Eigen Ingenuity’s data model is stored in Neo4j, a true graph database technology that is proven to scale at enterprise levels.
In a graph, objects can be selected based on querying their properties and also by navigating to them across relationships.
Flexible
Organising data is difficult to get right. Typically, what suits one use case doesn’t suit another. But a data model has to suit all use cases, so it must be flexible. You need to be able to add to it over time without breaking any systems that depend on it.
The Eigen Ingenuity Data Model is completely flexible and supports evolving over time. Objects can be extended and new relationships added without breaking what went before.
Links to source data
A map is only useful if it is accurate and a Data Model must be trustworthy if people are to use it to make decisions.
Ideally there will always be one version of the truth for any piece of information. This isn’t always practical, but as far as possible the Data Model should not also be a data store.
The Eigen Ingenuity Data Model includes pointers to the source data wherever possible.
In a graph, objects can be selected based on querying their properties and also by navigating to them across relationships.
Flexible
Organising data is difficult to get right. Typically, what suits one use case doesn’t suit another. But a data model has to suit all use cases, so it must be flexible. You need to be able to add to it over time without breaking any systems that depend on it.
The Eigen Ingenuity Data Model is completely flexible and supports evolving over time. Objects can be extended and new relationships added without breaking what went before.
Links to source data
A map is only useful if it is accurate and a Data Model must be trustworthy if people are to use it to make decisions.
Ideally there will always be one version of the truth for any piece of information. This isn’t always practical, but as far as possible the Data Model should not also be a data store.
The Eigen Ingenuity Data Model includes pointers to the source data wherever possible.
Here a pointer is included to the timeseries tag in a data historian.
"code": "20PIT118P01_PV", "name": "20PIT118P01_PV", "value": {source:”ip21”, type:”historian”, tag:”ACH_20PIT118P01_PV "}, "facility": "West Chirag", "class": "measurementSource", "desc": "WestChirag/ACH_20PIT118P01" "active": true, "updateTime": "2021-02-08T15:25:18.527000000[GMT]", "uuid": "2f582377-9b5c-4da3-a7c0-341bca44cd78", "createTime": "2021-02-08T15:25:18.527000000[GMT]",
Here a pointer is included to the timeseries tag in a data historian.
Objects
Objects have an ID, a type (or types) and any number of properties.
The Eigen Ingenuity Data Model supports multiple inheritance
"code": "36_7-A-4 A", "type": "OilProductionWellGasLift", "perfType": "BHI-3.375 TCP", "active": true, "updateTime": "2021-02-08T15:24:04.545000000[GMT]", "pid": "Facility/OilProductionWellGasLift/36_7-A-4 A", "formation": "Kretinolje South", "ei_removed": false, "tdDate": "08-Apr-94", "wellLegalName":"36/7-A-4 A", "uuid": "0de9fa5a-4969-41c6-be23-80d164a11e07", "wellType": "OILP", "compDate": "21-Apr-93", "compType": "CH-PERF", "createTime": "2021-02-08T15:24:04.545000000[GMT]", "name": "36_7-A-4 A", "fluid": "__NULL", "wellName": "A-04 A", "facility": "Kittywake", "desc": "36_7-A-4 A"
Relationships
Objects can be related in all kinds of ways and each object can have any number of relationships. For example:
A is in area B A measures position of C C protects D C flows into X