• No results found

Uvedená síť modelu melechovské oblasti, viz. Obrázek 4, je využita jako vstupní data programu Flow123D.

V rámci zprávy [20] byly na síti realizovány testovací výpočty pro ověření použitelnosti sítě a modelu a odstranění případných chyb či nesrovnalostí.

3.4.1 Fyzikální vlastnosti prostředí

Při vytváření jednotlivých entit pro přiřazení fyzikálních vlastností prostředí (hydraulické vodivosti) bylo rozlišeno:

• o jakou geologickou oblast se jedná (porézní masiv nebo zlomová zóna),

• o jakou horninu se jedná (granit melechovského typu, granit koutského typu, granit typu Lipnice, pararuly),

• změna hydraulické vodivosti jednotlivých geologických struktur s hloubkou (v diskrétních hloubkových úrovních do 75, 150, 400, 600, 800, 800 a více metrů). [13]

3.4.2 Okrajové podmínky proudění

Okrajové podmínky a hydraulické vodivosti v jednotlivých částech simulovaného masivu byly zadávány tak, aby:

• piezometrická výška v horní vrstvě modelované oblasti vyjadřovala úroveň hladiny podzemních vod sledující přibližně povrch oblasti,

• bylo dosaženo zhruba 1 % infiltrace vody do hlubšího oběhu z celkového srážkového úhrnu.

Pro zadávání okrajové podmínky byly rozlišeny tři základní části okrajových stěn simulované oblasti:

• okrajové stěny tvořící horní okraj (povrch simulované oblasti), Dirichletova okrajová podmínka,

• okrajové stěny tvořící dolní okraj, Newtonova okrajová podmínka,

• okrajové stěny tvořící boční okraje celé oblasti, Newtonova okrajová podmínka. [13]

3.4.3 Okrajové podmínky transportu

Zdroj kontaminace pro výpočet transportní úlohy je v modelu realizován okrajovou podmínkou transportu. Pro řešení konkrétní varianty transportu byl vybrán element v požadovaném místě zdrojového členu, tento element byl ze sítě následně odebrán. Nenulová koncentrace byla zadávána na okrajových stěnách odstraněného elementu, v jehož místě byl lokalizován zdrojový člen. Zadávaná koncentrace na příslušných stěnách je 1 000 000. Tento údaj představuje hodnotu v ppm koncentrace

23 zdroje kontaminantu v místě průniku do geosféry. Vypočtené hodnoty koncentrace v jednotlivých místech sítě představují milióntinu maximální koncentrace na stěnách elementu. [17, 19]

3.4.4 Počáteční podmínky transportu

V celé oblasti je uvažováno o nulové počáteční koncentraci kontaminující látky. [13]

3.4.5 Zdroj kontaminace

Z vygenerované výpočetní sítě hlubinného úložiště melechovského masivu dle kapitoly 3.4 byl vybrán jeden element, který představuje zdroj kontaminace radioaktivního odpadu. Tento element byl následně ze sítě vyjmut.

Pro modelování proudění a transportu kontaminace byl zvolen zdrojový element č. 19 817, jenž má souřadnice vrcholů v metrech [5961, 4351, -357]; [5989, 4351, -89];

[5997, 4615, -35]; [6148, 4350, -89]. Pro zdrojový člen (hlubinné úložiště) bylo vybráno umístění v centrální části simulovaného masivu, a to v přibližné hloubce -150 m nad mořem. Úložiště je koncipováno v hornině s číselným označením 9617.

Element se vyskytuje v blízkosti pukliny.

Jako počáteční velikost zdrojového členu byla zvolena koncentrace 1 000 000.

Tato koncentrace představuje množství koncentrace zdrojového členu v jednotkách ppm a lze tedy zjistit skutečnou koncentraci na kterémkoliv elementu v síti. [17]

3.4.6 Nastavení programu Flow123D pro generování

Celkem proběhlo 20 sad výpočtů na sledované oblasti hlubinného úložiště radioaktivního odpadu v melechovském masivu. Při každém z těchto sad program Flow123D vygeneroval 50 výstupních souborů. Každé měření proběhlo s rozdílně nastavenými materiálovými konstantami. Jako hlavní vygenerovaný výstupní soubor pro další zpracování slouží soubor „mm_t.pos“. Celkem bylo vygenerováno 1 000 souborů (20 měření, pro každé 50 výstupních souborů).

