PipeLine and PipeRun Consolidation - SmartPlant Foundation - IM Update 48 - Help - Hexagon

SmartPlant Foundation Help

Language
English
Product
SmartPlant Foundation
Search by Category
Help
SmartPlant Foundation / SDx Version
10
SmartPlant Markup Plus Version
10.0 (2019)
Smart Review Version
2020 (15.0)

The following diagram illustrates many-to-one (M:1), one-to-many (1:M) and many-to-many mappings that are possible between P&ID pipe runs and P3D pipe runs and the corresponding CDW pipe run objects.

pipelineandrundiag

The P&ID and 3D pipeline objects contain single values for the defined properties of a pipeline whereas the MTR and CDW pipelines contain string values for the composite properties with multiple values and single value.

Individual tools publish the properties that are unique to the tool with only one value defined for the pipeline and will not do any roll-up of pipe run information into the pipeline. Each tool that handles pipe runs publishes its view of what constitutes a pipe run.

The CDW pipeline must be a roll-up of the information for the CDW pipe runs. Therefore, the roll-up process must be performed at the consolidation of the publish process to get the latest information from the individual CDW pipe runs.

Roll-up property logic for pipeline

All properties that are rolled up are set on composite properties which are declared as strings. The properties that are rolled up from the pipe runs to the pipe line are hard-coded. The roll-up properties (pipeline) for the rolled-up properties (pipe runs) are hard-coded. This logic can be defined only through the map functions.

Some values such as from and to information, come across relationships. These values should be formatted into strings before performing the roll-up logic.

Rolling up consists of identifying all unique values (values that are not defined are not counted), sorting these values in either an ascending or descending order and then combining the unique values using any delimiter (typically would be a comma followed by a blank).

Properties published from a Master Tag Registry pipeline object that have strings as multi-valued properties must be set on the CDW pipeline, if it is not related to any CDW pipe runs.

In general numeric values must be sorted in decreasing order (largest to smallest) and alphanumeric values in ascending order (A to Z) as part of the roll-up logic. UoM values must be considered as numeric values and enumerated values as alphanumeric strings.

Mapping between non-composite and composite interfaces and their properties

The non-composite properties on SPXCDWTagPipeRun are mapped to the composite properties on SPXCDWTagPipeline as followed:

  • ISPFCDWCoatedItem and ISPFCDWPaintedItem mapped to IMTRCDWCoatedComposite

    • SPFCDWCoatingRequirement to MTRCDWCompositeCoatingRequirement1

    • SPFCDWPaint_ApplicableSpecification to MTRCDWCompositeCoatingPaintSpec

    • SPFCDWPaintingResponsibility to MTRCDWCompositeCoatingPaintResponsibility

  • ISPFCDWInsulatedItem mapped to IMTRCDWInsulatedComposite

    • SPFCDWInsulPurpose1 to MTRCDWCompositeInsulationPurpose1

    • SPFCDWInsulCompositeMatl to MTRCDWCompositeInsulationCompositeMatl

    • SPFCDWTotalInsulThick to MTRCDWCompositeInsulationThickness

  • ISPFCDWPipeCrossSectionItem and ISPFCDWProcessWettedItem mapped to IMTRCDWPipingComposite

    • SPFCDWNominalDiameterto MTRCDWCompositePipingNominalDiameter

    • SPFCDWCorrosionAllowance to MTRCDWCompositePipingMinAllowCorrosThick

  • ISPFCDWNormalDgnPoint mapped to IMTRCDWProcessDgnComposite

    • SPFCDWNormDesignTempMin to MTRCDWCompositeProcessDgnTempMin

    • SPFCDWNormDesignTempMax to MTRCDWCompositeProcessDgnTempMax

    • SPFCDWNormDesignPressMin to MTRCDWCompositeProcessDgnPressMin

    • SPFCDWNormDesignPressMax to MTRCDWCompositeProcessDgnPressMax

    • SPFCDWDesignCriteriaPressure to MTRCDWCompositeProcessDgnPressNorm

  • ISPXCDWTaggedItem mappedto IMTRCDWPurchasedComposite

    • SPXCDWTaggedItem_InstallationDate to MTRCDWCompositePurchasedInstallationDate

  • ISPFCDWTestedItem mapped to IMTRCDWTestedComposite

    • SPFCDWTest_FluidSystem to MTRCDWCompositeTestFluidSystem

    • SPFCDWTestingMaxPressure to MTRCDWCompositeTestMaxPressure

Properties across relationships

IMTRCDWPipelineRels properties

The following UML diagram illustrates the various CDW relationships that are traversed to get the related property values for the IMTRCDWPipelineRels roll up.

