[go: up one dir, main page]

NO331284B1 - Fremgangsmate og program for simulering av et fysisk system ved a benytte objektorientert programmering - Google Patents

Fremgangsmate og program for simulering av et fysisk system ved a benytte objektorientert programmering Download PDF

Info

Publication number
NO331284B1
NO331284B1 NO20022594A NO20022594A NO331284B1 NO 331284 B1 NO331284 B1 NO 331284B1 NO 20022594 A NO20022594 A NO 20022594A NO 20022594 A NO20022594 A NO 20022594A NO 331284 B1 NO331284 B1 NO 331284B1
Authority
NO
Norway
Prior art keywords
cell
cells
reservoir
group
cell group
Prior art date
Application number
NO20022594A
Other languages
English (en)
Other versions
NO20022594D0 (no
NO20022594L (no
Inventor
Iii James W Watts
Jr Glenn O Morrell
Original Assignee
Exxonmobil Upstream Res Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Exxonmobil Upstream Res Co filed Critical Exxonmobil Upstream Res Co
Publication of NO20022594D0 publication Critical patent/NO20022594D0/no
Publication of NO20022594L publication Critical patent/NO20022594L/no
Publication of NO331284B1 publication Critical patent/NO331284B1/no

Links

Classifications

    • EFIXED CONSTRUCTIONS
    • E21EARTH OR ROCK DRILLING; MINING
    • E21BEARTH OR ROCK DRILLING; OBTAINING OIL, GAS, WATER, SOLUBLE OR MELTABLE MATERIALS OR A SLURRY OF MINERALS FROM WELLS
    • E21B49/00Testing the nature of borehole walls; Formation testing; Methods or apparatus for obtaining samples of soil or well fluids, specially adapted to earth drilling or wells
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01VGEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
    • G01V20/00Geomodelling in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/08Thermal analysis or thermal optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geology (AREA)
  • Mining & Mineral Resources (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Geophysics (AREA)
  • Geochemistry & Mineralogy (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Fluid Mechanics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Investigating Or Analysing Biological Materials (AREA)
  • Stored Programmes (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
  • Communication Control (AREA)
  • Devices For Executing Special Programs (AREA)

Description

OPPFINNELSENS OMRÅDE
Denne oppfinnelse gjelder en fremgangsmåte for å simulere minst én karakteristisk egenskap ved fysisk utstyr ved bruk av objektorientert programmering. I et visst aspekt gjelder oppfinnelsen en fremgangsmåte for å simulere fluidstrøm-ning og transport i fysisk utstyr og som omfatter, men ikke er begrenset til, i det minste en del av en hydrokarbonholdig formasjon. Denne fremgangsmåte er særlig anvendbar for parallell-databehandling ved reservoarsimulering.
OPPFINNELSENS BAKGRUNN
Numerisk simulering er i vidstrakt bruk innenfor visse industrielle områder som en metode for simulering av fysisk utstyr ved bruk av en datamaskin. I de fleste tilfeller er det et ønske å modellere transportprosesser som finner sted innenfor dette fysiske utstyr. Det som transporteres er vanligvis masse, energi, bevegelsesmengde eller en viss kombinasjon av disse. Ved å bruke nummerisk simulering blir det mulig å modellere og observere et fysisk fenomen og bestemme konstruksjonsparametere uten faktiske laboratorieforsøk og feltprøver.
Reservoarsimulering er av stor interesse fordi denne kan antyde adferden for et faktisk hydrokarbonholdig reservoar ut i fra hvorledes en modell av dette reservoar opptrer. Det typiske formål for reservoarsimulering er å forstå de komplekse kjemiske-, fysiske- og fluidstrømningsprosesser som opptrer i reservoaret i tilstrekkelig grad til å forutsi fremtidig adferd av reservoaret for derved å kunne gjøre hydrokarbonuttaket størst mulig. Reservoarsimulering gjelder ofte hydro-dynamikken for strømninger inne i reservoaret, men i mer omfattende sammenheng kan reservoarsimulering også gjelde hydrokarbonsystemet i sin helhet, da dette ikke bare omfatter selve reservoaret men også injeksjonsbrønner, produk-sjonslønner, strømningsledninger på overflaten, tilordnede vannførende bergarter og behandlingsutstyret på overflaten. Reservoarsimulerende beregninger innenfor slike hydrokarbonsystemer er basert på at det simuleres fluidstrømning gjennom hydrokarbonsystemet som helhet. Disse beregninger utføres med varierende grader av pålitelighet, alt etter de foreliggende fordringer ved vedkommende simuleringsstudium og de iboende muligheter i den simulerings-programvare som anvendes.
Prinsippet ved nummerisk simulering er å nummerisk løse ligninger som beskriver et fysisk fenomen ved hjelp av en datamaskin. Slike ligninger er vanligvis ordinære differensialligninger og partielle differensialligninger. Som et middel for nummerisk løsning av slike ligninger, er endeligelement-metoden, endeligdifferanse-metoden, endeligvolum-metoden og lignende kjent. Uavhengig av den metode som anvendes blir det fysiske utstyr som skal modelleres delt opp i celler (og et sett av slike kalles da et gitter eller maskeverk), og de tilstandsvariable som varierer i rommet gjennom hele modellen er angitt ved sett av verdier for hver celle. Reservoarberggrunnens egenskaper, slik som porøsitet og permeabilitet, antas vanligvis å være kontante innenfor hver celle. Andre variable, slik som fluidtrykk og fasemetning, blir spesifisert i visse punkter, som iblant kalles knutepunkter, inne i cellen. Et bindeledd mellom to knutepunkter kalles da en "forbindelse". Fluidstrømning mellom to celler blir typisk modellert som fluid langs forbindelsen mellom disse.
Da reservoarsimuleringen kan omfatte ytterst forskjellige fluidstrømnings-omgivelser (f.eks. porøs berggrunn, brønnrørledning, behandlingsutstyr), kan set-tet av celler omfatte flere segmenter for innbyrdes forskjellige strømningsforhold. Skjønt de enkelte segmenter, slik som segmentene for produksjonsutstyr og overflaterør, kunne vært representert ved enkeltstående celler vil iblant reservoarsimu-leringsprogrammer dele opp slike segmenter i flere forskjellige celler.
Et nytt sett av ligninger utvikler for å uttrykke de fundamentale prinsipper for konservering av masse, energi og/eller bevegelsesmengde innenfor hver celle, samt bevegelse av masse, energi og/eller bevegelsesmengde mellom cellene. Disse ligninger kan anta et antall på millioner. Erstatningen av tilstandsvariable som kan variere i rommet gjennom modellen med et endelig antall variable verdier for hver celle kalles da "diskretisering". For det formål å analysere et fenomen som varierer med tiden, vil det da være nødvendig å beregne fysiske størrelser med fastlagte tidsintervaller som kalles tidstrinn, uavhengig av de kontinuerlig forand-rede tilstander som en funksjon av tiden. Tidsavhengig modellering av transportprosesser vil således finne sted i form av en sekvens av tidstrinn.
Under et visst tidstrinn kan transport av forskjellig art finne sted mellom cellene. I løpet av denne transport kan en celle utveksle masse, bevegelsesmengde eller energi med andre nærliggende celler. I det porøse medium i et underjordisk reservoar blir transport av masse og bevegelsesimpuls beregnet ved bruk av Darcys lov. For en produksjonsrørledning i en borebrønn kan beregninger av masse- og bevegelsesmengde-transport utføres ved bruk av velkjente metoder for å beskrive flerfaset turbulent strømning. Energi kan utveksles i de bevegelige fluider, og den kan forplante seg gjennom reservoarets berggrunn. I visse tilfeller kan det også tas i betraktning energi som transporteres ved hjelp av stråling. Det vil iblant også være ønskelig å ta i betraktning kjemiske reaksjoner som fører til dan-nelse eller forbruk av masse og energi i en celle under et tidstrinn.
De ligninger som angir adferden for hver celle under et tidstrinn sammen-kopler konserveringsprinsippene for masse, bevegelsesmengde og energi med transportberegningene. Disse ligninger kan anta enten en ustabil tilstand eller en pseudo-stabil tilstand for en transportprosess. Hvis de antar en prosess med ustabil tilstand, kan konserveringsprinsippet også uttrykkes som:
Hvis en pseudo-stabil tilstand antas, så kan konserveringsprinsippet uttrykkes som:
I hvert tidstrinn må simulatoren løse én eller flere store matrise-ligninger, hvor antallet avhenger av den type tidstrinn-beregningsmetode som anvendes. På grunn av at matriseligninger er ganske store (minst én ligning pr. celle), blir de løst ved iterasjonsmetoden bortsett fra ved små modeller.
Forskjellige tidstrinnberegninger er blitt foreslått for reservoarsimulering. To vanlig anvendte beregningsmetoder er da kalt "IMPES" og "fullstendig implisitt". I IMPES-metoden, hvis betegnelse er utledet fra uttrykket "implisitt-trykk, eksplisitt-metning", blir strømninger mellom naboceller beregnet på grunnlag av trykk ut i fra deres trykkverdier ved slutten av tidstrinnet samt metninger ved sine verdier ved begynnelsen av tidstrinnet. Trykkverdiene ved slutten av IMPES-tidstrinnet er da innbyrdes avhengige og må bestemmes samtidig. Denne fremgangsmåte kalles "implisitt" på grunn av at hvert trykk avhenger av andre størrelser (f.eks. andre trykk ved slutten av tidstrinnet) og som bare er kjent implisitt. Den grunnleggende prosedyre går ut på å danne en matriseligning som bare er implisitt når det gjelder trykkverdier, løse denne matriseligning med hensyn på trykkene, og derpå bruke disse trykkverdier ved beregning av metningsverdier eksplisitt celle for celle. Etter hvert som trykkverdiene utvikles med tiden, blir på denne måte metningsverdiene oppdatert eksplisitt. Etter at metningsverdiene er beregnet, kan nye relative permeabiliteter og kapillartrykkverdier beregnes, og disse blir da eksplisitt brukt i det neste tidstrinn. Lignende beregning kan anvendes for andre mulige løsningsvari-able, slik som konsentrasjoner, komponentmasser, temperatur eller indre energi.
Fullstendig implisitt-metoden behandler både trykk- og metningsverdier implisitt. Mengdestrømverdier beregnes ved å bruke fasetrykk og -metninger ved slutten av hvert tidstrinn. Beregningene av mengdestrømmer, trykk og metningsverdier omfatter løsning av ikke-lineære ligninger ved bruk av en egnet iterasjons-teknikk. Ved hver iterasjon, konstrueres og løses i henhold til denne metode en matriseligning, hvis ukjente (trykk og metning) forandres i løpet av iterasjonen. Etter hvert som løsninger med hensyn på trykkverdier og metningsverdier finner sted, vil oppdateringen av disse størrelser fortsette under bruk av nye verdier for trykk og metning. Iterasjonsprosessen ender når forut bestemte konvergenskrite-rier er tilfredsstilt.
IMPES bruker forholdsvis lite datamaskintid pr. tidstrinn, men i visse simuleringer vil dens stabilitetsbegrensninger bringe den til å bruke et stort antall små tidstrinn. Resultatet av dette kan være store beregningsomkostninger. Den fullstendig implisitte fremgangsmåte bruker mer beregningstid enn IMPES pr. tidstrinn, men den vil være i stand til å ta meget større tidsskritt.
I mange reservoarsimuleringer behøves bare implisitt-beregninger å utføres for en liten prosentandel av cellene. Simuleringsprogrammer er blitt foreslått for ut-førelse av både IMPES- og fullstendig implisitte beregninger. Dette gjør det mulig å bruke de lange tidstrinn i fullstendig implisitt-metoden samtidig som beregnings-omkostningene pr. tidstrinn reduseres.
Ytterligere informasjon angående reservoarsimulering og beregningsteknik-ker kan finnes i følgende litteratur: (1) US-patentsøknad med serienummer 60/074188 av J.W. Watts, med tittelen "Improved Processfor Predicting Behavior of Subterranean Formation", (2) Mattax, CC. og Dalton, R.L., Reservoir Simulation, Monograph bind 13,
Society of Petroleum Engineers, 1990,
(3) Aziz, K. og Settari, A., Petroleum Reservoir Simulation, Applied Science
Publishers Ltd., Barking, Essex, England, 1979,
(4) D.W. Peaceman, " Fundamentals of Numerical Reservoir Simulation",
Elsevier, New York, 1977,
(5) J.W. Watts, "Reservoir Simulation: Past, Present, and Future", SPE 38441, fremlagt ved 1997 SPE Reservoir Simulation Symposium, Dallas, Texas, 8.-11. juni 1997, og (6) K.T. Lim, D.J. Schiozer, K. Aziz, "A New Approach for Residual and Jacobian Array Cnstruction in Reservoir Simulators", SPE 28248 fremlagt ved 1994 SPE Petroleum Computer Conference, Dallas, Texas, 31. juli-
3. august, 1994.
Det er gjort anstrengelser for å gjøre det mulig å utføre sterkt varierende reservoarsimuleringsmetoder innenfor en enkelt datamaskinkode. Slike simuler-ingssystemer for "generelle formål" er imidlertid meget kompliserte, stort sett på grunn av at de er utført for å kunne ha én eller flere av de følgende iboende muligheter: (1) å representere mange forskjellige celletyper (f.eks. for forskjellige domener av et reservoar, en brunnrørledning, samt oppsamlings- og fordel-ingsutstyr på overflaten, og behandlingsutstyr på brønnoverflaten), (2) å bruke forskjellige tidstrinns-beregningsmetoder (f.eks. IMPES, fullstendig implisitt, sekvensielt implisitt, adaptivt implisitt og/eller kaskade-metoder),
(3) bruk av forskjellige måter å representere reservoarfluider på,
(4) å bruke flere fremgangsmåter for å beregne transport mellom celler, (5) utførelse av det som kalles en "sort oljemodell", som da behandler hyd-rokarbonene som er sammensatt av to komponenter, og også har mul igheter for å utføre sammensetningsrepresentasjoner hvori hydrokar-bonene antas å inneholde slike forbindelser som metan, etan, propan og tyngre hydrokarboner, (6) å simulere dampinjeksjon i forbrenningsprosesser på stedet, og som da må ta med i beregningen temperaturforandringer som en funksjon av tiden, hvilket vil kreve en energibalanse og tilhørende beregninger, (7) å simulere blandbare gjenvinningsprosesser ved bruk av spesielle beregninger av fluidegenskaper og transport, (8) å simulere hydrokarbon-utvinningsprosesser som tar med i beregningen injeksjon av overflatemidler, polymerer eller andre kjemikalier, samt strømning av disse fluider inn i reservoaret, (9) å simulere innsprøyting av kjemikalier som vil reagere med hverandre, reservoarhydrokarbonene eller reservoarets berggrunn, og (10) simulering av vandring av hydrokarboner og geologiske avsetninger
over geologisk tid.
De fleste reservoarsimulatorer bruker såkalte strukturerte gitre hvori cellene antas å være av tredimensjonal rektangulær form som da er forvrengt for tilpas-ning i så høy grad som mulig til de foreliggende geologiske forhold og strømnings-mønstre. Disse geologiske trekk og modelleringssituasjoner kan imidlertid ikke representeres godt ved hjelp av strukturerte gitre. Denne ulempe kan imidlertid delvis overvinnes ved bruk av lokale forfininger, hvori de valgte celler blir oppdelt i mindre underceller samt ved opprettelse av ikke-naboforbindelser, som da mulig-gjør strømning mellom celler som befinner seg fysisk inntil hverandre, men ikke er nærliggende når det gjelder datastruktur. En mer kraftfylt løsning av dette problem er å utnytte den fleksibilitet som foreligger i et totalt ustrukturert gitter. Dette krever da omorganisering av den måte hvorpå simuleringsprogrammet lagrer sine data
og utfører sine beregninger.
På grunn av at beregninger for generelle formål i reservoarsimuleringer kan kreve betraktelige beregningsressurser, er det blitt foreslått å dele opp en simuleringsmodell i mindre segmenter og å utføre beregninger parallelt på flere prosess-datamaskiner. Det som prinsipielt er tiltrekkende ved parallellberegning er dens evne til å redusere den tid som brukes for en simulering, og ideelt da med den faktor på n for en datamaskin med n-prosessorer. Parallellberegning kommer imi dlertid til kort overfor dette ideal på grunn av flere faktorer, innbefattet tilbakevend-ing til løsning av lineære ligninger, den overlagring som har sammenheng med passasje av meldinger som er påkrevet for forskjellige beregninger, samt belastnings-ubalanser som skriver seg fra heterogeniteter i de fysiske problemer og karakteriseringen av hydrokarbonfluidene.
US 5953239 angår en fysisk prosess-simulering for fluidstrømmer på et mikroskopisk nivå på grunnlag av en gitterbasert gass-strømningssimulering. Git-terbaserte gass-simuleringer modellerer enkeltpartikler i en hvilken som helst be-vegelsesenergitilstand (en enkelt partikkel beveger seg i en spesiell retning med en spesiell energi). Tilstandsvektorer eller voksler som definerer tilstanden til en partikkel er allokert med hensyn til gittersider eller celler som er anordnet over arealet eller volumet som strømningen simuleres over. Strømningssimulering på et mikroskopisk nivå modellerer strømningsstrukturer innenfor fluidstrømmer slik som virvler og strømmer. Dette er spesielt nyttig ved modellering av strømninger rundt objekter og over overflater.
Simuleringsprogrammer for generelle formål og som er tidligere utviklet bruker regelmessige, strukturerte celler med mange forskjellige forbindelser og celletyper. Disse simuleringsprogrammer har behandlet disse forbindelser og celletyper på forskjellige måter, hvilket har ført til usystematisk metodologi og kompleks kode. Når lokale forfininger, ikke-naboforbindelser og muligheter for parallellberegning legges til slike programmer, kan de bli ytterst kompliserte og vanskelige å anvende. Slike programmer har en tendens til å være lite effektive og upålitelige.
I industrien er det fortsatt behov for et reservoarsimuleringsprogram som er
i stand til å utføre sterkt varierende typer av simuleringsberegninger ved bruk av et ustrukturert gitter og utført på parallelle datamaskiner. Som en følge av dette, er det behov for en metode som er i stand til å organisere og iverksette simulerings-beregningene på en måte som nedsetter kompleksitetene til et minimum samtidig som de gir vesentlig beregningseffektivitet.
SAMMENFATNING AV OPPFINNELSEN
I et første aspekt tilveiebringer oppfinnelsen en fremgangsmåte for å simulere fluidstrømning og fluidtransport for minst ett fluid i et hydrokarbon-holdig system ved bruk av et objektorientert program, idet fremgangsmåten er kjennetegnet ved: a) utvikling av klasser av simuleringsobjekter, hvor disse klasser av simuleringsobjekter omfatter cellegruppeobjekter og forbindelsesgruppeobjekter, idet cellegruppeobjektet omfatter en eller flere celler, der hver av cellene omfatter en celletype bestemt av minst tre karakteristikker som omfatter dens fysiske type, dens beregningsmetode og dens fluidkomponenter, idet forbindelsesgruppeobjektene omfatter forbindelser fra en celle i ett cellegruppeobjekt til en annen celle i det samme cellegruppeobjektet eller fra en celle i ett cellegruppeobjekt til en celle i et annet cellegruppeobjekt; og b) kjøring av det objektorienterte programmet på en datamaskin for å bestemme egenskapen ved minst ett fluid innenfor det hydrokarbon-holdige området som en funksjon av tiden.
Foretrukkede utførelsesformer av oppfinnelsen er angitt i de uselvstendige krav 2-7.
En objektorientert fremgangsmåte er angitt for å simulere en egenskap ved minst ett fluid i et fluidinneholdende fysisk område, hvor dette fysiske område er representert ved en mengde volumetriske celler og en mengde forbindelser mellom cellene, og som omfatter bruk av cellegruppe-formål og forbindelsesgruppe-formål i smuleringen. Oppfinnelsen kan da eventuelt omfatte ytterligere formål, slik som en gjenstand som omfatter simuleringsmodellen som helhet samt en annen gjenstand som inneholder en del av hele modellen.
KORT BESKRIVELSE AV TEGNINGENE
Foreliggende oppfinnelse og dens fordeler vil bli bedre forstått ut i fra den følgende detaljerte beskrivelse og de vedføyde tegninger hvorpå tilsvarende elementer er blitt gitt samme henvisningstall, og hvorpå: Fig. 1A angir et forenklet eksempel på et tredimensjonalt strukturert gittersystem med seks celler i j-retningen, seks celler i i-retningen og fire celler i k-retningen. Fig. 1B viser et eksempel på et todimensjonalt ustrukturert gitter med 36 celler. Fig. 2A angir et forenklet eksempel på et tredimensjonalt strukturert gittersystem av samme art som det viste eksempel i fig. 1A, bortsett fra at et parti av gittersystemet er oppdelt i ytterligere celler, slik det skjematisk er vist i fig. 2B. Fig. 3 viser et forenklet eksempel på et todimensjonalt uregelmessig gittersystem med rekker av celler som ender inne i modellen. Fig. 4 viser en enkel skisse av en tredimensjonal fremstilling av et hydrokarbonholdig område som kunne vært representert ved en reservoarsimulator for generelle formål og ved bruk av fremgangsmåten i henhold til foreliggende oppfinnelse. Fig. 5A angir en forenklet skjematisk skisse av et tredimensjonalt strukturert gitter, av samme art som det viste eksempel i fig. 1 A, men som er oppdelt i to domener, slik som angitt i fig. 5B og fig. 5C. Fig. 6 anskueliggjør generelt begrepet iboenhet i objektorientert programmering. Fig. 7 anskueliggjør generelt begrepet innelukkethet i objektorientert programmering. Fig. 8A viser en åtte-cellers simuleringsmodell og fig. 8B anskueliggjør skjematisk et arrangement av celler og forbindelser som tilsvarer fig. 8A. Fig. 9 angir skjematisk eksempler på cellegrupper og forbindelsesgrupper utledet fra de celler og forbindelser som er angitt i fig. 8B og som kan anvendes i fremgangsmåten i henhold til foreliggende oppfinnelse. Fig. 10 er et skjema som viser fem cellegruppe-klasser som kan utledes fra en enkelt basisklasse. Fig. 11 er et skjema som viser den iboende sammenheng mellom forbindelses-gruppeklasser basert på prinsippene for objektorientert programmering. Fig. 12 er et skjema som viser klassesammenhengen mellom fire typer objekter som anvendes i henhold til den foreliggende oppfinnelse. Fig. 13A viser et todimensjonalt gittersystem som er blitt oppdelt i fire domener, som har påført henvisningstallene 100 til og med 103.
Fig. 13B viser fire cellegrupper som kan utledes fra domenet 100.
Fig. 13C visere cellegrupper fra domenet 100 i fig. 13B og cellegrupper fra domenene 101,102 og 103. Forbindelsesberegninger i domenet 100 omfatter cellegrupper innenfor den stiplede linje 110. Fig. 13D viser cellegrupper fra domenet 100 med piler som angir forbindelsesgrupper som danner forbindelse mellom cellene i cellegruppene fra dome-
net 100.
Fig. 13E viser cellegrupper i domenet 100 med piler som angir forbindelsesgrupper som danner forbindelse mellom cellegrupper i domenet 100. Fig. 13F viser cellegrupper i domenet 100 og cellegrupper i domenene 101 og 102 med piler som angir forbindelsesgrupper som forbinder cellene i domenet 100 med cellegrupper i domenene 101 og 102. Fig. 14 er et blokkskjema på høyt nivå som viser et eksempel på parallell-beregningsutstyr som bruker objektorientert programmering under utøvelse av foreliggende oppfinnelse.
Disse tegninger er ikke ment å utelukke fra oppfinnelsens omfangsramme andre utførelser som er resultat av normal og forventet modifisering av disse spesifikke utførelser.
DETALJERT BESKRIVELSE AV OPPFINNELSEN
Foreliggende oppfinnelse gjelder en ny fremgangsmåte for å simulere et fysisk system som er numerisk representert ved partielle differensialligninger. Denne fremgangsmåte kan anvendes for å simulere to- og tre-dimensjonale domener som er diskretisert i strukturerte gitre, ustrukturerte gitre eller en kombinasjon av disse to. Fremgangsmåten kan også anvendes i situasjoner hvor beregnings-fremgangsmåten angir en topologi med mer enn tre dimensjoner, slik det er tilfelle ved simulering av fluidstrømning gjennom frakturerte porøse medier. Oppfinnelsen er særlig anvendbar ved simulering av en karakteristisk egenskap ved et fysisk område hvori et transportfenomen opptrer. Uttrykket "transpotrfenomen" anvendes i denne fremstilling med et bredt betydningsomfang for å omfatte bevegelsesimpuls-transport (viskuøs strømning), energitransport (varmeledning, varmestrømning og stråling), samt massetransport (diffusjon). Foreliggende oppfinnelse kan utøves innenfor mange forskjellige områder, slik som innenfor fysik-ken, berggrunnskarakterisering, krystallografi, elektroteknikk, biologi, matematikk, fluidmekanikk og petroleumsteknikk. Foreliggende oppfinnelse kan f.eks. anvendes for å simulere fjerning av hydrokarboner fra reservoarberggrunn ved bruk av forskjellige utvendingsteknikker som understøtter hverandre, slik som, men ikke begrenset til, termisk baserte utvinningsmetoder, slik som dampoverstrømnings-prosesser, vannoverstrømnings-prosesser og gassdriftsbaserte metoder som kan arbeide enten under blandbare- eller ikke blandbare forhold. Foreliggende oppfinnelse kan også anvendes ved modellering av forurensningstransport gjennom underjordiske formasjoner. Foreliggende oppfinnelse er til dels nyttig ved utførelse av reservoarsimulering for generelle formål på ustrukturerte gittersystemer, og er spesiell anvendbar for parallellberegning ved simulering av hydrokarbonholdige områder, som da bare ikke kan omfatte reservoaret, men også innsprøytnings-brønner, produksjonsbrønner, strømningsledninger på overflaten, tilhørende vann-førende bergarter, samt behandlingsutstyr på overflaten.
Simuleringsmetoden i henhold til denne oppfinnelse omfatter lagring av be-regningsdata og organisering av beregninger på en ny måte. Oppfinnelsen er basert på bruk av to typer programvare-"objekter" ved bruk av prinsippene for "objektorientert programmering", hvor ett objekt innholder en gruppe celler og det andre objekt inneholder en gruppe forbindelser. Oppfinnelsen kan eventuelt omfatte ytterligere objekter, slik som et objekt som inneholder modellen som helhet og et annet objekt som omfatter en del av hele modellen. Disse fire typer objekter blir i denne beskrivelse av oppfinnelsen henvist til som henholdsvis en "cellegruppe", "forbindelsesgruppe", "modell" og "undermodell".
Hver cellegruppe inneholder alle eller hovedsakelig alle data som behøves for å utføre beregninger på de celler som gruppen inneholder. Disse celler må alle ha visse felles karakteristiske egenskaper. Én cellegruppe kan f.eks. inneholde reservoarceller hvorpå fullstendig implisitt-beregninger utføres, mens en annen cellegruppe kan inneholde reservoarceller hvorpå IMPES-beregninger utføres.
Hver forbindelsesgruppe inneholder alle eller hovedsakelig alle data som behøves for beregninger som gjelder de forbindelser gruppen inneholder. Strøm-ning gjennom alle disse forbindelser må da beregnes på samme måte. Ikke-begrensende eksempler kan omfatte det forhold at alle forbindelser i en viss forbindelsesgruppe bruker Darcys lov, mens alle forbindelser i en annen forbindelsesgruppe bruker mekanistiske beregninger av flerfaset turbulent strømning, og alle forbindelser i enda en annen forbindelsesgruppe bruker beregninger av fler-fasestrømning basert på forut fastlagte hydrauliske tabeller. I tillegg må hver forbindelse i en forbindelsesgruppe være fra en celle i en viss cellegruppe til en an nen celle i samme cellegruppe, eller eventuelt fra en celle i en viss cellegruppe til en celle i en bestemt fastlagt annen cellegruppe.
En undermodell inneholder én eller flere cellegrupper og null eller flere forbindelsesgrupper som forbinder en bestemt cellegruppes celler med hverandre eller forbinder cellene i én bestemt cellegruppe med cellene i en annen av undermodellens cellegrupper. En modell inneholder én eller flere undermodeller samt ingen eller flere koplingsgrupper som forbinder disse undermodeller med hverandre.
Hvis f.eks. en simuleringsmodell omfatter to cellegrupper, hvorav den ene inneholder IMPES-celler og den ande inneholder fullstendig impliserte celler, så vil denne modell kunne ha i det minste tre forbindelsesgrupper, slik som angitt i det følgende.
1. Forbindelser mellom cellene i IMPES-cellegruppen,
2. Forbindelser mellom cellene i den fullt implisitt-cellegruppen,
3. Forbindelser mellom cellene i IMPES-cellegruppen og cellene i fullt
implisitt-cellegruppen.
Modell- og undermodell-objektene er særlig egnet for bruk ved utførelse av simuleringsberegninger i parallell.
I motsetning il simuleringsprogrammer i henhold til tidligere kjent teknikk og som utfører iterasjoner over cellene, utføres i henhold til foreliggende oppfinnel-sesfremgangsmåte iterasjoner over cellegruppe-objekter. Ved å utføre iterasjoner i samsvar med fremgangsmåten i henhold til foreliggende oppfinnelse, vil objektet for hver cellegruppe vekke opp en egnet iterasjonsmetode som utfører iterering over sine celler samt utfører de ønskede beregninger for hver celle. Beregninger som tidligere ble utført ved iterasjon over celleforbindelser blir nå på lignende måte uført ved iterasjon over forbindelsesgruppe-objekter, hvor da hver forbindelsesgruppe oppretter sin fremgangsmåte som utfører iterering over sine forbindelser samt utfører de ønskede beregninger for hver forbindelse.
Hver forbindelsesgruppes objekt "vet" (hvilket vil si at den har informasjon som spesifiserer) hvilke to cellegrupper den danner forbindelse med eller at den forbinder en cellegruppe med seg selv. På lignende måte vet hver forbindelsesgruppes forbindelser hvilke to celler, nemlig én i den første gruppe og to i den andre gruppe (som kan være den samme som den første) som den danner forbindelse med.
Cellegruppe- og forbindelsesgruppe-objekter gir en ny metode for å organisere programvaren på en slik måte at komplekse beregninger normalt kan utføres ved hjelp av en enkel konsistent struktur. Det kan være like mange cellegruppe-typer og forbindelsesgruppetyper som det er nødvendig for å utføre beregninger av ønsket type. Tillegg av nye cellegruppetyper og forbindelsesgruppetyper øker ikke kompleksiteten av programmets totale struktur. De fremgangsmåter som er påkrevet for å utføre de nødvendige beregninger ved hjelp av nye cellegruppe-typer og forbindelsesgruppetyper ligger innelukket i deres programvare-"klasser".
Modell- og undermodell-objektene gir en fremgangsmåte for å organisere de spesielle beregninger som har sammenheng med parallell-behandling. Disse objekter gjør det mulig å utføre parallelle dataprosesser på en slik måte at den tillagte kompleksitet nedsettes til et minimum og isoleres. Sammenlignet med de simuleringsprogrammer som tidligere er brukt, kan fordelene ved foreliggende oppfinnelse oppnås ved praktisk talt uten tap av beregningseffektivitet.
Før man går videre til den detaljerte beskrivelse, skal de grunnleggende prinsipper for å danne celler og forbindelser, parallellberegning og objektorientert programmering omtales for å gjøre det lettere for leseren å forstå foreliggende oppfinnelse.
Celler og forbindelser
Ved utøvelse av fremgangsmåten i henhold til foreliggende oppfinnelse blir det fysiske system som skal simuleres, delt opp i flere volumetriske celler. Disse
celler kan foreligge i et antall på noen få og opptil et hundretall eller millioner. Diskretiseringen utføres ved bruk av metoder med utgangspunkt i endelig differanse, endelig volum, endelig element eller lignende metoder som er basert på oppdeling av det fysiske utstyr som skal modelleres hvis mindre enheter. Denne beskrivelse av foreliggende oppfinnelse har primært sammenheng med endelig differanse-metoder. Fagkyndige på området vil imidlertid erkjenne at oppfinnelsen også kan anvendes i sammenheng med endelig element-metoder eller endelig volum-metoder. Hvis den utøves ved hjelp av endelig element-metoder, blir cellene endelige elementer, og når den anvendes ved hjelp av endelig volum-metoder, blir
cellevolumene endelige. I denne patentsøknad brukes uttrykket "celle" for å forenkle fremstillingen, men det bør forstås at hvis en simuleringsmodell benytter endelig element-metoden så vil uttrykket "element" erstatte celle slik de anvendes i denne beskrivelse og i patentkravene. Uavhengig av hvilken av disse metoder som anvendes, så vil diskretiseringen redusere partielle differensialligninger til et endelig-dimensjonssystem av algebraiske ligninger.
Under utøvelser av denne oppfinnelse kan cellene ha en hvilken som helst geometrisk form, slik som i form av parallellepipeder (eller kuber) eller heksaedre (typisk med fire omtrent vertikale hjørnekanter som kan variere i lengde), eller tetraedre, romboider, trapesoider eller triangellegemer. Gitteret kan omfatte rektan-gulære celler organisert i et regelmessig strukturert mønster (f.eks. slik som vist i fig. 1 A). Strukturerte celler har derfor likeartet form og samme antall sider eller flater. De mest vanlig anvendte strukturerte gitre er kartesiske eller radial gitre hvori hver celle har fire sider i to dimensjoner eller seks flater i tre dimensjoner. Gitteret kan også omfatte celler med mange forskjellige former lagt ut i et uregelmessig, ustrukturert mønster, eller vedkommende gitter kan omfatte flere mønstre av både strukturert og ustrukturert art. Et gitter kalles fleksibelt eller ustrukturert når det er sammensatt av polygoner (polyedre i tre dimensjoner) med former, stør-relser og antall sider eller flater som kan variere fra sted til sted (slikt eksempel på todimensjonalt ustrukturert gitter er vist i fig. 1B, og dette vil bli mer detaljert omtalt nedenfor). Fullstendig ustrukturerte gitre kan sammenstilles til å anta en hvilken som helst form. Alle celler er fortrinnsvis, men ikke nødvendigvis, anordnet i flukt med andre celler, hvorved det unngås at en hvilken som helst side av en viss celle kommer i kontakt med sider på to andre celler.
Ved vanlige reservoarsimuleringsmodeller antas det typisk at de fleste av cellene som representerer vedkommende reservoar er lagt ut som et strukturert, kartesisk gitter. Fig. 1A viser et eksempel på en vanlig fremstilling av et tredimensjonalt domene i et reservoar. Denne fremstilling gjør det mulig å identifisere hver celle ved et sett av indeksbetegnelser, slik som (i, j, k). Et eksempel på et kartesisk gittersystem er vist i fig. 1 A. Ved å anvende indekssystemet (i, j, k) på fig. 1A kan den celle som angis med (3,4,4) bli representert på denne måte i en datamaskin. Data definert ut i fra et kartesisk gitter kan da angis ved å bruke de vanlige datatabeller som er tilgjengelige i de fleste programmeringsspråk, og fagkyn dige på området kan da anvende slike datatabeller for å representere størrelse som gjelder disse celler. Trykket i celle (i,j,k) kan f.eks. angis i FORTRAN-pro-grammeringsspråket som P(I,J,K), hvor P er en flytetall-datatabell som er dimen-sjonert på hensiktsmessig måte. Denne fremgangsmåte har det hensiktsmessige trekk at en celles naboer lett kan bestemmes. Trykket i hver av cellens (i,j,k) seks naboer er da henholdsvis P(I-1,J,K), P(I+1,J,K), P(I,J-1,K), P(I,J+1,K), P(I,J,K-1) og P(I,J,K+1). Andre størrelser definert som celler behandles da på samme måte.
Hvis fluid kan transporteres direkte mellom to celler, så betraktes disse celler som "forbundet", og fluidet representeres da som strømmende gjennom forbindelsen mellom disse celler. Størrelser er definert for disse celleforbindelser, på samme måte som størrelser er definert for selve cellene. Disse størrelser er lagret i datatabeller med samme dimensjon som de datatabeller som inneholder størrel-ser som er definert i cellene. For eksempel en gjennomslippelighet i i-retningen mellom cellen (i,j,k) og cellen (i+1,,j,k) kan da angis som TI(I,J,K) med den forstå-else at TI(NI,J,K), hvor NI er maksimalverdien for i, da faktisk ikke eksisterer, da dette vil innbære at cellen var forbundet med en celle på utsiden av simuleringsmodellen, og dette har da den samme virkning som å sette TI(NI,J,K) = 0. På lignende måte er det gjennomslippelighet i j-retningen, nemlig TJ(I,J,K), mellom cellene (i,j,k) og (i,j+1,k), samt også en gjennomslippelighet i k-retningen, nemlig TK(I,J,K), mellom cellene (i,j,k) og (i,j,k+1), som da lagres på analog måte.
I FORTRAN-språket, kan en tredimensjonal datatabell dimensjoneres i uttrykk for den maksimale størrelse som tillates for hver av indeksbetegnelsene. Den trykkdatatabell som er omtalt ovenfor kan f.eks. dimensjoneres P(NI,NJ,NK), hvor NI, NJ og NK er de maksimalverdier som tillates for henholdsvis I, J og K, med henvisning til P(I,J,K). FORTRAN ordner elementene i datatabellen i datalageret på en slik måte at elementene med påfølgende verdier for I ligger inntil hverandre, elementene med påfølgende verdier for J er atskilt med NI elementer, og elementene med påfølgende verdier for K er atskilt med NI<*>NJ elementer. Ver-dien av P(I,J,K) er lagret i det IJK-te element i P-datatabellen, hvor UK = I + (J-1)<*>NI + (K-1)<*>NI<*>NJ.
Skjønt strukturerte gitre er lett å bruke, mangler de fleksibilitet ved tilpas-ning til forandringer i reservoar- og brønngeometri og er ofte ute av stand til å håndtere effektivt de romlige variasjoner av fysiske egenskaper for berggrunn og fluider i reservoaret. Denne manglende tilpassbarhet begrenser det antall typer av hydrokarbonsystemer som strukturerte gitre kan representere effektiv. Som forsøk på å overkomme disse mangler, er forskjellige forbedringer blitt foreslått. For eksempel er det ofte ønskelig å bruke en detaljert representasjon av en viss del av reservoaret og grovere representasjoner av resten av reservoaret. Dette kan oppnås ved hjelp av mulighet for lokal strukturforfining. Dette kan da iverksettes slik at en rektangulær cellegruppe erstattes av et gitter av mindre celler. Med henvisning til det grove gittersystem som er vist i fig. 2A, kan f.eks. celler i intervallene (i = 3, 4, 5; j = 1, 2; k = 2, 3) erstattes av et gitter av mindre celler på 6 ganger 4 ganger 6 gitterenheter, slik som vist i fig. 2B. Liksom det grove gitter (fig. 2A), er også dette fine lokalgitter (2B) strukturert.
Strukturerte gitre har vanskelighet med å representere geologiske lag i reservoaret som "klemmes ut" eller opphører. Fig. 3 viser en todimensjonert fremstilling av cellelag 50 til og med 55 hvori cellelagene 52 og 53 forsvinner på grunn av utklemming, hvilket da vil kunne tillate direkte strømning mellom cellelagene 51 og 54. Én måte å fremstille utklemmingslag på er da å la de tilsvarende lag i simuler-ingsgitteret også forsvinne på disse steder. Når dette hender blir det opprettet en forbindelse mellom celler som normalt ikke ville kunne kommunisere direkte med hverandre. Det er da blitt foreslått simuleringsprogrammer som håndterer dette ut-klemmingsproblem ut i fra det som vanligvis kalles spesielle eller ikke-nabofor-bindelse mellom celler.
Reservoarsimuleringer av hydrokarbonholdige områder som omfatter innbyrdes vesentlig forskjellige fluidstrømningsforhold kan vanligvis ikke behandles bekvemt ved hjelp av strukturerte rektangelformede gitre. For å utføre slike simuleringer må det opprettes en kopling mellom de forskjellige strømningsområder.
Fig. 4 viser en ikke-begrensende skjematisk fremstilling av et forenklet tredimensjonalt hydrokarbonholdig område som omfatter en hydrokarbonholdig formasjon 11 som gjennomtrenges av flere brønner 12a til og med 12p (bare én brønn 12a er vist på tegningen som en passasje gjennom et overliggende lag 18 inne i formasjonen 11). Hver brønn omfatter rørledning (ikke vist) som oppretter fluidkommunikasjon mellom jordoverflaten 10 og formasjonen 11. Fluider som pro-duseres fra formasjon 11 passerer gjennom brønnene 12a-p og videre gjennom samleledninger 14 til pumpeenheter 13a, 13b og 13c, samt så gjennom ytterligere samleledninger 15a, 15b og 15c og inn i behandlingsenheter 16a og 16b på overflaten og som vanligvis vil være olje/vann-separatorer (for å forenkle fremstillingen, er bare tre av mange flere samleledninger på overflaten angitt mellom brønnene og pumpeenhetene og påført henvisningstallet 14). Ut i fra behandlingsenhetene kan da oljen bringes til å passere gjennom en ledning 17a, mens vannet vil kunne føres gjennom en ledning 17b for ytterligere behandling og/eller håndtering. En reservoarsimulering kan da omfatte simulert flytstrømning og sammensetninger innenfor formasjon 11, gjennom brønnene 12a-p, gjennom samleledninger 14 og 15a-c på jordoverflaten, samt gjennom pumpeenheter 13a-c og behandlingsenhetene 16a og 16b.
For å utføre simulering av det hydrokarbonholdige område, vil det ved simuleringen vanligvis bli antatt at reservoarberegningene befinner seg i ustabil tilstand og at behandlingsenhetene befinner seg i pseudo-stabil tilstand. Forskjellen mellom disse to antakelser har sammenheng med antall cellevolumer som strømmer gjennom en celle under et tidstrinn. I en reservoarcelle vil det fluidvolum som løper inn i og forlater en celle under et tidstrinn vanligvis bare være en liten andel av cellens volum. Innenfor overflate utstyret vil imidlertid mange cellevolumer kunne passere gjennom en viss celle under et tidstrinn. Som en følge av dette vil tidskon-stantkarakteristikken for overflateutstyret være meget mindre enn de tilsvarende karakteristikker for reservoaret. Overflateutstyret når en effektiv stabil tilstand under det typiske tidstrinn.
Fleksible gitre er blitt foreslått for bruk i situasjoner hvor strukturerte gitre ikke er like effektive. Ustrukturerte gitre kan tilpasses sterkt varierende fluidstrøm-ningsforhold lettere enn strukturerte gitre, og av denne grunn er ustrukturerte gitre blitt foreslått for bruk ved modellering av hydrokarbonholdige systemer.
Én viss type fleksible gitre som kan anvendes ved fremgangsmåten og modellen i henhold til oppfinnelsen er da Voronoi-gitteret. En Voronoi-celle er definert som et område i rommet som ligger nærmere sitt innvendige sentrale knutepunkt enn hvilket som helst annet knutepunkt, og et Voronoi-gitter består da av slike celler. Hver celle er tilordnet et knutepunkt og en rekke naboceller. Dette Voronoi-gitter er lokalt ortogonalt i geometrisk betydning, hvilket vil si at celle-grensene forløper normalt på linjer som forbinder knutepunkter på de to sider av hver grenselinje. Av denne grunn blir Voronoi-gitrene mer vanlig kalt perpendiku-
lære todelingsgitre (PEBI). I visse tilfeller utgjør en rektangulær gitterblokk (kartesisk gitter) et spesialtilfelle for et stort PEBI-gitter. PEBI-gitteret har tilpassbarhet for å kunne representere sterkt varierende reservoargeometrier, på grunn av at plasseringen av knutepunktene kan velges fritt. PEBI-gitteret genereres ved å tildele knutepunktplasseringer innenfor et gitt domene hvor derpå generere celle-grenselinjer på en slik måte at hver celle inneholder samtlige punkter som ligger nærmere sin egen knutepunktbeliggenhet enn enhver annen knutepunktbeliggenhet.
Da forbindelseslinjene mellom knutepunktene i et PEBI-gitter blir perpendi-kulært delt i to av cellegrenselinjene, vil dette i vesentlig grad forenkle løsningen av strømningsligninger i tilfelle isotropiske permeabiliteter (hvilket vil si permeabiliteter som er den samme i alle retninger, selv om de kan variere i rommet). Under denne betingelse kalles et slikt gitter "k-ortogonalt". For et slikt k-ortogonalt gitter vil transport mellom to celler bare være avhengig av disse cellers egenskaper og forbindelsen mellom dem. For anisotrope permeabiliteter, vil betingelsen for k-ortogonalitet være mer kompleks, men det vil vanligvis være mulig å fremstille gitre som tilfredsstiller denne betingelse. Selv om dette ikke kan gjøres på praktisk måte, så vil avviket fra k-ortogonalitet ofte være meget lite. I dette tilfelle vil da en eventuell feil også være liten og beregningen behøver ikke å forandres. Hvis avviket fra k-ortogonalitet er stort, kan en flerpunktsfluks-tilnærmelse anvendes. Når en slik flerpunktsfluks-tilnærmelse anvendes, vil transport mellom to celler av-henge av disse to cellers egenskaper og også av visse naboceller. For enkelthets skyld vil den følgende fremstilling anta k-ortogonalitet, men fremgangsmåten i henhold til foreliggende oppfinnelse kan også utvides av fagkyndige på området og på grunnlag av det som angis i denne beskrivelse til å håndtere flerpunktsfluks-tilnærmelser.
Fig. 1B viser et eksempel på et todimensjonalt PEBI-gitter. Punktene 40 angir celleknutepunkter, mens de kontinuerlige linjer 41 angir cellegrenser og de stiplede linjer 42 som forbinder knutepunktene angir forbindelser mellom celler. Fluid-strømning så vel som andre transportfenomener mellom to knutepunkter blir typisk modellert som strømning langs forbindelseslinjen mellom dem. Det maskenett som dannes ved forbindelseslinjene mellom nærliggende knutepunkter i PEBI-celler blir vanligvis kalt et Delaunay-maskenett hvis det bare er dannet av trekan ter. I et todimensjonalt Delaunay-maskenett blir reservoaret delt opp i trekanter med knutepunkter i trekantenes hjørner, slik at trekantene fyller reservoaret. En slik triangulering utgjør et Delaunay-maskenett når en sirkel som forløper gjennom en trekants hjørnepunkter (sirkumsenteret) ikke inneholder noe annet knutepunkt innvendig. I tre dimensjoner blir da reservoarområdet oppdelt i tetraedre på en slik måte at reservoarvolumet blir fullstendig utfylt. En slik triangulering utgjør da et Delaunay-nettverk når en kuleflate som skjærer gjennom hjørnepunktene for et tetraeder (omkretskulen) ikke inneholder noe annet knutepunkt. For en mer detaljert beskrivelse av generering av PEBI-gitre, se Palagi, CL. og Aziz, K.: "Use of PEBI Grid in Reservoir Siumulation", artikkel SPE 22889 fremlagt ved 66th Annual Technical Conference and Exhibition, Dallas, TX (6.-9. oktober 1991).
Beregninger på ustrukturerte gitre kan anvende en datastruktur som er basert på celler og forbindelser. Se f.eks. en artikkel av K.T. Lim, D.J. Schiozer, K. Aziz, "A New Approach for Residual and Jacobian Array Construction in Reservoir Simulators," SPE 28248 fremlagt ved 1994 SPE Petroleum Computer Conference, Dallas, Texas, 31. juli-3. august, 1994, som da foreslår bruk av celler og forbindelseslinjer. Dimensjonen av trykk-datatabellen er satt lik antallet celler, hvor trykket i celle n skrives P(N). De tre gjennomløpelighets-datatabeller som er tidligere nevnt blir da foldet inn til en datatabell-dimensjon som er tilstrekkelig stor til å inneholde samtlige gjennomslippelighetsverdier. Sammen med denne datatabell må det også foreligge to heltalls-datatabeller som angir hvilke to celler som en gitt gjennomslippelighet forbinder. Det antas f.eks. at cellene forblir i samme rekke-følge som de befinner seg i det tidligere angitte eksempel med strukturert gitter. I den nye datastruktur vil da P(N) tilsvare P(I,J,K), hvor
N = l+(J-1)<*>NI + (K-1)<*>NI<*>NJ. Hvis T(M) tilsvarer TK(I,J,K), så vil disse to hele tall ha verdiene IL(M) = N og IR(M) = N + NI<*>NJ.
Fremgangsmåten og programmet i henhold til foreliggende oppfinnelse er ikke begrenset til simulering av et spesielt antall dimensjoner. Forutsigelsespro-grammet kan konstrueres for endimensjonal (1-D), todimensjonal (2-D) og tredimensjonal (3-D) simulering av et fysisk domene. Ved reservoarsimuleringsanven-delser blir sjelden en 1-D modell brukt for reservoaromfattende studier, da den ikke kan modellere areal og vertikal sveiping. En 1-D gassinnsprøytingsmodell for å forutsi forskyvningsvirkninger vil ikke kunne effektivt representere tyngdekraft- virkninger vinkelrett på strømningsretningen. En gassinnsprøytningsmodell av dimensjon 1-D kan imidlertid anvendes for å undersøke følsomheten for reservoarets adferd overfor variasjoner i prosessparametere og for å tolke forskyvningsprøver i et laboratorium.
2- D areal-fluidinnsprøytningsmodeller kan anvendes når areal-strømningsmønsteret dominerer reservoarets adferd. Arealmodeller vil f.eks. normalt kunne anvendes for å sammenligne brønnmønstre eller for å vurdere innflytelsen av areal-heterogenitet på reservoarets adferd. 2-D tverrsnitts- og radiale gassinnsprøytningsmodeller kan anvendes når strømningsmønstre i vertikale tverrsnitt dominerer reservoarytelsen. For eksempel vil tverrsnitts- eller radiale modeller normalt kunne anvendes for å modellere tyngdekraftsdominerte proses-ser, slik som ved toppinnsprøyting av gass eller gassinjeksjon i reservoarer med høy vertikal permeabilitet, eller for å evaluere innflytelsen av vertikal heterogenitet på reservoarets ytelse.
3- D modeller kan være ønskelige for å effektivt representere kompleks res-ervoargeometri eller kompleks fluidmekanikk i reservoaret. Modellen kan f.eks. være en 3-D modell som omfatter lag av PEBI-gitre, som i blant innenfor petrole-umsindustrien betegnes som 2>2-D. De lagdelte PEBI-gitre er ustrukturert areal-messig og strukturert (lagdelt) vertikalt. Konstruksjon av lagdelte 3-D gitre er beskrevet av (1) Heinemann, Z.E. et al i "Modeling Reservoir Geometry With Irregu-lar Grids", SPE Reservoir Engineering, mai 1991, og (2) Verma, S., et al, "A Cont-rol Volume Scheme for Flexible Grids in Reservoir Simulation", SPE 37999, SPE Reservoir Simulation Symposium, Dallas, Texas, juni, 1997.
Parallellberegning
For å redusere den tid som behøves for simuleringsberegninger, kan det være ønskelig å utføre simuleringen på flere sentrale databehandlingsenheter (CPU-enheter) i parallell. Disse CPU-enheter kan da dele datalager innenfor en enkelt enhet eller hver av flere CPU-enheter som er innkoplet i et nettverk kan ha sitt eget datalager. Disse to systemtyper kan bruke det som kalles henholdsvis felles datalager og fordelt datalager. I tillegg kan flere multi-CPU-enheter være koplet inn i et nettverk, hvilket da vil føre til et hybridsystem av felles og fordelte data-lagre.
Uavhengig av om datalageret er felles eller fordelt, kan parallelle simuleringsberegninger finne sted på hovedsakelig samme måte. Vedkommende modell blir oppdelt i beregningsenheter, som vanligvis kalles "domener". Hvis f.eks. to CPU-enheter er tilgjengelig for bruk, så kan den gittermodell som er vist i fig. 5A bli oppdelt i to domener, slik som vist i fig. 5B og 5C. Denne oppdeling vil vanligvis kunne utføres slik at alle domener inneholder i så høy grad som mulig det samme antall celler. I det eksempel som er vist i fig. 5A, inneholder de to domener (fig. 5B og fig. 5C) nøyaktig det samme antall celler. Hver domene kan da tildeles én av de to CPU-enheter, og hver av disse CPU-enheter vil da kunne utføre nesten alle de beregninger som gjelder sin domene. Ved visse trinn i beregningene vil det være nødvendig å overføre data mellom domenene, og således mellom CPU-en-hetene. Dette utføres ved å bruke det som i blant kalles "meldingspassering". I modellen er hver celle tildelt én av to domener. Likeledes vil også hver forbindelse mellom to celler innenfor samme domene være tildelt vedkommende domene. Forbindelser mellom celler i forskjellige domener kan da betraktes som tilhørende én av de to domener, eventuelt tilhørende begge domener eller ikke tilhørende noen av dem. I henhold til foreliggende oppfinnelse foretrekkes det da å betrakte forbindelsene mellom domenene som tilhørende ingen av domenene, men forbruk av begge. I et hvert tilfelle vil forbindelsene mellom domenene kreve behandling som avviker fra forbindelser inne i domenene.
Objektorientert programmering
Fremgangmåten og modellen i henhold til foreliggende oppfinnelse i verk-settes ved bruk av objektorientert programmeringsteknikk ("OOP"). De fleste vanlige programmeringsspråk for OOP er Simula, Eiffel, C++, Smalltalk, Objective-C, eller variasjoner av disse. I praksis er imidlertid ikke foreliggende oppfinnelse begrenset til bruk av et spesielt OOP-språk. Utførelsen av OOP er vel kjent for fagkyndige innenfor det område som gjelder OOP-systemet og vil bare bli generelt beskrevet her. En mer detaljert beskrivelse av utførelse og drift av et objektorientert program er angitt i " What Every Programmer Should KnowAbout Object-Oriented Design" av Meilir Page-Jones, Dorset House Publishing, New York, 1995.
I et objektorientert program fokuseres det primært på data og sekundært på de funksjoner som gir tilgang til disse data. I stedet for å være primært fokusert på funksjoner og sekundært på de data disse behøver. I motsetning til et program som hovedsakelig er beskrevet ved prosedyrer med datainngang og datautgang fra hver slik prosedyre (slik som et program skrevet i FORTRAN eller COBOL), blir et objektorientert program organisert omkring "objekter". Et objekt er da her en datastruktur og et sett av operasjoner eller funksjoner som kan gi tilgang til denne datastruktur. OOP-systemer vil typisk inneholde et stort antall objekter. Hver ope-rasjon (funksjon) som kan gi tilgang til datastrukturen kalles da en "metode". Hvert objekt er medlem i en "klasse". Et slikt objekt sies å være en "forekomst" i den klasse hvori den er medlem. Klassen definerer den informasjon som har sammenheng med objektet (dets data) og de operasjoner som kan utføres (dens metoder). OOP gjør det mulig for objekter å modellere stort sett et hvilket som helst enhetlig system i den virkelige verden uttrykt ved sine karakteristiske egenskaper, representert ved data og systemets adferd uttrykt ved de operasjoner det kan utføre ved bruk av vedkommende data. På denne måte kan objekter modellere konkrete gjenstander, slik som celler i en reservoarsimulering samt abstrakte begrep slik som tall. For formålene i henhold til foreliggende oppfinnelse, beskriver de fordeler som kan trekkes ut av OOP seg fra tre grunnleggende prinsipper, nemlig innkapsling, polymorfisme og iboenhet.
Objektene skjuler eller kapsler inn den indre struktur av sine data og de al-goritmer som deres funksjoner arbeider ut i fra. I stedet for å frilegge disse imple-menteringsdetaljer oppviser objekter grensesnitt som gir klar oversikt over disse uten noen ekstra informasjon. Grensesnittet tillater bare et begrenset antall samvirkeprosesser mellom ytterverdenen og et objekt. Ved C++ programmering omfatter de fleste av disse samvirkeprosesser opphenting av objektets metoder. Ved å fremvise et objekts metoder kan ytterverden anmode objektet om å gjøre visse ting, men detaljer ved hvorledes objektet skal utføre de tilsvarende handlinger vil ikke være synlig for ytterverdenen. Objektet kapsler inn således sine data og metoder og skjuler dem fra ytterverden.
Polymorfisme tar innkapslingen et trinn videre. En programvarekomponent kan rette en anmodning til en annen komponent uten nøyaktig å vite hva denne komponent er. Vedkommende komponent som mottar anmodningen, tolker denne og bestemmer i samsvar med sine variable og data hvorledes anmodningen skal utføres.
Iboenhet gjør det mulig for utviklere å anvende på nytt forut eksisterende utførelse og kode. Iboenhet gjør det også mulig for tidligere innskrevne programmer å utvides ved å opprette nye overklasser og underklasser av objektet. Nye objekter blir beskrevet ved hvorledes de avviker fra foruteksisterende objekter, slik at ikke helt nye programmer behøver å skrives for å håndtere nye datatyper eller funksjoner. Generelle data og metoder tilhører da en "basis"-klasse. Mer spesifikke klasser "arver" da disse data og metoder og kan på dette grunnlag definere sine egne data og metoder. Disse spesifikke klasser sies da å være "utledet" fra basisklassen.
Et eksempel på iboenhet og arvelighet kan anskueliggjøres ved å bruke klasser som iverksetter polygoner av tre typer. I dette eksempel kan da et polygon være en trekant, et rektangel eller en sekskant. Det skal nå henvises til fig. 6, hvor det er vist at disse tre polygoner kan iverksettes ved bruk av en basisklasse som er kalt polygon 20 samt tre utledede klasser som er kalt trekant 21, rektangel 22 og sekskant 23. Den lille trekant 24 i fig. 6 angir at i klassene nedenfor er arvet fra den overliggende klasse.
I dette eksempel kan et polygon være en trekant, et rektangel eller en sekskant, uavhengig av hvilken form den har, har den et "areal" og en "farge". Basisklassen polygon inneholder følgelig dataelementer som kalles areal og farge. I tre utledede klasser (trekant, rektangel og sekskant) arver disse dataelementer fra basisklassen. Videre kan metoder som er de samme for de tre utledede klasser foreligge i basisklassen. En basisklasse-metode kan f.eks. definere dataelement-ene "areal" og "farge", tildele datalagringsplass for dem og igangsette dem. Areal-beregningen er imidlertid forskjellig for hver av de tre polygontyper, slik at hver utledet klasse må frembringe sin egen fremgangsmåte for slik beregning. Trekant, rektangel og sekskant har således hver en fremgangsmåte som kalles beregning av areal og som utfører de beregningsoperasjoner som kreves for å beregne sitt areal, uavhengig av hva disse operasjoner går ut på. Ytterverden kan da f.eks. inneholde en datatabell over polygonobjekter, hvorav visse er triangelobjekter, visse er rektangelobjekter og noen er sekskantobjekter. Den kan da få angitt arealet av hver av disse objekter ved å anmode vedkommende objekt om å beregne areal. For å utlede et spesielt polygons areal, behøver ytterverdens ikke å ha kjennskap til hvorledes den beregner sitt areal. Ytterverden behøver således ikke å vite hva slags polygon det dreier seg om.
Objekter kan inneholde andre objekter. For eksempel kan en tegning inneholde polygoner. Det skal nå henvises til fig. 7, hvor det er vist at en tegning kan iverksettes som et objekt som er en forekomst i en klasse som kalles tegning 25. Dette objekt kan da inneholde polygon 26 som objekt. I fig. 7 angir rutertegnet 27 at et objekt av den øvre klasse, nemlig tegningen 25, inneholder et ikke fastlagt antall objekter av den lavere klasse, nemlig polygon 26.1 dette eksempel vil antallet polygonobjekter som tillates være null eller flere, da tegningen ikke nødvendig-vis må inneholde noe polygon.
For et objekt er ytterverden anvendelsens høynivåkode som bruker objektet til å oppnå sine formål. Innkapsling, polymorfisme og iboenhet gjør det mulig for denne kode på høyere nivå å håndtere objekter som er likeartede, men ikke av identisk samme type, som om de faktisk var identisk av en og samme type. Dette forenkler i høy grad høynivåkoden og gjør det praktisk å skrive en kode som er i stand til å utføre mer komplekse operasjoner enn det som er praktisk ved hjelp av et prosedyrespråk.
Celle- og forbindelsesberegninger
De fleste simuleringsberegninger som utføres i hvert tidstrinn kan fordeles blant disse tre kategorier:
1. bestemmelse av fluid, og transportegenskap,
2. sammenstilling av én eller flere matriseligninger, og
3. løsning av de foreliggende én eller flere matriseligninger.
Fluidegenskapene er definert i cellene og er således fastlagt i iterasjoner over cellene. Transportegenskaper gjelder forbindelsene, skjønt visse kan også
være definert ved cellene. Totalt er transportegenskapene bestemt ved kombinasjon av iterasjoner over cellene og over forbindelsen. Matriseligningen inneholder størrelser som er definert ved cellene og størrelser som er definert ved forbindelsene. Dens sammenstilling blir da følgelig utført ved en kombinasjon av iterasjoner over cellene og iterasjoner over forbindelsene.
Etter at matriseligninger) er sammenstilt må den løses. Som det vil være kjent for fagkyndige innenfor området, er det mange måter å løse matriseligninger på. Vanligvis krever disse iterasjon over en celles forbindelse så vel som over cellene, og eventuelt alle slike forbindelser. Løsningen krever derfor ytterligere informasjon, nemlig en liste over hver celles forbindelser. Denne liste kan anta forskjellige former, slik som f.eks. form av en liste over indeksbetegnelser for ikke-diagonale-koeffisienter i en rekke i matrisen samt en liste over de kolonner hvori disse uttrykk opptrer. Uavhengig av listens form, bør listen effektivt kunne angi hver celles forbindelser.
Cellegruppe-objekter og forbindelsesgruppe-objekter
Én viss utførelse av foreliggende oppfinnelse bruker minst to objektklasser definisjonsmessig basert på prinsippene for objektorientert programmering, hvor en forekomst i én av klassene inneholder én eller flere celler, og en forekomst i den andre klassen inneholder én eller flere forbindelser. I andre utførelser kan ytterligere objekter også anvendes, f.eks., men ikke begrenset til, et objekt som inneholder modellen i sin helhet og/eller et objekt som inneholder en viss del av hele modellen. Fig. 8A og 8B viser et forenklet eksempel på celler og tilordnede forbindelser. Fig. 8A viser en todimensjonal fremstiling av 8 celler som er nummerert fra 0 til og med 7. Cellene 0, 1, 4 og 5 representerer celler innenfor et første simuler-ingsdomene, og cellene, 2, 3, 6 og 7 representerer celler fra et andre simulerings-domene som er sammenhengende med det første domene. Fig. 8B angir skjematisk fremstilling av de 8 celler i fig. 8A samt 10 forbindelser mellom disse celler. De 10 forbindelser (angitt ved bokstavene a, b, c, d, e, f, g, h, i og j) er vist. Hver forbindelse er representert ved et kvadrat ved linjer fra dette kvadrat frem til de to celler som er sammenkoplet ved hjelp av vedkommende forbindelse. Forbindelsen "a" representerer f.eks. forbindelsen mellom celle 0 og celle 1, mens forbindelsen "g" angir forbindelsen mellom celle 0 og celle 4. Fig. 9 viser et eksempel på hvorledes cellene og celleforbindelsene i fig. 8B kunne vært gruppert i samsvar med utøvelse av denne oppfinnelse. I fig. 9 er det da vist at cellegruppe 20 inneholder cellene 0,1, 4 og 5, mens cellegruppe 21 inneholder cellene 2, 3, 6 og 7. Forbindelsesgruppen 30 inneholder forbindelsene a, g, h og d mens forbindelsesgruppen 31 inneholder forbindelsene b og e og forbindelsesgruppen 32 inneholder forbindelsene c, i, j og f. Cellegruppene 20 og 21 er blitt utformet av celler innenfor samme domene. Forbindelsesgruppene 30 og 32 er blitt utformet av forbindelser innenfor samme domene, og forbindelsesgruppen 31 er blitt utformet for å representere det sett av forbindelser som forbinder cellene i det første domene med cellene i det andre domene.
I henhold til foreliggende oppfinnelse kan det iverksettes beregninger som utnytter objektorienterte programmeringsprinsipper hvori det inngår forskjellige typer celler. Hver celletype er bestemt ved spesifisering av minst tre karakteristiske forhold, nemlig dens fysiske type, dens beregningsmetode og dens fluidrepresentasjon.
Ved en reservoarsimulering kan hver celle utgjøres av ett av de følgende ikke-begrensende eksempler på fysiske typer:
1. Reservoar. Dette er den mest vanlige celletype.
2. Fraktur. En slik celle kan f.eks. representere en sprekkdannelse i en modell av dobbeltporøsitets/dobbeltpermeabilitets-type for et frakturert reservoar. 3. Brønn. Ved fremstilling av en brønn strømmer fluid fra reservoaret inn i en slik celle. En brønn kan utgjøres av en enkelt celle eller av flere brannceller. I det førstnevnte tilfelle kan fluid som trenger inn i cellen fra reservoaret for-late denne celle for å strømme til oppsamlingsenheter på overflaten. I det sistnevnte tilfelle strømmer fluid fra en celle til den neste inntil den branncelle som er koplet til oppsamlingsenheten på overflaten er nådd. Fra denne celle strømmer da fluid inn i oppsamlingsenhetene på jordoverflaten. 4. Rør. En rørcelle representerer et avsnitt av røret. Dette rør kan befinne seg i oppsamlingsenhetene på jordoverflaten, eller den kan representere den brønn-rørledning som fører produsert fluid fra en branncelle til overflaten. 5. Separator. En enkelt fluidstrøm løper inn i en separator, og to eller flere strømninger forlater separatoren. Typisk vil en separator kunne separere enten vann fra hydrokarbon eller flytende hydrokarbon fra hydrokarbon-damp.
Andre celletyper er mulig og foreliggende oppfinnelse er på ingen måte begrenset til de eksempler som er angitt ovenfor. Fagkyndige personer på området vil kunne være i stand til å utvikle ytterligere celletyper som kan være egnet for en viss spesiell simuleringsanvendelse.
Fig. 10 viser fire cellegruppeklasser representert ved tekstfelt 61, 62, 63, 64 og 65, og som er basert på de fem celletyper som er listet opp ovenfor, og som kan utledes fra en enkelt basisklasse, som da er angitt som cellegruppe 60. Denne cellegruppe 60 vil inneholde data og prosedyre som er felles for de fem utledede klasser 61, 62, 63, 64 og 65. Hver av disse utledede klasser (slik som klasse 61, reservoar-cellegruppe) vil da inneholde de data og metoder som er særegne for denne klasse. Trekanten 66 i fig. 10 angir iboenhet da dette uttrykk brukes i objektorientert programmering. Dette innebærer at data og metoder som er de samme for de fem utledede klasser (61-65) bare behøver å være definert i basisklassen, nemlig cellegruppe 60.
En bestemt beregningsmetode må velges for hver celle. Ikke-begrensende eksempler på beregningsmetoder som vil kunne anvendes omfatter da:
1. IMPES.
2. Fullt implisitt.
Iverksettelsen av vedkommende beregningsmetode kan utføres på en slik måte at den vil være den samme for hver av de fem utledede klasser som er beskrevet ovenfor. Som en følge av dette, kan da beregningsmetoden og de data som den krever, bringes i basisklassen, nemlig cellegruppe 60. Hver av de fem utledede klasser (klassene 61 og 65) vil da arve denne iboende beregningsmetode fra cellegruppe 60.
En celles fluidrepresentasjon er definert i termer som uttrykker hvilke komponenter som foreligger, om energi inngår og hvorledes egenskaper beregnes. En del av simuleringsmodellen kan eventuelt representere fluidene ved hjelp av et sett komponenter, mens en annen del kan representere fluidene med et annet sett av komponenter. Alternativt kan en energibalanse-beregning utføres innenfor en del av modellen og ikke i en annen del. For et gitt sett komponenter kan egenskaper beregnes på forskjellige metoder. Det følgende er en ikke begrensende liste av egenskapsberegninger som er mulig:
1. Olje/vann, svartolje.
2. Olje/gass, svartolje.
3. Gass/vann, svartolje.
4. Olje/gass/vann, svartolje.
5. Olje/vann-terminal. Vannet kan foreligge i væskefase eller i dampfase (f.eks. som damp).
6. Olje/gass/vann-terminal.
7. Tilstandsligning for sammensetningen.
8. Likevektsverdi for sammensetningen.
9. Tilstandsligning for terminalkomposisjonen.
10. Likevektsverdi for terminalsammensetningen.
Liksom ved den beregningsmetode som er omtalt ovenfor, kan beregningene for fluidegenskapene utføres i basisklassen, nemlig cellegruppe 60 i fig. 10.
Hvert cellegruppeobjekt kombinerer et utvalg fra hver av de tre kategorier av cellekarakteristikker. Hvis det f.eks. antas at et cellegruppeobjekts fysiske type er "brønn", dens beregningsmetode er "fullt implisitt" og dets fluidrepresentasjon benytter olje/gass/vann, svartolje. Den vil derfor inneholde fullt implisitt-brønnceller hvori fluidegenskaper bestemmes ut ifra en svartoljeberegning ved bruk av kom-ponentene "olje", "vann", og "gass".
De første seks typer i de cellegrupper som er angitt i liste ovenfor er spesifikke med hensyn til sine komponentsett, som da er de komponenter som de seks typer anvender. De siste fire er ikke så spesifikke, da deres komponentsett er definert som en del av simuleringsmodellens inngangsdata. For de siste fire cellegruppe-typer kan antallet komponenter og deres betydning variere fra cellegruppe til cellegruppe, men de må være fastlagt innenfor enhver gitt cellegruppe.
I eksempelet ovenfor kan det være 5 ganger 2 ganger 10, eller 100 mulige kombinasjoner av fysiske celletyper, beregningsmetoder og fluidrepresentasjoner, men bare én basisklasse og fem utledede klasser er påkrevet for å iverksette dem. På grunn av bruk av arvelig iboenhet, behøver videre de utledede klasser bare å implementere de trekk som er særegne for hver av disse.
Det forhold at alle cellegruppeklasser utledes fra en enkelt basisklasse gjør det mulig å behandle dem polymorfisk. I C++, blir f.eks. en kode på et høyere nivå som inneholder cellegruppene henvist til disse gjennom en rekke pekere til basisklassen, nemlig cellegruppen 60. Dette vil da tillate koden på høyere nivå å bruke objektene uten å kjenne til hvilke spesifikke typer cellegrupper de utgjør.
Hvis det antas at flere cellegruppeobjekter anvendes, så vil også flere forbindelsesgruppe-objekter bli brukt. Hver forbindelse i simuleringsmodellen må plasseres i én av forbindelsesgruppene. Hver forbindelsesgruppe forbinder enten to cellegrupper innbyrdes eller danner forbindelsene i en enkelt cellegruppe. Hver forbindelsesgruppe utfører en viss type transportberegning. Hver type forbindelsesgruppe kan bare forbinde cellegrupper av visse typer. Det ville f.eks. være ukorrekt å forbinde to reservoarceller ved hjelp av en flerfast forbindelse innenfor turbulent strømning. På den annen side kan en gitt type cellegruppe være i stand til å forbinde flere typer cellegrupper med hverandre. En cellegruppe for flerfaset turbulent strømning kan f.eks. forbinde en brønn-cellegruppe med en oppsamlings-cellegruppe på jordoverflaten, en cellegruppe på overflaten med seg selv, eller en samlecellegruppe på overflaten med en separator-cellegruppe.
Hver type forbindelsesgruppe er bestemt ved spesifisering av minst tre forhold: (1) hvorledes den beregnerfluidtransport, (2) beregningstypene forde cellegrupper som den forbinder, og (3) om den forbinder innbyrdes cellegrupper som inneholder forskjellige komponentsett.
Ikke-begrensende eksempler på den basis hvorpå transport kan beregnes er da som følger, og alle disse eksempler gjelder fysiske celletyper: 1. Darcys lov som anvender oppslag i tabell uten hysterese. Kan f.eks. anvendes for strømning mellom celler i et reservoar. 2. Darcys lov ved bruk av oppslag i tabell med hysterese. Kan f.eks. anvendes på strømning mellom celler i et reservoar. 3. Darcys lov ved bruk av effektlov-ligninger. Kan f.eks. anvendes på strøm-ning mellom celler i et reservoar.
4. Strømning fra fraktur til fraktur.
5. Strømning fra reservoar til fraktur.
6. Flerfaset turbulent mekanistisk strømning. F.eks. anvendbar på strømnin-ger fra brønn til brønn, fra brønn til rør, fra rør til rør, samt fra rør til
separator.
7. Flerfaset strømning som bruker tabular-beregninger. Anvendbar på eksempler for strømning fra brønn til brønn, brønn til rør, rør til rør, samt rør til
separator.
8. Strømning fra reservoar til brønn.
9. Strømning fra fraktur til brønn.
Ikke-begrensende eksempler på beregningstyper i cellegrupper som er forbundet omfatter da:
1. IMPES-IMPES.
2. Fullt implisitt-fullt implisitt.
3. IMPES-fullt implisitt.
Basert på den fluidfremstilling som anvendes i de cellegrupper som er forbundet, kan fluidrepresentasjonene i cellegruppene være angitt som:
1. Samme fluidrepresentasjon anvendt i begge cellegrupper, eller
2. Forskjellige fluidrepresentasjoner anvendt i de to cellegrupper.
Fig. 11 viser skjematisk de klasser som behøves for å implementere ni strømningsmuligheter for ni fysiske celletyper som er listet opp ovenfor, og arvelig-hetsforholdene mellom de resulterende klasser. En basisklasse, som er vist som et tekstfelt 70 i fig. 11 og som kalles forbindelsesgruppe, kan da inneholde samtlige felles data og iverksette fellesfunksjonene innenfor de følgende tre funksjons-klasser:
1. Samtlige strømninger, reservoar til reservoar, reservoar til fraktur og fraktur til fraktur. Dette kan da kalles klassen for reservoar/reservoar-forbindelsesgruppen, og som er vist som tekstfelt 71 i fig. 11. 2. Strømninger reservoar-brønn og fraktur-brønn. Dette kan da kalles klassen for reservoar/brønn-forbindelsesgruppen, og som er vist ved tekstfelt 72. 3. Strømninger inne i utstyrsnettverket. Dette kan da kalles klassen for overflate/overflate-forbindelsesgruppen og som er vist ved tekstfelt 73.
Det skal nå henvises til fig. 11, hvor tre former for reservoar/reservoar-forbindelsesgruppen (tekstfelt 71) behøves, hvor en viss form utfører fullt implisitt/fullt implisitt-veksel 74), en annen utfører IMPES/IMPES-beregninger (boks 75), og enda en ytterligere utfører IMPES/fullt implisitt-beregninger (tekstfelt 76). Klassen for reservoar/brønn-forbindelsesgruppen (tekstfelt 72) behøver to utførelsesformer, nemlig fullt implisitt/fullt implisitt (tekstfelt 77) og IMPES/fullt implisitt (tekstfelt 78). Innenfor utstyrsnettverket på overflaten (tekstfelt 73), blir bare fullt implisitt-beregninger utført på grunn av stabilitetsbegrensninger for IMPES-metoden. Som en følge av dette behøver klassen for overflate/overflate- forbindelsesgruppen bare en implisitt/implisitt-form. Trekantene 80, 81 og 82 angir at de nedre klasser arver iboende data fra de øvre klasser.
Hvis termiske virkninger skal beregnes, må i tillegg energitransportbereg-ninger utføres. Omforming av energi kan betraktes analogt med omforming av masse. Da energi også kan transporteres ved ledning, kan også ledningsberegninger inngå, hvis så ønskes, særlig fordi forbindelsestyper som ligger inne i reservoaret. For andre forbindelsestyper kan energitransport ved konveksjon domi-nere, og det vil da ikke være praktisk å ta med energilednings-beregninger. Energitransport ved konveksjon vil også vanligvis bli betraktet til å være tilstrekkelig lik massetransport ved konveksjon, og behøver således ikke å bli behandlet separat. Konvektiv energitransport vil kreve separat behandling, og hver av de ni transport-beregningstyper som er angitt i liste ovenfor, vil derfor i prinsipp kunne kreve en energiledningsberegning, men i praksis vil ledningsberegninger normalt bare være påkrevet i reservoaret.
Fremgangsmåten i henhold til foreliggende oppfinnelse kan eventuelt også omfatte beregninger som tar hensyn til kjemiske reaksjoner. I fravær av kjemiske reaksjoner vil massekonservering faktisk bare innebære konservering av kjemiske forbindelser. Når kjemiske reaksjoner forekommer, og idet slike forbindelser kan opprettes og oppløses, innebærer massekonservering da bare bevaring av elementer. Kjemiske reaksjoner kan også generere eller forbruke energi. Innbefat-ning av kjemiske reaksjoner vil ikke forandre fremgangsmåten i henhold til foreliggende oppfinnelse. Deres eneste påvirkning blir da at det legges til nye typer av cellegrupper og forbindelsesgruppen hvilket da lett kunne utføres av fagkyndige på området ut i fra en lære som er gitt ved denne fremstilling.
I den forutgående beskrivelse av denne oppfinnelse er det bare omtalt to objekttyper, nemlig cellegrupper og forbindelsesgrupper. I en annen utførelse av denne oppfinnelse kan én eller flere undermodeller og én eller flere modellobjek-ter også inngå i fremgangsmåten. Et undermodell-objekt inneholder én eller flere cellegruppe-objekter samt null eller flere forbindelsesgruppe-objekter. Enhver forbindelsesgruppe i undermodellen forbinder enten celler innenfor en viss under-modells cellegrupper med andre celler innenfor samme cellegruppe, eller celler i én av undermodellens cellegruppere med celler i en annen av undermodellens cellegrupper. Et modellobjekt inneholder ett eller flere undermodellobjekter samt null eller flere forbindelsesgruppeobjekter, som da hver forbinder en cellegruppe i én av modellens undermodeller med en cellegruppe i en annen av modellens undermodeller. Forbindelsesgrupper som er inne i en undermodell er da ikke synlig for vedkommende modell. Fig. 12 er en forenklet skjematisk fremstilling som angir innholdsforholdene mellom klasser som kalles modell 85, undermodell 86, cellegruppe 87 og forbindelsesgruppe 88. De ruter-formede symboler 89, 90, 91 og 92 angir inneslutning, på den måte som dette uttrykk brukes i objektorientert programmering. I fig. 12 er det vist at en modell 85 kan inneholde én eller flere undermodeller 86. Hvis det finnes bare én undermodell 86, så vil det ikke være noen forbindelsesgruppe 88 som er forbundet direkte med modellen 85. Hvis det foreligger to eller flere undermodeller 86, og det finnes forbindelser mellom dem, så vil modellen 85 inneholder én eller flere forbindelsesgrupper 88. Hver undermodell 86 vil inneholde minst én cellegruppe 87. En undermodell 86 behøver ikke å inneholde noen forbindelsesgruppe 88. Fig. 13A viser et fysisk domene som er oppdelt i fire domener i rommet, nemlig 100,101, 102 og 103. Hvert domene inneholder celle-og forbindelsesdata. Ved formulering av de reservoarsimulerende ligninger, blir tre fundamentale typer beregninger utført, nemlig bare celle, bare forbindelse, og celle-forbindelse-celle. Beregninger for bare celle og bare forbindelse kan utføres hver for seg og selv-stendig og kan utføres i parallell uten informasjonsutveksling. Beregninger av celle-forbindelse-celle langs en grense mellom to domener krever informasjon fra begge disse domener. Trykkforskjell fra én celle til en annen tilsluttet celle er f.eks. en forbindelses-størrelse og kan beregnes som:
Celledata på begge sider av forbindelsen behøves, slik at dette blir en beregning for celle-forbindelse-celle. Forbindelsen er da tildelt en "venstre" og en "høyre" side. Strømning fra venstre mot høyre er da angitt å være positiv. En beregning for celle-forbindelse-celle slik som denne, blir hensiktsmessig utført ved iterering over forbindelsene i en forbindelsesgruppe. Hvis celledata fra den ene side av forbindelsen ikke innholdes i det løpende domene, så må celledata utledes fra et nabodomene.
Omtalen i det forutgående avsnitt antar et k-ortogonalt gitter, da de eneste celler som inngår i beregninger er de to som er innbyrdes forbundet. Hvis en flerpunktsfluks-tilnærmelse anvendes, kan andre naboceller innblandes i beregningen. Forbindelsesgruppen må kjenne til hva disse øvrige naboceller innebærer for hver av sine forbindelser, og må også inneholde annen informasjon. Den utvidelse av foreliggende oppfinnelse som ville være påkrevet for å omfatte denne ytterligere informasjon ville da være kjent av fagkyndige innenfor området i lys av den angitte lære i denne fremstilling. En slik utvidelse ville innføre den mulighet at en forbindelse kunne omfatte mer enn to cellegrupper. Dette innebærer at iste-denfor at det foreligger minst én forbindelsesgruppe for hvert innbyrdes forbundet par av cellegrupper, vil det være minst én flerpunktsfluks tilnærmelses-forbindelsesgruppe for hvert spesielt sett cellegrupper som inngår i en forbindel-sesberegning.
Basert på disse fordringer, kan et domene oppdeles i grupper av celledata og forbindelsesdata. Visse forbindelsesberegninger vil kreve celleinformasjon fra nabodomener. For det eksempel som er angitt i fig. 13A, antas det at det bare foreligger forbindelser mellom domenene 100 og 101, 100 og 102, 101 og 103 samt 102 og 103, men ingen celleforbindelser mellom domenene 100 og 103 samt mellom domenene 102 og 101.
Innenfor et domene, celler og forbindelser oppdelt i distinkte cellegrupper. En cellegruppe består av alle disse celler som inngår i forbindelsesberegningene for et bestemt sett av domener. Domenet 100 kan være oppdelt i fire cellegrupper 100a, 100b, 100c og 100d, slik det er skjematisk vist i fig. 13B. I domenet 100 ut-gjør f.eks. cellegruppe 100a et sett av alle celler som bare har forbindelser til andre celler i domenet 100. Cellegruppe 100b er et sett av alle celler som bare har forbindelse med celler i domenet 101. Cellegruppe 100c er det sett blant alle celler som bare har forbindelser med celler i domenet 102. Cellegruppe 100d er det sett av samtlige celler som bare har forbindelse med domenene 101 og 102. En celle tilhører bare én eneste cellegruppe. Fig. 13C viser skjematisk fire cellegrupper for hver av de fire domener 100, 101, 102 og 103, (cellegruppene 100a, 100b, 100c og 100d for domenet 100; cellegruppene 101a, 101b, 101c, 101dfordome- net 101; cellegruppene 102a, 102b, 102c, 102d for domenet 102; samt cellegrupper 103a, 103b, 103c, 103d for domenet 103). Forbindelsesberegninger i domenet 100 omfatter alle cellegrupper i dette domenet 100 samt visse cellegrupper fra domenene 101 og 102. Slike cellegrupper fra domenet 100 er vist i fig. 13C innenfor den stiplede linje 110.
For forbindelsesberegninger innenfor et domene, blir forbindelsene oppdelt
i sett av forbindelsesgrupper. For hver cellegruppe som er tilordnet et spesielt domene finnes det en tilsvarende forbindelsesgruppe som forbinder celler i denne cellegruppe med andre celler i samme cellegruppe (forutsatt at slike forbindelser foreligger). For domenet 100 er det vist at disse kan angis ved piler 200, 201, 202 og 203, slik som vist i fig. 13D.
Andre forbindelsesgrupper forbinder celler i en viss cellegruppe med celler i en annen cellegruppe, slik som angitt ved piler 204, 205, 206 og 207 i fig. 13E.
Enda ytterligere forbindelsesgrupper forbinder cellegrupper i et visst domene med cellegrupper i et annet domene. Som angitt med piler, vist i fig. 13F, cellegruppene 100b og 100d i domenet 100 forbundet med cellegrupper 101b og 101d i domenet 101, slik som fremstilt ved piler 208 og 209, og cellegrupper 100c og 100d i domenet 100 er forbundet med cellegrupper 102c og 102d i domenet 102, slik som angitt ved hjelp av pilene 211 og 210.
Hele det gitter som representerer domenene i fig. 13A, vil kunne representeres av en modell 85, slik som angitt i fig. 12. Modellen 85 vil kunne inneholde fire undermodeller 86, hvor hver av disse representerer ett av de fire domener 100, 101, 102 og 103. Modellen 85 vil også kunne inneholde åtte forbindelsesgrupper 88, hvorav to forbinder domenet 100 med domenet 101, to forbinder domenet 100 med domenet 102, to forbinder domenet 101 med domenet 103 og to forbinder domenet 102 med domenet 103. Hver undermodell 86 vil kunne inneholde fire cellegrupper. For domenet 100 er disse undergrupper vist i fig. 13B. Celler i gruppe 100a er bare forbundet med andre celler i domenet 100, celler i gruppe 100b er forbundet med celler i domenet 101 så vel som celler i domenet 100, celler i 100c er forbundet med celler i domenet 102 og også med celler i domenet 100, og celler i gruppe 100d er forbundet med celler i domenene 101 og 102 så vel som celler i domenet 100. Cellene i gruppene 100b, 100c og 100d er slike hvis data vil be-høves av domenene 100 og/eller 102. Domenet 100 vil behøve data fra analoge cellegrupper i domenene 101 og 102. Disse er da de skyggelagte cellegrupper i fig. 13F.
Fig. 14 viser en skjematisk fremstilling av maskinvare- og programvareut-styr som kan drives i samsvar med foreliggende oppfinnelse. Dette utstyr omfatter én eller flere beregningsenheter 200 og 201, en fremvisningsterminal 203 og en ikke-flyktig datalagringsinnretning 204. Hver beregningsenhet omfatter to flyktige datalagringsinnretninger 205 og 206, typiske datalager med tilfeldig tilgang (RAM) for å opprette et arbeidslager for det objektorienterte program 207 (som da er in-stallert i begge beregningsenheter 205 og 206), aktive data og mellomresultater, samt én eller flere databehandlingsenheter (CPU-enheter) for å utføre beregninger i forhold til ett eller flere domener. For å anskueliggjøre er bare to beregnings-domener 208 og 209 vist for beregningsenheten 200, mens to beregningsenheter 210 og 211 er vist for beregningsenheten 201.1 fig. 14 er to CPU-enheter 217 og 218 vist å være samordnet med beregningsenheten 200, mens to CPU-enheter 219 og 220 er samordnet med beregningsenheten 201. Beregningsenhetene 200 og 201 kan være en større datamaskin, en minidatamaskin, en arbeidsstasjon eller en personlig datamaskin. Når mer enn én beregningsenhet anvendes i samsvar med foreliggende oppfinnelse, blir disse beregningsenhetene innbyrdes forbundet ved hjelp av høyhastighets-forbindelser, som da i fig. 14 er symbolsk angitt ved forbindelsen med henvisningstall 225. Den ikke flyktige datalagringsinnretning 204 anvendes for permanent lagring av det objektorienterte program 207 samt data. Dette lager vil normalt omfatte en lagringsinnretning med direkte tilgang (DASD), og den kan omfatte et registreringsbånd-driwerk, et drivverk for slettbar optisk andre velkjente innretninger. Fremvisningsterminalen 203 kan omfatte en skjerm eller annen fremvisningsenhet samt et tastatur.
Foreliggende oppfinnelse kan iverksettes i programvare eller i en kombinasjon av programvare og maskinvare. Når den er implementert helt eller delvis i programvare, kan oppfinnelsen ligge i, permanent eller midlertidig, et hvilket som helst hukommelses- eller lagringsmedium, innbefattet, men ikke begrenset til RAM, leselager (ROM), én eller flere plater, en anvendelsesspesifikk integrert krets (ASIC), en programmerbar lesehukommelse (PROM), eller lignende.
Prinsippet for oppfinnelsen og den antatt beste utførelsesmodus for utøv-else av dette prinsipp er blitt beskrevet. Det vil være åpenbart for fagkyndige på området at forskjellige forandringer kan gjøres på de utførelser som er beskrevet ovenfor uten at man derfor avviker fra oppfinnelsens omfangsramme og idéinn-hold, slik disse fremgår av de følgende patentkrav. Det bør derfor forstås at denne oppfinnelse på ingen måte er begrenset til de spesifikke detaljer som er vist og beskrevet.

Claims (7)

1. Fremgangsmåte for å simulere fluidstrømning og fluidtransport for minst ett fluid i et hydrokarbon-holdig system ved bruk av et objektorientert program, idet fremgangsmåten erkarakterisert ved: a) utvikling av klasser av simuleringsobjekter, hvor disse klasser av simuleringsobjekter omfatter cellegruppeobjekter og forbindelsesgruppeobjekter, idet cellegruppeobjektet omfatter en eller flere celler, der hver av cellene omfatter en celletype bestemt av minst tre karakteristikker som omfatter dens fysiske type, dens beregningsmetode og dens fluidkomponenter, idet forbindelsesgruppeobjektene omfatter forbindelser fra en celle i ett cellegruppeobjekt til en annen celle i det samme cellegruppeobjektet eller fra en celle i ett cellegruppeobjekt til en celle i et annet cellegruppeobjekt; og b) kjøring av det objektorienterte programmet på en datamaskin for å bestemme egenskapen ved minst ett fluid innenfor det hydrokarbon-holdige området som en funksjon av tiden.
2. Fremgangsmåte som angitt i krav 1,karakterisert vedat det fysiske område omfatter fluidholdige enheter som har sammenheng med produksjon av hydrokarboner fra en underjordisk hydrokarbonholdig formasjon.
3. Fremgangsmåte som angitt i krav 1,karakterisert vedat det fysiske område representeres ved et enkelt modellobjekt.
4. Fremgangsmåte som angitt i krav 1,karakterisert vedat alle celler i en cellegruppe har felles karakteriserende egenskaper.
5. Fremgangsmåte som angitt i krav 1,karakterisert vedat alle transportfenomener for alle forbindelser i en forbindelsesgruppe behandles som om de var ett og samme fenomen.
6. Fremgangsmåte som angitt i krav 1,karakterisert vedat cellene er celler i et ustrukturert gitter.
7. Fremgangsmåte som angitt i krav 1,karakterisert vedat cellene blant de mange celler alle tilhører bare ett eneste cellegruppeobjekt.
NO20022594A 1999-12-03 2002-05-31 Fremgangsmate og program for simulering av et fysisk system ved a benytte objektorientert programmering NO331284B1 (no)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16888799P 1999-12-03 1999-12-03
PCT/US2000/031986 WO2001040937A1 (en) 1999-12-03 2000-11-21 Method and program for simulating a physical system using object-oriented programming