Simulační čas všech simulací, které byly provedeny, byl stanoven na 50 000 let s rozmezím 5 000 let. Software Flow123D zapisuje výsledky kontaminace látky na všech elementech v úloze transportu každých simulačních 5 000 let. Počet kroků, které jsou nutné pro výpočet, si program Flow123D stanovuje sám dle zadaných vstupních parametrů.

V souboru „mm_t.pos“ jsou uloženy všechny elementy sledované oblasti hlubinného úložiště. Elementy jsou očíslovány od 0 do 37069.

3.5 Generování výstupních souborů

Všechny výstupní soubory z programu Flow123D pro sledovanou hypotetickou oblast hlubinného úložiště radioaktivních látek v melechovského masivu byly generované na výpočetním clusteru Hydra. Cluster primárně slouží Technické univerzitě v Liberci pro velké a náročné výpočty, jež by na dnešních stolních PC trvaly neúměrně dlouho. Celková výpočetní kapacita clusteru činí 78 jader (46 CPU) [8].

Cluster byl zvolen z důvodu urychlení generování výstupních souborů z programu Flow123D.

3.5.1 Úprava výstupních souborů z Flow123D

Jak již je patrné z názvu diplomové práce, není jejím účelem zabývat se všemi elementy, které jsou v oblasti hlubinného úložiště, ale pouze elementy, jež se vyskytují na povrchu sledované oblasti. Z tohoto důvodu byl vytvořen seznam elementů, které jsou na povrchu oblasti. Tento seznam je uložen v příloze A. Nepovrchové elementy nebudou využity pro bezpečnostní analýzu, protože leží hluboko pod povrchem a neovlivňují život lidí žijících na povrchu ani životní prostředí.

Dle seznamu elementů sousedících s povrchem byly všechny výstupní soubory

„mm_t.pos“ z programu Flow123D následně upraveny jednoúčelovým programem pro úpravu souborů. Tento program vznikl v rámci ročníkového projektu, jehož popis lze nalézt v [13].

Tento program načte vygenerované soubory „mm_t.pos“, které obsahují seznam všech elementů a jejich koncentrací. Následně z těchto souborů vybere pouze elementy, které jsou uloženy v předem definovaném textovém seznamu vybíraných elementů.

Po dokončení zpracování je vytvořen nový soubor, jenž je pojmenován

„mm_t.pos_new.txt“. Soubor obsahuje již pouze povrchové elementy a jejich koncentrace, viz. Obrázek 5.

25 Obrázek 5: Ukázka struktury dat v souboru „mm_t.pos_new.txt“

4 Tvorba software

Před tvorbou samotných aplikací, bylo nutné nejprve zvolit programovací jazyk, ve kterém budou aplikace naprogramovány.

K tomuto účelu byl vybrán objektový programovací jazyk Delphi (Object Pascal), a to jak z důvodu praktické znalosti programovacího prostředí tak i kódu jazyka Object Pascal.

Delphi je integrované grafické vývojové prostředí firmy Borland určené pro tvorbu aplikací na platformě MS Windows v jazyce Object Pascal (jedná se o rozšíření jazyka Pascal). Obsahuje systém RAD (Rapid Application Development), který umožňuje vizuální návrh grafického uživatelského rozhraní, na jehož základě je automaticky vytvářena kostra zdrojového kódu, což výrazně urychluje vývojový cyklus. [9]

Více informací o programovém prostředí Delphi lze nalézt v příloze A.

27

5 Software pro úpravu vstupních souborů

V rámci diplomové práce byl vytvořen software, který je pojmenován „Úprava vstupních dat“. Tento program postupně načte všechny vstupní soubory, které byly vypočteny programem Flow123D. Výstupní soubory byly poté upraveny jednoúčelovým programem pro úpravu souborů, viz. kapitola 3.5.1. Tento software provádí vytřídění výsledků koncentrací nepovrchových elementů dle předem definovaného seznamu. Více informací o jednoúčelovém programu pro úpravu souborů lze nalézt v [14].

