1 L0 = <http://www.simantics.org/Layer0-1.1>
2 DIA = <http://www.simantics.org/Diagram-2.2>
3 STR = <http://www.simantics.org/Structural-1.2>
4 MOD = <http://www.simantics.org/Modeling-1.2>
5 VP = <http://www.simantics.org/Viewpoint-1.2>
6 IMAGE = <http://www.simantics.org/Image2-1.2>
7 SEL = <http://www.simantics.org/SelectionView-1.2>
8 SEL_UI = <http://www.simantics.org/SelectionViewUI-1.1>
9 G2D = <http://www.simantics.org/G2D-1.1>
11 DN = <http://www.simantics.org/DistrictNetwork-1.0> : L0.Ontology
13 L0.Ontology.global true
14 L0.HasResourceClass "org.simantics.district.network.ontology.DistrictNetworkResource"
16 // ----------------------------------------------------------------------------
18 DN.SCLMain : L0.SCLModule
19 L0.SCLModule.definition
21 include "Simantics/District/SCLMain"
24 // ----------------------------------------------------------------------------
26 defProperty : L0.Template
27 @template %subject %label %range
28 %subject <R L0.HasProperty : SEL.GenericParameterType
29 L0.HasLabel %label : L0.String
32 // ----------------------------------------------------------------------------
34 DN.Diagram <T DIA.Diagram
36 DN.Connection <T DIA.Connection
37 DN.Element <T DIA.Element : L0.Type
39 DN.Vertex <T DN.Element
40 >-- DN.Vertex.HasElevation
41 @defProperty "Elevation" L0.Double
42 >-- DN.Vertex.HasAltElevation
43 @defProperty "Alternative Elevation" L0.Double
44 >-- DN.Vertex.HasAddress
45 @defProperty "Address" L0.String
46 >-- DN.Vertex.HasSupplyTemperature
47 @defProperty "Supply Temperature" L0.Double
48 >-- DN.Vertex.HasReturnTemperature
49 @defProperty "Return Temperature" L0.Double
50 >-- DN.Vertex.HasSupplyPressure
51 @defProperty "Supply Pressure" L0.Double
52 >-- DN.Vertex.HasReturnPressure
53 @defProperty "Return Pressure" L0.Double
54 >-- DN.Vertex.HasDeltaPressure
55 @defProperty "Delta pressure" L0.Double
56 >-- DN.Vertex.HasDeltaTemperature
57 @defProperty "Delta temperature" L0.Double
58 >-- DN.Vertex.HasHeatPower
59 @defProperty "Heat Power" L0.Double
60 >-- DN.Vertex.HasPeakPower
61 @defProperty "Peak Power" L0.Double
62 >-- DN.Vertex.HasNominalHeadM
63 @defProperty "NominalHeadM" L0.Double
64 >-- DN.Vertex.HasNominalHeadB
65 @defProperty "NominalHeadB" L0.Double
66 >-- DN.Vertex.HasNominalFlow
67 @defProperty "Nominal Flow" L0.Double
68 >-- DN.Vertex.HasMaximumHeadM
69 @defProperty "Maximum head M" L0.Double
70 >-- DN.Vertex.HasHeatLoadDs
71 @defProperty "Heat Load ds" L0.Double
72 >-- DN.Vertex.HasMassFlow
73 @defProperty "Mass Flow" L0.Double
74 >-- DN.Vertex.HasVolFlow
75 @defProperty "Vol Flow" L0.Double
76 >-- DN.Vertex.HasVelocity
77 @defProperty "Velocity" L0.Double
78 >-- DN.Vertex.HasFlowArea
79 @defProperty "Flow Area" L0.Double
80 >-- DN.Vertex.HasValvePosition
81 @defProperty "Valve position" L0.Double
82 >-- DN.Vertex.HasNominalPressureLoss
83 @defProperty "Nominal Pressure Loss" L0.Double
84 >-- DN.Vertex.HasPumpInReturnLine
85 @defProperty "Pump in Return Line" L0.Double
86 >-- DN.Vertex.HasHeadPumpMaximum
87 @defProperty "Head pump maximum" L0.Double
88 >-- DN.Vertex.HasHeadPumpNominal
89 @defProperty "Head pump nominal" L0.Double
90 >-- DN.Vertex.HasFrequencyConverterControlled
91 @defProperty "Frequency Converter Controlled" L0.Double
92 >-- DN.Vertex.HasInternalValveMeasurement
93 @defProperty "Internal Valve Measurement" L0.Double
94 >-- DN.Vertex.HasPumpMassFlowNominal
95 @defProperty "Pump Mass Flow Nominal" L0.Double
96 >-- DN.Vertex.HasPumpMeMax
97 @defProperty "Pump Me Max" L0.Double
98 >-- DN.Vertex.HasPumpMeMin
99 @defProperty "Pump Me Min" L0.Double
100 >-- DN.Vertex.HasPumpSpeedMax
101 @defProperty "Pump Speed Max" L0.Double
102 >-- DN.Vertex.HasPumpSpeedMin
103 @defProperty "Pump Speed Min" L0.Double
104 >-- DN.Vertex.HasValveReturnLine
105 @defProperty "Valve Return Line" L0.Double
106 >-- DN.Vertex.HasValveMeMax
107 @defProperty "Valve Me Max" L0.Double
108 >-- DN.Vertex.HasValveMeMin
109 @defProperty "Valve Me Min" L0.Double
110 >-- DN.Vertex.HasValveMinPosition
111 @defProperty "Valve Min Position" L0.Double
112 >-- DN.Vertex.HasValveOutletMode
113 @defProperty "Valve Outlet Mode" L0.Double
114 >-- DN.Vertex.HasValvePressLossNominal
115 @defProperty "Valve Press Loss Nominal" L0.Double
116 >-- DN.Vertex.HasOpeningTime
117 @defProperty "Opening Time" L0.Double
118 @L0.assert DN.Vertex.HasElevation 0.0
120 DN.Edge <T DN.Element
121 >-- DN.Edge.HasElevation
122 @defProperty "Elevation" L0.Double
123 >-- DN.Edge.HasLength
124 @defProperty "Length" L0.Double
126 >-- DN.Edge.HasGeometry
127 @defProperty "Detailed Geometry" L0.DoubleArray
128 >-- DN.Edge.HasDiameter
129 @defProperty "Diameter" L0.Double
130 >-- DN.Edge.HasOuterDiameter
131 @defProperty "Outer Diameter" L0.Double
132 >-- DN.Edge.HasNominalMassFlow
133 @defProperty "Nominal Mass Flow" L0.Double
134 >-- DN.Edge.HasFlowArea
135 @defProperty "Flow Area" L0.Double
136 >-- DN.Edge.HasKReturn
137 @defProperty "K Return" L0.Double
138 >-- DN.Edge.HasKSupply
139 @defProperty "K Supply" L0.Double
140 >-- DN.Edge.HasTGround
141 @defProperty "T Ground" L0.Double
142 @L0.assert DN.Edge.HasDiameter 100
143 @L0.assert DN.Edge.HasOuterDiameter 125
145 // ----------------------------------------------------------------------------
147 DN.EdgeDefaultMapping <R L0.HasProperty : DN.EdgeMappingParameterType
148 L0.HasLabel "Default Edge mapping"
150 DN.VertexDefaultMapping <R L0.HasProperty : DN.VertexMappingParameterType
151 L0.HasLabel "Default Vertex mapping"
153 DN.RightClickDefaultMapping <R L0.HasProperty : DN.VertexMappingParameterType
154 L0.HasLabel "Right click Vertex mapping"
156 DN.LeftClickDefaultMapping <R L0.HasProperty : DN.VertexMappingParameterType
157 L0.HasLabel "Left click Vertex mapping"
159 DN.Diagram.DefaultPipeTechTypeId <R L0.HasProperty : SEL.GenericParameterType
160 L0.HasLabel "Default Pipe Tech Type ID"
163 // ----------------------------------------------------------------------------
165 DN.Functions : L0.Library
167 DN.VertexMappingParameterType <T SEL.GenericParameterType
168 @L0.assert SEL.HasDisplayValue
170 SEL.HasEnumerationValues DN.Functions.enumerationValues : L0.Function
171 SEL.HasCustomModifier DN.Functions.defaultVertexMappingModifier : L0.Function
173 DN.EdgeMappingParameterType <T SEL.GenericParameterType
174 @L0.assert SEL.HasDisplayValue
176 SEL.HasEnumerationValues DN.Functions.enumerationValues
177 SEL.HasCustomModifier DN.Functions.defaultEdgeMappingModifier : L0.Function
179 DN.MappingParameterType <T SEL.GenericParameterType
180 @L0.assert SEL.HasDisplayValue
182 SEL.HasEnumerationValues DN.Functions.enumerationValues
183 SEL.HasCustomModifier DN.Functions.mappingModifier : L0.Function
185 // ----------------------------------------------------------------------------
187 DN.HasMapping <R L0.HasProperty : DN.MappingParameterType
188 L0.HasLabel "Mapping"
190 DN.HasId --> L0.String <R L0.HasProperty : SEL.GenericParameterType
198 DN.HasInLayerTag <R L0.HasProperty
201 // For associating typical diagram source and instance structures with each other
202 DN.Diagram.MappedDiagram <R L0.IsWeaklyRelatedTo
203 L0.InverseOf DN.Diagram.MappedFromDiagram <R L0.IsWeaklyRelatedTo
204 DN.MappedComponent <R L0.IsWeaklyRelatedTo
205 L0.InverseOf DN.MappedFromElement <R L0.IsWeaklyRelatedTo
207 DN.Diagram.trackChangesEnabled <R L0.HasProperty : SEL.GenericParameterType
208 L0.HasRange L0.Boolean
209 L0.HasLabel "Track changes"
211 DN.Diagram.splitToMultipleEnabled <R L0.HasProperty : SEL.GenericParameterType
212 L0.HasRange L0.Boolean
213 L0.HasLabel "Split To Multiple Diagrams"
215 // Dynamic Visualisations
217 DN.VisualisationsFolder <T L0.Entity
219 DN.Diagram.Visualisations <T L0.Entity
220 >-- DN.Diagram.Visualisations.ShowColorBars
221 @defProperty "Show Color Bars" L0.Boolean
222 >-- DN.Diagram.Visualisations.ShowColorBarTicks
223 @defProperty "Show Color Bar Ticks" L0.Boolean
224 >-- DN.Diagram.Visualisations.UseColorBarGradients
225 @defProperty "Use Color Bar Gradients" L0.Boolean
226 >-- DN.Diagram.Visualisations.ColorBarLocation
227 @defProperty "Color Bar Location" L0.String
228 >-- DN.Diagram.Visualisations.ColorBarSize
229 @defProperty "Color Bar Size" L0.String
230 >-- DN.Diagram.Visualisations.ShowSizeBars
231 @defProperty "Show Size Bars" L0.Boolean
232 >-- DN.Diagram.Visualisations.ShowSizeBarTicks
233 @defProperty "Show Size Bar Ticks" L0.Boolean
234 >-- DN.Diagram.Visualisations.UseSizeBarGradients
235 @defProperty "Use Size Bar Gradients" L0.Boolean
236 >-- DN.Diagram.Visualisations.SizeBarLocation
237 @defProperty "Size Bar Location" L0.String
238 >-- DN.Diagram.Visualisations.SizeBarSize
239 @defProperty "Size Bar Size" L0.String
241 DN.Diagram.Visualisations.ColorContribution <T L0.Entity
242 DN.Diagram.Visualisations.SizeContribution <T L0.Entity
244 DN.Diagram.Visualisations.colorContributions <R L0.HasProperty
245 DN.Diagram.Visualisations.sizeContributions <R L0.HasProperty
247 DN.Diagram.Visualisations.colorContributionContributorName <R L0.HasProperty
248 DN.Diagram.Visualisations.colorContributionLabel <R L0.HasProperty
249 DN.Diagram.Visualisations.colorContributionModuleName <R L0.HasProperty
250 DN.Diagram.Visualisations.colorContributionModuleAttribute <R L0.HasProperty
251 DN.Diagram.Visualisations.colorContributionUnit <R L0.HasProperty
252 DN.Diagram.Visualisations.colorContributionVariableGain <R L0.HasProperty
253 DN.Diagram.Visualisations.colorContributionVariableBias <R L0.HasProperty
254 DN.Diagram.Visualisations.colorContributionDefaultColorMap <R L0.HasProperty
255 DN.Diagram.Visualisations.colorContributionDefaultMin <R L0.HasProperty
256 DN.Diagram.Visualisations.colorContributionDefaultMax <R L0.HasProperty
257 // for graph persistence only
258 DN.Diagram.Visualisations.colorContributionUsed <R L0.HasProperty
259 DN.Diagram.Visualisations.colorContributionUseDefault <R L0.HasProperty
261 DN.Diagram.Visualisations.sizeContributionContributorName <R L0.HasProperty
262 DN.Diagram.Visualisations.sizeContributionLabel <R L0.HasProperty
263 DN.Diagram.Visualisations.sizeContributionModuleName <R L0.HasProperty
264 DN.Diagram.Visualisations.sizeContributionModuleAttribute <R L0.HasProperty
265 DN.Diagram.Visualisations.sizeContributionUnit <R L0.HasProperty
266 DN.Diagram.Visualisations.sizeContributionVariableGain <R L0.HasProperty
267 DN.Diagram.Visualisations.sizeContributionVariableBias <R L0.HasProperty
268 DN.Diagram.Visualisations.sizeContributionDefaultSizeMap <R L0.HasProperty
269 DN.Diagram.Visualisations.sizeContributionDefaultMin <R L0.HasProperty
270 DN.Diagram.Visualisations.sizeContributionDefaultMax <R L0.HasProperty
271 // for graph persistence only
272 DN.Diagram.Visualisations.sizeContributionUsed <R L0.HasProperty
273 DN.Diagram.Visualisations.sizeContributionUseDefault <R L0.HasProperty
276 // End of dynamic visualisations
278 DN.AddLayerToDNDiagramTemplate <T L0.Template
280 DN.EPSG_4326 : DN.SpatialRefSystem
281 L0.HasLabel "EPSG:4326"
284 DN.SpatialRefSystem <T L0.Property
287 DN.HasSpatialRefSystem <R L0.HasProperty : SEL.GenericParameterType
288 L0.HasRange DN.SpatialRefSystem
289 L0.HasLabel "Spatial Reference System"
291 DN.HasSRID <R L0.HasProperty
292 L0.HasRange L0.Integer
294 DN.HasSRTEXT <R L0.HasProperty
295 L0.HasRange L0.String
297 DN.Functions.compositeInstantiator : L0.ExternalValue
299 DN.Composite <T STR.Composite
300 STR.Composite.instantiationFunction DN.Functions.compositeInstantiator
301 @L0.assert MOD.HasModelingTemplate
302 _ : MOD.DiagramTemplate
303 MOD.HasDiagramType DN.Diagram
304 @L0.assert MOD.HasModelingTemplate
305 _ : DN.AddLayerToDNDiagramTemplate
307 DN.HasStartVertex <R L0.DependsOn
309 L0.HasRange DN.Vertex
310 L0.InverseOf DN.HasStartVertex_Inverse <R L0.IsRelatedTo
312 DN.HasEndVertex <R L0.DependsOn
314 L0.HasRange DN.Vertex
315 L0.InverseOf DN.HasEndVertex_Inverse <R L0.IsRelatedTo
317 // ----------------------------------------------------------------------------
320 DN.Mapping <T L0.Library
322 DN.Functions.convertToValue : L0.ExternalValue
324 DN.Mapping.Base <T L0.Value
325 >-- DN.Mapping.Id --> L0.String <R L0.HasProperty
326 >-- DN.Mapping.ComponentType --> STR.ComponentType <R L0.DependsOn
327 >-- DN.Mapping.Terminals --> DN.Mapping.TerminalPair <R L0.HasProperty
328 @L0.assert L0.ConvertsToValueWith DN.Functions.convertToValue
330 DN.Mapping.Terminal <T L0.Entity
331 L0.HasRange L0.String
333 DN.Mapping.TerminalPair <T L0.Property
334 >-- DN.Mapping.InputTerminal --> DN.Mapping.Terminal <R L0.HasProperty
335 >-- DN.Mapping.OutputTerminal --> DN.Mapping.Terminal <R L0.HasProperty
337 DN.Mapping.VertexMapping <T DN.Mapping.Base
339 >-- DN.Mapping.VertexMapping.ElevationAttribute --> L0.String <R L0.HasProperty
340 >-- DN.Mapping.VertexMapping.ElevationAltAttribute --> L0.String <R L0.HasProperty
341 >-- DN.Mapping.VertexMapping.SupplyTemperatureAttribute --> L0.String <R L0.HasProperty
342 >-- DN.Mapping.VertexMapping.ReturnTemperatureAttribute --> L0.String <R L0.HasProperty
343 >-- DN.Mapping.VertexMapping.SupplyPressureAttribute --> L0.String <R L0.HasProperty
344 >-- DN.Mapping.VertexMapping.ReturnPressureAttribute --> L0.String <R L0.HasProperty
345 >-- DN.Mapping.VertexMapping.DeltaPressureAttribute --> L0.String <R L0.HasProperty
346 >-- DN.Mapping.VertexMapping.DeltaTemperatureAttribute --> L0.String <R L0.HasProperty
347 >-- DN.Mapping.VertexMapping.XAttribute --> L0.String <R L0.HasProperty
348 >-- DN.Mapping.VertexMapping.YAttribute --> L0.String <R L0.HasProperty
350 >-- DN.Mapping.VertexMapping.dpAttribute --> L0.String <R L0.HasProperty
351 >-- DN.Mapping.VertexMapping.dtAttribute --> L0.String <R L0.HasProperty
352 >-- DN.Mapping.VertexMapping.HeatPowerAttribute --> L0.String <R L0.HasProperty
353 >-- DN.Mapping.VertexMapping.PeakPowerAttribute --> L0.String <R L0.HasProperty
354 >-- DN.Mapping.VertexMapping.NominalHeadMAttribute --> L0.String <R L0.HasProperty
355 >-- DN.Mapping.VertexMapping.NominalHeadBAttribute --> L0.String <R L0.HasProperty
356 >-- DN.Mapping.VertexMapping.NominalFlowAttribute --> L0.String <R L0.HasProperty
357 >-- DN.Mapping.VertexMapping.MaximumHeadMAttribute --> L0.String <R L0.HasProperty
359 >-- DN.Mapping.VertexMapping.HeatLoadDsAttribute --> L0.String <R L0.HasProperty
360 >-- DN.Mapping.VertexMapping.AddressAttribute --> L0.String <R L0.HasProperty
361 >-- DN.Mapping.VertexMapping.MassFlowAttribute --> L0.String <R L0.HasProperty
362 >-- DN.Mapping.VertexMapping.VolFlowAttribute --> L0.String <R L0.HasProperty
363 >-- DN.Mapping.VertexMapping.VelocityAttribute --> L0.String <R L0.HasProperty
364 >-- DN.Mapping.VertexMapping.FlowAreaAttribute --> L0.String <R L0.HasProperty
365 >-- DN.Mapping.VertexMapping.ValvePositionAttribute --> L0.String <R L0.HasProperty
366 >-- DN.Mapping.VertexMapping.NominalPressureLossAttribute --> L0.String <R L0.HasProperty
367 >-- DN.Mapping.VertexMapping.NominalMassFlowAttribute --> L0.String <R L0.HasProperty
370 >-- DN.Mapping.VertexMapping.HeadPumpMaximumAttribute --> L0.String <R L0.HasProperty
371 >-- DN.Mapping.VertexMapping.HeadPumpNominalAttribute --> L0.String <R L0.HasProperty
372 >-- DN.Mapping.VertexMapping.FrequencyConverterControlledAttribute --> L0.String <R L0.HasProperty
373 >-- DN.Mapping.VertexMapping.InternalValveMeasurementAttribute --> L0.String <R L0.HasProperty
374 >-- DN.Mapping.VertexMapping.PumpInReturnLineAttribute --> L0.String <R L0.HasProperty
375 >-- DN.Mapping.VertexMapping.PumpMassFlowNominalAttribute --> L0.String <R L0.HasProperty
376 >-- DN.Mapping.VertexMapping.PumpMeMaxAttribute --> L0.String <R L0.HasProperty
377 >-- DN.Mapping.VertexMapping.PumpMeMinAttribute --> L0.String <R L0.HasProperty
378 >-- DN.Mapping.VertexMapping.PumpSpeedMaxAttribute --> L0.String <R L0.HasProperty
379 >-- DN.Mapping.VertexMapping.PumpSpeedMinAttribute --> L0.String <R L0.HasProperty
380 >-- DN.Mapping.VertexMapping.ValveReturnLineAttribute --> L0.String <R L0.HasProperty
381 >-- DN.Mapping.VertexMapping.ValveMeMaxAttribute --> L0.String <R L0.HasProperty
382 >-- DN.Mapping.VertexMapping.ValveMeMinAttribute --> L0.String <R L0.HasProperty
383 >-- DN.Mapping.VertexMapping.ValveMinPositionAttribute --> L0.String <R L0.HasProperty
384 >-- DN.Mapping.VertexMapping.ValveOutletModeAttribute --> L0.String <R L0.HasProperty
385 >-- DN.Mapping.VertexMapping.ValvePressLossNominalAttribute --> L0.String <R L0.HasProperty
388 >-- DN.Mapping.VertexMapping.OpeningTimeAttribute --> L0.String <R L0.HasProperty
390 DN.Mapping.EdgeMapping <T DN.Mapping.Base
391 >-- DN.Mapping.EdgeMapping.LengthAttribute --> L0.String <R L0.HasProperty
392 >-- DN.Mapping.EdgeMapping.DiameterAttribute --> L0.String <R L0.HasProperty
393 >-- DN.Mapping.EdgeMapping.OuterDiameterAttribute --> L0.String <R L0.HasProperty
394 >-- DN.Mapping.EdgeMapping.NominalMassFlowAttribute --> L0.String <R L0.HasProperty
395 >-- DN.Mapping.EdgeMapping.FlowAreaAttribute --> L0.String <R L0.HasProperty
396 >-- DN.Mapping.EdgeMapping.KReturnAttribute --> L0.String <R L0.HasProperty
397 >-- DN.Mapping.EdgeMapping.KSupplyAttribute --> L0.String <R L0.HasProperty
398 >-- DN.Mapping.EdgeMapping.TGroundAttribute --> L0.String <R L0.HasProperty
399 >-- DN.Mapping.EdgeMapping.ElevationAttribute --> L0.String <R L0.HasProperty
401 // Allowed connection types
402 DN.SupplyConnectionType <T STR.ConnectionType
404 DN.SupplyInConnectionType : DN.SupplyConnectionType : STR.InputDirection
405 STR.SupportsDirection DN.SupplyOutConnectionType
406 STR.ConnectionType.isUserSelectable true
408 DN.SupplyOutConnectionType : DN.SupplyConnectionType : STR.OutputDirection
409 STR.SupportsDirection DN.SupplyInConnectionType
410 STR.ConnectionType.isUserSelectable true
412 DN.ReturnConnectionType <T STR.ConnectionType
414 DN.ReturnInConnectionType : DN.ReturnConnectionType : STR.InputDirection
415 STR.SupportsDirection DN.ReturnOutConnectionType
416 STR.ConnectionType.isUserSelectable true
418 DN.ReturnOutConnectionType : DN.ReturnConnectionType : STR.OutputDirection
419 STR.SupportsDirection DN.ReturnInConnectionType
420 STR.ConnectionType.isUserSelectable true