Publications (3)

Publication Number Publication Date
NO20022594D0 NO20022594D0 (no) 2002-05-31
NO20022594L NO20022594L (no) 2002-07-19
NO331284B1 true NO331284B1 (no) 2011-11-14

Family

ID=22613366

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20022594A NO331284B1 (no) 1999-12-03 2002-05-31 Fremgangsmate og program for simulering av et fysisk system ved a benytte objektorientert programmering

Country Status (10)

Country Link
US (1) US6928399B1 (no)
EP (1) EP1247178A4 (no)
CN (1) CN1415090A (no)
AU (1) AU773993B2 (no)
BR (1) BR0015930A (no)
CA (1) CA2392063C (no)
EA (1) EA004190B1 (no)
MX (1) MXPA02005410A (no)
NO (1) NO331284B1 (no)
WO (1) WO2001040937A1 (no)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7369973B2 (en) * 2000-06-29 2008-05-06 Object Reservoir, Inc. Method and system for representing reservoir systems
US7761270B2 (en) * 2000-12-29 2010-07-20 Exxonmobil Upstream Research Co. Computer system and method having a facility management logic architecture
US7277836B2 (en) * 2000-12-29 2007-10-02 Exxonmobil Upstream Research Company Computer system and method having a facility network architecture
WO2002057901A1 (en) * 2001-01-17 2002-07-25 Exxonmobil Upstream Research Company Simulation method and system using component-phase transformations
JP3532528B2 (ja) * 2001-02-26 2004-05-31 住友ゴム工業株式会社 気体流シミュレーション方法
DE60207549D1 (de) 2001-04-24 2005-12-29 Exxonmobil Upstream Res Co Verfahren zur verbesserung von produktionszuweisung in einem integrierten reservoir und oberflächenströmungssystem
US7359841B1 (en) * 2001-06-21 2008-04-15 Hixon Technologies, Ltd. Method and system for the efficient calculation of unsteady processes on arbitrary space-time domains
US7283941B2 (en) * 2001-11-13 2007-10-16 Swanson Consulting Services, Inc. Computer system and method for modeling fluid depletion
CA2506883C (en) * 2002-11-23 2013-11-19 Schlumberger Technology Corporation Method and system for integrated reservoir and surface facility networks simulations
US20040111246A1 (en) * 2002-12-09 2004-06-10 Morgan Williams Fluid flow modeling system with device interchanging capability
US7096122B2 (en) * 2003-07-22 2006-08-22 Dianli Han Method for producing full field radial grid for hydrocarbon reservoir simulation
FR2858444B1 (fr) * 2003-07-29 2005-09-09 Inst Francais Du Petrole Methode pour modeliser les transferts compositionnels et/ou polyphasiques entre la matrice poreuse et les fractures d'un milieu poreux multicouches
WO2005033739A2 (en) 2003-09-30 2005-04-14 Exxonmobil Upstream Research Company Corp-Urc-Sw348 Characterizing connectivity in reservoir models using paths of least resistance
NL1024444C2 (nl) * 2003-10-03 2005-04-08 J O A Beheer B V Werkwijze, inrichting, computerprogramma en gegevensdrager voor het met een digitale verwerkingseenheid modelleren van een meerdimensionale heterogene structuur.
FR2869116B1 (fr) * 2004-04-14 2006-06-09 Inst Francais Du Petrole Methode pour construire un modele geomecanique d'une zone souterraine destine a etre couple a un modele de reservoir
WO2005121840A1 (en) * 2004-06-07 2005-12-22 Exxonmobil Upstream Research Company Method for solving implicit reservoir simulation matrix equation
US20080167849A1 (en) * 2004-06-07 2008-07-10 Brigham Young University Reservoir Simulation
US7526418B2 (en) * 2004-08-12 2009-04-28 Saudi Arabian Oil Company Highly-parallel, implicit compositional reservoir simulator for multi-million-cell models
FR2875305B1 (fr) * 2004-09-16 2006-10-27 Inst Francais Du Petrole Methode pour generer un modele de reservoir sur maillage flexible
AU2005309398B2 (en) * 2004-11-29 2012-01-12 Chevron U.S.A. Inc. Method, system and program storage device for simulating fluid flow in a physical system using a dynamic composition based extensible object-oriented architecture
US7596480B2 (en) * 2005-04-14 2009-09-29 Saudi Arabian Oil Company Solution method and apparatus for large-scale simulation of layered formations
US7516056B2 (en) * 2005-04-26 2009-04-07 Schlumberger Technology Corporation Apparatus, method and system for improved reservoir simulation using a multiplicative overlapping Schwarz preconditioning for adaptive implicit linear systems
FR2886742B1 (fr) * 2005-06-02 2007-07-27 Inst Francais Du Petrole Methode de changement d'echelle des permeabilites absolues pour construire un modele de simulation d'ecoulement
AU2006259275B2 (en) * 2005-06-14 2010-03-18 Chevron U.S.A. Inc. Apparatus, method and system for improved reservoir simulation using an algebraic cascading class linear solver
RU2008102937A (ru) * 2005-06-28 2009-08-10 Эксонмобил Апстрим Рисерч Компани (Us) Графический язык программирования высокого уровня и инструментальное средство для программирования управления скважинами
CN101405736B (zh) * 2005-10-06 2012-02-22 普拉德研究及开发有限公司 用于数字黑油劈分的方法、系统和设备
WO2007079238A2 (en) * 2005-12-30 2007-07-12 Saudi Arabian Oil Company Computational method for sizing three-phase separators
WO2007134598A1 (en) * 2006-05-24 2007-11-29 Maersk Olie & Gas A/S Flow simulation in a well or pipe
CN101501700B (zh) * 2006-08-14 2014-06-18 埃克森美孚上游研究公司 强化的多点流量近似法
US7877246B2 (en) 2006-09-22 2011-01-25 Schlumberger Technology Corporation System and method for performing oilfield simulation operations
US8711146B1 (en) * 2006-11-29 2014-04-29 Carnegie Mellon University Method and apparatuses for solving weighted planar graphs
US8073663B2 (en) * 2007-04-20 2011-12-06 The Permedia Research Group Inc. Method and system for modelling petroleum migration
US7932904B2 (en) * 2007-06-01 2011-04-26 Branets Larisa V Generation of constrained voronoi grid in a plane
EP2247820A4 (en) * 2007-12-13 2016-02-24 Exxonmobil Upstream Res Co PARALLEL ADAPTIVE DATA DISTRIBUTION IN A STORAGE SIMULATION USING AN UN-STRUCTURED GRID
EP2096469A1 (en) * 2008-02-29 2009-09-02 ExxonMobil Upstream Research Company Parallel adaptive data partitioning on a reservoir simulation using an unstructured grid
US8190414B2 (en) * 2008-03-26 2012-05-29 Exxonmobil Upstream Research Company Modeling of hydrocarbon reservoirs containing subsurface features
US8255195B2 (en) * 2008-09-18 2012-08-28 Geoscape Analytics, Inc N-phasic element method for calculating a fully coupled response of multiphase compositional fluid flow and a system for uncertainty estimation
US10590762B2 (en) 2008-09-18 2020-03-17 Geoscale, Inc. N-phasic finite element method for calculating a fully coupled response of multiphase compositional fluid flow and a system for uncertainty estimation of the calculated reservoir response
WO2010039326A1 (en) * 2008-09-30 2010-04-08 Exxonmobil Upstream Research Company Self-adapting iterative solver
US20100082724A1 (en) * 2008-09-30 2010-04-01 Oleg Diyankov Method For Solving Reservoir Simulation Matrix Equation Using Parallel Multi-Level Incomplete Factorizations
EP2359305A4 (en) * 2008-11-20 2017-05-10 Exxonmobil Upstream Research Company Sand and fluid production and injection modeling methods
US8165856B1 (en) * 2009-05-01 2012-04-24 Livermore Software Technology Corporation Neighborhood determination methods and systems in computer aided engineering analysis
US8463586B2 (en) 2010-06-22 2013-06-11 Saudi Arabian Oil Company Machine, program product, and computer-implemented method to simulate reservoirs as 2.5D unstructured grids
US8682628B2 (en) * 2010-06-24 2014-03-25 Schlumberger Technology Corporation Multiphase flow in a wellbore and connected hydraulic fracture
US9390204B2 (en) 2010-06-24 2016-07-12 Schlumberger Technology Corporation Multisegment fractures
EP2588952A4 (en) 2010-06-29 2017-10-04 Exxonmobil Upstream Research Company Method and system for parallel simulation models
WO2012018428A1 (en) * 2010-08-04 2012-02-09 Exxonmobil Upstream Research Company System and method for summarizing data on an unstructured grid
US8433551B2 (en) * 2010-11-29 2013-04-30 Saudi Arabian Oil Company Machine, computer program product and method to carry out parallel reservoir simulation
US8386227B2 (en) 2010-09-07 2013-02-26 Saudi Arabian Oil Company Machine, computer program product and method to generate unstructured grids and carry out parallel reservoir simulation
US20120084110A1 (en) * 2010-10-05 2012-04-05 M3 Technology, Inc. System and method for smart oil, gas and chemical process scheduling
GB2503578A (en) 2010-12-13 2014-01-01 Chevron Usa Method and system for coupling reservoir and surface facility simulations
US9922142B2 (en) 2010-12-30 2018-03-20 Exxonmobil Upstream Research Company Systems and methods for subsurface reservoir simulation
US9026420B2 (en) * 2011-01-13 2015-05-05 Landmark Graphics Corporation Method and system of updating a geocellular model
US9051825B2 (en) * 2011-01-26 2015-06-09 Schlumberger Technology Corporation Visualizing fluid flow in subsurface reservoirs
US8903694B2 (en) 2011-02-24 2014-12-02 Chevron U.S.A. Inc. System and method for performing reservoir simulation using preconditioning
US9002686B2 (en) * 2011-03-08 2015-04-07 Honeywell International Inc. System and method for simulating operation of substructures of a chemical processing plant
US8731891B2 (en) 2011-07-28 2014-05-20 Saudi Arabian Oil Company Cluster 3D petrophysical uncertainty modeling
FR2981475B1 (fr) * 2011-10-12 2013-11-01 IFP Energies Nouvelles Methode pour construire un maillage d'un reservoir fracture avec un nombre limite de noeuds dans le milieu matrice
FR2994313B1 (fr) * 2012-08-06 2014-08-29 Total Sa Procede d'assistance a la modelisation geologique par regroupements de mailles
US10240436B2 (en) * 2012-09-20 2019-03-26 Schlumberger Technology Corporation Method of treating subterranean formation
US10012055B2 (en) * 2013-01-24 2018-07-03 Schlumberger Technology Corporation Analysis of surface networks for fluids
US9416642B2 (en) 2013-02-01 2016-08-16 Halliburton Energy Services, Inc. Modeling subterranean rock blocks in an injection treatment simulation
AU2014265383A1 (en) * 2013-05-16 2015-11-19 Exa Corporation Mass exchange model for relative permeability simulation
US9239407B2 (en) 2013-08-27 2016-01-19 Halliburton Energy Services, Inc. Injection treatment simulation using condensation
CA2920506C (en) * 2013-09-05 2023-08-22 Schlumberger Canada Limited Integrated oilfield asset modeling using multiple resolutions of reservoir detail
US10209402B2 (en) * 2013-12-10 2019-02-19 Schlumberger Technology Corporation Grid cell pinchout for reservoir simulation
WO2015142931A1 (en) * 2014-03-18 2015-09-24 Crouse Bernd Fluid blob tracking for evaluation of multiphase flow simulations
CA2947414C (en) * 2014-05-28 2018-11-06 Exxonmobil Upstream Research Company Method of forming directionally controlled wormholes in a subterranean formation
US10311173B2 (en) * 2014-10-03 2019-06-04 Schlumberger Technology Corporation Multiphase flow simulator sub-modeling
US20160202389A1 (en) * 2015-01-12 2016-07-14 Schlumberger Technology Corporation H-matrix preconditioner
AU2018212812A1 (en) 2017-01-26 2019-08-15 Dassault Systemes Simulia Corp. Multi-phase flow visualizations based on fluid occupation time
US11714040B2 (en) 2018-01-10 2023-08-01 Dassault Systemes Simulia Corp. Determining fluid flow characteristics of porous mediums
US11530598B2 (en) 2018-08-21 2022-12-20 Dassault Systemes Simulia Corp. Determination of oil removed by gas via miscible displacement in reservoir rock
US11613984B2 (en) 2019-09-04 2023-03-28 Dassault Systemes Simulia Corp. Determination of hydrocarbon mobilization potential for enhanced oil recovery
US11847391B2 (en) 2020-06-29 2023-12-19 Dassault Systemes Simulia Corp. Computer system for simulating physical processes using surface algorithm
CN112241260B (zh) * 2020-10-22 2022-04-26 宁波和利时智能科技有限公司 一种离散型行业物理实体的建模方法及系统
US11907625B2 (en) 2020-12-29 2024-02-20 Dassault Systemes Americas Corp. Computer simulation of multi-phase and multi-component fluid flows including physics of under-resolved porous structures
WO2023237900A1 (en) * 2022-06-10 2023-12-14 Totalenergies Onetech Method and system for simulating fluid flows in a reservoir geological formation by using skeletons

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4210964A (en) 1978-01-17 1980-07-01 Shell Oil Company Dynamic visual display of reservoir simulator results
US5684723A (en) 1987-11-16 1997-11-04 Fujitsu Limited Device simulation method and device simulator
US5202981A (en) 1989-10-23 1993-04-13 International Business Machines Corporation Process and apparatus for manipulating a boundless data stream in an object oriented programming system
US5307445A (en) 1991-12-02 1994-04-26 International Business Machines Corporation Query optimization by type lattices in object-oriented logic programs and deductive databases
US5794005A (en) 1992-01-21 1998-08-11 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Synchronous parallel emulation and discrete event simulation system with self-contained simulation objects and active event objects
US5361385A (en) 1992-08-26 1994-11-01 Reuven Bakalash Parallel computing system for volumetric modeling, data processing and visualization
US5913051A (en) 1992-10-09 1999-06-15 Texas Instruments Incorporated Method of simultaneous simulation of a complex system comprised of objects having structure state and parameter information
WO1995003586A1 (en) 1993-07-21 1995-02-02 Persistence Software, Inc. Method and apparatus for generation of code for mapping relational data to objects
US5428744A (en) 1993-08-30 1995-06-27 Taligent, Inc. Object-oriented system for building a graphic image on a display
US5914891A (en) 1995-01-20 1999-06-22 Board Of Trustees, The Leland Stanford Junior University System and method for simulating operation of biochemical systems
US5710726A (en) 1995-10-10 1998-01-20 Atlantic Richfield Company Semi-compositional simulation of hydrocarbon reservoirs
US5875285A (en) 1996-11-22 1999-02-23 Chang; Hou-Mei Henry Object-oriented data mining and decision making system
US6128577A (en) 1996-12-19 2000-10-03 Schlumberger Technology Corporation Modeling geological structures and properties
US5905657A (en) * 1996-12-19 1999-05-18 Schlumberger Technology Corporation Performing geoscience interpretation with simulated data
US6052650A (en) 1997-02-27 2000-04-18 Schlumberger Technology Corporation Enforcing consistency in geoscience models
US6018497A (en) * 1997-02-27 2000-01-25 Geoquest Method and apparatus for generating more accurate earth formation grid cell property information for use by a simulator to display more accurate simulation results of the formation near a wellbore
US5923867A (en) 1997-07-31 1999-07-13 Adaptec, Inc. Object oriented simulation modeling
US5953239A (en) 1997-12-29 1999-09-14 Exa Corporation Computer simulation of physical processes
US6052520A (en) 1998-02-10 2000-04-18 Exxon Production Research Company Process for predicting behavior of a subterranean formation
EP1070267B1 (en) 1998-04-09 2005-12-28 Schlumberger Technology Corporation Enforcing consistency in geoscience models
US6662146B1 (en) * 1998-11-25 2003-12-09 Landmark Graphics Corporation Methods for performing reservoir simulation
US6108608A (en) 1998-12-18 2000-08-22 Exxonmobil Upstream Research Company Method of estimating properties of a multi-component fluid using pseudocomponents
US6373489B1 (en) * 1999-01-12 2002-04-16 Schlumberger Technology Corporation Scalable visualization for interactive geometry modeling