Aplikace „Úprava vstupních dat“ následně po načtení vstupních souborů uloží vždy do jednoho textového souboru stejné elementy a jejich koncentrace. Jednotlivé koncentrace na elementech jsou poté vzestupně setříděny dle velikosti koncentrace v jednotlivých zaznamenaných časových okamžicích.

Software je v rámci diplomové práce využit na zpracování dat ze sledované oblasti hlubinného úložiště radioaktivního odpadu v melechovském masivu.

V následujících kapitolách slouží pro ukázky a popis programu právě data z melechovské oblasti. Software je ovšem možné použít i na jinou oblast hlubinného úložiště radioaktivního odpadu, resp. například modelování starých ekologických zátěží.

5.1 Struktura adresářů a souborů

Pro stanovení a vyhodnocení koncentrací transportujících se látek z úložiště radioaktivního odpadu na povrch oblasti slouží 1000 souborů – náhodných realizací.

Tyto soubory jsou strukturovány do 20 adresářů pojmenovaných od „vysledky01“

až do „vysledky20“. Každý z těchto adresářů obsahuje dalších 50 podadresářů, které jsou pojmenovány od „01“ až „50“.

Ukázka struktury adresářů a podadresářů obsahující vstupní data je zobrazena na obrázku 6.

Obrázek 6: Adresářová struktura

Vstupní soubory pro diplomovou práci jsou strukturovány v jednotném textovém formátu. Soubory ze vstupních adresářů byly již upraveny dle kapitoly 3.5.1.

V každém upraveném souboru „mm_t.pos_new.txt“ je 2141 povrchových elementů.

Pro tyto jednotlivé elementy jsou přiřazeny koncentrace v časech od 0 let až do 50 000 let s rozmezím 5 000 let (11 časových období). Počet koncentrací pro jedno časové období je stejný jako počet elementů v souboru, tedy 2141.

Celkově každý soubor obsahuje 23 551 hodnot koncentrací (11 časových období pro každých 2141 povrchových elementů). Velikost jednoho vstupního souboru ze sledované oblasti hlubinného úložiště radioaktivního odpadu v melechovském masivu je 219 kB. Pro všech 1000 vstupních souborů bude celková velikost přibližně rovna 219 MB.

Jak vyplývá z předchozího odstavce, jedná se o setřídění velkého množství dat.

Z tohoto důvodu bylo rozhodnuto vytvořit samostatnou aplikaci pro úpravu vstupních souborů, která data nejdříve jednorázově setřídí, jelikož je předpokládáno, že setřídění dat bude provedeno pouze jednou a poté již bude využíván pouze software

29 pro vykreslení mapy koncentrací na povrchu sledované oblasti. Kdyby bylo nutné, před každým vykreslením mapy koncentrací, znovu setřídit všechny vstupní koncentrace pro sledovanou oblast, práce s aplikací by byla pomalejší řádově o desítky minut.

5.2 Popis a vzhled software pro úpravu vstupních souborů

Všech 1000 vstupních souborů je nutno nejprve setřídit před stanovením a následným vyhodnocením koncentrací transportujících se látek z úložiště radioaktivního odpadu na povrch oblasti.

K tomuto účelu byl v rámci této diplomové práce vytvořen software „Úprava vstupních dat“, jak již bylo zmíněno v kapitole 5. Program byl naprogramován v programovacím jazyku Delphi.

Ovládání programu je řešeno přes rozbalovací menu. Po kliknutí na „Soubor“ se uživateli zobrazí nabídka práce s programem, viz. Obrázek 7.

Obrázek 7: Ukázka menu pro ovládání programu Úprava vstupních dat

5.3 Vyhledání vstupních souborů

Uživatel je aplikací „Úprava vstupních dat“ zpočátku požádán o zadání cesty k libovolnému souboru obsahujícímu data s elementy (viz. Obrázek 8).

Uživatelské prostředí pro vyhledání souboru je realizováno přes komponentu TOpenTextDialog. Hledaný soubor má již v komponentě předdefinovaný název

„mm_t.pos_new.txt“, tímto je uživatel ihned informován, jaký soubor by měl do aplikace zadat. Název souboru „mm_t.pos_new.txt“ je dle kapitoly 3.5.1.

