Uputa za konstrukciju simulacije s PARSSIMom

Zadaci (simulacije)

  1. Ponoviti 2D simulacije iz članka R.W. Lewis, I. Masters, I. Rees: Coupled and uncoupled contaminant transport using advanced finite volume methods. Sve podatke treba uzeti iz članka te ih, eventualno, prilagoditi za upotrebu s parssimom.
  2. Napraviti 3D simulaciju u kojoj postoje dvije bušotine: Jedna injektira transportiranu komponentu, a druga crpi fluid s konstantnim tlakom na dnu. Domena [0,1000]x[0,1250]x[0,40] (metara). Položaj bušotina smjestiti na udaljenost od optprilike 400 m. Sve granice neka su nepropusne osim donje koja je na konstantnom tlaku od, npr. 80 bara. Fluid u domeni je nafta, a komponenta koja se injektira je ugljični dioksid (CO2). Glavni efekt je ovdje smanjenje viskoznosti usljed miješanja s CO2. Sorpcija nije prisutna. Realistične vrijednosti za fluide nađite na internetu.
  3. Napraviti 3D simulaciju u kojoj transportirana komponenta ulazi u domenu s gornje strane, dok u smjeru osi x djeluje konstantni pad tlaka, ostali dijelovi granice su nepropusni. Potrebno je pratiti transport komponente obzirom na odabranu difuzivnost i jačinu adsorpcije. Domena [0,1000]x[0,1250]x[0,40] (metara). Fluid je voda a transportirana komponenta može biti bilo što s gustoćom mase i viskoznošću red veličine manjim od onog vode. Difuzivnost/disperzivnost i (linearnu) adsorpciju treba varirati i promatrati djelovanje na brzinu i doseg širenja komponente. Komponenta treba ulaziti u domenu samo na jednom manjem dijelu gornje granice domene.

Napomene o simulacijama

Cilj zadatka je napraviti dobu simulaciju što uključuje sljedeće:

Simulacije 2 i 3 treba raditi u dvije verzije: jednu s homogenom poroznošću i propusnošću, a drugu s nehomogenim podacima. Za homogene podatke se može uzeti, na primjer, poroznost = 0.2, a propusnost = 20 mD. Propusnost će tu biti skalarna. Za nehomogene podatke odabrati jednu kartu iz kolekcije od 50 karata u direktoriju geostat (npr. run23.asc). Karta sadrži samo horizontalne permeabilnosti iz koje se generira permeabilnost i poroznost kako je objašnjeno u datoteci upute.html. Program make_porosity.C (C++) čita jednu zadanu sliku iz geostat direktorija i kreira datoteke s poroznosti i permeabilnosti koje treba uključiti u parssimovu ulaznu datoteku pomoću INCLUDE naredbe. Program treba kompilirati s C++ compilerom i pozvati, npr., na ovaj način: make_porosity run23.asc (pod uvjetom da se izvršna datoteka zove make_porosity).

Transformacija izlaznih podataka.

Napomene o konstrukciji ulazne datoteke za PARSSIM

Ovdje su upute kako konstruirati ulazni file za parssim po pojedinim sekcijama.

GENERAL INFO

computeChemistry treba uvijek staviti na nulu (bez kemijskih reakcija). computeTransport treba staviti na 2 (Godunovljeva reda višeg reda) ili 3 (Godunovljeva metoda prvog reda). Metoda prvog reda je robusnija, dok je metoda višeg reda preciznija.

Za jedinice koristiti [m], [kg], [sec], [degC]. O izabranim jedinicama ovisi u kojim će jedinicama biti zadani izlazni podaci. Program za konverziju izlaznih podataka u VTK format, raw2vtk.C, pretpostavlja MKS sustav i vrši skaliranje podataka.

SOLUTION PARAMETERS

Koristiti automatsku subdiviziju za paralelizaciju (-1 -1 -1) budući da se program koristi serijski.

Toleranciju za solvere uzeti dovoljno malom (npr. 1.0E-8). Eksperimentalno se uvjeriti da rješenje ne ovisi o daljnjem smanjenju tolerancije.

Broj iteracija se može slobodno povećati.

Prekondicioniranje: Pri rješavanju sustava linearnih algebarskih jednadžbi Ax=b iterativnim metodama često se radi prekondicioniranje koje se sastoji u tome da se prije primjene iterativnog postupka na sustav primjeni neka matrica prekondicioniranja P-1, odnosno riješava se sustav P-1Ax=P-1b. Cilj tog postupka je ubrzavanje konvergencije metode. Najjednostavnije prekondicioniranje je dijagonalom matrice (P = diag(A)) što se svodi na skaliranje sustava.

Za pcTypeIF_f treba koristiti 5 (ignorirati poruku "Balance matrix is structurally singular") ili eventualno 1 (dijagonalno prekondicioniranje).

Workspace povećati koliko je potrebno.

cflFactor: U prostornoj diskretitaciji jednadžbe konvekcije difuzije odnos prostornog koraka dx i vremenskog dt oblika dt/dx <= CFL . CFL broj je može postaviti eksplicitno, ali je bolje pustiti parssim da ga postavi automatski (cflFactor = -1).

TIME

Vrijeme simulacije treba biti dovoljno dugo da se vide fenomeni konvekcije-difuzije. Recimo, od jedne do 20 godina.

GRID

Osnovna numerička mreža je dimenzije 20x25x20 blokova. Domena je [0,1000]x[0,1250]x[0,40] (metara). Numeričku mrežu treba profiniti jednom polovljenjem blokova u horizontalnim smjerovima kako bi se provjerili utjecaji grešaka zaokruživanja. Pri tome (u nehomogenom slučaju) treba dobro raspodijeliti poroznost i propusnost po profinjenim blokovima.

MATERIAL PROPERTIES

Nehomogenu poroznost uključiti iz datoteke. Prije toga testirati simulaciju na konstantnoj poroznoosti. Isto i za permeabilnost.

Za permeabilnost iskoristiti jednu kartu iz geostat direktorija. Pomoću program make_porosity.C (vidi geostat direktorij) generirati poroznost korelacijom iz permeabilnosti i transformirati permeabilnost u formu prikladnu za parssim. Za tako generiranu permeabilnost koristiti

     diagonal    # permType: scalar, diagonal, or symmetric
     by cells  # permGrouping: Group by grid cells or by tensor components
     xx yy zz       # permComponentOrder: Order of tensor's components

Kod disperzije uzeti približne (arificijelne) vrijednosti: molekularna difuzivnost = 1 cm^2/dan, longitudinalna disperzivnost 10 cm, transferzalna difuzivnost = 1cm. Disperzivnosti će trebati varirati tako da se vidi njihov utjecaj.

Odabrati linearnu sorpciju i opciju porosity.

PHASE PROPERTIES

CHEMISTRY

Tu sekciju ne koristimo.

CHEMICAL SPECIES

Imamo dvije komponente i nemamo produkata. Prva komponenta je voda i za nju nema sorpcije (phaseDist = 0).

MISCIBLE DISPLACEMENT

RADIONUCLIDE DECAY

SPECIALIZED REACTIONS

INITIAL CONDITIONS

BOUNDARY CONDITIONS

WELLS

LEAKS

OUTPUT


Last Modified: Svibanj 24, 2009

jurak@math.hr