Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Marathon Petro-SIM use at Marathon
1. Petro-SIM use at Marathon Petroleum Company
Thomas L. Bowman
Refining Operations Research
2. Topics
Introduction
Petro-SIM use for flowsheet modeling
Conversion of FCC models to v6.2
LP submodel development
Refinery-wide modelling
Crude assays from Spiral Assay
Tips/ Tricks
2
3. Introduction
3
MPC is the second-largest crude oil refiner in the U.S. and the largest in the
Midwest.
MPC has 6 refineries located in the Midwest and Gulf Coast regions of the U.S.
These refineries collectively have approximately 1,881,000 bpcd of crude oil
throughput capacity.
This presentation shows some of the ways MPC uses Petro-SIM to model these
refineries.
The focus will be on the work done by our Operations Research team using
Petro-SIM.
4. Petro-SIM use for flowsheet modeling
4
Transitioned refinery Technical Service team models to Petro-SIM
– Operations Research team converted ~500 models
– Training classes led by KBC consultants were held at each refinery
– Some models were modified to include kinetic reactor models and feed synthesis
Project models
– Some contractors have begun to provide Petro-SIM models
– Detailed design models have been built from refinery wide model subflowsheets
– Other models have not been converted due to extensive use of rigorous exchangers
• Awaiting v7 with improved HTRI integration
5. FCC-SIM models to v6.2
5
Have been using v3.2 FCC-SIM models for years
– v4.1 through v6.0 flowsheet based models did not optimize properly
– With double precision reactor modeling, the v6.2 model optimizers worked much better
Converted all our models to v6.2
– Use meters connected to the PI Historian instead of Excel generated flat files
– Using real plant data as calibration input instead of calculated yields improves the unit
engineer’s understanding of the operating state used for calibration
KBC Explorer is now used to run predict versus measured cases
– Test the robustness of the model calibration and tuning over time
– Identify plant data issues
– Testing automatic optimization runs
6. LP submodel development
6
FCC-SIM, HXX-SIM and REF-SIM commonly used to update LP submodels
LP Utility is used to run sets of cases to export to Excel
– Often utilize a spreadsheet operation to capture the results used by the LP Utility
– This keeps the LP Utility results in the order that we want
The Petro-SIM reactor model results are then used to build the LP model
– Simple step out cases for base delta LP models
– Or, many cases are run for data regressions (linear or non-linear models)
7. Refinery-wide modelling
7
MPC Refinery-wide models
– Use FCC-SIM, HXX-SIM, REF-SIM, CKR-SIM, ISOM, and ALKY reactor models
– Naphtha HT (incl. FCC naph), Sulfolane, RHU, Asphaltene Extraction, etc.
• Custom representations using spreadsheet units or component splitters with custom VB script
Two additional Refinery-wide models built since last presentation
– Robinson, IL and Catlettsburg, KY
Both models were built in-house
– Major project team did use KBC consultants to verify some reactor model responses
Catlettsburg model uses component splitters instead of column models
– Uses shortcut distillation with adjusters to hit product targets
– Much faster than our other refinery-wide models and very robust
8. Crude assays from Spiral Assay
8
Spiral Assay has three options for exporting xml files to be read by Petro-SIM
Results from the Petro-SIM streams do not match the original assay
Built a new input dataset within Petro-SIM using Spiral-SDK and Excel
– Transfer three chunks of data: Light ends, Naphtha GC, and Distillate cuts
– Utilizes 49 “Distillate” cuts to match full yield and property curves
Updated Synthesis settings
– Naphtha modification: Scope = “Modify properties over measured range only”
– Heavy Naphtha / Kerosene range yields match Spiral much better
9. Tips/ Tricks
9
Using Spreadsheet for Logic switches
– Refinery-wide models are simulations: user is required to specify how intermediates
are routed to downstream units
– Our models tend to have flowrate specifications that “flow” backwards through tees
and/or mixers to fill up a process unit to a desired capacity
– Works well until your “incremental” feed runs out or is driven to zero
– Must change flow specifications to allow another feed to be the “incremental” feed
– Another example would be shutting down a portion of the flowsheet
Spreadsheets can pass “empty” values to flow specifications
– Note: insert/ deleting rows or columns affects “=empty” cells
Export from Spreadsheets to “Ignore” buttons
12. Tips/ Tricks
12
Spreadsheets for CSTR reactors
CSTR reactor in Petro-SIM works for chemical applications but not for refining
units with hypothetical components
Require reactions for properties of components as well
Made new hypos that matched desired kinetic lumps
Added user properties to track property lumps
CSTR reactors are well mixed resulting in the kinetics being driven by the
effluent composition
– Normally requires an iterative approach performed by computer code
– Utilized a recycle block with a spreadsheet unit to handle the calculations
Used assay adjustors to change the feed into the effluent
– Requires two steps because composition is set by volume so the gravity must be
applied first
13. Tips/ Tricks
13
Spreadsheets for CSTR reactors
The recycle stream gives the basis to calculate the reaction rates
The feed stream is modified accordingly to become the effluent stream
The recycle stream is updated and the process repeats
14. Tips/ Tricks
14
User Code
VB Script code can be added to a User Variable
Can pull in other User Variables or data from the object as input
– X0 = getuservariable(“X”).variable
– Note: user variables are global and must have unique names
Can export results to the object
Select a variable in the flowsheet, right-click and “Send details to clipboard” to
see the name to use in the code to link to that variable
– Set mbd = MyBackDoor
– NBP = mbd.BackDoorVariable(“:Temperature.503.1”).Variable.GetValue(“F”)
– Mbd.BackDoorVariable(“:MoleFraction.503.0.0”).Variable.Value = 1
15. Summary
15
MPC is using Petro-SIM reactor models and flowsheets in many areas
– Technical Service process models
– Detailed project models
– LP Submodel development
– Refinery-wide simulation models
– Kinetic model benchmarking
User properties, script properties, user variables, and user code give sufficient
flexibility to model anything we need