Do aplikace pro úpravu vstupních dat je možné zadat jakýkoliv název souboru, pouze je nutné, aby byla dodržena stejná struktura uspořádání dat dle kapitoly 3.5.1 a obrázku 5. Respektive data musí být od sebe oddělena tabulátorem.

Obrázek 8: Vyhledání souboru s povrchovými elementy

Zadaný soubor je otevřen a jeho obsah zobrazen na aplikaci pomocí komponenty TRichEdit. Jelikož všechny soubory s daty mají shodný název, je po zadání souboru uživatelem celý název souboru uložen do pomocné proměnné.

Proměnná následně slouží jako parametr funkce pro vyhledání všech 1000 souborů stejného názvu na pevném disku PC.

V rámci ušetření výpočetní kapacity PC a urychlení programu není prohledáván celý disk, ale pouze dva adresáře umístěné výše než je zadaný soubor uživatelem. Právě v těchto adresářích se vyskytují další zdrojové soubory s hledanými daty, viz. kapitola 5.1. Všechny nalezené soubory, včetně jejich celých cest k umístění na pevném disku

31 jsou ukládány do komponenty TListBox. Po dokončení hledání souborů na pevném disku je zobrazen TListBox (viz. Obrázek 9), který slouží pro případnou kontrolu, zdali byly všechny soubory správně nalezeny.

Obrázek 9: V hlavním okně načtený vstupní soubor, vpravo v okně seznam všech vyhledaných vstupních souborů

5.4 Načtení všech vstupních souborů

Před načtením všech vstupních souborů je nejprve ověřeno, zdali byl načten vstupní soubor dle předchozí kapitoly. Vzhledem k předpokladu, že bude načítáno větší množství dat, řádově stovky MB dle kapitoly 5.1, je načítání všech vstupních souborů řešeno přes samostatné vlákno. Tímto je zajištěno, že aplikace bude stále aktivní a uživatel nebude mít pocit „zamrzlé“ aplikace, která přestala reagovat.

Z komponenty TRichEdit je zjištěn počet řádků, respektive počet elementů, které obsahují jednotlivé načítané soubory. Pro tento počet elementů je vytvořeno pole TStringList, a to z důvodu rychlejšího přístupu k paměti RAM než k pevnému disku PC. Následně jsou čteny postupně všechny soubory po řádcích a tyto řádky ukládány do jednotlivých TStringList. Cesty ke všem souborům jsou čteny z TListBox, viz. kapitola 5.3.

Jelikož všechny vstupní soubory mají stejnou strukturu dat, čtení po řádcích a okamžité ukládání do TStringList má za následek, že každý TStringList obsahuje pouze stejné elementy a jejich odpovídající koncentrace.

Po načteních všech dat do pole TStringList je vytvořen adresář o úroveň výše, než byl zadaný vstupní soubor v kapitole 5.3. V našem případě je adresář vytvořen mezi adresáři „vysledky01“ až „vysledky20“ viz kapitola 5.1.

Nově vytvořený adresář je pojmenován „HelpFiles“. Do něho jsou ukládána data z pole TStringList. Pro každý TStringList je vytvořen jeden soubor s názvem

„Helpfile0.txt“ až do „HelpfileX.txt“, kde X odpovídá počtu elementů, které byly načítány. Pro melechovskou oblast je poslední soubor pojmenován „Helpfile2140.txt“, jelikož počet povrchových elementů odpovídá číslu 2141, dle kapitoly 5.1.

Obrázek 10 zobrazuje strukturu dat uloženého souboru „Helpfile200.txt“.

Soubor obsahuje element číslo 3858 a k němu odpovídající koncentrace.

Obrázek 10: Struktura dat souboru „HelpFile200.txt“

Pro názornost celé operace je před dokončením vlákna v aplikaci zobrazen obsah poslední souboru „Helpfile2140.txt“, viz. Obrázek 11.

Průběh procesu načítání je zobrazován v procentech v dolní části aplikace.

Načtení všech souborů ze sledované oblasti hlubinného úložiště radioaktivního odpadu

33 v melechovském masivu zabere na procesoru Intel Pentium Dual-Core E5200 2,50 GHz necelé dvě minuty času.

Obrázek 11: Zobrazení dat z posledního uloženého souboru „Helpfile2140.txt“

