In GRTMPS you can define “generic” modes on distillation towers – atmospheric, vacuum and splitters – that automatically expand for whichever set of crudes is available in the current case.  The “?” in the first position is a wild card that will be replaced with the code of each crude, as will the “???” in the description. 5 crudes = 5 modes, 10 crudes = 10 modes

 
75 GenericModeHCAMSimCDU 

The yield and quality data for each cut will originate from an assay file. In a Cut Point Optimization (CPO) model, where the crude is recut on every recursion pass, the generic operation is defined in Design View using PUPs that point to cut/prop tags in an H/CAMS project file.

75 CPO Operations

 You can see the values for any active at the solution cut points in Expanded View by loading them from a 181 file.

75 CPO ExpandedView

If the model has pre-cut crudes -  as is usual when alternative modes or swing cuts are used to model variation in cut point -- then the generic operation is set up with cut/prop tags from the crude database, as generated from the assay data.

 75 CrudeMDB Operations

Select any subset of crudes to look at the values in Expanded View.

75 CrudeMDB ExpandedView


This is more convenient than having to explicitly maintain modes for each crude. But what if a mode should not be expanded for all crudes? There are several reasons why a crude might not be allowed on a tower or used in an operating block (virtual unit), such as

-- concerns about the physical impact on the plant due to sulphur or acid content or risks of fouling

-- In CPO models partly distilled material like imported atres will have an assay file associated with it in the crude setup panel so that it can be cut by H/CAMS when fed to the VDU. It will look like a crude to the model, but should not be processed on the CDU. The VDU mode for this direct feed should, in turn, not be allowed for any of the full range crudes.

-- segregating operations by feed type so that the rundown pools are suitable for particular purposes, such as low sulphur fuels, lubes, bitumen, FCC feed, as in our crude evaluation demo model.

 75 BFD LowSulphurBlock 75 BFD BitBlock 

Pictures courtesy of the Solution Block Flow Diagram tool.  See the diffierent heavy gas oil and atres stream codes?  

Note that here we are talking about an on-off decision by individual feed option. If the criteria apply to the crude mix – so that you could process a high sulphur or high acid grade as part of a blend – then you want an operating parameter to control the average property – as long as you have the flexibility in operation to run the mixes proposed. Or maybe a combination of these two approaches as some crudes might be mild enough to be blended in, but others are so far out there is no point cluttering the matrix up by leaving them open.

GRTMPS offers a number of methods that can be used to exclude crudes from units or modes. What works best in a particular model depends on the input format for your crude data -- Tables in Files, a crude database, or assays. You also need to consider the type of criteria – is the decision based simply on what crude it is, or is there a property which determines eligibility for a particular operation. The best methods are ones that prevent the vectors from being generated into the matrix at all, as operations that are left in even though bounded to 0 or blocked by a process limit are resources for the forces of chaos!.

Database Input Models
If your model uses the database input system then there are two useful methods for controlling which crudes can be used on which operations: Crude Linked modes with bounds or Quality Criteria.

75 DefineModeCrudeLink   

Crude Links can be used when eligibility is simply tied to what feed it is. On the Define Mode panel, enter the generic mode code again, but select the target crude stream name in the Crude Link column.

On the operations panel, you can now enter data specifically for this crude only. (Specific data will overwrite any corresponding element in the generic mode definition. Where specific data is not given, the entry on the generic mode will be used.)   

To block the feed give the mode a Fix=0 bound. On processing the data, the matrix generator will remove the operation from the crude unit.

75 SpecficOpBoundZero 

If the number of crudes permitted is much fewer than the number of crudes excluded, it might be more convenient to put in a linked mode for the allowed ones, without defining a fully generic one. For example, if imported atres is in the only crude-type feed that can go through the VDU, then define just that mode(s).   The operation can still be set up with the same sort of yield structure as the generic crude modes, with "???" as the feed and (ST)* streams as the rundowns which will be expanded only for the given crude(s). 75 VDULinkedModeOnly 

Quality Criteria are data driven and so more dynamic. If there is some property that you can use to determine if the crude is allowed in the mode, then feeds will be classified automatically, even if they are new or the assay is updated.

If you have a database of pre-cut crudes, you can choose any property of any cut for your criteria. For example, in the WT demo model, the bitumen unit checks the Asphaltene content of the Vacres cut.

75 QualCritBitumen

To set a criteria, right click on the QualCrit cell to open the dialogue box. Select the Cut and Prop from the drop down lists, and give the specification.

When you switch to expanded view, crudes that don’t meet the criteria will be greyed out.

75 BitumenExpandedView

These modes will be marked with $INACT in the data table when exported so that they are not generated into the matrix.

If there is no simple criteria than can be applied, an artificial property assigned to any cut code (XXX is often used since it is the H/CAMS raw data tag for whole crude properties) is an effective approach. Set it to “1” if the crude is allowed and “0” if it is not, then use Fix=1 as the criteria. Most crude databases are populated by passing the assay data through a spreadsheet template of some sort (Cal2GRT and Cal2Assay are the standard tools) so a formula can be used to set the value based on multiple characteristics. Or maybe it will just be set manually based on grade, as in the Crude Link method, but not requiring the separate maintenance of the mode definitions in the database.

Quality Criteria can also be set for CPO models, but at present in g5 are limited to whole crude properties - via cuts WC-Entered or WC-Calculated -- and default H/CAMS property codes. Although the full list of codes is offered, there will be whole crude values for only some of these in the assay. As well as density and sulphur, you are likely to be able to use acid and metals, but do check with the Expanded View that data is there in all assays for whichever property you want to rely on. H/Planet (coming to a galaxy near you soon) will have more options.

Table Based Crude Input
If you are using table based input via files, then crude exclusions are best applied as part of the process for creating the file for each crude. These are almost always made with an interface application in Excel – Cal2grt or something of your own devising – that steps through a list of assays and populates a template with the appropriate values. The template can have logic in it to turn modes off if they are not allowed.

In the Table based version of the WT Demo model, the Bitumen control is handled by a formula in the template. (The crude library generation files are distributed with the demo models and can be found via the Data: Extra Files panel of the base case.) As each assay is processed the cut-prop tag in cell C93 will pick up the Vacres asphaltene value. Cell B93 checks that a number has been returned and sets it to zero if there was an error (if the assay had no data for the property or the crude was so light there was no vacres yield).

75 BitumenINACTSetting

Cell D98 checks the value against the threshold. If the crude is not allowed, the 1 under $INACT will lead to the mode being removed at matrix generation. Using $INACT instead of commenting the row that defines the mode avoids the risk of the table not existing or having no rows in the event that a case has no active crudes which satisfy the criteria.

If there are many such modes in the model, then it might be simpler to have different templates to run for different types of crudes.  


So whether you are using assays, a crude database, or files you can take advantage of the generic definition system even when there are exceptions to control and exclude.  

 From Kathy's Desk. 

29th March 2021
Thanks to Mayank and the team at iOG for the question.
 
 
 
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.