+DN.Layer <T DIA.Layer
+DN.Connection <T DIA.Connection
+DN.Element <T DIA.Element : L0.Type
+
+DN.Vertex <T DN.Element
+ >-- DN.Vertex.HasDiameter
+ @defProperty "Diameter" L0.Double
+ >-- DN.Vertex.HasElevation
+ @defProperty "Elevation" L0.Double
+ >-- DN.Vertex.HasAltElevation
+ @defProperty "Alternative Elevation" L0.Double
+ >-- DN.Vertex.HasAddress
+ @defProperty "Address" L0.String
+ >-- DN.Vertex.HasSupplyTemperature
+ @defProperty "Supply Temperature" L0.Double
+ >-- DN.Vertex.HasReturnTemperature
+ @defProperty "Return Temperature" L0.Double
+ >-- DN.Vertex.HasSupplyPressure
+ @defProperty "Supply Pressure" L0.Double
+ >-- DN.Vertex.HasReturnPressure
+ @defProperty "Return Pressure" L0.Double
+ >-- DN.Vertex.HasDeltaPressure
+ @defProperty "Delta pressure" L0.Double
+ >-- DN.Vertex.HasDeltaTemperature
+ @defProperty "Delta temperature" L0.Double
+ >-- DN.Vertex.HasNominalDT
+ @defProperty "Nominal DT" L0.Double
+ >-- DN.Vertex.HasHeatPower
+ @defProperty "Heat Power" L0.Double
+ >-- DN.Vertex.HasPeakPower
+ @defProperty "Peak Power" L0.Double
+ >-- DN.Vertex.HasNominalHeadM
+ @defProperty "NominalHeadM" L0.Double
+ >-- DN.Vertex.HasNominalHeadB
+ @defProperty "NominalHeadB" L0.Double
+ >-- DN.Vertex.HasNominalFlow
+ @defProperty "Nominal Flow" L0.Double
+ >-- DN.Vertex.HasMaximumHeadM
+ @defProperty "Maximum head M" L0.Double
+ >-- DN.Vertex.HasHeatLoadDs
+ @defProperty "Heat Load ds" L0.Double
+ >-- DN.Vertex.HasMassFlow
+ @defProperty "Mass Flow" L0.Double
+ >-- DN.Vertex.HasVolFlow
+ @defProperty "Vol Flow" L0.Double
+ >-- DN.Vertex.HasVelocity
+ @defProperty "Velocity" L0.Double
+ >-- DN.Vertex.HasFlowArea
+ @defProperty "Flow Area" L0.Double
+ >-- DN.Vertex.HasValvePosition
+ @defProperty "Valve position" L0.Double
+ >-- DN.Vertex.HasNominalPressureLoss
+ @defProperty "Nominal Pressure Loss" L0.Double
+ >-- DN.Vertex.HasPumpInReturnLine
+ @defProperty "Pump in Return Line" L0.Double
+ >-- DN.Vertex.HasHeadPumpMaximum
+ @defProperty "Head pump maximum" L0.Double
+ >-- DN.Vertex.HasHeadPumpNominal
+ @defProperty "Head pump nominal" L0.Double
+ >-- DN.Vertex.HasFrequencyConverterControlled
+ @defProperty "Frequency Converter Controlled" L0.Double
+ >-- DN.Vertex.HasInternalValveMeasurement
+ @defProperty "Internal Valve Measurement" L0.Double
+ >-- DN.Vertex.HasPumpMassFlowNominal
+ @defProperty "Pump Mass Flow Nominal" L0.Double
+ >-- DN.Vertex.HasPumpMeMax
+ @defProperty "Pump Me Max" L0.Double
+ >-- DN.Vertex.HasPumpMeMin
+ @defProperty "Pump Me Min" L0.Double
+ >-- DN.Vertex.HasPumpSpeedMax
+ @defProperty "Pump Speed Max" L0.Double
+ >-- DN.Vertex.HasPumpSpeedMin
+ @defProperty "Pump Speed Min" L0.Double
+ >-- DN.Vertex.HasPumpSupplyOn
+ @defProperty "Pump Supply On" L0.Boolean
+ >-- DN.Vertex.HasPumpReturnOn
+ @defProperty "Pump Return On" L0.Boolean
+ >-- DN.Vertex.HasPumpInSupplyLine
+ @defProperty "Pump In Supply Line" L0.Boolean
+ >-- DN.Vertex.HasValveReturnLine
+ @defProperty "Valve Return Line" L0.Double
+ >-- DN.Vertex.HasValveMeMax
+ @defProperty "Valve Me Max" L0.Double
+ >-- DN.Vertex.HasValveMeMin
+ @defProperty "Valve Me Min" L0.Double
+ >-- DN.Vertex.HasValveMinPosition
+ @defProperty "Valve Min Position" L0.Double
+ >-- DN.Vertex.HasValveOutletMode
+ @defProperty "Valve Outlet Mode" L0.Double
+ >-- DN.Vertex.HasValvePressLossNominal
+ @defProperty "Valve Press Loss Nominal" L0.Double
+ >-- DN.Vertex.HasOpeningTime
+ @defProperty "Opening Time" L0.Double
+ @L0.assert DN.Vertex.HasElevation 0.0
+
+DN.Edge <T DN.Element
+ >-- DN.Edge.HasElevation
+ @defProperty "Elevation" L0.Double
+ >-- DN.Edge.HasLength
+ @defProperty "Length" L0.Double
+ L0.readOnly true
+ >-- DN.Edge.HasGeometry
+ @defProperty "Detailed Geometry" L0.DoubleArray
+ >-- DN.Edge.HasDiameter
+ @defProperty "Diameter" L0.Double
+ >-- DN.Edge.HasOuterDiameter
+ @defProperty "Outer Diameter" L0.Double
+ >-- DN.Edge.HasNominalMassFlow
+ @defProperty "Nominal Mass Flow" L0.Double
+ >-- DN.Edge.HasFlowArea
+ @defProperty "Flow Area" L0.Double
+ >-- DN.Edge.HasKReturn
+ @defProperty "K Return" L0.Double
+ >-- DN.Edge.HasKSupply
+ @defProperty "K Supply" L0.Double
+ >-- DN.Edge.HasTGround
+ @defProperty "T Ground" L0.Double
+ >-- DN.Edge.HasType
+ @defProperty "Pipe Type" L0.String
+ >-- DN.Edge.HasPipeCode
+ @defProperty "Pipe Code" L0.String
+ >-- DN.Edge.HasInstallationYear
+ @defProperty "Installation Year" L0.Integer
+ >-- DN.Edge.HasWallThickness
+ @defProperty "Wall Thickness" L0.Double
+ >-- DN.Edge.HasInsulationConductivity
+ @defProperty "Insulation Conductivity" L0.Double
+ >-- DN.Edge.HasPipeSizeDN
+ @defProperty "Pipe Size DN" L0.Integer
+ >-- DN.Edge.HasRoughness
+ @defProperty "Roughness" L0.Double
+ >-- DN.Edge.HasStructure
+ @defProperty "Structure" L0.String
+ >-- DN.Edge.HasInsulationClass
+ @defProperty "Insulation Class" L0.String
+ >-- DN.Edge.HasConductance
+ @defProperty "Conductance" L0.Double
+ @L0.assert DN.Edge.HasDiameter 100.0
+ @L0.assert DN.Edge.HasOuterDiameter 125.0
+
+// ----------------------------------------------------------------------------
+
+DN.EdgeDefaultMapping <R L0.HasProperty : DN.EdgeMappingParameterType