Kapitola 10c: Cube mapping part 3 (jak to funguje)

Články na webu » Kinetická analýza termoanalytických dat » Kapitola 10c: Cube mapping part 3 (jak to funguje)

  • Obrázek 1
    Obrázek 1
  • Graf 1
    Graf 1
  • Graf 2
    Graf 2
  • Graf 3
    Graf 3
  • Graf 4
    Graf 4

Autor: Petr Pilný, Poslední změna: 6.5.2016

Úvodem

V následujícím textu se podíváme na to, jak funguje určení aktivační energie a dalších parametrů pomocí mapování pro model JMA - tedy přesněji určení aktivační energie, předexponenciálního faktoru a parametru modelu. Správné řešení budeme tedy hledat ve třech osách - dalo by se říci ve vituální krychli, odtud také pochází pracovní název metody a také její název v programu OriTas (od verze 3.9.x.x).

Jak vypadá sken celé krychle

Jak vypadá sken celé oblasti je patrné už z první kapitoly, která se cube mappingu věnuje. Ve skutečnosti se ale jedná o krivku (Obrázek 1), na které leží nekonečně řešení, která jsou schopna proložit zdrojová data s dobrým R. Pokud si vezmeme jednotlivé stěny krychle a promítneme si do nich získanou závislost E/lnA/n, pak se jedná o následující:

  • závislost E na lnA je přímka
  • závislost E na n je mocninná
  • závislost lnA na n je mocninná.

Z uvedených závislostí je nejsnadněji (viz obrázky 1, 2, 3) získatelná rovnice přímky, u ostatních je problém s proložením dat (viz další text). Z jedné rychlosti ohřevu se mi prozatím nepodařilo získat rozumný výsledek (kombinaci E, lnA, n), který by odpovídal hledaným parametrům.

Nekonečně řešení pro jednu rychlost ohřevu, jedno pro dvě rychlosti

Řešením je použití více rychlostí ohřevu, kdy se v případě závislosti E/lnA zjednoduší řešení na hledání bodu, kde se protínají (dvě) přímky (viz graf 4). Řešení je poté jedno pro každé dvě rychlosti ohřevu - ač se to nezdá, má to velkou výhodu. V případě, že některá rychlost ohřevu neodpovídá výsledkem ostatním, může být problém s naměřenými daty nebo přímo s měřením (špatně připravný vzorek, komplikovaný proces atp.).

Aktualizace: Stále se nehodlám vzdát získání řešení už z jedné křivky, alespoň návrh na postup bude v kapitole 10d v této sekci.

Jak to funguje v OriTasu

A nyní je čas se podívat detailněji na postup OriTasu při vytváření celé mapy - je totiž třeba projít "celou" oblast parametrů. Hned v úvodu je potřeba zmínit, že je to samozřejmě nemožné. Pokud každou osu (každý parametr) rozdělíte na 1000 dílků, tak musíte vypočítat 1000x1000x1000 simulací a k nim i zjistit shodu s načtenými daty, to vše pro několik rychlostí ohřevu. Výsledkem je nepřijatelných několik hodin/dní výpočtu pro získání hodnot, které lze pohodlně získat i jinou metodou v nesrovnatelně kratším čase.

Řešením je buď zmenšení oblasti nebo počítání jen určité části všech možných kombinací. Na základě náhodného výběru OriTas počítá pouze malé procento (typicky 1-2%) ze všech výpočtů, tím se dostaneme na celkový počet v miliónech provedených výpočtů. I toto číslo je poměrně velké a pro 8 rychlostí ohřevu to znamená čas v minutách až desítkách minut. Do budoucna ale existuje cesta, jak tento čas minimalizovat na několik sekund (viz konec tohoto textu).

OriTas tedy začne procházet celou krychli bod po bodu, pro každou kombinaci parametrů provede simulaci a každou simulaci srovná s načtenými daty a získá hodnotu R (není to přímo korelační koeficient, ale také vyjadřuje shodu, rozsah je od 0 do 1, značení je ale možná trochu matoucí). Pokud je nalezena rozumná shoda s originálními daty, je výsledek uložen pro další zpracování. Vzhledem k popsanému rozložení řešení pro jednu rychlost ohřevu (závislost E vs. lnA je přímka) není vyžadována nějak vysoká shoda, což umožňuje snížit počet nalezených řešení nutných pro získání potřebných parametrů. V případě zmíněné závislosti E/lnA (přímky) prakticky stačí pouze dvě nalezené kombinace parametrů.

Poté, co se získá závislost E/lnA (a také závislosti E/n a lnA/n) pro všechny rychlosti ohřevu, stačí již pouze vyřešit soustavu dvou rovnic pro každé dvě rychlosti ohřevu (najít průsečík dvou přímek). Řešením je hodnota aktivační energie a lnA, průměrem všech získaných hodnot je pak finální hodnota aktivační energie a předexponenciálního faktoru. Obrovskou výhodou je, že v případě, že některá rychlost (měření) nebude odpovídat ostatním, projeví se to tak, že hodnoty aktivační energie získáné pro kombinaci této rychlosti ohřevu s ostatními nebudou odpovídat - můžeme tak snadno vyloučit chybné měření, případně hledat důvod, proč je mimo ostatní měření.

Závislosti E/n a lnA/n jsou mocninné a jejich proložení a získání rovnice pro výpočet parametru n je komplikované. Navíc díky rozložení získaných řešení do plochy a ne křivky je i dost komplikované a nepřesné. Podstatně jednodušší je po získání hodnot E a lnA provést ještě jeden sken pro každou rychlost ohřevu a pro všechny hodnoty n v určitém intervalu (typicky 0,5-5), a z nich poté vybrat nejlépe odpovídající řešení. Opět poté získáme parametr n pro kažnou rychlost ohřevu, můžeme tak snadno sledovat závislost parametru n na rychlosti ohřevu.

Co jiné modely než JMA?

K testům jiných modelů jsem se zatím nedostal, nicméně celý výpočetní cyklu je napsaný univerzálně a umožňuje po drobné úpravě zpřístupnění minimálně modelu RO(n) a několika základních modelů (R2, R3, D2, D3). Teoreticky by také bylo možné počítat i model SB (při využití závislosti m/n). Tyto testy ale budou provedeny až v budoucnu a podle jejich výsledku uvidím, co dál.

Zrychlení algoritmu, aneb méně vypité kávy a více výsledků

Závěrem se pouze krátce zmíním o možnosti urychlit algoritmus a celý proces na celkovou dobu běhu v řádu sekund. Pokud bude výpočet optimalizovát tak, aby v případě nalezení dostatečného počtu řešní pro získání závislosti E/lnA pokračoval ve výpočtu další rychlostí ohřevu, dojde k další úspoře času potřebného pro sken celé oblasti. Mým cílem zatím je úpravou současného algoritmu dosáhnout na celkový čas pod 3-5 minut.