Fluid catalytic cracking unit (FCCU) is a critical unit in modern oil refineries. The diagram shows where a FCCU fits in an oil refinery. FCCUs convert heavy hydrocarbons into lighter and valuable products such as LPG, gasoline, etc. As shown, the FCCU operation involves catalytic reaction, catalyst regeneration, and distillation

Figure 1: Oil refinery block diagram and FCCU unit. Refinery PFD provided under Creative Commons Attribution-Share Alike 3.0 license by Mbeychok.

Given the importance of FCCUs in petrochemical industry, it would be good for a process data scientist to have some experience with ML-based monitoring of FCCUs. Therefore, we simulated an open source FCCU Model to generate data from fault-free and faulty operations to enable evaluation of fault detection and diagnosis techniques.

Santander et al., in their work titled ‘An open source fluid catalytic cracker – fractionator model to support the development and benchmarking of process control, machine learning and operation strategies,’ provided an open source (https://github.com/Baldea-Group/FCC-Fractionator) model of a FCCU process with regulatory control. The process flow diagram below shows the subunits and controllers included in their model.

FCCU process flow diagram with regulatory control

A total of 46 signals are made available as outputs and assumed to be recorded every minute. The table below lists the measured signals.

[Readers are encouraged to refer to the original work by McFarlane et al. on the modeling of FCCU. It provides greater clarity on the model provided by Santander et al.]

Dataset files are available here. Data has been provided in 7 CSV files. Each file contains data from one simulation. The table below provides details on the contents of each file. Two of the CSV files contain data from fault-free conditions. The Python notebook FCCU_dataExplore_NOC.ipynb in the GitHub repository plots relevant signals. Each CSV file has 47 columns: the first column fives the time (in mins) of sampling and the rest of the 46 columns correspond to the signals listed in Table 1 in the shown order. For example, the 2nd column in the CSV file contains data for the fresh feed flow (F3).

Normal/FaultyFilenameData details
NormalNOC_stableFeedFlow_outputs.csv2 days of data with feed flow stable and ambient temperature ranging from 75 degree F to 80 degree F.
NormalNOC_varyingFeedFlow_outputs.csv7 days of data with feed flow showing around 5% variations and ambient temperature ranging from 75 degree F to 80 degree F.
FaultyUAf_decrease_outputs.csv1 day of data with heat exchanger fouling
FaultycondEff_decrease_outputs.csv1 day of data with decreased condenser efficiency
FaultyFhn_sensorDrift_outputs.csv1 day of data with Heavy Naphtha flow sensor drift
FaultydeltaP_increase_outputs.csv1 day of data with higher pressure drop between reactor (P4) and fractionator (P5)
FaultyCAB_valveLeak_outputs.csv1 day of data with CAB valve leak

The five faults shown in the diagram below have been simulated. The faults have been simulated one at a time in 5 separate simulations.

Faults simulated in separate simulations

The table below provide details on the fault progression and the time of onset of fault. The Python notebooks FCCU_dataExplore_***.ipynb plots some relevant variables that are expected to show deviations under the influence of the respective faults.

Fault typeFault descriptionFault details
Heat exchanger foulingThe heat transfer coefficient (UAf) of the preheater goes down from a nominal value of 25 B.t.u./s to 22.5. The fault starts at t=120 mins. UAf goes from 25 to 23.75 linearly until 719 mins and then shows a step decrease to 22.5 at the 720th min.
Condenser efficiency decreaseThe fractionator condenser’s efficiency goes down from a nominal value of 0.9 to 0.855. The fault starts at t=120 mins. Efficiency goes from 0.9 to 0.87 linearly until 719 mins and then shows a step decrease to 0.855 at the 720th min.
High pressure drop between
fractionator and reactor
The variable dPfrac (P4 – P5) goes down from a nominal value of 9.5 to 9.9.

Increased reactor pressure, among other impacts, leads to increased catalyst circulation rate and deviations in catalyst level.
The fault starts at t=120 mins. dPfrac goes from 9.5 to 9.75 linearly until 299 mins and then shows a step increase to 9.9 at the 300th min.
Flow sensor driftThe FHN sensor shows a drift of 35 lb/min.The fault starts at t=120 mins. The sensor drift increases linearly from 0 to 35 until t=1440 min.
CAB vent valve leakThe variable kcomb goes down from a nominal value of 40 to 35. kcomb is CAB discharge pipe flow resistance factor.

Variations in kcomb affects the combustion air flow into the regenerator and therefore regenerator process parameters will show deviations.
The fault starts at t=120 mins. kcomb goes from 40 to 37 linearly until 299 mins and then shows a step increase to 35 at the 300th min.

Let’s take a quick look at the heat exchanger fouling fault. Reduced heat transfer to the feed will lead the controller TC1 to open valve V1 more to increase the fuel flow so as to maintain T2 at the setpoint. Moreover, less heat going into preheating the feed implies that the flue gas temperature (T3) in the furnace will increase. The diagram below summarizes the scenario. Variables F5 and T3 have been shown here and drifts in their values are evident; however, the ‘faulty values’ are not very far away from the normal values obtained under fault-free operations with varying feed flow. Therefore, the challenge for any fault detection algorithm is to detect quickly these variables are exhibiting abnormal behavior.

The Python notebooks FCCU_FDD_via_PCA_***.ipynb provide quick implementation of PCA-based FDD using the methodology detailed in our book titled ‘ML in Python for Process Systems Engineering‘. Readers are encouraged to check out the Python notebooks. The snippet below provides a quick sneak into the result obtained for heat exchanger fouling fault. We can see that the result is not very impressive.

We hope that process data scientists will find this resource useful. We look forward to your comments.

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *