Refinery planning models are usually written with one underlying material balance basis – weight or volume – with one standard unit of measurement – tons, meters-cubed (m3) or barrels (BBL) – for all the stream balance rows. In Europe, people usually opt for weight-based models. Prices and limits might be volume based, since with density fully recursed it isn’t difficult to do that. The streams will be in the standard units, all in tons (or long tons or tonnes), except perhaps for some final products that are sold and balanced in m3. Elsewhere however, particularly in the US, models are often done in volume. In these it is common to find that the Hydrogen, and other gases, have been balanced in MSCF or similar instead. Solids like Coke and Sulphur might be counted in tons.  Why do this? Primarily, because that is how these materials are normally measured, so the values are more familiar and easier to interpret.

How is this implemented?  As an example, l set up a model that is balanced in barrels but with the hydrogen in MSCF. This is simply done by giving MSCF/BBL feed in the process units that produce or use hydrogen.  Hydrogen is produced on the reformer. Here is the yield vector:

89 ReformerYield
Note that these numbers have the pink background because this unit has a PSI connected to it. I have used “Expanded View” to show the values from the optimal solution. At first glance the factors don’t make any sense. How can 1 BBL of feed produce more than 2 BBL of output?  But as I have sensibly included the unit of measurement in the description for the Hydrogen stream, it should be clear that something else is happening; that is that 1.1 is not BBL and it makes no sense to simply add up the values.  When using alternate units, take some thought for the impact on matrix scaling. MSCF gives a pretty good co-efficient – lots of numbers in the equations will be around 1. However, if you switched to MMSCF the co-efficient would be 0.0011033.  Choose your alternate units to avoid very small or very large values on process operations 

The alternate balance basis needs to be taken into account to get a sensible material balance report out of the solution. Put a “Convert” factor in on the stream panel (R00.2 if using Tables), like so.

89 StreamConvertFactor

The factor will be multiplied by the Hydrogen yield co-efficient in the matrix to get back to BBL – so it needs to be expressed as BBL/MSCF. Note that the Convert value has NO impact on the matrix. I have observed, by the way, a range of numbers for this relationship in client models and when searching the internet. It will depend on your barrel size for sure (6.29 is common in refinery models, but some people use 6.4) and probably also the assumed temperature and maybe the purity of your stream. The important point is to find out what is considered standard in your business and use it consistently (same value, same precision) throughout the model.

When a stream has a conversion factor, the material balance report for the process unit will show both an Actual and Standard value.

89 ReformerBalanceWithActual

The “Actual Units” reflects the co-efficient in the matrix that connects the unit operation to the hydrogen balance. That is 1.01 x 9033 BBL feed = 9778 MSCF H2. The further conversion to weight is done with the “Den” entered on the stream panel, as this is a type “other” stream and there isn’t one anywhere else. ($DEN in TABLE 911.0). If all the conversions and densities are right, the unit will be in mass balance.

The hydrogen is used on the hydrotreaters. It will also be treated as an MSCF/BBL number on that unit too,

89 DHTBalance
so you have to be sure that is what you are returning from your simulator when you calculate how much Hydrogen is required.

What happens if you buy or sell an alternate basis stream? It’s quite common to include a high price purchase of hydrogen to keep a model feasible if the reformer is not running.  

89 FeasPurchH2
The panels only offer you, and GRTMPS only recognizes, the normal primary and secondary volume/weight options. For streams balanced in alternate units, you should choose the primary model-basis units for price and limits. (H/Planet is going handle this better). Despite the labels, the values will function as $/MSCF and MSCF Per day because no conversions are made when the primary units are used. 

You can see this in the stream balance equation for hydrogen (HH2) as taken from the after-recursion ROW file.

Row = DDJLHH2_~BAL Type = MAX RHS = 0.000000
DDJLHH2_~IPX = -1          DDJLHDTSDA_^ = 0.6
DDJLREFAAA_^ = -1.10342350 DDJLFULH2F_^ = 1

There is the production number from the reformer that we saw earlier and know is in MSCF. The purchase on account IPX brings in a single unit of stream HH2. (Remember that sources have negatives owing to the internal sign convention). It is consumed on the HDT and the Fuel unit. (I’ve edited out the feed quality error contributions to simplify). If you find the other mentions of HH2_~IPX here in the ROW file or in the MTX you will see that the price is unchanged, and the bound has just been multiplied by the days in the period.

Some of the input/output and purchase/sales reports will show you both the alternate and standard units for such streams, for example:

89 AltBasisPurchase

The incentive on the purchase vector indicates that a bound is being hit and is, of course, $/MSCF.

Can you blend alternate basis streams? Yes, but you will only get sensible answers if all the streams involved are balanced on the same basis. That is, if you have multiple sources of Hydrogen with different characteristics, you can blend them together – but they must all be balanced in MSCF with a Convert factor, as well as the blend that you are making. That blend can be a product or a pool. You can even use the properties to as an input to an AR calculation as the internal scaling always takes into account differences in quantities between pools providing information and the vectors where the PUPs are used. The blend reports will show you the standard units only.

You will also find that the Solution Block Diagram and Report Generator also show the standard units only.   If you are having trouble getting things to balance, you can use the Solution Print and the Matrix Analyzer to see what is going on with the vectors as they are generated in the alternate units.


From Kathy's Desk. 

6th February 2023 

Comments and suggestions gratefully received via the usual e-mail addresses or here.
You may also use this form to ask to be added to the distribution list so that you are notified via e-mail when new articles are posted.