PlantWise Help

Pipeline Connectivity Input (.rpc file)

This file is read as parentheses-contained expressions. So in this file, unlike other files, lines may include RETURN or LINEFEED at any place a space is legal.

Pipeline connectivity is defined in the connectivity file (.rpc file) using the following format:
(“<pipeline-name>” “<origin>” “<terminus>” [(<inline-sequence>)])
The quotation marks ( " ) are used around element names so that numeric names are read as a string and not as a number.
  • <pipeline name> is the unique name for the pipeline. This name is the name given to the pipeline in the pipeline (.rpl) file.
    • <origin> describes the connection at one end of the pipeline.
      Examples of <origin>:
      • A single named nozzle: "10-V-101/B"

        if a nozzle name is not know, you can specify only the equipment name.

      • Another pipeline: "10-105"
      • A header connecting 3 nozzles (no inlines are included for the feeder lines):
        (HEADER "10-V-101/B" "10-V-102/B" "10-V-103/B")
      <origin> ::= <pipeline end> | <header>
      <pipeline end> ::= <nozzle name> | 
        <boundary element name> |
        <other pipeline name>
      <pipeline ends> ::= <pipeline end> |
        <pipeline end> <pipeline ends>
      <header> ::= (HEADER <pipeline ends>)
  • <terminus> describes the connections at the other end of the pipeline. The <terminus> uses the same format as the <origin> to describe its elements.
  • <inline-sequence> [OPTIONAL] is a list of inline components (other than pressure safety valves) or branch lines along the pipeline to be constructed in specified order from <origin> to <terminus>.If no <inline-sequence> is specified, then the inline components and branch lines may be put into the pipeline in any order.
    Warning: reducers, specification breaks, and user defined inlines are not allowed in a list of <inline-sequence>.
    <inline-sequence> ::= <inline-item> | 
      <inline-item> <inline-sequence
    <inline-item> ::= “<named-inline>” | “<pipeline-name>” |
      REDUCER DIAMETER <number> |
      SPEC-BREAK (CLASS <class name>
       INSULATION <insulation-value>
       THICKNESS <number>) |
      <user-inline-name> ({<attribute name>
      <attribute value>
       <attribute value category>}*) |
      (<unordered-inline-sequence>)
    <insulation-value> ::= <number> | NONE
    <user-inline-name> ::=
      <user-inline-class>-<occurrence in pipeline>
    <attribute value category> ::= D | C | O
    (for Default, Calculated, or Override)
    For importing of user inlines, only one attribute value needs to be defined, and if an attribute value category is not provided, or set to anything other than O, PlantWise will ignore the value upon reading the .rpc file.
    <unordered-inline-sequence> ::= “<pipeline-name>”
    The components of an <unordered-inline-sequence> can be placed in the pipeline in any order between their proceeding and following components.

Examples of <inline-sequence>:

  1. The pipeline has a control valve, 10-FV-95, to be placed upstream from a flow element, 10-FE-100:
    ("10-FV-95" "10-FE-100")
  2. The pipeline has a control valve 10-FV-95 and a flow element 10-FE-100 that must appear in that order in the pipeline (as in example 1), but after the flow element, there are 3 branch lines (10-500, 10-507, and 10-510) which can be placed in any order as long as they all come after the flow element:
    ("10-FV-95" "10-FE-100 (("10-500" "10-507" "10-510")))
  3. There is a flow element 10-FE-100 that must be followed by a reducer:
    ("10-FE-100" REDUCER SIZE 3)
  4. There are 2 unordered branch lines (10-201 and 10-202,) followed by a user inline gate valve that will have default values:
    (("10-201" "10-202") GATE_VALVE (LENGTH 9.0))
  5. There are 2 unordered branch lines (10-201 and 10-202,) followed by a user inline gate valve that must have a length of 12 inches:
    (("10-201" "10-202") GATE_VALVE (LENGTH 12.0 O))
  6. There are 3 branch lines (10-201, 10-202, and 10-203) which can be attached to the pipeline in any order. After the 3 branch lines, there is a flow element, 10-FE-100. There are 2 more branch lines (10-301 and 10-302) that can attach to the pipeline in either order. These branches are followed by 2 more branch lines (10-401 and 10-402) that can appear in either order:
    (("10-201" "10-202" "10-203")
    	"10-FE-100"
    	("10-301" "10-302")
    	("10-401" "10-402"))
ILLEGAL FORM:
(("10-201" ("10-202" "10-203")) "10-FE-100")
This form is illegal because it is nested too deeply. The set of parentheses surrounding 10-202 and 10-203 must be removed to make a legal specification.
ILLEGAL FORM:
(("10-201" REDUCER SIZE 3 "10-202" "10-203") "10-FE-100")
This form is illegal because the inner list, representing an unordered portion of the sequence, contains a reducer. Reducers may not occur in an unordered list.

Overall Connectivity Examples

A pipeline, 10-107, that starts at another pipeline and ends at a single nozzle:
("10-107" "10-105" "10-B-100/A1")
Since no <inline-sequence> is specified, then any order is acceptable for branch lines onto pipeline 10-107.
A pipeline, 10-300, that starts at an off page connector OPC-4/MS, ends at nozzle 10-V-100/A1 and has an ordered sequence of two inline components and a tee:
("10-300" "OPC-4/MS" "10-V-100/A1" ("10-FV-100"
	"10-105" "10-FE-105"))
A pipeline with a header as its <origin> and an ordered sequence of inline components:
("10-209" (HEADER "10-P-105/A" "10-P-105/B")
	"10-T-100/A3" ("10-FE-104" "10-FV-107"))
A pipeline with two headers:
("10-404"
	(HEADER "10-P-104/A" "10-P-104/B")
	(HEADER "10-T-300A/IN" "10-T-300B/IN"))
The <origin> of pipeline 10-404 is a header that connects nozzle 10-P-104/A and nozzle 10-P-104/B. The <terminus> is also a header. It connect nozzles 10-T-300A/IN and 10-T-300B/IN.
A pipeline that starts and ends at single nozzles, but has multiple branch lines entering it. These branch lines can attach to the pipeline in any order as long as they attach after the inline components.
("10-222"
	"10-Z-100/IN" "10-Z-126/IN"
	("10-FV-88" "10-FE-89" ("10-200" "10-201")))
Pipeline 10-222 has nozzle 10-Z-100/IN as its <origin> and nozzle10-Z-126/IN as its <terminus>. The <inline-sequence> specifies that the two inlines, control valve 10-FV-88 and flow element 10-FE-89, must be placed in that order with the two branch lines – 10-200 and 10-201 – following with unordered sequence.