Also Published As

Publication number Publication date
BR0015930A (pt) 2002-08-06
EP1247178A1 (en) 2002-10-09
EA200200624A1 (ru) 2002-12-26
US6928399B1 (en) 2005-08-09
NO20022594D0 (no) 2002-05-31
EA004190B1 (ru) 2004-02-26
CN1415090A (zh) 2003-04-30
AU773993B2 (en) 2004-06-10
AU2045201A (en) 2001-06-12
MXPA02005410A (es) 2002-11-29
EP1247178A4 (en) 2004-07-21
WO2001040937A9 (en) 2002-08-15
CA2392063A1 (en) 2001-06-07
CA2392063C (en) 2011-08-09
WO2001040937A1 (en) 2001-06-07
NO20022594L (no) 2002-07-19

Similar Documents

Publication Publication Date Title
NO331284B1 (no) Fremgangsmate og program for simulering av et fysisk system ved a benytte objektorientert programmering
US8433551B2 (en) Machine, computer program product and method to carry out parallel reservoir simulation
Jiang Techniques for modeling complex reservoirs and advanced wells
US8386227B2 (en) Machine, computer program product and method to generate unstructured grids and carry out parallel reservoir simulation
US7761270B2 (en) Computer system and method having a facility management logic architecture
US7277836B2 (en) Computer system and method having a facility network architecture
NO339000B1 (no) Framgangsmåte og datasystem for simulering av lagdelte grunnformasjoner
EP2614460B1 (en) Machine, computer program product and method to generate unstructured grids and carry out parallel reservoir simulation
Yan et al. An enhanced discrete fracture network model for multiphase flow in fractured reservoirs
Burnell et al. Geothermal supermodels: the next generation of integrated geophysical, chemical and flow simulation modelling tools
Batista Fernandes Development of adaptive implicit chemical and compositional reservoir simulators
Zheng et al. Calculating the internodal transmissibilities using finite analytic method and its application for multi‐phase flow in heterogeneous porous media
Fang et al. A discrete modeling framework for reservoirs with complex fractured media: theory, validation and case studies
Afanasyev Reservoir simulation with the MUFITS code: extension for horizontal wells and fractured reservoirs
Gao et al. Reduced-Order Modeling for Subsurface Flow Simulation in Fractured Reservoirs
Pei Coupled geomechanics and multiphase flow modeling in naturally and hydraulically fractured reservoirs
Lie The Matlab reservoir simulation toolbox (MRST)
Luo et al. Application of Multi-level and High-Resolution Discrete Fracture Modeling Based on Unstructured Grid in Fractured Reservoir Simulation Study
Marefat et al. Preserving vorticity improves the accuracy of multiscale solvers
Zhong et al. A parallel thermal reservoir simulator on distributed-memory supercomputers
Farias Comparison of structured and unstructured formulations for compositional reservoir simulation
Les Landes et al. Geothermal Modeling in Complex Geological Systems with
Fang et al. Simulation of Densely Fractured Tight Oil Reservoirs Using a New Simulator with Automatic Differentiation
Chen Simulation of multi-phase and multi-physical coupled process in fractured rocks: Application in geothermal development
Dong et al. Development of an Algorithm of Dynamic Gridding for Multiphase Flow Calculation in Wells

Legal Events

Date Code Title Description
MM1K Lapsed by not paying the annual fees