WellFlowMax

Integrated production modelling

Six applications.One model.

Nodal analysis, material balance, network solving and forecasting over one well, one fluid description and one set of units.

Early accessThe solvers are still being written. Which of them run today is at the foot of this page, in words.

Storage
One PostgreSQL schema
Tenancy
Row-level, in the database
Units
Field and SI, both ways

The film

Fifty-five seconds, one drop of fluid

A drop of reservoir fluid is described three ways by three models and reconciled in a spreadsheet. Then it is described once, and taken through the applications that read it.

One Model · paper collage, narratedSound on · captions on

Chapters

What is not built yet is drawn in pencil and says so. The material balance on screen is the engine's own output, on the synthetic tank the demo database ships with.

The problem

The well model and the tank model are the same model

Today the well holds one PVT description, the tank holds another and the network holds a third. Nothing tells you they disagree, so the reconciling happens in a spreadsheet, and the spreadsheet is where the number in the report comes from.

Bo at bubble pointrb/stb
Well model
1.284
Tank model
1.291
Network model
1.276
One description
1.284
The same fluid property held three times, at 1.284, 1.291 and 1.276 rb/stb, and then once at 1.284.

One database removes the step. Not by checking the three against each other and warning you, which is the same problem with an alert on top of it, but by there being one description that all four engines read.

The platform

Four engines over one description of the fluid

Each is a separately deployed application with its own navigation and its own vocabulary, because a production engineer and a reservoir engineer do not want the same screen. They read and write the same wells, the same fluid and the same units.

Wells

Where inflow and outflow agree, and what moves the crossing.

Build the trajectory, the wellbore, the completion and the reservoir, then solve the nodal system. The operating point comes back with the sensitivities around it and the residual that reached it, so a crossing you did not expect can be argued with rather than accepted.

Reservoir

What the tank behind the wells has actually done.

Material balance against measured pressure, with the straight line drawn over the points it was actually fitted to. A match that only holds across half the history says so on the plot instead of in a footnote nobody reads.

Network

Where the pressure goes between the wellhead and the separator.

Flowlines, chokes, manifolds and the separator solved together. A well backed out by a constraint three junctions downstream is named as such, rather than left to be inferred from a rate that came back lower than it should have.

Planning

The same model run forward, with the money attached.

Scenarios over the same wells and the same fluid, so a forecast and the nodal run underneath it cannot drift apart. The economics reads the profile rather than a copy of it that was correct on the day it was pasted.

  • WorkspaceProjects, their fields and wells, and the documents they rest onProjects as places rather than as a dropdown. A project's fields and wells, the people on it, and the reports it was built from are filed in one place, and every engineering application opens from there already pointed at the right project and field.
  • PVTFluid samples, characterisation, models and property generationSamples, studies and the review that turns them into one controlled table. Every other application reads that table rather than carrying a fluid of its own, which is the difference between three models disagreeing about a formation volume factor and three models sharing one.
  • AdminProjects, fields, access and platform healthProjects, fields and who may open them, and the record of what they did once they were in. It is the platform administering itself rather than a fifth discipline, which is why it is drawn quieter than the four.

In use

Long sessions, and interrupted ones

The model stays open for most of a working day, usually beside a spreadsheet and a half-written report on a second screen. Coming back to it after an hour away should take a second, not a minute.

  1. Open

    Which model is loaded, when it last ran and whether it converged sit at the foot of the rail on every screen in the application. Coming back after an interruption is a glance, not a hunt.

  2. Build

    Inputs are visibly complete or visibly not. A value nobody entered is not quietly defaulted into a result with your name on it.

  3. Solve

    A run that did not converge says it did not converge, in those words, and names the residual that failed. It does not hand back a generic apology and leave you to guess which one.

  4. Report

    Plots, schematics and tables stay correct printed in greyscale, projected in a review, and pasted into a validation pack at half size. The output leaves the screen, so it is designed to.

The approach

Every claim on this page is held by a test

An engineer trusts the tool as far as it lets them check its work, and a marketing page for an engineering tool is read by people who will. The right-hand column is the only reason the left-hand one is allowed here.

Units
Field and SI both round-trip, and the layout does not reflow as you switch. A number never changes position under you.
conversion suite
Contrast
4.5:1 for body text and 3:1 for boundaries, in both themes, computed against the stylesheet rather than judged by eye.
tokens.test.ts
Colour vision
Inflow and outflow stay separable under deuteranopia, protanopia and tritanopia, and are held further apart than the rest.
tokens.test.ts
Greyscale
Oil and gas are staggered in lightness, so the two do not collapse into one grey in a photocopied validation pack.
tokens.test.ts
Tenancy
Row-level security in PostgreSQL, not a filter in application code that somebody can forget to write on the one endpoint that mattered.
RLS suite
Audit
Every change to a model records who made it and what it was before, on the same transaction that made the change.
audit suite

Where this is

The platform is built. The engines are landing.

The architecture is in place and documented. The solvers that will run inside it are not written yet, and saying so here is cheaper for both of us than saying it after a trial.

Working

  • Six applications, deployed separately over one API
  • The PostgreSQL schema, with row-level tenancy
  • Identity, sessions and password issue
  • The audit trail and the job queue
  • The design system, its tokens and their tests

In development

  • PVT and the fluid description
  • Nodal analysis: IPR, VLP and the operating point
  • Material balance and history matching
  • Network solving
  • Forecasting and economics
Next

Early access

Write in and say which of the four you would reach for first. You get a login to the platform as it stands, the schema it is built on, and a note when the engine you named lands. There is no trial clock and there is nothing to cancel.

You will be talking to the people writing it, and the honest answer to what it does not do yet is on this page rather than in the second call.