]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.district.network.ontology/graph/DistrictNetwork.pgraph
Support peakPower & alternative elevation in district CSV import
[simantics/district.git] / org.simantics.district.network.ontology / graph / DistrictNetwork.pgraph
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>
10
11 DN = <http://www.simantics.org/DistrictNetwork-1.0> : L0.Ontology
12     @L0.new
13     L0.Ontology.global true
14     L0.HasResourceClass "org.simantics.district.network.ontology.DistrictNetworkResource"
15
16 // ----------------------------------------------------------------------------
17
18 DN.SCLMain : L0.SCLModule
19     L0.SCLModule.definition
20         """
21 include "Simantics/District/SCLMain"
22 """
23
24 // ----------------------------------------------------------------------------
25
26 defProperty : L0.Template
27     @template %subject %label %range
28         %subject <R L0.HasProperty : SEL.GenericParameterType
29             L0.HasLabel %label : L0.String
30             L0.HasRange %range
31
32 // ----------------------------------------------------------------------------
33
34 DN.Diagram <T DIA.Diagram
35 DN.Layer <T DIA.Layer
36 DN.Connection <T DIA.Connection
37 DN.Element <T DIA.Element : L0.Type
38
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
119
120 DN.Edge <T DN.Element
121     >-- DN.Edge.HasElevation
122         @defProperty "Elevation" L0.Double
123     >-- DN.Edge.HasLength 
124         @defProperty "Length" L0.Double
125         L0.readOnly true
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 0.1
143     @L0.assert DN.Edge.HasOuterDiameter 0.11
144
145 // ----------------------------------------------------------------------------
146
147 DN.EdgeDefaultMapping <R L0.HasProperty : DN.EdgeMappingParameterType
148     L0.HasLabel "Default Edge mapping"
149
150 DN.VertexDefaultMapping <R L0.HasProperty : DN.VertexMappingParameterType
151     L0.HasLabel "Default Vertex mapping"
152
153 DN.RightClickDefaultMapping <R L0.HasProperty : DN.VertexMappingParameterType
154     L0.HasLabel "Right click Vertex mapping"
155
156 DN.LeftClickDefaultMapping <R L0.HasProperty : DN.VertexMappingParameterType
157     L0.HasLabel "Left click Vertex mapping"
158
159 // ----------------------------------------------------------------------------
160
161 DN.Functions : L0.Library
162
163 DN.VertexMappingParameterType <T SEL.GenericParameterType
164   @L0.assert SEL.HasDisplayValue
165     _ : SEL.DisplayValue
166       SEL.HasEnumerationValues DN.Functions.enumerationValues : L0.Function
167       SEL.HasCustomModifier DN.Functions.defaultVertexMappingModifier : L0.Function
168
169 DN.EdgeMappingParameterType <T SEL.GenericParameterType
170   @L0.assert SEL.HasDisplayValue
171     _ : SEL.DisplayValue
172       SEL.HasEnumerationValues DN.Functions.enumerationValues
173       SEL.HasCustomModifier DN.Functions.defaultEdgeMappingModifier : L0.Function
174
175 DN.MappingParameterType <T SEL.GenericParameterType
176   @L0.assert SEL.HasDisplayValue
177     _ : SEL.DisplayValue
178       SEL.HasEnumerationValues DN.Functions.enumerationValues
179       SEL.HasCustomModifier DN.Functions.mappingModifier : L0.Function
180
181 // ----------------------------------------------------------------------------
182
183 DN.HasMapping <R L0.HasProperty : DN.MappingParameterType
184     L0.HasLabel "Mapping"
185
186 DN.HasId --> L0.String <R L0.HasProperty : SEL.GenericParameterType
187     L0.HasLabel "Id"
188     L0.readOnly false
189
190 DN.InLayer
191     @L0.defTag 
192     @L0.tag L0.Abstract
193
194 DN.HasInLayerTag <R L0.HasProperty
195     L0.HasRange L0.Tag
196
197 // For associating typical diagram source and instance structures with each other
198 DN.Diagram.MappedDiagram <R L0.IsWeaklyRelatedTo
199     L0.InverseOf DN.Diagram.MappedFromDiagram <R L0.IsWeaklyRelatedTo
200 DN.MappedComponent <R L0.IsWeaklyRelatedTo
201     L0.InverseOf DN.MappedFromElement <R L0.IsWeaklyRelatedTo
202
203 DN.Diagram.trackChangesEnabled <R L0.HasProperty : SEL.GenericParameterType
204     L0.HasRange L0.Boolean
205     L0.HasLabel "Track changes"
206
207 DN.Diagram.splitToMultipleEnabled <R L0.HasProperty : SEL.GenericParameterType
208     L0.HasRange L0.Boolean
209     L0.HasLabel "Split To Multiple Diagrams"
210
211 DN.AddLayerToDNDiagramTemplate <T L0.Template
212
213 DN.EPSG_4326 : DN.SpatialRefSystem
214     L0.HasLabel "EPSG:4326"
215     DN.HasSRID 4326
216
217 DN.SpatialRefSystem <T L0.Property
218     L0.readOnly true
219
220 DN.HasSpatialRefSystem <R L0.HasProperty : SEL.GenericParameterType
221     L0.HasRange DN.SpatialRefSystem
222     L0.HasLabel "Spatial Reference System"
223
224 DN.HasSRID <R L0.HasProperty
225     L0.HasRange L0.Integer
226
227 DN.HasSRTEXT <R L0.HasProperty
228     L0.HasRange L0.String
229
230 DN.Functions.compositeInstantiator : L0.ExternalValue
231
232 DN.Composite <T STR.Composite
233     STR.Composite.instantiationFunction DN.Functions.compositeInstantiator
234     @L0.assert MOD.HasModelingTemplate
235         _ : MOD.DiagramTemplate
236             MOD.HasDiagramType DN.Diagram
237     @L0.assert MOD.HasModelingTemplate
238         _ : DN.AddLayerToDNDiagramTemplate
239
240 DN.HasStartVertex <R L0.DependsOn
241     L0.HasDomain DN.Edge
242     L0.HasRange DN.Vertex
243     L0.InverseOf DN.HasStartVertex_Inverse <R L0.IsRelatedTo
244
245 DN.HasEndVertex <R L0.DependsOn
246     L0.HasDomain DN.Edge
247     L0.HasRange DN.Vertex
248     L0.InverseOf DN.HasEndVertex_Inverse <R L0.IsRelatedTo
249
250 // ----------------------------------------------------------------------------
251
252 // Component MAPPING
253 DN.Mapping <T L0.Library
254
255 DN.Functions.convertToValue : L0.ExternalValue
256
257 DN.Mapping.Base <T L0.Value
258   >-- DN.Mapping.Id --> L0.String <R L0.HasProperty
259   >-- DN.Mapping.ComponentType --> STR.ComponentType <R L0.DependsOn
260   >-- DN.Mapping.Terminals --> DN.Mapping.TerminalPair <R L0.HasProperty
261   @L0.assert L0.ConvertsToValueWith DN.Functions.convertToValue
262
263 DN.Mapping.Terminal <T L0.Entity
264     L0.HasRange L0.String
265
266 DN.Mapping.TerminalPair <T L0.Property
267     >-- DN.Mapping.InputTerminal --> DN.Mapping.Terminal <R L0.HasProperty
268     >-- DN.Mapping.OutputTerminal --> DN.Mapping.Terminal <R L0.HasProperty
269
270 DN.Mapping.VertexMapping <T DN.Mapping.Base
271     // Common
272     >-- DN.Mapping.VertexMapping.ElevationAttribute --> L0.String <R L0.HasProperty
273     >-- DN.Mapping.VertexMapping.ElevationAltAttribute --> L0.String <R L0.HasProperty
274     >-- DN.Mapping.VertexMapping.SupplyTemperatureAttribute --> L0.String <R L0.HasProperty
275     >-- DN.Mapping.VertexMapping.ReturnTemperatureAttribute --> L0.String <R L0.HasProperty
276     >-- DN.Mapping.VertexMapping.SupplyPressureAttribute --> L0.String <R L0.HasProperty
277     >-- DN.Mapping.VertexMapping.ReturnPressureAttribute --> L0.String <R L0.HasProperty
278     >-- DN.Mapping.VertexMapping.DeltaPressureAttribute --> L0.String <R L0.HasProperty
279     >-- DN.Mapping.VertexMapping.DeltaTemperatureAttribute --> L0.String <R L0.HasProperty
280     >-- DN.Mapping.VertexMapping.XAttribute --> L0.String <R L0.HasProperty
281     >-- DN.Mapping.VertexMapping.YAttribute --> L0.String <R L0.HasProperty
282     // Production
283     >-- DN.Mapping.VertexMapping.dpAttribute --> L0.String <R L0.HasProperty
284     >-- DN.Mapping.VertexMapping.dtAttribute --> L0.String <R L0.HasProperty
285     >-- DN.Mapping.VertexMapping.HeatPowerAttribute --> L0.String <R L0.HasProperty
286     >-- DN.Mapping.VertexMapping.PeakPowerAttribute --> L0.String <R L0.HasProperty
287     >-- DN.Mapping.VertexMapping.NominalHeadMAttribute --> L0.String <R L0.HasProperty
288     >-- DN.Mapping.VertexMapping.NominalHeadBAttribute --> L0.String <R L0.HasProperty
289     >-- DN.Mapping.VertexMapping.NominalFlowAttribute --> L0.String <R L0.HasProperty
290     >-- DN.Mapping.VertexMapping.MaximumHeadMAttribute --> L0.String <R L0.HasProperty
291     // Consumers
292     >-- DN.Mapping.VertexMapping.HeatLoadDsAttribute --> L0.String <R L0.HasProperty
293     >-- DN.Mapping.VertexMapping.AddressAttribute --> L0.String <R L0.HasProperty
294     >-- DN.Mapping.VertexMapping.MassFlowAttribute --> L0.String <R L0.HasProperty
295     >-- DN.Mapping.VertexMapping.VolFlowAttribute --> L0.String <R L0.HasProperty
296     >-- DN.Mapping.VertexMapping.VelocityAttribute --> L0.String <R L0.HasProperty
297     >-- DN.Mapping.VertexMapping.FlowAreaAttribute --> L0.String <R L0.HasProperty
298     >-- DN.Mapping.VertexMapping.ValvePositionAttribute --> L0.String <R L0.HasProperty
299     >-- DN.Mapping.VertexMapping.NominalPressureLossAttribute --> L0.String <R L0.HasProperty
300     >-- DN.Mapping.VertexMapping.NominalMassFlowAttribute --> L0.String <R L0.HasProperty
301
302     // pumping station
303     >-- DN.Mapping.VertexMapping.HeadPumpMaximumAttribute --> L0.String <R L0.HasProperty
304     >-- DN.Mapping.VertexMapping.HeadPumpNominalAttribute --> L0.String <R L0.HasProperty
305     >-- DN.Mapping.VertexMapping.FrequencyConverterControlledAttribute --> L0.String <R L0.HasProperty
306     >-- DN.Mapping.VertexMapping.InternalValveMeasurementAttribute --> L0.String <R L0.HasProperty
307     >-- DN.Mapping.VertexMapping.PumpInReturnLineAttribute --> L0.String <R L0.HasProperty
308     >-- DN.Mapping.VertexMapping.PumpMassFlowNominalAttribute --> L0.String <R L0.HasProperty
309     >-- DN.Mapping.VertexMapping.PumpMeMaxAttribute --> L0.String <R L0.HasProperty
310     >-- DN.Mapping.VertexMapping.PumpMeMinAttribute --> L0.String <R L0.HasProperty
311     >-- DN.Mapping.VertexMapping.PumpSpeedMaxAttribute --> L0.String <R L0.HasProperty
312     >-- DN.Mapping.VertexMapping.PumpSpeedMinAttribute --> L0.String <R L0.HasProperty
313     >-- DN.Mapping.VertexMapping.ValveReturnLineAttribute --> L0.String <R L0.HasProperty
314     >-- DN.Mapping.VertexMapping.ValveMeMaxAttribute --> L0.String <R L0.HasProperty
315     >-- DN.Mapping.VertexMapping.ValveMeMinAttribute --> L0.String <R L0.HasProperty
316     >-- DN.Mapping.VertexMapping.ValveMinPositionAttribute --> L0.String <R L0.HasProperty
317     >-- DN.Mapping.VertexMapping.ValveOutletModeAttribute --> L0.String <R L0.HasProperty
318     >-- DN.Mapping.VertexMapping.ValvePressLossNominalAttribute --> L0.String <R L0.HasProperty
319
320     // valve
321     >-- DN.Mapping.VertexMapping.OpeningTimeAttribute --> L0.String <R L0.HasProperty
322     
323 DN.Mapping.EdgeMapping <T DN.Mapping.Base
324     >-- DN.Mapping.EdgeMapping.LengthAttribute --> L0.String <R L0.HasProperty
325     >-- DN.Mapping.EdgeMapping.DiameterAttribute --> L0.String <R L0.HasProperty
326     >-- DN.Mapping.EdgeMapping.OuterDiameterAttribute --> L0.String <R L0.HasProperty
327     >-- DN.Mapping.EdgeMapping.NominalMassFlowAttribute --> L0.String <R L0.HasProperty
328     >-- DN.Mapping.EdgeMapping.FlowAreaAttribute --> L0.String <R L0.HasProperty
329     >-- DN.Mapping.EdgeMapping.KReturnAttribute --> L0.String <R L0.HasProperty
330     >-- DN.Mapping.EdgeMapping.KSupplyAttribute --> L0.String <R L0.HasProperty
331     >-- DN.Mapping.EdgeMapping.TGroundAttribute --> L0.String <R L0.HasProperty
332     >-- DN.Mapping.EdgeMapping.ElevationAttribute --> L0.String <R L0.HasProperty
333
334 // Allowed connection types
335 DN.SupplyConnectionType <T STR.ConnectionType
336
337 DN.SupplyInConnectionType : DN.SupplyConnectionType : STR.InputDirection
338     STR.SupportsDirection DN.SupplyOutConnectionType
339     STR.ConnectionType.isUserSelectable true
340
341 DN.SupplyOutConnectionType : DN.SupplyConnectionType : STR.OutputDirection
342     STR.SupportsDirection DN.SupplyInConnectionType
343     STR.ConnectionType.isUserSelectable true
344
345 DN.ReturnConnectionType <T STR.ConnectionType
346
347 DN.ReturnInConnectionType : DN.ReturnConnectionType : STR.InputDirection
348     STR.SupportsDirection DN.ReturnOutConnectionType
349     STR.ConnectionType.isUserSelectable true
350
351 DN.ReturnOutConnectionType : DN.ReturnConnectionType : STR.OutputDirection
352     STR.SupportsDirection DN.ReturnInConnectionType
353     STR.ConnectionType.isUserSelectable true