The following property values are used for the roll ups:

  • Traverse SPFCDWSpoolable_Spools from SPXCDWTagPipeline object to get Name property from the related spools to set MTRCDWSpoolNumbers.

  • If SPFCDWFlowDirection (ISPFCDWConnector) on SPXCDWTagPipeRun related to SPXCDWTagPipeline is other than 2To1, traverse SPFCDWPipingEnd1Conn from SPXCDWTagPipeRun to connected items to set MTRCDWFromTags. See logic below on how to format connected tagged item. If SPFCDWFlowDirection is 2To1, traverse SPFCDWPipingEnd2Conn to connected items to set MTRCDWFromTags.

  • If SPFCDWFlowDirection (ISPFCDWConnector) is other than 2To1, traverse SPFCDWPipingEnd2Conn to connected items to set MTRCDWToTags. See logic below on how to format connected tagged item. If SPFCDWFlowDirection is 2To1, traverse SPFCDWPipingEnd1Conn to connected items to set MTRCDWToTags.

  • For MTRCDWFromTags and MTRCDWToTags each individual related item must be formatted as follows:

  • If the related item is a nozzle, then get the name of the related equipment. If the name for the nozzle is not set, simply use the equipment name. If the name of the nozzle is defined, then use the equipment name followed by a slash (/) followed by the nozzle name (no blanks before or after the slash).

  • If the related item is not a nozzle and has a defined name, then use that name.

  • If the related item is not a nozzle and has no name, then attempt to traverse the relationship SPFCDWConnections (from end 1 to end 2) to get the related connector and get its name.

  • If no non-blank name is encountered, then skip to the next relationship.

IMTRCDWProcessComposite Properties

The properties on the IMTRCDWProcessComposite interface definition are defined by rolling up properties from the (ProcessPointCollection) process point objects related to a tool's published pipe runs that are comprised of SPXCDWTagPipeRun objects related to SPXCDWTagPipeline.

  • IBulkNormProcessPoint to IMTRCDWProcessComposite

    • PhaseTemperatureNorm to MTRCDWCompositeProcessOperTempNorm

    • PressureNorm to MTRCDWCompositeProcessOperPressNorm

    • MaterialBulkPhaseNorm to MTRCDWCompositeProcessOperFluidState*

    • MassDensityNorm to MTRCDWCompositeProcessOperGasDensity**

    • ViscosityNorm to MTRCDWCompositeProcessOperGasViscosity**

    • MassDensityNorm to MTRCDWCompositeProcessOperLiquidDensity***

    • ViscosityNorm to MTRCDWCompositeProcessOperLiquidViscosity***

    • CompressibilityNorm to MTRCDWCompositeProcessOperFluidCompressibility****

    • MassFlowRateNorm/MassDensityNorm to MTRCDWCompositeProcessOperVolFlowRate*****

  • IBulkMinProcessPoint to IMTRCDWProcessComposite

    • PhaseTemperatureMin to MTRCDWCompositeProcessOperTempMin

    • PressureMin to MTRCDWCompositeProcessOperPressMin

    • MaterialBulkPhaseMin to MTRCDWCompositeProcessOperFluidState*

    • MassDensityMin to MTRCDWCompositeProcessOperGasDensity**

    • ViscosityMin to MTRCDWCompositeProcessOperGasViscosity**

    • MassDensityMin to MTRCDWCompositeProcessOperLiquidDensity***

    • ViscosityMin to MTRCDWCompositeProcessOperLiquidViscosity***

    • CompressibilityMin to MTRCDWCompositeProcessOperFluidCompressibility****

    • MassFlowRateMin/MassDensityMin to MTRCDWCompositeProcessOperVolFlowRate*****

  • IBulkMaxProcessPoint to IMTRCDWProcessComposite

    • PhaseTemperatureMax to MTRCDWCompositeProcessOperTempMax

    • PressureMax to MTRCDWCompositeProcessOperPressMax

    • VelocityAtMaxFlow to MTRCDWCompositeProcessOperVelocityAtMaxFlow

    • MaterialBulkPhaseMax to MTRCDWCompositeProcessOperFluidState*

    • MassDensityMax to MTRCDWCompositeProcessOperGasDensity**

    • ViscosityMax to MTRCDWCompositeProcessOperGasViscosity**

    • MassDensityMax to MTRCDWCompositeProcessOperLiquidDensity***

    • ViscosityMax to MTRCDWCompositeProcessOperLiquidViscosity***

    • CompressibilityMax to MTRCDWCompositeProcessOperFluidCompressibility****

    • MassFlowRateMax/MassDensityMax to MTRCDWCompositeProcessOperVolFlowRate*****

* = Property value is the result of a roll-up from different properties on different interfaces.

** = Property value is the result of a roll-up from different properties on different interfaces, and the property applies only if the corresponding fluid state is “V” (vapor/gas) (UID=EE450).

*** = Property value is the result of a roll-up from different properties on different interfaces, and property only applies if corresponding fluid state is “L” (liquid) (UID=EE44F).

**** = Property value is the result of a roll-up from different properties on different interfaces, and property only applies if the fluid state is single phase “V” (vapor/gas) (UID=EE450) or “L” (liquid) (UID=EE44F).

***** = Property value is the result of a roll-up of dividing mass flow rate by mass density. Result is UoM value with numerator = denominator of mass density and denominator = denominator of mass flow rate if mass UoM in both numerators is the same (eg. If flow rate = “100 g/s” and density is 20 g/cm^3, then result = “5 cm^3/s).

If mass UoM in both numerators is not the same, then the default SI UoM for both the properties are compared to check if the numerators are the same. If so, then the SI values will be used for determining the property value (eg. If flow rate = “10000 g/s” and density is “0.002 kg/cm^3”, then the values will be converted to their default SI values which would be flow rate = “10 kg/s” and density = “2000 kg/m^3”. The numerator matches now. So, then volume flow rate = 0.005 m^3/s.

If the numerator of the default SI UoMs also do not match, then result = 5000000 g*cm^3/s*kg.

Volume flow rate result will be rounded off to 3 decimal places.