5.5 Setřídění koncentrací

Data uložena v pomocných souborech je nutné pro další práci setřídit dle jednotlivých koncentrací v čase. Soubory „HelpFile.txt“ mají jednotnou strukturu dat.

Všechna data na řádcích jsou oddělena tabulátorem. V prvním sloupci je vždy číselné označení elementu a poté následují jednotlivé koncentrace. Pro sledovanou melechovskou oblast jsou koncentrace v čase od 0 let až do 50 000 let. Celkový počet sloupců v souborech je 11. Každý soubor obsahuje přesně tolik řádku, kolik bylo načtených souborů, pro sledovanou melechovskou oblast se jedná o 2140 souborů, viz.

kapitola 5.4.

Pro setřídění dat není zapotřebí zadávat cestu k pomocným souborům

„HelpFile.txt“. Cesta i název souborů je načtena automaticky, dle kapitoly 5.4. Soubory jsou načteny nejprve v textové formě do komponenty TStringList. Vzhledem k třídění jednotlivých koncentrací je nutné data ze souborů z jednotné textové struktury rozdělit na jednotlivé buňky. K tomuto účelu jsou data z TStringList pomocí oddělovače (tabulátor) načtena do komponenty TStringGrid.

Jednotlivé sloupce s daty komponenty TStringGrid jsou načítány do pole komponent TList, která zajišťuje samotné vzestupné setřídění koncentrací. Třídění přes TList bylo zvoleno s ohledem na přímou podporu v programovém prostředí vývojového

nástroje Delphi a zároveň pro velkou rychlost samotného třídícího algoritmu. Jelikož se jedná o velké množství dat určených k třídění, byla samotná rychlost algoritmu rozhodujícím prvkem. Na následujících řádcích je uveden zdrojový kód funkce pro setřídění koncentrací z aplikace pro úpravu vstupních dat.

function compareColumn(Item1 : Pointer; Item2 : Pointer) : Integer;

var v komponentě TStringGrid. Pomocí těchto ukazatelů jsou přerovnána data v TStringGrid a zavolána procedura sloužící k uložení dat do souborů.

Ukázka zdrojového kódu procedury sloužící k uložení setříděných dat do souborů.

procedure SaveGrid(const Filename: string; Grid: TStringGrid);

var

Vstupními parametry pro proceduru k uložení setříděných dat do souboru slouží setříděný TStringGrid a název, pod kterým bude soubor uložen. Procedura nejprve

35 otestuje, zdali zadaný TStringGrid obsahuje nějaká data. Následně prochází všechny sloupce a data z nich jsou ukládána do komponenty TStringList.

Obrázek 12: Struktura dat v setříděném souboru „SortedFile200.txt“

Soubor je uložen pod předem definovaným názvem „SortedFile0.txt“ až

„SortedFileX.txt“, kde X odpovídá počtu elementu respektive počtu načtených souborů

„HelpFile.txt“. V případě sledované oblasti melechovského masivu se jedná opět o 2141 souborů.

Obrázek 12 zobrazuje strukturu uspořádání dat v souboru „SortedFile200.txt“.

Číslo 3858 se shoduje s číslem povrchového elementu. Data mezi čísly 3858 odpovídají jedné simulaci, celkem soubor obsahuje 1 000 simulací, viz. kapitola 3.4.6. Jednotlivá data simulace odpovídají hodnotám koncentrace na povrchovém elementu v časových obdobích 0 let až 50 000 let s rozmezím 5 000 dle zadání vypočtu, kapitola 3.4.6.

Po setřídění všech souborů je v aplikaci pro úpravu vstupních dat zobrazen obsah prvního setříděného souboru. Na obrázku 13 je pro větší názornost zobrazen setříděný element 3873 místo obsahu prvního setříděného souboru. Element 3873 obsahuje větší množství koncentrací v čase, tudíž ukázka je názornější než v případě prvního setříděného souboru, v něm se v případě melechovské lokality vyskytují pouze nulové hodnoty.

Obrázek 13: Okno programu pro úpravu vstupních dat po dokončení třídění dat

