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.
- <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>:
- 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")
- 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")))
- There is a flow element
10-FE-100 that must be followed by a reducer:
("10-FE-100" REDUCER SIZE 3)
- 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))
- 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))
- 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"))
(("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.