Simulation What is Simulation? Governing Physics Darcy’s Law (without gravity term) q k P Material Balance Equation M ( ) Q t Mass Flux (In – Out) = Accumulation +/- Inj/Prod 1 Combine the Equations – Simulator Flow Equation (with gravity term) Q [ (P z)] ( ) t where k 2 Methods to solve – Finite Difference • Governing equations discretized on a fixed grid – Boundary Element / Finite Element • Governing equations solved using basis functions – Streamline Simulation • Governing equations discretized but solved on separate grids Types of Simulators • Black Oil Simulators (ECLIPSE Blackoil) – Oil & Gas phases are represented by one ‘component’ – Assumes composition of gas & oil components are constant with pressure & time • Compositional Simulators (ECLIPSE Compositional) – Oil & Gas phases are represented by multicomponent mixtures – Assumes the reservoir fluids at all temperatures, pressures, compositions & time can be represented by EOS Reservoir Simulation Basics The reservoir is divided into a number of cells Basic data is provided for each cell Wells are positioned within the cells The required well production rates are specified as a function of time The equations are solved to give the pressure and saturations for each block as well as the production of each phase from each well We are Interested in Simulating Flow Flow from one grid block to the next Flow from a grid block to the well completion Flow within the wells (and surface networks) • Flow= Transmissibility * Mobility * Potential Difference Geometry & Properties Fluid Well Properties Production ECLIPSE Model: *.DATA RUNSPEC General model characteristics GRID Grid geometry and basic rock properties • k EDIT Modification of the processed GRID data (optional section) PROPS PVT & SCAL properties REGIONS SOLUTION SUMMARY SCHEDULE Subdivision of the reservoir (optional section) Initialization Request output for line plots (optional section) Wells, completions, rate data, flow correlations, surface facilities Simulator advance, control and termination 7 How ECLIPSE Works – Each section of the data file is read, processed, consistency checks are performed & required information is written to various output files (ie *.PRT) – Exceptions: • RUNSPEC: Used for allocation of dynamic memory • SCHEDULE: Time dependent data is read & processed at every time step How ECLIPSE Sections Relate to the Equation Flow =Transmissibility * Mobility*Potential Difference Geometry& Properties Fluid Properties Well Production GRID PROPS SCHEDULE EDIT REGIONS SOLUTION 9 RUNSPEC Section This slide does not appear in the manual Purpose of the RUNSPEC Section – Set the start date of the simulation – Define the basic character of the model – Allocation of memory (RAM) • • • • 11 Simulation grid Wells Tabular data Solver stack Sample RUNSPEC Section Units may also be METRIC or LAB Number of PVT, SCAL Aquifer Tables, Wells, Connections,Segments Note: Required 12 { • • • • • • • • • • RUNSPEC TITLE ECLIPSE Course Example DIMENS 20 5 10 / FIELD • • • • • • • • WELLDIMS 4 20 1 4 / AQUDIMS 4* 1 250 / TABDIMS 2 2 50 50 / START 1 JAN 1994 / OIL WATER Phases present may be oil, water, gas, disgas (dissolved gas), vapoil (vaporized oil) RUNSPEC Keywords – The ECLIPSE Reference manual contains information about all keywords Reference Manual • Data File Overview chapter shows keywords by section • Keywords chapter contains details about each keyword 13 Purpose of the GRID section – The Grid section contains the properties used to calculate pore volume & transmissibility PV Vcell NTG T(x, y,z) K ( x , y , z ) A ( x , y , z ) NTG L ( x, y,z ) – ECLIPSE uses cell pore volume and transmissibility to calculate flows from cell to cell 14 Minimum GRID Section • Required Properties for each cell in the model: • Geometry – Cell dimensions & depths • Properties – Porosity – Permeability – (Net-to-gross or net thickness—if not included, ECLIPSE assumes equal to 1) 15 Types of Grids Supported “Cartesian” Block Centered Radial 16 Corner Point Unstructured (PEBI) 1 Block-Centered vs Corner Point: Geometry Block-Centered DX keyword specifies the thickness of the cells in the I direction (10,1,1) DZ keyword specifies the thickness of the cells in the K direction Corner Point TOPS keyword specifies the upper face depth (10,1,1) DY keyword specifies the thickness of the cells in the J direction (11,1,1) Note: DXV, DYV, DZV are alternate forms 17 ZCORN keyword specifies the height of all corners of all cells COORD keyword specifies the X,Y,Z of the lines that define the corner of all cells (11,1,1) 3 Block-Centered vs Corner Point: Transmissibility • Flow from cell can flow to cell(s) Corner Point Block-Centered (10,1,1) (10,1,1) (11,1,1) (11,1,1) Cell connections are by logical order: Cell connections are by geometric position: (11,1,1) (11,1,2) & (10,1,1) (11,1,1) (11,1,2), (10,1,2)partial & (10,1,3) 18 2 Block-centered vs Corner point: Summary • Block-centered • Cell description is simple – Pre-processor is not required – Geometry data is small • Geologic structures are modelled simplistically – Pinchouts & unconformities are difficult to model – Incorrect cell connections across faults (user must modify transmissibility) 19 • Corner Point • Cell description can be complex – Pre-processor is required – Geometry data is voluminous • Geologic structures can be modelled accurately – Pinchouts & unconformities can be modelled accurately – Layer contiguity across fault planes is accurately modelled Grid Cell Property Definition Cell properties such as PORO, PERMX, PERMY, PERMZ, NTG are averages defined at the centre 20 Cartesian Data Reading Convention • Cell data is read with i cycling fastest, followed by j then k k increasing (1,1,1) i increasing j increasing (12,4,1) 21 1 Inactive Cells • Avoid simulating fluid flow in “unimportant” cells • ACTNUM — explicitly set each cell’s behaviour – 0 indicates the cell is inactive – 1 indicates the cell is active • MINPV — indicate a minimum pore volume for a cell to be active • PINCH — indicate a minimum thickness for a cell to be active • ECLIPSE will automatically inactivate any cell with zero pore volume • • 22 Note: FloViz & FloGrid are normally defaulted to show active cells only (Scene | Grid | Show | Inactive cells) Cell Property Definition Rules • One property per cell (NX*NY*NZ) – Values must be defined for inactive cells too • Explicit values only – ECLIPSE has no facilities for entering data as a function – FloGrid, Office, FloViz have property calculators • Define the property with the pre-processor • Export the property as a text file (*.grdecl) • Use the INCLUDE keyword 23 Input Examples 2 --NX = 5, NY = 3, NZ = 4 Specify each value Specify similar values with the * EQUALS example NTG 1.00 1.00 1.00 1.00 1.00 1.00 15*0.40 15*0.95 15*0.85 / 1 3 1 24 Applies to whole grid Applies to cells specified This would overwrite PORO & PERMX specified previously 1 / 85 83 ENDBOX MULTIPLY example 1.00 1.00 1.00 PORO 9*0.28 / PERMX 100 80 COPY example 1.00 1.00 1.00 EQUALS 'PORO ' 0.250 / 'PERMX' 45 / 'PERMX' 10 1 5 1 3 2 2 / 'PERMX' 588 1 5 1 3 3 3 / / BOX 1 3 BOX example 1.00 1.00 1.00 COPY 'PERMX' 'PERMY' / 'PERMX' 'PERMZ' / / MULTIPLY 'PERMZ' 0.05 / / 99 110 92 91 84 / Cell Property Definition using Petrel – The properties are assigned to each cell during upscaling & exported to a file – The INCLUDE keyword is used to load the properties from Petrel: INCLUDE grainne_props.grdecl / 25 GRID Section Output Controls – For a report in the PRT file, use: • RPTGRID (request report of many GRID Section keywords, including ALLNNC) • BOUNDARY limits the PRT output to specified I,J,K range – For 3D viewable output, use: • Geometric data (*.egrid), GRIDFILE 0 1/ • Static properties (*.init), INIT 26 For an unstructured grid, the *.egrid must be exported from FloGrid EDIT Section Purpose of the EDIT Section – Cell geometry, pore volume and transmissibily are calculated in the GRID Section – These properties are modified in the EDIT Section – EDIT is optional 28 EDIT Section keywords – GRID Section output that may be modified in the EDIT Section: • DEPTH, PORV, TRAN (X, Y, R, THT, Z) • Diffusivity Option keywords – Operators • MULTIPLY, BOX, EQUALS, COPY, ADD, MINVALUE, MAXVALUE – Others • EDITNNC, MULTPV, MULTFLT • MULT (X, Y, R, THT, Z, etc) are allowed but not recommended 29 PROPS Section - Fluid Properties This slide does not appear in the manual Purpose of the PROPS Section – The PROPS section contains pressure and saturation dependent properties of the reservoir fluids & rocks – Fluid information required (for each fluid in RUNSPEC): • Fluid PVT as a function of Pressure • Density or Gravity – Rock information required: • Relative permeabilities as a function of saturation • Capillary pressures as a function of saturation • Rock compressibility as a function of pressure 31 PVT: Pressure Volume Temperature • Why is PVT needed? – Mass balance is a key equation in simulation • Produced volumes must be translated to reservoir conditions • Reservoir volumes must be converted to mass • Where does PVT come from? – Laboratory experiments Equation of State Model – Correlations – Processed in PVTi 32 Black Oil vs. Compositional Simulation Compositional Black Oil Flow equation solution for each cell subject to material balance Flow equation for each cell subject to material balance PVT data lookup from supplied tables Iterative solution of cubic equation of state for each component in each cell Iterative flash of component mixture to equilibrium conditions for each cell 33 For every time step Black Oil Model Phase Options # Phases Dead Oil Dry Gas Water 1 2 3 RUNSPEC Keywords Phase Combination Dead Oil Water Dry Gas Water Dead Oil Dry Gas Live oil with dissolved Water Wet gas with vaporized Water Live oil with Wet gas with Water dissolved gas vaporized oil OIL GAS WATER OIL, WATER GAS, WATER OIL, GAS OIL GAS, DISGAS, WATER OIL, GAS, VAPOIL, WATER OIL, GAS, DISGAS, VAPOIL, WATER A: Dead Oil C: Live Oil, Saturated B: Live Oil, Initially Undersaturate d 34 D: Dry Gas E: Wet Gas Dead Oil Entry Data Using PVDO & PVCDO • • • • • • • PVDO --P 2500 3000 3500 4000 4500 • • • RSCONST --GOR 0.656 Bo 1.260 1.257 1.254 1.251 1.248 Mu 0.50 0.55 0.60 0.65 0.70 / Pb 2500 / PVCDO --Pref 2500 RSCONST --Rs 0.656 Bo(Pref) Co 1.260 6E-6 Mu(Pref) Cv 0.5 E-6 / Pbub 2500 / ECLIPSE calculates the PVT table using: Bo P Bo Pref e C P Pref Bo o ( P) Bo o ( Pref )e 35 ( C Cv ) P Pref Live Oil Data Entry Using PVTO & PVCO • PVTO • --Rs Pbub FVF Mu • 0.137 1214.7 1.1720 1.970 • • • • • • • • • • 0.195 0.241 0.288 0.375 0.465 0.558 0.661 0.770 1414.7 1614.7 1814.7 2214.7 2614.7 3014.7 3414.7 3814.7 4214.7 4614.7 1.2000 1.2210 1.2420 1.2780 1.3200 1.3600 1.4020 1.4470 1.4405 1.4340 1.556 1.397 1.280 1.095 0.967 0.848 0.762 PVCO – a simple method for live oil data. When 0.691 calculating the undersaturated region, ECLIPSE 0.694 assumes: dBo C B0 0.697 / o Saturated Undersaturated 36 dP d o Cv 0 dP Gas EOS in the Black Oil Model gr gg R v og Bg Where Bg (formation volume factor): Bg Subscripts: gr = reservoir vapor og = surface oil from reservoir vapor gg = surface gas from reservoir vapor 37 V gr V gg And Rv (amount of surface oil vaporized in reservoir vapor): Rv V og V gg Dry Gas Data Entry Using PVDG & PVZG • • • • • • • • • • • • 38 PVDG --P 1214 1414 1614 1814 2214 2614 3014 / Bg 13.947 7.028 4.657 3.453 2.240 1.638 1.282 RVCONST --Rv Pd 0.0047 1214 / Mu 0.0124 0.0125 0.0128 0.0130 0.0139 0.0148 0.0161 PVZG – Alternative of PVDG. The Z factor is related to the formation volume factor Bg, reference temperature Tref and pressure P by: Tref Tbase Ps Bg Z T T P base s Wet Gas Data Entry Using PVTG • • • • • • • • • • 39 PVTG -- Pg 60 120 180 240 300 360 560 / Rv 0.00014 0.00012 0.00015 0.00019 0.00029 0.00049 0.00060 Bg 0.05230 0.01320 0.00877 0.00554 0.00417 0.00357 0.00356 Mu 0.0234 0.0252 0.0281 0.0318 0.0355 0.0392 0.0393 / / / / / / / Water EOS in the Black Oil Model wr ws Bw Where Bw 40 V wr V ws Reference Densities • Surface densities are specified using either keyword: – DENSITY – GRAVITY or gr wr x Compressor x x 1st Stage Separato r oo R s go 2nd Stage Separator Stock Tank Bo gg Water Treatme nt R v og Bg ws Oil & Water at reservoir conditions Bw 41 Using Multiple PVT Regions • Keywords necessary: – In RUNSPEC, check TABDIMS & EQLDIMS – In PROPS, include multiple tables (some may be defaulted) – In REGIONS, include PVTNUM & EQLNUM 42 Using API Tracking • Keywords necessary: – In RUNSPEC, use API – In PROPS, at least full PVT for highest & lowest API oil – In SOLUTION, use OILAPI or APIVD 43 PROPS Section – Saturation Functions This slide does not appear in the manual Purpose of the PROPS Section • The PROPS section contains pressure and saturation dependent properties of the reservoir fluids & rocks • Fluid information required (for each fluid in RUNSPEC): – Fluid PVT as a function of Pressure – Density or Gravity • Rock information required: – Relative permeability as a function of saturation – Capillary pressures as a function of saturation – Rock compressibility as a function of pressure This slide does not appear in the manual 45 Rock Compressibility • Required since the pore volume varies under pressure – Simplest approach: ROCK keyword • Rock compressibility is reversible and the same everywhere – Additional options (see “Rock Compressibility” in the Technical Description): • A table of compaction as a function of pressure – Reversible or Irreversible • The ability to modify the transmissibility as a function of pressure • A hysteretic model to allow partial reflation • A water-induced compaction model 46 ROCK keyword • Rock Compressibility V pore V pore C P Cell Bulk Volume is constant and equal to Pore Volume + Rock Volume • ECLIPSE adjusts the pore volume using: C ( P P ) V P V P 1 C ( P P ) 2 ref pore 47 pore ref ref 2 Purpose of Saturation Functions Used to calculate the initial saturation for each phase in each cell Used to calculate the initial transition zone saturation of each phase 48 Used to calculate fluid mobility to solve the flow equations between cells and from cell to well 3 Significant Saturation Endpoints • SWL: connate water saturation • SWCR: critical water saturation • SWU: maximum water saturation • SOWCR: critical oil-water saturation • SGL: connate gas saturation • SGCR: critical gas saturation • SGU: maximum gas saturation • SOGCR: critical oil-gas saturation Oil Water Relative Permeability Krow Krw SWU SWCR SWL + Gas Oil Relative Permeability Krog SOGCR (1 - Sg) SGL + 49 Krg SGCR SGU SOWCR (1 - Sw) Saturation Function Keyword Families • Family 1 – Kro entered in the same tables as Krw and Krg – SWOF, SGOF, SLGOF – Cannot be used in miscible flood • Family 2 – Kro entered in separate tables versus oil saturation – SWFN, SGFN, SGWFN, SOF3, SOF2, SOF32D Different keyword families cannot be mixed in the same run 50 Family 1 Example – SWOF, SGOF These must be the same SWL • • • • • • • • • • • • • • SWOF --Sw 0.1510 0.2033 0.3500 0.4000 0.4613 0.5172 0.5731 0.6010 0.6569 0.7128 0.8111 0.8815 Must be zero Krw 0.0000 0.0001 0.0002 0.0695 0.1049 0.1430 0.1865 0.2103 0.2619 0.3186 0.4309 0.4900 = 1 - SOWCR 51 Krow 1.0000 0.9788 0.8302 0.1714 0.0949 0.0511 0.0246 0.0161 0.0059 0.0015 0.0000 0.0000 Must be SGOF zero Pcwo 400.00 20.40 11.65 3.60 2.78 1.93 1.07 0.83 0.66 0.38 0.16 0.00 Must be zero / --Sg Krg Krog Pcgo 0.0000 0.0000 1.0000 0.00 0.0400 0.0000 0.6000 0.20 0.1000 0.0220 0.3300 0.50 0.2000 0.1000 0.1000 1.00 0.3000 0.2400 0.0200 1.50 0.4000 0.3400 0.0000 2.00 0.5000 0.4200 0.0000 2.50 0.6000 0.5000 0.0000 3.00 0.7000 0.8125 0.0000 3.50 0.8490 1.0000 0.0000 3.90 / SGU = 1 - SWL Must be zero Family 2 Example – SWFN, SGFN, SOF3 SWFN --Sw Must be zero SGFN Must be zero SOF3 Krw Pcow 0.10 0.000 20.0 0.00 0.000 0.00 0.30 0.000 0.000 0.20 0.004 5.00 0.05 0.000 0.03 0.40 0.089 0.008 0.30 0.032 3.30 0.15 0.089 0.30 0.50 0.253 0.064 0.40 0.062 2.60 0.125 1.50 0.60 0.354 0.172 0.164 0.60 0.50 0.25 0.343 0.80 1.00 0.586 0.365 0.253 0.70 0.60 0.35 0.729 0.60 1.50 0.854 0.500 0.354 0.80 0.70 0.45 0.90 1.000 1.000 0.80 0.667 0.30 0.55 0.465 2.10 0.65 0.586 2.80 0.75 0.716 3.60 0.85 0.854 4.50 0.90 1.000 5.50 0.90 1.00 0.833 1.000 --Sg 0.10 0.00 / / 52 Krg Pcog --So / Krow Krog Must be the same SOILmax = 1 - SWL 3 Phase Oil Relative Permeability SWL • ECLIPSE default model is a weighted sum: kro S g krog S w SW Lkrow 1-So-SWL So Sg GAS S g S w SW L 1 S g S w SW L OIL • Other options in ECLIPSE – Modified STONE 1 – Modified STONE 2 WATER S w SW L S g S w SW L 1-So Uses Krog table Uses Krow table 53 S g S w SWL 1 S o SWL Saturation Table Scaling • Given a few generic saturation functions: – Saturation functions are transformed and applied to the existing rock types – Three main types: • Horizontal Scaling – scales relative permeability along the saturation axis • Vertical Scaling – scales relative permeability values • Capillary pressure scaling 54 Before Scaling After Scaling Horizontal Scaling End-Points Increasing Oil Saturation Increasing Oil Saturation SOWCR Relative Permeability SWCR Increasing Water Saturation 55 Krg Krog SOGCR Relative Permeability 1-SWL-SGL Krw Krow SWU 1-SWL-SGL SGCR Increasing Gas Saturation SGU Implementing Horizontal Scaling • 1) Decide on what needs to be scaled • Which end-points? • Which relative permeability curves? • 2) Input un-scaled saturation functions • Family 1 or Family 2 keywords • 3) Insert ENDSCALE in RUNSPEC • 4) Input scaled end-points in PROPS • Entered on per cell basis or with ENPTVD 56 Example – Scaling SWCR SWOF -- Sw 0.150 0.240 0.295 0.350 0.405 0.460 0.515 0.570 0.625 0.680 0.735 0.790 0.845 0.900 1.000 / • • BOX 1 1 1 1 1 2 / • • SWCR 0.16 0.45 / Krw 0.000 0.000 0.005 0.017 0.036 0.062 0.095 0.134 0.180 0.231 0.290 0.354 0.424 0.500 0.700 Krow 1.000 0.784 0.665 0.555 0.454 0.363 0.282 0.210 0.149 0.097 0.056 0.026 0.007 0.000 0.000 Pcow 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Krw (1,1,1) Krw (1,1,2) Krw (1,1,3) Krow Relative Permeability • • • • • • • • • • • • • • • • • • SWCR=0.24 (1,1,3) SWCR=0.45 SWCR = (1,1,2) 0.16 (1,1,1) Water Saturation 57 Example – Scaling SWL and SOWCR SWOF 0.150 0.000 0.240 0.000 0.295 0.005 0.350 0.017 0.405 0.036 0.460 0.062 0.515 0.095 0.570 0.134 0.625 0.180 0.680 0.231 0.735 0.290 0.790 0.354 0.845 0.424 0.900 0.500 1.000 0.700 / BOX 1 1 1 1 3 3 / SWL 0.22 / SOWCR 0.25 / 1.000 0.784 0.665 0.555 0.454 0.363 0.282 0.210 0.149 0.097 0.056 0.026 0.007 0.000 0.000 32.43 15.01 10.48 7.66 5.76 4.41 3.41 2.65 2.05 1.57 1.17 0.85 0.57 0.34 0.00 Oil – Water Relative Permeability Relative Permeability • • • • • • • • • • • • • • • • • • • • • • • Krw Krow – Original Krow – Scaled 1-SWL-SGL (SWL=0.22 ) SOWCR=0.25 Water Saturation 58 Example – Scaling SWL and SOWCR (continued) SGOF 0.000 0.100 0.154 0.208 0.263 0.317 0.371 0.425 0.479 0.533 0.588 0.642 0.696 0.750 0.850 / • • SGU 0.78 / 0.000 0.000 0.005 0.019 0.044 0.078 0.122 0.175 0.238 0.311 0.394 0.486 0.588 0.700 1.000 1.000 0.699 0.563 0.443 0.341 0.254 0.182 0.124 0.078 0.045 0.022 0.008 0.001 0.000 0.000 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Note – SGU is scaled for consistency (otherwise SGU+SWL > 1) 59 Oil – Gas Relative Permeability Relative Permeability • • • • • • • • • • • • • • • • • Krg – Original Krg – Scaled Krog – Original Krog – Scaled SGU=0.78 1-SWL-SGL (SWL=0.22) Gas Saturation Vertical Scaling End-Points Oil – Water Relative Permeability KRORW KRW KRWR Water Saturation 60 KRO Krw Krow Relative Permeability Relative Permeability KRO Oil – Gas Relative Permeability Krg Krog KRORG KRG KRGR Gas Saturation Example – Scaling SWCR and KRWR SCALECRS YES / SWOF 0.150 0.000 0.240 0.000 0.295 0.005 0.350 0.017 0.405 0.036 0.460 0.062 0.515 0.095 0.570 0.134 0.625 0.180 0.680 0.231 0.735 0.290 0.790 0.354 0.845 0.424 0.900 0.500 1.000 0.700 BOX 1 1 1 1 1 2 / SWCR 0.16 0.45 / KRWR 0.60 0.35 / Oil - Water Relative Permeability 1.000 0.784 0.665 0.555 0.454 0.363 0.282 0.210 0.149 0.097 0.056 0.026 0.007 0.000 0.000 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 / Krw (1,1,1) Krw (1,1,2) Krw (1,1,3) Krow Relative Permeability • • • • • • • • • • • • • • • • • • • • • • • • KRWR=0.6 0 (1,1,1) KRWR=0.5 0 (1,1,3) KRWR=0.3 5 (1,1,2) Water Saturation 61 Capillary Pressure Scaling End-Points Oil – Gas Capillary Pressure Oil – Water Capillary Pressure PCW Capillary Pressure Capillary Pressure PCG SW U SWL Water Saturation 62 SGU SGL Gas Saturation Example – Scaling SWL and PCW SWOF 0.150 0.000 0.240 0.000 0.295 0.005 0.350 0.017 0.405 0.036 0.460 0.062 0.515 0.095 0.570 0.134 0.625 0.180 0.680 0.231 0.735 0.290 0.790 0.354 0.845 0.424 0.900 0.500 1.000 0.700 BOX 1 1 1 1 3 3 / SWL 0.22 / SOWCR 0.25 / PCW 50.0 / 1.000 0.784 0.665 0.555 0.454 0.363 0.282 0.210 0.149 0.097 0.056 0.026 0.007 0.000 0.000 32.43 15.01 10.48 7.66 5.76 4.41 3.41 2.65 2.05 1.57 1.17 0.85 0.57 0.34 0.00 / Oil – Water Capillary Pressure PCW=50. 0 Pcow - Original Pcow - Scaled Capillary Pressure • • • • • • • • • • • • • • • • • • • • • • • • SWL=0.22 Water Saturation 63 PROPS Section Output Control • RPTPROPS – Controls output from PROPS section to the PRT file • INIT – Saturation functions & PVT data written to the INIT file – Can be displayed in 2D & 3D (Petrel, Office, FloViz, FloGrid) • FILLEPS – All saturation endpoints to the INIT file • EPSDBGS / EPSDEBUG – Writes scaled saturation tables to DEBUG file for specified cells 64 REGIONS Section This slide does not appear in the manual Purpose of the REGIONS Section – The REGIONS section divides the reservoir according to • Variations in reservoir characteristics • For reporting purposes – Examples: • Different PVT properties and equilibration characteristics could be assigned to areas of the grid separated by a sealing fault • Fluid in place could be reported by fault block or leasehold position – The REGIONS section is optional 66 Use: Variations of Reservoir Properties – 3D view of EQLNUM property – EQUIL keyword tables now associated with EQLNUM regions – Resulting initial oil saturation EQLNum SOLUTION EQUIL 2 TABLES 7100 3814.70 7500 0 7100 0 1 0 5 / 8000 4145.39 7550 0 7000 0 1 0 5 / 67 Use: Reporting Purposes 1. FIPNUM (fluid in place regions) are defined in the REGIONS section 2. In the Solution section: • RPTSOL • FIP=2 / 3. The PRT file now shows the fluids in place both originally & at each report step 68 REGIONS Section Keywords – Commonly Used – Special Use – Operators – Exceptions • (these are in GRID Section) FIPNUM SATNUM PVTNUM EQLNUM FIPXXXXX (ex: FIPLAYER, FIPEXPL) EQUALS, ADD, COPY, etc FLUXNUM, RESVNUM, NINENUM, PINCHNUM 69 Output Controls – For a report in the PRT file: • RPTREGS in REGIONS Section – BOUNDARY can be used to limit this output } • RTPSOL (FIP=1,2 or 3) in SOLUTION Section • RPTSCHED (FIP=1,2 or 3) in SCHEDULE Section – For 3D viewable output: • INIT in GRID Section = regions keywords • RPTRST (FIP) = fluids in place 70 same result How to specify Regions keyword arrays REGIONS Use the Operator keywords (EQUALS, COPY, ADD, etc) EQUALS 'FIPNUM' 1 / 'FIPNUM' 2 11 20 / / FIPLAYER 100*1 100*2 100*3 100*4 100*5 100*6 100*7 100*8 100*9 100*10 / 71 Specify the number for each cell How to specify Regions keyword arrays • Interactively – FloViz – Office – Petrel – FloGrid 72 SOLUTION Section This slide does not appear in the manual Purpose of the SOLUTION Section – The SOLUTION is used to define the initial state of every cell in the model • Initial pressure and phase saturation • Initial solution ratios • Depth dependence of reservoir fluid properties • Oil and gas re-solution rates • Initial analytical aquifer conditions 74 ECLIPSE Initialization Options – Equilibration - initial pressures and saturations are computed by ECLIPSE using data entered with the EQUIL keyword – Restart - initial solution may be read from a Restart file created by an earlier run of ECLIPSE – Enumeration- initial solution is specified by the user explicitly for every grid block 75 EQUIL – Sets the contacts and pressures for conventional hydrostatic equilibrium – EQUIL items are interpreted differently depending on the phases present – May have more than one equilibration region (see EQLDIMS) EQUIL -- D P 7000 4000 OWC Pcow 7150 0 GOC 1* Pcog RSVD/PBVD 1* 1* EQUIL 76 RVVD/PDVD 1* N 0 / Block Center Equilibration, Part 1 Pressure EQUIL --D 3500 GOC TZ Datum 1. 2. P 4000 OWC 7150 Pcow 0 GOC 3500 Depth 77 0 / Given: Contacts, Datum and Pressure Using BO EOS, calculate phase pressures throughout the model, for example: TZ OWC = FWL (Pcow = 0) Pcog h2 Po(h 2) Po(h1) o gdh h1 2 Block Centered Equilibrium, Part 2 Pressure 1 G-O Rel Perm Sg = 0.77 Sw = 0.23 GOC GAS ZONE: Sg = SGU Sw = SWL So = 1 – SWL - SGU TZ Krg Krog SGL Datum So = 0.77 Sw = 0.23 OIL ZONE: Sg = SGL, usually zero Sw = SWL So = 1 – SWL – SGL SGU O-W Rel Perm Kro SWU TZ Krw OWC = FWL (Pcow = 0) SWL Sw = 1.00 Depth 78 WATER ZONE: Sg = SGL, usually zero Sw = SWU So = 1 – SWU – SGL Block Centered Equilibrium, Part 3 Pressure 1. Calculate Pcog and Pcow in the transition zones of the model Sg = 0.77 Sw = 0.23 GOC Pcow Po Pw Pcog Pg Po TZ Datum So = 0.77 2. Reverse-lookup Sw from Pc tables in PROPS section & assign to cell centers Sw = 0.23 TZ Pco w OWC = FWL (Pcow = 0) Swi = 0.25 Sw = 1.00 So = 0.75 Sw Depth 79 2 Not Steady-State (use EQLOPTS ‘QUIESC’) EQUIL Item 9 1 Better FIP estimate i=1 i=2 i=3 TZ OWC TZ OWC Effective OWC Tilted or level block integration OWC i = 2Ni = 12N Level Block Equilibrium Block Center Equilibrium N = 0: fluid saturations at the center of each cell Steady State Potential errors in FIP errors 80 N < 0: average of the conditions at (2 *-N) horizontal levels within each grid cell Tilted Block Equilibrium N > 0: average of the conditions at N levels within each cell half, weighted according to the cell’s horizontal cross-section at each level Initial Solution Ratios – Used for fluid density calculation – Required as part of the equation of state for the oil and gas phases • Dissolved gas concentration, Rs or RSVD • Vaporized oil concentration, Rv or RVVD • Bubble point and / or dew point depth variation, PBVD and/or PDVD This information may be supplied in your PROPS keywords 81 Restart Runs – The solution at the end of the initialization is set as start conditions for the history match Field Production Rate (Initialization Run) – Why bother to recalculate initial saturations & pressures? Cell Saturations & Pressures recorded History Period (Restart Run) – Restarts save simulation time! Time 82 Enumeration – Initial conditions may be set explicitly – This may be appropriate in reservoirs with initially tilted contacts or non-equilibrium situations – ECLIPSE will check supplied information against phases in the Runspec section 83 Output Controls RPTSOL ‘SOIL’ ‘EQUIL’ ‘RESTART=2’ / – Tabular and printed data to the PRT file • Lots of other properties can be written – Initial conditions to the restart file • Can write out interblock flows & FIP • Can be viewed in 3D ( Petrel, FloViz, FloGrid) RPTSOL 84 SUMMARY Section This slide does not appear in the manual Purpose of the SUMMARY Section – The SUMMARY section is used to specify variables that are to be written to the Summary file(s) after each time step of the simulation – These variables can be plotted with Petrel, Office or GRAF – Optional section (if there is no SUMMARY section, ECLIPSE does not create any Summary files) • Examples: FOPT (field oil production total), WWCT (well water cut), CGFR (connection gas flow rate) 86 Purpose of the SUMMARY Section 87 SCHEDULE Section: History Match This slide does not appear in the manual Purpose of the SCHEDULE Section – The SCHEDULE section is used to specify • Well operations to be simulated • Times (TSTEP, DATES) to be simulated • Simulator tuning parameters – The SCHEDULE Section is often used in two modes: • History matching – specify actual wells, facilities and Focus of this session production/injection • Prediction – specify control mechanisms, new wells, economic limits 89 History Matching vs. Prediction Interpreted geology, geophysics, petrophysics Reservoir Description ECLIPSE Model Tuning Runs Modify properties until model & actual rates match Actual Production & Pressure OK? Model Production & Pressure Sensitivity Runs Produce results for risk evaluation economics Sensitivity Runs Identify uncertain properties Prediction Runs Existing wells continue to produce & are worked-over logically New well drilling may be implemented EOR options may be tested History Match Prediction 90 Predictions depend on quality of reservoir description! 3 Typical History Match Schedule Section – – – Specify output Specify wells, VFP tables, completions & rates Advance the simulation • • • – – 91 Specify old well rates Specify any workovers Specify any new wells Repeat End of history match VFP Curve Specification – The VFP table is a table of BHP versus FLO, THP, WFR, GFR and ALQ • • • • FLO is the oil, liquid or gas production rate WFR is the water-oil ratio, water cut or water-gas ratio GFR is the gas-oil ratio, gas-liquid ratio or oil-gas ratio ALQ is a variable that can be used to incorporate an additional parameter, such as the level of artificial lift – VFPi is the ECLIPSE family pre-processor that can be used to generate this keyword 92 VFP Table Usage 93 Well Specification: WELSPECS – Introduces new well and specifies some of its general data – This keyword is compulsory • A well must be introduced with this keyword before it can be referenced in any other keyword WELSPECS --nm P1 G 2 2 1* OIL -1 / P21 G 8 1 1* OIL -1 / I20 G 20 1 1* WAT -1 / / 94 grp I J refD phase drad WELSPECS WELSPECS Item 7, Drainage Radius rd – Productivity index (PI) and well drawdown depend upon: Physical Model P* average reservoir pressure • Grid block size in ECLIPSE ECLIPSE Model – A significant part of history matching is adjusting well parameters to achieve the correct inflow performance WELSPECS 95 Pw Pw, well BHP rd, re drainage radii re Pc, cell pressure Pw Measure of Pressure – Appropriate drawdown behavior is achieved by adjusting the productivity index: • Request WBP & WBP9 in the Summary Section • Use the approximation: WBP 9 WBHP H WPIMULT WBP WBHP H WBP9 WBP9 WBP Where: WBHP - bottomhole pressure from well test H - hydrostatic correction (midperfs to ECLIPSE datum) 96 WBP9 WBP9 WELSPECS Item 8, Flow in Gas Wells P/z Q P2 P m(P ) Non- Darcy flow Non-linear behaviour - use pseudo pressure QP Low compressibility Darcy flow 2000 3500 WELSPECS 97 P (psia) Completion Specification: COMPDAT – Used to specify the position and properties of one or more well completion COMPDAT --nm I J Ku Kl status sat CF Dwell Kh S P1 2* 1 10 OPEN 1* 1* 0.583 / P21 2* 1 10 SHUT 1* 1* 0.583 / I20 2* 1 AUTO 1* 1* 0.583 / 5 / COMPDAT 98 2 COMPDAT Item 8: Connection Factor – ECLIPSE default: • Assumes full penetration along only one axis – Petrel & Schedule program: • Three-part Peaceman formula with full vector representation, accounts for: – – – – Well orientation Grid permeabilities Well Portion of the cell perforated Trajectory Effective wellbore diameter Cell Permeability in I, J, & K Kj Kk Ki h1 Perforations h2 COMPDAT 99 Historical Flow Rate: WCONHIST – Used to set a history-matching well’s observed flow rate – Control modes: ORAT, WRAT, GRAT, LRAT, RESV – WCONINJH is injection counterpart DATES 1 'FEB' 1970 / / WCONHIST --nm stat ctl-by P1 OPEN ORAT oil wat gas VFPtbl 822.3 0.58 6122.5 / Repeated for each date…. WCONHIST 100 5* / 1 History Strategy in Petrel • Import – Well paths (deviation surveys) – Well completion data • Completion intervals • Work-over events – Production/injection data • Export – ECLIPSE Schedule section keywords 10 1 Simulation Advance & Termination • • • DATES 1 JAN 1998 1 JUN 1998 • • TSTEP 1 / Advance to 12.00 am on 2/6/98 • • TSTEP 0.2 / Advance by 0.2 days • END Conclude simulation 102 / / Advance to 12.00 am on 1/1/98 Advance to 12.00 am on 1/6/98 Common Workover Keywords • WELOPEN – Open and shut wells at known time • COMPDAT – Alter completion properties to simulate plugs, squeezes, frac jobs • WELPI, WPIMULT – Modify well PI • MULTX, MULTX-, MULTY, MULTY-, MULTZ, MULTZ– Change cell transmissibility to simulate damage 103 Output Control – To send output to the PRT file: • RPTSCHED – Can request many properties to be output – To send output to Restart file(s ) • RPTRST – Can request many properties to be output – Can specify the frequency of output – Can be used for Restart runs & 3D post-processors RPTSCHED 104 RPTRST SCHEDULE Section: Prediction This slide does not appear in the manual Purpose of the SCHEDULE Section • The SCHEDULE section is used to specify – Well operations to be simulated – Times (TSTEP, DATES) to be simulated – Simulator tuning parameters • The SCHEDULE Section is often used in two modes: – History matching – specify actual wells, facilities and production/injection – Prediction – specify control mechanisms, new wells, economic limits This slide does not appear in the manual 106 Typical Prediction Schedule Section 1. 2. 3. 4. • • 5. 6. 107 Specify/Change output frequency Specify wells, VFP tables, completions Choose keywords that Specify Groups will cause ECLIPSE to treat wells in a manner Specify Group & Well: similar to the company Economic limits, Well tests Automatic Workovers, Drilling, etc Advance the simulation End of Prediction operating the field. Well Production Control: WCONPROD 3 WCONPROD --nm status ctl-by Oil ORAT 4000 2000 3* 3000 2* / P1 is P1 isunder underoiloilrate rate control… control… 2. 2. P1 P1 isismoved movedtotoBHP BHP control… control… 3. Water cut is rising and BHP dropping P1 is switched to control by water rate… WMCTL = 7 BHP Control The waterflood has reached P1 but is not providing enough pressure support BHP rises due to pressure support from the aquifer & injector WMCTL = 2 WRAT Control WMCTL = 1 ORAT Control Days 108 WCONPROD PSIA 1. WBHP P1 OPEN W-G-Limit BHP THP VFP# Group Production Control – Group control is used to mimic field operation – Some Examples: • Platform A has a certain water-handling capacity (GCONPROD) • Facility B uses 25% of it’s gas production to run a treater, the remaining is sold (GCONSUMP) • A voidage replacement scheme is implemented in Block C (GCONINJE) • To maintain pipeline capacity, Company D will drill wells whenever the field production falls below a rate (PRIORITY) 109 Economic Limit Definition – Field/group economic limit (GECON) – Well economic limit (WECON) – Individual connection economic limit (CECON) – Economic limits can be triggered when: • • • • • 110 Oil production rate falls below limit Gas production rate falls below limit Water cut exceeds limit Gas-oil ratio exceeds limit Water-gas ratio exceeds limit Automatic Workovers – Triggered by • Economic limit keywords (WECON, WECONINJ, CECON) • Maximum limit set in GCONPROD – Some examples: • • • • • 111 Plug back a well (WPLUG) Test shut-in wells and reopen (WTEST) Retube or add pump/gas lift, ie change VFP table (WLIFT) Cut back producers and injectors (WCUTBACK) Set up drilling queue (QDRILL, WDRILTIM) Restart Runs Field Production Rate – The solution at the end of the history period is set as start conditions for the prediction runs – Why bother to recalculate past saturations & pressures? – Restarts save simulation time! Cell Saturations & Pressures recorded History Period (Base Run) Prediction Period (Restart Run) Time 11 2 Restarts in ECLIPSE Blackoil • Flexible restart – Data must be processed (ie the transmissibilities are recalculated) – User can change some of the data items from their values in the original run (ie increase the number of wells) – Can restart on files written by earlier versions of ECLIPSE • Fast restart – Data is stored in a processed form – Must have been produced by the current version of ECLIPSE 113 Convergence Purpose of this session – Convergence of the simulation equation affects: • validity of the results • speed of the simulation run – Recognizing and correcting convergence problems is an important part of simulation – ECLIPSE can be made to produce reports showing how both the linear and non-linear iterations are proceeding and the methods by which time steps are selected 115 What is “Convergence” – Advance Timestep ECLIPSE uses an iterative process based on Newton's method to solve the non-linear equations Linearize the Equations Iterate to solve the linear equations The number of non-linear iterations is a guide to model convergence Non-linears per Timestep Guide 1 Very easy to converge 2 to 3 Easy to converge Increasingly difficult flow situation 4 to 9 > 10 4 Plug the linear solution into the non-linear equation “Non-linear iteration” Problem with model? 11 6 No Is the solutio n good? Yes Requesting Convergence Information • RPTSCHED • “NEWTON=2” / Days since SOS Length of current timestep # Satn changes # times P, Rs, Rv # of linears suppressed changes reduced Values of worst residuals 117 Cell w/ that residual Material balance for that cell Reason for # of Date of current timestep non-linears timestep # cells with different phases Press & SWAT change for that cell (since last iteration) # state transitions 3 Simulation Run Time Improvements Linear Iteration Linear Iteration Linear Iteration Non-linear Iteration Non-linear Iteration Non-linear Iteration Timestep Timestep Reduce when difficult modeling situations arise Request reports only when you need them The greatest improvements in performance are obtained by identifying & correcting the cause of any non-linear problem 118 4 Check all Warning Messages for data problems Timestep Report Step Report Step Report Step ECLIPSE Simulation TUNING keyword – Controls available from the Schedule section: • TUNING sets timestepping, iteration and convergence criteria – TUNINGL is used for the LGRs in the model – Guidelines: • Timestepping controls need alteration fairly frequently • Iteration controls seldom need adjustment • Convergence controls need adjustment only in highly TUNING unusual circumstance 119 EXTRAPMS – This keyword instructs ECLIPSE to warn the user whenever extrapolations are made to PVT (or VFP) tables – ECLIPSE stores PVT tables internally as the reciprocals of FVF and Viscosity* FVF – If insufficient PVT data is supplied, ECLIPSE may extrapolate the PVT table data to inaccurate or non-physical values! EXTRAPMS 120 Common Causes of Problems – Data Error • Typographic errors • Special Characters & missing values Plot & Fix! – Grid geometry • Small PV cells next to large PV cells – LGRs • LGR smaller than drainage radius • Initial contacts outside LGR – Dual porosity • High value of sigma Inactivate with PINCH or MINPV! 12 1 Treatment of LGRs – Local time stepping (E100 Only) • Global time step not limited by local time step • Semi-explicit (potentially unstable) Local Time Stepping Algorithm Global Dt Defined Global Model Solved – In-place solution • Fully implicit (unconditionally stable) • Global time step = local time step • LGRLOCK / LGRFREE turn inplace solution on / off (E100 only) Local Dt Defined Local Grid Solved N Tglobal = Tlocal ? Y 122 Pressures at boundary Fluxes across boundaries Group targets solved Local block pressure Local saturations Material balance check between global and local Convergence Checklist – Check all problem and warning messages – Try removing TUNING keywords – Identify problem cells and try to work out what is happening in the cells at the time of the convergence problems • For example, PINCH & MINPV can eliminate some throughput related problems – Check rel-perm tables for sharp derivative changes – Avoid PVT extrapolations (EXTRAPMS) – Avoid VFP extrapolations (EXTRAPMS) 123 Thank You • Extra Slides Radial vs Cartesian Keywords Block-centered 126 Corner Point Cartesian Radial Cartesian Radial NX, NY, NZ NR, NTHETA, NZ NX, NY, NZ NR, NTHETA, NZ DX, DY, DZ (or D*V form) DR (INRAD & OUTRAD), DTHETA, DZ (or D*V form) COORD, ZCORN COORD, ZCORN PERMX, -Y, -Z PERMR, -THT, -Z PERMX, -Y, -Z PERMR, -THT, -Z MULTX, etc… MULTR, etc… MULTX, etc… MULTR, etc… Aquifer Modelling This slide does not appear in the manual Aquifer Modeling – ECLIPSE Blackoil provides these aquifer options: • Numerical Aquifer • Analytical Aquifer – Carter-Tracy aquifer – Fetkovich aquifer • Flux Aquifer • Grid Cell Aquifer 128 Numerical Aquifer GRID – Nominate grid cells below the OW contact (AQUNUM) – Attach the aquifer to the reservoir using AQUCON – Leave a row of water cells between the aquifer & oil zone AQUNUM --Aq# I J K Area Length Φ 1 3 7 1 1E2 1E2 0.3 / 1 4 7 1 1E4 1E3 0.3 / 1 5 7 1 1E6 1E4 0.3 / Oil Zone No Flow AQUCON --Aq# 1 129 I1 I2 J1 J2 K1 K2 Face 1 1 2 6 1 1 ‘I-’ / Aquifer Cells Fetkovich Aquifers – Fetkovich aquifers are based on a pseudo-steady state productivity index and material balance between aquifer pressure and cumulative influx – They are best suited for smaller aquifers which may approach psuedo steady state quickly – In the Solution Section: • Set up lists of aquifers AQUALIST • Define the aquifer with AQUFETP • Connect the aquifer with AQUANCON 130 Carter-Tracy Aquifers – Carter-Tracy aquifers use tables of dimensionless time td versus dimensionless pressure Pd(td)to determine the influx – Carter-Tracy approximates a fully transient model – In the Solution Section: • • • • 131 Set up lists of aquifers AQUALIST Define the aquifer with AQUCT Define pressure response with AQUTAB Connect the aquifer with AQUANCON Flux Aquifers – The flux rate is specified directly by the user: Qai Fa Ai mi Fa is the flux Ai the area of the connecting cell block mi is an aquifer influx multiplier – It may be negative, representing flux out of the reservoir – The flux rate may be modified in the Schedule Section – In the Solution section • Set up lists of aquifers AQUALIST • Specify the aquifer using AQUFLUX • Attach the aquifer using AQUANCON 132 Grid Cell Aquifer – Simulation model extends over the water zone – No extra keywords necessary 133 Output Controls – Summary Quantities • Analytic aquifers – AAQR, AAQT, AAQP • Numerical aquifers – ANQR, ANQT, ANQP – Print file data • RPTGRID, RPTSCHED, RPTSOL 134