Pipe-It is a unique software application that allows you to graphically and computationally integrate models and optimize petroleum assets.

Pipe-It can launch any software application you are currently running, on any operating system. Pipe-It chains together your applications, in series and in parallel.

Pipe-It’s versatile Streamz technology manages the complex petroleum product streams processed by models making up an integrated asset. Our fundamental philosophy is that current work flows should not be disturbed, with each application custodian continuing to use the same software, including all utilities for pre- and post-processing. The main function of Pipe-It is to provide added value through:

  • modular integration solutions
  • local & global optimization capability
  • visual organizational functionality

Run Your Software Within Pipe-It

From within Pipe-It, you can launch any software running on your computer, or being launched from your computer system. You simply tell Pipe-It how to launch the software – from the command-line, with a batch file, or using a script. It’s that easy. If your application has a graphical interface, that interface will appear while running within Pipe-It. If you want to run your application in batch mode, without its graphical interface, the batch-mode launch should be specified to Pipe-It. The use of Plink or equivalent remote launching tools is also possible with Pipe-It.

Pipe Applications Together to Automate Your Workflow

Because many applications may be launched from within a single Pipe-It project, the order dependence of launching becomes an issue. The Pipe-It Runner automatically handles order dependence of all applications based on the Pipe-It graphical layout using connectors (arrowed lines showing connection order dependence). The Runner even knows whether queued applications can be run in parallel – so if multiple processors are available, the applications will be directed to available processors as they become available.

Unique Graphical Work Environment

Pipe-It provides lego-like simplicity to provide complex interconnectivity with only three primary elements (building blocks) – Resource, Process, and Connector. Resource is a file. Process is an application. Connector is a line with directional arrowhead, to connect Resources and Processes. Simple rules apply: An upstream Resource can connect to any number of Processes downstream, while a downstream Resource can connect to a single upstream Process. A Process can connect with (receive information from) any number of upstream Resources, and the Process can connect with (send information to) any number of downstream Resources. Resources don’t connect directly with other Resources; only through a Process do Resources connect. Processes don’t connect directly with other Processes; only through Resources do Processes connect. The fourth element is a Composite, which is simply a collection of the primary elements Resource-Process-Connector, and other sub-composites. The composite allows complex multi-faceted integrated systems to have an intuitive layout with easy maneuverability. The composite can, in some cases, function as a Pipe-It sub-project, with its own optimizer.

Streamz Technology

Pipe-It/Streamz technology provides the underlying technology for streams conversion (lumping, splitting, translation) from one characterization to another – e.g. EOS to black-oil, black-oil to EOS, EOS to EOS, with efficient algorithms that easily handle unlimited numbers of streams.

Linkz

Pipe-It Linkz provides an intuitive graphical interface to access all input and output information located in Resources (files) used by or generated from Processes (applications). Real numbers, integers, text, vectors, matrices. A Linkz library is built and makes key information available to optimization for defining variables, constraints, and target objectives. Linkz provides access to information located in text files, excel sheets, and COM memory (using Visual Basic or other application that provides access to the COM data structure).

Optimizer

Pipe-It can optimize any single application, or group of integrated applications. The simplest form of optimization requires a single value (from the Linkz library) that defines the target objective like total field oil rate to maximize (or minimize). One or more variables need to be defined (from the Linkz library), representing numbers in upstream Resources (input files) read by Processes (applications) which impact output results found in downstream Resources that affect the target objective value. Optimization also includes the definition of constraints such as upper & lower bounds on variables, and limits on some calculated results.

Pipe-It has a collection of optimization solvers, ranging from a user-defined case matrix of input variables to derivative and derivative-free methods such as Nelder-Mead reflection. An Optimizer plug-in API exists so that users can write their own solver for custom applications. The IBM non-linear IPOPT solver has been implemented as an open source Pipe-It plug-in solver.

Versatile Multi-Application Launching

Pipe-It allows you to chain together an unlimited number of applications, run sequentially and in parallel. A typical integrated asset model might launch the following applications from various vendors:

  • Reservoir simulators (ECL100, ECL300, Sensor, VIP, GEM, MBAL)
  • Well models (Prosper)
  • Surface facilities & processing (HYSYS, Unisim)
  • Pipeflow models (Pipesim, GAP)
  • Flow meter models (Emerson-Roxar)
  • Production Accounting (Tieto Energy Components, Entero ONE, Merrick ProCount)
  • Economic model (Excel)

Before you can sell oil and gas you have to physically pipe the reservoir to the market. Our philosophy at Petrostreamz is simple: to model the optimized production of oil and gas, you have to pipe it – computationally – just as it’s piped together physically. That’s why we call our software Pipe-It.

Each element of a petroleum asset usually has a reliable model describing that particular part of the system. With Pipe-It comes the ability to integrate all of the individual models in an asset, thereby allowing us to quantify the effect of controls in one part of the system on the performance of other parts of the system – and most importantly on the overall, bottom-line performance.

Pipe-It can help maximize product value, making better decisions for investments and technical solutions and to improve utilization of existing infrastructure.

Consistent and Powerful Streamz Technology – Product Streams Management

Pipe-It with Streamz technology provides the underlying technology for streams conversion (lumping, splitting, translation) from one characterization to another – e.g. EOS to black-oil, black-oil to EOS, EOS to EOS, with efficient algorithms that easily handle unlimited numbers of streams.

Global and Local Optimization

Pipe-It can optimize any single application, or group of integrated applications. The simplest form of optimization requires a single value (from the Linkz library) that defines the target objective like total field oil rate to maximize (or minimize). One or more variables need to be defined (from the Linkz library), representing numbers in upstream Resources (input files) read by Processes (applications) which impact output results found in downstream Resources that affect the target objective value. Optimization also includes the definition of constraints such as upper & lower bounds on variables, and limits on some calculated results.

Pipe-It has a collection of optimization solvers, ranging from a user-defined case matrix of input variables to derivative and derivative-free methods such as Nelder-Mead reflection. An Optimizer plug-in API exists so that users can write their own solver for custom applications. The IBM non-linear IPOPT solver has been implemented as an open source Pipe-It plug-in solver.

The available solvers include:

  • Reflection (Nelder-Mead)
  • Case Matrix (e.g. Experimental Design)
  • IPOPT plug-in (IBM open source derivative-based)
  • GRG plug-in (requires 3rd-party Frontline license)
  • Evolutionary plug-in
  • Random Sampler

The Case Matrix is a user-defined matrix of variable combinations which are launched consecutively. The case matrix can be selected to study dependencies of a few variables at a time, or it can be used with experimental design strategies.

The Pipe-It Optimizer solver plug-in is an open C++ API with examples that make its use straight-forward. We also can assist in making your solver into a Pipe-It plug-in.