Setřídění všech 1000 souborů pro sledovanou oblast hlubinného úložiště radioaktivního odpadu v melechovském masivu zabere 8 minut a 30 vteřin výpočetního výkonu procesoru Intel Pentium Dual-Core E5200 2,50 GHz. Celý průběh je stejně jako při načítání všech vstupních souborů (viz. kapitola 5.4) zobrazován v procentech v dolní části aplikace.

37

6 Software pro vykreslení povrchové mapy koncentrací

V rozsahu zadání diplomové práce byla vytvořena druhá aplikace sloužící k vykreslení povrchu sledované oblasti hlubinného úložiště radioaktivního odpadu.

Na vykresleném povrchu sledované oblasti je graficky vyznačeno množství koncentrace vyskytující se na jednotlivých povrchových elementech. Software byl příznačně pojmenován „Mapa“.

Program „Mapa“ nejprve načte soubor se vstupními elementy a jejich souřadnicemi. V dalším kroku jsou načteny všechny povrchové elementy ze sledované oblasti. Následně program načte setříděné soubory s koncentracemi z programu

„Úprava vstupních dat“, viz. kapitola 5. Uživatel je poté vyzván k zadání počtu let a počtu procent koncentrace. Na základě těchto informací program vykreslí mapu koncentrací.

Software „Mapa“ v rámci diplomové práce, opět jako v kapitole 5, zpracovává data ze sledované oblasti hlubinného úložiště radioaktivního odpadu v melechovském masivu. Software je ovšem možné použít i na jinou oblast hlubinného úložiště radioaktivního odpadu, ovšem nutnou podmínkou je, že vstupní data musí být předem zpracována dle předchozích kapitol.

6.1 Vzhled software Mapa

Po spuštění aplikace „Mapa“ je uživateli zobrazeno v horní části ovládací menu, kde po stisku tlačítka „Soubor“ je zobrazen seznam příkazů. Ovládání programu je řešeno totožným způsobem jako v předchozí aplikaci pro úpravu vstupních dat. V dolní části okna aplikace je zobrazena lišta pro vykreslení průběhu jednotlivých příkazů uživatele s programem.

6.2 Načtení souboru se souřadnicemi

Uživatel je aplikací „Mapa“ pro vykreslení povrchové mapy koncentrací požádán o zadání cesty k libovolnému souboru obsahujícímu souřadnice elementů a bodů.

Uživatelské prostředí pro vyhledání souboru je realizováno přes komponentu TOpenTextDialog, stejným způsobem bylo řešeno zadání vstupních souborů v kapitole 5.3. Hledaný soubor má v komponentě předdefinovaný název „mm_t.pos“, tímto je

uživatel ihned informován, jaký soubor by měl do aplikace zadat. Název souboru je vytvořen dle nastavení programu Flow123D, viz. kapitola 3.5.1.

Soubory „mm_t.pos“ vygenerované z programu Flow123D mají jednotnou strukturu. Každý soubor je rozdělen do čtyř sekcí, první sekce definuje formát souboru, druhá sekce označuje uzly, třetí sekce značí elementy a poslední čtvrtá sekce množství koncentrace na elementech. Sekce jsou od sebe vždy odděleny znakem dolaru a textem.

Ukázka struktury vygenerovaného souboru „mm_t.pos“ z programu Flow123D je zobrazena na následujícím obrázku - Obrázek 14.

Obrázek 14: Struktura vygenerovaného souboru mm_t.pos z programu Flow123D

Program Flow123D generuje v souborech „mm_t.pos“ souřadnice uzlů jako desetinná čísla s použitým oddělovačem desetinnou tečkou. Vzhledem k tomu, že programové prostředí Delphi pro vykreslení souřadnic používá jako desetinný oddělovač desetinnou čárku, bylo nutné nahrazení všech desetinných teček za desetinné čárky. Tomuto účelu posloužila funkce StringReplace.

Po otevření souboru uživatelem je nalezen začátek elementu „$Nodes“

a zároveň i konec elementu „$EndNodes“, dle obrázku 14. Všechna data mezi těmito

39 texty jsou načtena do komponenty TStringGrid. První sloupec obsahuje čísla jednotlivých uzlů, další sloupce obsahují souřadnice x, y, z.

39 texty jsou načtena do komponenty TStringGrid. První sloupec obsahuje čísla jednotlivých uzlů, další sloupce obsahují souřadnice x, y, z.