• No results found

Počítačová podpora výuky fyziky polymerů na TF TUL

N/A
N/A
Protected

Academic year: 2022

Share "Počítačová podpora výuky fyziky polymerů na TF TUL "

Copied!
44
0
0

Loading.... (view fulltext now)

Full text

(1)

FAKULTA STROJNÍ

Katedra aplikované kybernetiky

Obor

3902T021 Automatizované systémy řízení ve strojírenství

Zaměření

Automatizace inženýrských prací

Počítačová podpora výuky fyziky polymerů na TF TUL

Autor: Petr Kamenický

Vedoucí diplomové práce : prof. Ing. Vladimír Věchet, CSc.

Konzultant diplomové práce : Ing. Petr Mikeš

Liberec 2008

(2)

Diplomová práce se zabývá počítačovou podporou výuky fyziky polymerů na TF TUL. Hlavním cílem je vytvořit programy pro ukázku platnosti statistického chování polymerních řetězců při náhodné tvorbě. Tato problematika byla doposud řešena na cvičeních pomocí hrací kostky a čtverečkovaného papíru. Dalším úkolem bylo vytvoření webového rozhraní pro stažení programů a informace o projektu pro studenty. Programy byly vytvářeny pomocí programovacího jazyka C v programu Microsoft Visual Studio. Jako styl programování bylo zvoleno WinAPI s implementací MFC pro grafické výstupy.

Computer assistance of education Polymer physics on TF TUL.

ANNOTATION:

The diploma thesis deals with computer aids for Polymer Physics education at TF TUL. The main goal of the work is to develop programs for demonstration of statistical behavior of polymeric chain models. Till now these problems have been demonstrated by means of dice and squared paper during the lessons at the Faculty of textiles TUL. Several additional problems resulted from solving this submission, e.g.

to create web pages for downloading programs and information about this project by students. Education programs were created in programming language “C” in Microsoft Visual Studio environment. As style of programming was chosen WinAPI with implemented MFC for graphic outputs.

(3)

Prohlašuji, že jsem diplomovou práci vypracoval samostatně pod vedením mého vedoucího s použitím uvedené literatury.

V Liberci dne:……….. ……..………..…………

Petr Kamenický K Zámečku 135 530 03 Pardubice

(4)

Byl jsem seznámen s tím, že na mou diplomovou práci se plně vztahuje zákon č.

121/2000 o právu autorském, zejména §60 (školní dílo) a §35 (o nevýdělečném užití díla k vnitřní potřebě školy).

Beru na vědomí, že TUL má právo na uzavření licenční smlouvy o užití mé DP a prohlašuji, že souhlasím s případným užitím mé diplomové práce ( prodej, zapůjčení apod.).

Jsem si vědom toho, že užít své diplomové práce či poskytnout licenci mohu jen se souhlasem TUL, která má právo ode mne požadovat přiměřený příspěvek na úhradu nákladů, vynaložených univerzitou na vytvoření díla (až do jejich skutečné výše).

V Liberci dne:……….. ……..………..…………

Petr Kamenický K Zámečku 135 530 03 Pardubice

(5)

Obsah

Seznam symbolů...7

1. Úvod ...8

2. Vývojové prostředí ...10

3. Polymery ...12

3.1. Základní popis polymeru...12

3.2. Zákonitosti tvorby polymerů ...12

4. Vizualizace náhodné tvorby polymerních řetězců ...14

4.1. Náhodná procházka na dvourozměrné mříži...15

4.2. Náhodná procházka na dvourozměrné mříži se zobrazením statistického chování modelů polymerů ...18

4.3. Nevratná procházka na dvourozměrné mříži...19

4.4. Nevratná procházka na dvourozměrné mříži se zobrazením statistického chování polymerů ...22

4.5. Pravděpodobnost realizace neprotínající se procházky...23

4.6. Neprotínající se procházka na dvourozměrné mříži...26

4.7. Korelace vazebných vektorů nevratné procházky...28

4.8. Výpočet gyračního poloměru u náhodné procházky...30

4.9. Vztah gyračního poloměru a koncového vektoru...33

4.10. Dynamický model pohybu polymerů; model 1...36

4.11. Dynamický model pohybu polymerů; model 2...37

4.12. 3D model tvorby polymerních řetězců...38

5. Webové rozhranní ...39

5.1. Skriptovací jazyk PHP...39

5.2. Programovací jazyk HTML...40

5.3. Tvorba webového rozhraní...41

6. Závěr ...42

Použitá a doporučená literatura ...44

(6)

Přílohy na CD:

Příloha 1: Náhodná procházka na dvourozměrné mříži

Příloha 2: Náhodná procházka na dvourozměrné mříži se zobrazením statistického chování modelů polymerů

Příloha 3: Nevratná procházka na dvourozměrné mříži

Příloha 4: Nevratná procházka na dvourozměrné mříži se zobrazením statistického chování modelů polymerů

Příloha 5: Pravděpodobnost realizace neprotínající se procházky Příloha 6: Neprotínající se procházka na dvourozměrné mříži Příloha 7: Korelace vazebných vektorů nevratné procházky Příloha 8: Výpočet gyračního poloměru u náhodné procházky Příloha 9: Vztah gyračního poloměru a koncového vektoru Příloha 10: Dynamický model pohybu polymerů; model 1 Příloha 11: Dynamický model pohybu polymerů; model 2 Příloha 12: 3D model tvorby polymerních řetězců

Příloha 13: Zdrojové texty všech programů

(7)

Seznam symbolů

Rr

... koncový vektor polymerního řetězce (vektor spojující počátek souřadného systému s koncem polymerního řetězce)

rr ... n vazebný vektor n–tého segmentu (vektor specifikující každý jeden krok při tvorbě polymerního řetězce)

b ... mřížová konstanta

bef ... mřížová konstanta upravená pro jednotlivé druhy procházek z... koordinační číslo mříže

N ... polymerační stupeň polymerního řetězce (při náhodných procházkách je roven počtu kroků)

( )

R dR

W r r

0 ... celkový počet náhodných procházek, jejichž N-tý krok se nachází v prostoru mezi dvěma soustřednými kulovými plochami o poloměru Rr a Rr+dRr

( )

R N

p ,r

... pravděpodobnost výskytu náhodné procházky ν... exponent náhodného řetězce

R ... G gyrační poloměr polymerního řetězce RrM

... poziční vektor těžiště polymerního řetězce (vektor spojující počátek souřadného systému s těžištěm polymeru)

Rrn

... poziční vektor n-tého segmentu polymerního řetězce (vektor spojující počátek souřadného systému s n-tým segmentem řetězce)

(8)

1. Úvod

Podle požadavku Katedry netkaných textilií (KNT) z Textilní fakulty (TF) Technické univerzity v Liberci (TUL) byl zadán seznam úkolů pro vizualizaci náhodné tvorby polymerních řetězců. Polymerní řetězce byly modelovány pomocí náhodných procházek. Z tohoto seznamu byly postupně vybírány úlohy, které byly programovány. Tyto programy budou dále sloužit pro podporu výuky v předmětu Fyzika polymerů na TF TUL, jako způsob k lepšímu pochopení problematiky pro studenty. Doposud byla tato problematika na cvičeních vysvětlována a prezentována pomocí hrací kostky a čtverečkovaného papíru.

Pro programování byl zvolen jazyk C a program Microsoft Visual Studio.NET 2003. Byly použity knihovny WinAPI s implementací MFC pro grafické výstupy. Programy byly v průběhu vývoje konzultovány a upravovány podle požadavků KNT, jakožto zadavatele projektu. Jednotlivé simulace, resp. vizualizace, byly vytvářeny pro operační systém W2K, tzn. Microsoft Windows 2000 a vyšší.

Minimální hardwarové požadavky nejsou stanoveny, pouze je doporučeno minimální rozlišení obrazovky 1280x1024, které je potřebné pro optimální běh programu a dostatečnou vizualizaci.

Z nabízených programů byly pro vizualizaci vybrány úlohy:

- náhodná procházka na dvourozměrné mříži

- náhodná procházka na dvourozměrné mříži se zobrazením statistického chování modelů polymerů

- nevratná procházka na dvourozměrné mříži

- nevratná procházka na dvourozměrné mříži se zobrazením statistického chování modelů polymerů

- pravděpodobnost neprotínající se procházky - neprotínající se procházka na dvourozměrné mříži - korelace vazebných vektorů nevratné procházky - výpočet gyračního poloměru u náhodné procházky - vztah gyračního poloměru a koncového vektoru - dynamický model pohybu polymerů; model 1 - dynamický model pohybu polymerů; model 2 - 3D model tvorby polymerních řetězců.

(9)

Dalším úkolem této diplomové práce byla příprava webového rozhraní pro informace o projektu a možnost stažení programů studenty. Toto bylo vytvořeno pomocí skriptovacího jazyka PHP a HTML s využitím šablon css. Pro tvorbu webových stránek byl použit program HTMLkit a pro odzkoušení funkčnosti byl použit Apache server.

(10)

2. Vývojové prostředí

Ve WinAPI je možné napsat relativně jednoduchý program bez výrazné ztráty produktivity a na druhou stranu s trvalým ziskem jeho efektivnosti, který má malé nároky na paměť. Pro programování ve WinAPI je možné používat i obyčejný Poznámkový blok, ale bylo by nutné psát si vlastní soubory pro zdroje (resources) a používat nějaký kompilátor programu do spustitelného stavu. Proto je vhodnější používat obsáhlejší softwarové produkty jako je Microsoft Visual Studio, nebo Builder C++. Pro tuto práci, jak již bylo řečeno v úvodu, bylo zvoleno programování v Microsoft Visual Studio.NET 2003. Tento software je schopný vytvářet zdroje pomocí grafického rozhraní, kdy vygeneruje na základě grafického složení podle uživatele textový soubor (tzv. resource skript). Nedělá v podstatě nic víc, než že podporuje tzv. jazyk zdrojového skriptu. Není v něm možné nastavovat barvy tlačítek fontu atd., ale provede za uživatele práci s textovým skládáním např. dialogů, menu atd…

Tento odstavec pojednává o řízení aplikací ve WinAPI. Při programování pod Windows se jedná o tzv. událostmi řízené programování, kdy program při svém běhu čeká na nastavené události, jako je doběhnutí TIMERU, stisknutí nastavené klávesy na klávesnici, myši, joysticku a mnoho dalších zpráv. Významným rysem tohoto programování je to, že je schopen čekat a přijímat podněty z více směrů. Například příkaz, který odchytí zprávu o stlačení levého tlačítka na myši, je ve WinAPI zapisován jako WM_LBUTTONDOWN, kde WM znamená Windows Message.

Funkce pro ,,odchytávání“ vstupních podnětů od uživatele jsou zapsány v hlavičkovém souboru “winuser.h“, který je vložen v základním hlavičkovém souboru “windows.h“, jenž musí být zapsán v každé WinAPI aplikaci. Tyto zprávy mají dva vstupní parametry označené jako wParam a lParam. Tyto parametry funkcí jsou 32-bitová čísla. Vstupní parametr wParam je identifikátorem virtuální klávesy, což může být i některé tlačítko myši. Vstupní parametr lParam specifikuje souřadnice vstupního zařízení, kde byla vstupní událost provedena. Konkrétně je x-ová souřadnice umístěna v dolní části parametru lParam a y-ová v horní části. Ve WinAPI jsou specifikovány pouze ty vstupní události, které jsou pro běh programu potřebné. O parametry, které nejsou specifikovány v programu se postará sám systém.

(11)

Jako základní příkaz při programování ve WinAPI je funkce WinMain, která je definována jako

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nShow)

V této funkci jsou parametry hInstance, hPrevInst, lpCmdLine a nShow. Parametr hInstance definuje handle instance, což je 32-bitové číslo, které slouží jako identifikátor programu v systému. Parametr hPrevInst je pouze pro zpětnou kompatibilitu Win32 aplikací se staršími aplikacemi ve Win16. Nyní je tento parametr zadáván jako NULL. Parametr lpCmdLine ukazuje na řetězec, který specifikuje parametry příkazového řádku. A posledním parametrem, nShow, je specifikován požadavek na spuštění aplikace, zda-li má být spuštěna v okně, maximalizovaná, minimalizovaná apod.

Ve WinAPI je používáno mnoho typů vstupních parametrů. Nejčastěji je používán typ LPSTR, což znamená “Long Pointer (to) String“.

Při programování ve WinAPI je problémem vykreslování pohybu, kdy program bliká, při požadavku na překreslení okna, se vstupní událostí od Timeru.

Tento problém je odstraňován pomocí vykreslování do paměťové bitmapy, která se následně vykreslí celá na obrazovku v jeden okamžik. Tato metoda je náročná na paměť počítače, neboť v operační paměti musí být neustále uložena pracovní plocha programu jako obrázek, ale i přesto je tento způsob vykreslování standardním a často používaným při programování pohybu ve WinAPI.

(12)

3. Polymery

Tato kapitola pojednává o základních vlastnostech polymerních řetězců a také o základním popisu polymerů jako celku.

3.1. Základní popis polymeru

Polymery jsou, podle [1, 2], v základu stavebnicové molekuly obrovských rozměrů připomínající stavebnici, které se skládají z mnoha segmentů vzájemně pospojovaných vazbami. Jsou to chemické objekty (makromolekulární útvary) skládající se z elementárních jednotek, nazývajících se monomery, segmenty, nebo monomerní jednotky. Jako první dokázal vytvořit sloučeninu na bázi polymerů Alexander Parkes, který v roce 1862 představil látku, jenž byla tvrdá jako rohovina a ohebná jako kůže. Tato diplomová práce má za úkol simulovat některé z vlastností polymerních řetězců, které dokážeme pochopit jen se znalostí statistiky, ale bez hlubších znalostí složité kvantové fyziky. Tento přístup k polymerní fyzice zavedli v polovině minulého století S.F. Edward a P.G. de Gennes. Vzhledem ke vzrůstajícímu zájmu o polymerní materiály je tato oblast vědy hojně žádaná.

3.2. Zákonitosti tvorby polymerů

Tvorba polymerních modelů je zcela náhodný proces, pro který jsou ovšem určena statistická pravidla v podobě různých typů interakcí polymerů s okolím, jejichž správnosti dokazují počítačové simulace, které jsou stěžejní součástí této diplomové práce. V tomto případě byl ve většině programů uvažován dvourozměrný model polymerních řetězců, tedy tvorba ve 2D. Jednorozměrný model náhodné procházky je využíván pro redukci nezávislých složek náhodných procházek vyšších dimenzí. Pokud použijeme na jednorozměrné mříži tzv. nevratnou procházkou (vysvětlena dále), je délka koncového vektoru procházky zřejmá, a to rovna počtu kroků tvorby polymerního řetězce. Při tvorbě polymerních řetězců se jednotlivé uzly

(13)

kam náhodný chodec, představující svými kroky růst polymeru, ,,došel" nazývají segmenty a spojnice mezi nimi jsou vazbami. Pohyb je možný pouze po spojnicích jednotlivých uzlů mříže, jak je vidět v simulacích, diagonální pohyb je zakázaný.

Tato mříž je pravoúhlá. Vzdálenost mezi sousedními uzly mříže se nazývá mřížová konstanta a označuje se b. Jednotlivé mříže používané při těchto simulacích mají také svoje koordinační číslo z, které značí počet nejbližších sousedů uzlu. V případě dvourozměrné mříže je toto číslo rovno 4, pro trojrozměrnou mříž je rovno 6 a pro nejjednodušší, jednorozměrnou mříž, je rovno 2. Při jiných typech pohybu, např.

nevratné procházce, je koordinační číslo sníženo zakázáním návratu do uzlu, ze kterého vycházel. Tvorba polymerních řetězců je tedy postupné skládání jednotlivých orientovaných vazebných vektorů od r1 až po rn.

Jako nejjednodušší model tvorby polymerních řetězců je brána tzv. náhodná procházka (random walk), při které má atom čtyři možnosti pohybu (pouze při pohybu na dvourozměrné mříži), možný je tedy i návrat do segmentu, ze kterého vyšel. Náhodná procházka nemá žádné interakce mezi jednotlivými uzly a segmenty v řetězci. Náhodná procházka se také někdy označuje jako „pohyb opilce“, protože tvorba polymerního řetězce vypadá jako návrat opilce z hospody domů, kdy se může stát, že se po provedení určitého počtu kroků vrátí do bodu, ze kterého vycházel.

Dalším modelem tvorby polymerních řetězců je tzv. nevratná procházka (non-reversal walk). Při tomto způsobu tvorby řetězců má atom po provedení alespoň jednoho kroku již pouze tři možnosti následujícího pohybu, není přípustný návrat do uzlu, ze kterého v předchozím kroku vycházel. Tento model je již přesnější pro pochopení zákonitostí tvorby polymerních řetězců, ale z důvodu existence Lenard- Jonesova potenciálu není možné umístit do jednoho uzlu více atomů, neboť při přiblížení dvou segmentů mříže na vzdálenost menší než je velikost mřížové konstanty b jsou mezi jednotlivými molekulami veliké odpudivé síly. Touto problematikou se zabývá tzv. neprotínající se procházka.

Neprotínající se procházka je nazývána procházkou se zakázaným objemem, kdy je zakázáno navštívit jeden uzel mříže vícekrát. Při této procházce je koncový vektor, při stejném počtu kroků, nejdelším, oproti předchozím druhům procházek.

Tento typ tvorby polymerních řetězců vystihuje nejlépe skutečný stav, ovšem je problematické u něho určit vlastnosti procházky a stanovit funkce pro určení jednotlivých hodnot.

(14)

4. Vizualizace náhodné tvorby polymerních řetězců

Ve všech programech je použito stejné grafické rozhraní pro ovládání a zobrazování informací i vizualizací. V okně, které se zobrazí při spuštění každého programu, si uživatel nastaví požadovaný počet kroků procházky, a pokud je to vzhledem k typu programu možné a vhodné, počet opakování těchto procházek.

V programech je také omezen minimální i maximální možný počet kroků náhodných procházek. Při nastavení hodnoty, ležící mimo tento interval je nastavena nejbližší možná limitní hodnota a uživatel je upozorněn na tuto skutečnost. Po následném spuštění vizualizace se provede požadovaný počet procházek s uživatelem zadanými parametry. Následně podle struktury a typu programu se provedou a vykreslí, případně vypíší, potřebné údaje. Rychlost simulace je možné ovládat pomocí klávesnice, podmínkou pro tuto funkci je aktivní hlavní okno programu. Šipkou nahoru je program zrychlován, šipkou dolů naopak zpomalován. Po skončení běhu programu je možné z programového menu znovu nastavit parametry vizualizace a simulaci opět spustit.

(15)

4.1. Náhodná procházka na dvourozměrné mříži

Jak již bylo psáno výše, jedná se o nejjednodušší model tvorby polymerních řetězců. Tato procházka nemá žádné interakce mezi následujícím uzly v pohybu. Při tvorbě řetězců na dvourozměrné mříži, kdy má atom čtyři možnosti pohybu a koordinační číslo mříže je rovno 4, jsou odvozena statistická pravidla, která bude tato kapitola popisovat a dokazovat. Náhodná procházka připomíná difundující částici od počátečního, tzv. nulové uzlu, do koncového uzlu polymerního řetězce. Po nastavení, případně provedení, určitého počtu kroků simulace se vektor dostane do uzlu, jehož vzdálenost od počátku souřadného systému je při velkém počtu opakování počítána dle [1] následovně

=

= N

n

rn

R

1

r r

. (4.1)

V tomto vzorci je střední hodnota velikosti koncového vektoru rovna součtu jednotlivých vazebných vektorů, popisujících procházku. Při odvození velikosti koncového vektoru není možné vyjádřit přímo Rr

, protože náhodná procházka je izotropní (tzn. se stejnou pravděpodobností nastane procházka o délce koncového vektoru R jako o délce -R). Poté je tedy střední hodnota Rr

rovna nule. Z tohoto důvodu je určována střední hodnota kvadrátu velikosti koncového vektoru.

R RR r r r r r N r b N

n n

N m

n n m

N

n n

N

m m

N

n n = + = = ⋅

=

=

∑ ∑ ∑ ∑ ∑

=

<

=

=

=

2 1

2 1

1 2 1

1

2 r.r r. r r r .r r

r , (4.2)

kde Rr

je koncový vektor (spojnice počátku s koncem polymerního řetězce),

rr je vazebný vektor polymeru (tzn. vektor popisující jednotlivé kroky náhodné n

procházky), N je počet kroků náhodné procházky a b je mřížová konstanta.

V úpravě vzorce (4.2) je použita taková metoda, že ze součinů sumací jednotlivých vazebných vektorů po druhém rovnítku byly vybrány takové, které přísluší dvojícím stejných vazebných vektorů. Další částí sumy jsou součty součinů dvojic rr a n rr různých kroků. Poté tedy m n≠ . Členy, které jsou v ostrých m

(16)

závorkách , jsou střední hodnotou zapsané funkce. Tato funkce platí pro každý krok generování náhodné procházky. Jednotlivé kroky náhodné procházky se vzájemně neovlivňují, tedy nejsou mezi sebou korelovány. Skalární součin dvou vazebných vektorů polymeru r rr . je roven n rm

ϕ cos .r b2 rrn rm =

, (4.3)

kde φ je úhel mezi vazebnými vektory.

Úhel φ, který může v dvourozměrné mříži nabývat pouze hodnot 0° (pro pohyb ve směru stejném s předchozím krokem), 90° (pro pohyb vlevo, či vpravo, k předchozímu kroku), 180° (pro pohyb v opačném směru k předchozímu kroku), což dává pro cosinus hodnoty 1, 0, -1. Poněvadž se v náhodné procházce objevují dvojice vektorů (,,dopředný" a k němu opačný) stejně často, je střední hodnota skalárního součinu r rr . nulová. Vektory na sebe vzájemně kolmé do této střední nrm hodnoty nezasahují vůbec, neboť je jejich hodnota skalárního součinu rovna nule.

Z tohoto důvodu je ve vzorci (4.2) člen

<

n mrNnrm 1

r.r

roven nule.

(17)

Prostředí tohoto programu, včetně hlavního i informačního okna je zobrazeno na následujícím obrázku.

Obr. 1 - Náhodná procházka na dvourozměrné mříži

Na tomto obrázku je vidět prostředí programu. Pokud by se v některém uzlu mříže nalézaly dva segmenty polynomu, bude tento bod vykreslen v jiné barvě. Jak je vidět na obrázku, tak pokud budou v jednom uzlu dva segmenty, bude tento uzel vykreslen modře, při třech segmentech zeleně, při čtyřech segmentech červeně a při pěti segmentech žlutě. V levé části programu jsou vidět provedené náhodné procházky, kde u posledního polymerního řetězce je zobrazen celý proces tvorby polynomu. Tato zobrazená tvorba polynomu je vlastně řetězec pospojovaných jednotlivých vazebných vektorů polymeru od rr1 po rr . V pravé části obrázku jsou n vidět informace pro tento program. Těmito informacemi jsou délka posledního koncového vektoru, průměrná délka koncových vektorů doposud vykonaných náhodných procházek, statisticky určená funkce pro náhodnou procházku a vypočtená hodnota z tohoto vzorce.

(18)

4.2. Náhodná procházka na dvourozměrné mříži se zobrazením statistického chování modelů polymerů

V tomto programu se provádí náhodná procházka, při které se ovšem zobrazuje v informačním okně programu graf, na kterém je vidět statistické chování modelů polymerů, funkce je napsána výše. Dále je na tomto grafu vidět, na kolik se přibližují skutečné hodnoty, získané simulací, k funkci v grafu. Při provedení jedné procházky jsou ještě vidět různé „chyby“ a odchylky od funkce zobrazující statistické chování polymerního řetězce. Při větším počtu opakování náhodné procházky jsou hodnoty z jednotlivých procházek průměrovány a tato střední hodnota je poté vynášena do grafu. Tato funkce i ostatní hodnoty jsou do grafu z důvodu linearizace vynášeny v druhé mocnině. V grafu je již, při větším počtu opakování náhodné procházky, vidět značné přiblížení hodnot ze simulace ke křivce určené ze statistiky.

Program uváděný v této kapitole vypadá následovně:

Obr. 2 - Náhodná procházka se zobrazením statistického chování modelů polymerů

Na obr.2 jsou opět v levé části vidět koncové vektory jednotlivých procházek.

U tohoto programu jsou vícenásobné uzly mříže vykresleny také jinou barvou (viz.

(19)

předchozí program). V pravé části je narozdíl od programu v kapitole 4.1. zobrazena funkce statistického chování polymerních řetězců a hodnoty, kterých tento řetězec dosáhl během své tvorby.

4.3. Nevratná procházka na dvourozměrné mříži

U náhodné procházky nejsou kladeny žádné specifické podmínky pro tvorbu polymerního řetězce, ovšem to je pro představu tvorby polymeru mylné, neboť prakticky není možné do jednoho uzlu klást více atomů. Při přibližování se atomů na vzdálenosti menší než je rovnovážná velikost mřížky musejí být překonávány, z důvodu existence Lenard-Jonesova potenciálu obrovské síly. Pro jednoduchost omezíme pouze dva po sobě jdoucí kroky, kdy se atom nesmí vrátit do uzlu, ze kterého o krok dříve vycházel. Tento algoritmus je nazýván nevratnou procházkou.

Při tomto druhu procházky se polymerní řetězec dostane obecně do vzdálenějšího uzlu než při náhodné procházce. U náhodné procházky na dvourozměrné mříži má atom v každém kroku čtyři možnosti dalšího pohybu. Nevratnou procházkou tento počet redukujeme na tři. Při odvozování velikosti koncového vektoru u tohoto typu procházky vycházíme z poklesu korelace mezi vazebnými vektory (vysvětleno v kapitole 4.7.), který vykazuje mocninný útlum v závislosti na vzdálenosti vazebných vektorů v řetězci. Pro kvadrát velikosti koncového vektoru, se zavedením k=m-n, poté můžeme psát podle [1, 2]

( )

∑ ∑

∑ ∑

∑ ∑

=

+

=

= =

= = = = −

= N

n n N

n

k k

N

n N

m m n N

n N

m m

n z

r b r r

r R

1 1

2

1 1

1 1

2

.r 1 r

r r

. (4.4)

V rovnici (4.4) je pro velkou hodnotu počtu kroků N možné sumaci přes k zapsat jako sumaci od -∞ do +∞, poněvadž jak N tak i k jsou hodně velká čísla. S přihlédnutím k těmto skutečnostem je možné přepsat rovnici (4.4) do tvaru

( )

∑ ∑

=

−∞

=

= N

n k z k

R b

1 2 2

1

r . (4.5)

(20)

V rovnici (4.5) je používán součet přes k, který znamená vlastně součet dvou nekonečných geometrických řad o základu 1/(1-z) menším než jedna. Tento součet je tedy pouze funkcí f(z) a ne funkcí polymeračního stupně N. Funkce f(z) je se zadaným typem mříže známá, a to pro mříž s dimenzí 2 je z=4 a pro dimenzi 3 je z=6. S přihlédnutím k těmto skutečnostem je možné rovnici (4.5) upravit do tvaru

( )

2

2 1

2 2

= −

=

= z

Nb z x f b

R N

n

r . (4.6)

Tedy při porovnání (4.6) a (4.2) je vidět, že vzorce se liší pouze v konstantě.

Můžeme proto napsat pro všechny procházky

Rr2 = Nbef2

. (4.7)

V rovnici (4.7) je bef pro náhodnou procházku, jak je již zřejmé, rovno b a pro nevratnou procházku rovno bzz2. Polymerní řetězce jsou po celé své délce, tedy pro každé N´<N podobné, tudíž pro ně musí platit stejné rovnice jako pro celý polymer. Této skutečnosti říkáme, že polymerní řetězce jsou vnitřně podobné objekty. A pro střední hodnotu velikosti koncového vektoru platí

´ 2 2

bef

N Rr =

. (4.8)

(21)

V této kapitole uváděný program je zobrazen na obrázku 3.

Obr. 3 - Nevratná procházka na dvourozměrné mříži

(22)

4.4. Nevratná procházka na dvourozměrné mříži se zobrazením statistického chování modelů polymerů

Tento program zobrazuje navíc k nevratné procházce z kapitoly 4.3.

statistické chování modelů polymerů. Všechny funkce, které jsou pro procházky odvozovány předpokládají, že je nastaven hodně velký počet kroků i počet opakování. Proto je pro správné průměrné hodnoty, které kopírují funkci, potřeba mnoho opakování nevratné procházky. Statistický graf, do kterého jsou vynášeny údaje z jednotlivých procházek, a při opakování jsou tato data průměrována, je zobrazen v informačním okně. V tomto okně jsou také zobrazeny průměrné hodnoty koncových vektorů a velikost koncového vektoru poslední vykonané procházky.

Prostředí tohoto programu vypadá následovně:

Obr. 4 - Nevratná procházka se zobrazenou statistickou funkcí

Na obr. 4 je vidět, že byla prováděna procházka o dvou opakováních, kde u poslední je vyobrazena i dráha, jak polymer tohoto uzlu dosáhl. V informačním okně, umístěném vpravo od programového okna, je zobrazeno statistické chování polymerního řetězce, na kterém je vidět značný rozptyl dat získaných simulací, což je způsobeno malým počtem opakování náhodné procházky. V horní části

(23)

informačního okna se vypisují údaje o délce koncového vektoru poslední procházky a průměr ze všech provedených procházek. U tohoto programu jsou opět segmenty polynomu, které se dostaly do stejného uzlu mříže vykreslovány jinou barvou.

4.5. Pravděpodobnost realizace neprotínající se procházky

V tomto programu je prováděna náhodná procházka, ovšem s tím, že do konce doběhnou pouze procházky, které ve svém průběhu nenavštíví žádný uzel vícekrát. Jak již bylo psáno dříve, není reálně možné, aby v jednom uzlu mříže bylo umístěno více segmentů polymerního řetězce z důvodu velkých odpudivých sil mezi jednotlivými částmi polynomu. Takovýto model je označován jako polymer se zakázaným objemem a příslušná procházka se nazývá neprotínající. Při tomto typu procházky je průměrná velikost řetězce větší než při náhodné i nevratné procházce.

Dalším důležitým údajem při neprotínající se procházce je hodnota pravděpodobnosti realizace této procházky o délce koncového vektoru Rr

a počtu kroků N. Tato pravděpodobnost výrazně klesá se vzrůstajícím počtem kroků náhodné procházky. Pro odvození nejprve prozkoumáme veličinu W0

( )

Rr dRr, která značí celkový počet náhodných procházek, jejichž N-tý krok se nachází v prostoru mezi dvěma soustřednými kulovými plochami o poloměru Rr

a Rr dRr

+ . Za předpokladu, že mřížová konstanta b je výrazně menší než přírůstek Rdr

. Počet procházek, které se nacházejí v tomto prostoru, je přímo úměrný pravděpodobnosti realizace neprotínající se procházky p ,

( )

Rr N . Počet náhodných procházek o N krocích je z , N objem zmiňovaného mezikruží je 4πR2dR, tak můžeme za pomoci [1, 2] napsat

( ) ( )

R dR

Nb R z Nb

dR R N R z R d R

W N N 2 22 2

3 2 2

0 4

2 exp 3 2

4 3

, π

π π

ρ ⎟

⎜ ⎞

⎝⎛−

⎟⎠

⎜ ⎞

= ⎛

= r

r

r . (4.9)

Označíme tedy p ,

( )

Rr N jako pravděpodobnost výskytu náhodné procházky, která je také neprotínající se procházkou o N krocích a která skončí mezi zmíněnými kulovými plochami. Tuto pravděpodobnost není možné dle současných znalostí

(24)

přesně určit, a proto potřebujeme pro tuto úlohu využít odhadu. Předpokládejme tedy, že jednotlivé segmenty řetězce jsou rovnoměrně rozmístěny v prostoru o objemu R , zde R je velikost koncového vektoru. Pokud dále označíme objem jedné 3 základní buňky mříže jako νc, tak v prostoru o objemu R je právě 3 R3 /νc buněk.

Pravděpodobnost, že se polymer dostane do uzlu, který je již obsazen jiným segmentem polynomu, je dána geometrickou pravděpodobností, tedy poměrem 3

R νc

. Při podělení těchto dvou hodnot vyjde, že se dva segmenty dostanou do stejného uzlu s pravděpodobností

⎜ ⎞

⎝⎛ −1 3 R νc

. Poněvadž v polynomu o N částích existuje

( )

2

−1

⋅ N N

různých párů segmentů, je možné konečný vztah pro pravděpodobnost vyjádřit jako

( )

( )

( )

⎢ ⎤

⎡ ⎟

⎜ ⎞

⎝⎛ −

⎟ =

⎜ ⎞

⎝⎛ −

=

3 2

1

3 1 ln 1

2 exp 1 1

, N N R

N R R

p c

N N

c ν

ν

r . (4.10)

Tento zápis vztahu pro pravděpodobnost realizace neprotínající se procházky je možné ještě dále upravit. V rovnici (4.10) jsme využili znalosti, že

[ ( )

b

] (

a b

)

ba =expln a =exp ⋅ln . (4.11)

Protože pro odvozování předpokládáme, že R3 >>νc, a protože je potom 3 <<1 R νc

,

tak logaritmickou funkci z rovnice pro pravděpodobnost ⎟

⎜ ⎞

⎝⎛ −1 3

ln R

νc

je možno

přepsat do jednoduššího tvaru R3

νc

− . Toto je zřejmé ze znalosti vlastností logaritmické funkce, která se v okolí jedné chová jako funkce y=x. Zároveň předpokládáme, že polymerační stupeň polynomu při náhodné procházce je o hodně větší než jedna tedy, že N>>1. Rovnici (4.10.) je tedy možno přepsat do tvaru

( ) ( )

⎟⎟

⎜⎜ ⎞

⎛−

⎟≈

⎜ ⎞

⎛− −

= 2 3 2 3

exp 2 2

exp 1

, R

N N R

N N

R

p r νc νc

. (4.12)

(25)

Prostředí programu pro výpočet pravděpodobnosti realizace neprotínající se procházky:

Obr. 5 - Pravděpodobnost realizace neprotínající se procházky

Na obr. 5 je vidět, že z 10 procházek byla neprotínající se pouze jedna. Dále je v informačním okně zobrazen vzorec pro výpočet pravděpodobnosti realizace neprotínající se procházky na dvourozměrné mříži a hodnota pravděpodobnosti z tohoto vzorce.

(26)

4.6. Neprotínající se procházka na dvourozměrné mříži

Tento program provádí procházku se zakázaným objemem, tedy neprotínající se procházku, kdy je zakázáno navštívit jeden uzel mříže vícekrát. Procházka, která se dostane do ,,slepé" uličky je ukončena a nezapočítává se do konečných statistik.

Pro velikost koncového vektoru při neprotínající se procházce je obtížné stanovit přesný vzorec, tudíž je tento vztah odhadnut. Tento odhad vychází podle [2] již ze vzorců uváděných v předchozí kapitole, konkrétně ze vzorce (4.9).

Celkový počet neprotínajících se procházek W

( )

Rr dRr je dán funkcí W

( )

Rr , kde platí

( ) ( ) ( )

⎟⎟

⎜⎜ ⎞

⎛− −

= 0 2 22 2 3

2 2

exp 3

, R

N Nb R R

N R p R W R

W r r r νc

. (4.13)

Velikost koncového vektoru při neprotínající se procházce nebudeme určovat pomocí gyračního poloměru, ale odhadneme, pro které R nabývá funkce W

( )

Rr maximum.

Po derivaci vzorce (4.13) a položením ji rovno nule vyjde

0 4 1

3 2

3

3

* 2 2

2

* + + =

R

N Nb

R νc

. (4.14)

Za předpokladu, že N →∞, RNν a 3

< 2

ν , tak můžeme člen +1 v rovnici (4.14) zanedbat a úpravou dostaneme

( )

2 51 53

5 3

* N b N

R ≈ νc ≈ . (4.15)

Ve vztahu (4.15) je vidět, že R* N53 = N0,6 a potom 3 2 53 <

ν = . Ovšem tento způsob určení velikosti koncového vektoru dává jen hrubý odhad ke skutečnému chování polymerních řetězců s interakcí nejbližších sousedů. Z experimentů a počítačových simulací je známé, že ν je ve skutečnosti slabě nižší než hodnota

(27)

zjištěná výpočtem, a to ν =0.588 a navíc z počítačových simulací vyplývá, že R je úměrné b a nikoliv b52, jak plyne z rozměrové analýzy. Takže výsledný vzorec pro velikost koncového vektoru při neprotínající se procházce je roven

b N

R0,588 . (4.16)

Tento rozdíl mezi exponentem pro ideální řetězec a řetězec s interakcí nejbližších sousedů se zdá jako malý, ale nesmíme zapomenout, že je to exponent umocňující polymerační stupeň, který nabývá vysokých hodnot, řádově 105 a více, potom je rozdíl v odhadu velikosti koncového vektoru značný. Hodnotu koeficientu ν, který umocňuje polymerační stupeň polynomu, je třeba dále zpřesňovat. Prostředí programu, tj. hlavní a informační okno, je zobrazeno na následujícím obrázku.

Obr. 6 - Neprotínající se procházka na dvourozměrné mříži

Při neprotínající se procházce je problém s tím, že se polymerní řetězec při své tvorbě často dostane do ,,slepé" uličky. Tato situace je tím častější, čím je větší počet kroků procházky. V tomto programu se tento vektor do konečných statistik nezapočítává. Na obr. 6 jsou v levé části vidět jednotlivé koncové vektory a u

(28)

poslední provedené procházky i cesta, kudy bylo tohoto místa dosáhnuto. V pravé části obrázku, v informačním okně, je vidět průměrná délka koncových vektorů ze simulace, vzorec pro tento údaj a hodnota, která vyšla z tohoto vzorce.

4.7. Korelace vazebných vektorů nevratné procházky

V modelu nevratné procházky, jak již bylo napsáno v kapitole 4.3., nemůže vazebný vektor rr nabývat opačnou orientaci k předchozímu vazebnému vektoru n

procházky. S přihlédnutím k této skutečnosti zbývá pro každý další pohyb z1 možností. Pro střední hodnotu vazebného vektoru rr platí podle [1] rekurentní n

vztah, vyjadřující korelaci mezi dvěma po sobě jdoucími kroky, resp. vazebnými vektory procházky

1 1

1

= n

n r

rr z r

. (4.17)

Ve vzorci (4.17) je jasné, že pokud zakážeme jeden typ možného pohybu, v tomto případě okamžitý návrat, poté se, díky izotropii nevratné procházky, kolmé kroky k předchozímu vazebnému vektoru vyruší, neboť mají stejnou pravděpodobnost po dvojicích proti sobě. Zbude tedy pouze vazebný vektor ve směru předchozího vektoru rrn1. Pohyb tímto směrem se podle rovnoměrné náhodnosti uskuteční s četností z11 . Z rovnice (4.17) proto okamžitě plyne pro každé n>0

(

1

)

2

1⋅ = −

+ z

r b rrn rn

. (4.18)

Protože kroky nevratné procházky se uskutečňují na ortogonální mříži, je skalární součin rr ⋅n+1 rrn nenulový a roven b2 jen tehdy, když oba dva vazebné vektory rr i n+1

rr mají stejnou orientaci (tzn. pohyb se uskutečnil ve směru předchozího kroku). n

(29)

Pro vzdálenost jednotlivých vazebných vektorů ve skalárním součinu ,,ob jeden", tedy skalární součin rr ⋅n+2 rrn, platí podobný vztah

( )

2

2 1

2 1 1

1 1 1 1

. 1

= −

⎟⎠

⎜ ⎞

= −

= − +

+ z

r b z r

r z z r

r

rrn rn rn rn rn rn

. (4.19)

Pro stále vzdálenější vazebné vektory tedy platí

( )

n m

n

m z

r b

r = −

.r 12

r . (4.20)

Tento program ukazuje a počítá korelaci vazebných vektorů až do vzdálenosti deseti kroků od sebe. Tyto hodnoty jsou vynášeny do grafu, kde je se vzrůstajícím počtem opakování nevratných procházek vidět přibližování hodnot ze simulace ke vzorcům (4.19) a (4.20).

Program pro výpočet korelace vazebných vektorů u nevratné procházky je znázorněn na obrázku 7.

Obr. 7 - Korelace vazebných vektorů nevratné procházky

(30)

V obr.7 jsou v levé části vidět jednotlivé koncové vektory a u poslední procházky i celý polymerní řetězec. V pravé části jsou vidět informace k programu, kde hlavní je graf, do kterého jsou vynášeny jednotlivé korelace mezi vazebnými vektory nevratné procházky od vzdálenosti vektorů 0 až po vzdálenost 10. Jak je vidět, tak už od hodnoty 5 je tato hodnota velmi blízká nule, proto žádné vzdálenější vektory nejsou uvažovány. Nad grafem je zobrazen vzorec (4.20), který byl odvozen v této kapitole. Korelaci vazebných vektorů má smysl uvažovat pouze při nevratné procházce.

Při náhodné procházce je skalární součin mezi jednotlivými vazebnými vektory roven nule. Toto nebylo v programech k této diplomové práci řešeno, poněvadž je to po úpravách předchozích vzorců zřejmé. Jednotlivé dvojice pohybů, jak pohyb ,,nahoru" a ,,dolu", tak pohyb ,,doleva" a ,,doprava", se uskutečňují se stejnou četností a tedy se ve střední hodnotě vyruší.

4.8. Výpočet gyračního poloměru u náhodné procházky

V tomto programu je počítán gyrační poloměr, což je často používaná charakteristika velikosti polymerního řetězce. R , neboli gyrační poloměr, je G

definován jako průměrná hodnota kvadrátů vzdálenosti segmentů od těžiště polymerního řetězce. Pro jednoduchost odvození předpokládáme, že se polymer skládá ze segmentů o téže hmotnosti. Potom je vektor RrM

, který spojuje počátek souřadného systému s těžištěm řetězce, podle [1], roven

∑ ∑ ∑

=

=

=

⎟⎟

⎟⎟

⎜⎜

⎜⎜

=

=

= N

n

N

i yi N

i xi n

n

M N

R N

R N R

R R

1

1

1 ,

1 r

r

r . (4.21)

(31)

Obr. 8 - Gyrační poloměr a údaje k výpočtu

Vektor Rrn

je tzv. poziční vektor segmentu n, neboli vektor spojující počátek souřadného systému s n-tým segmentem řetězce. Pomocí vektoru RrM

je definován gyrační poloměr R jako G

( )

2

1

2 1

=

= N

n n M

G R R

R N r r

(4.22)

(RrnRrM)2 =(RnxRMx,RnyRMy)2 =(RnxRMx)2 +(RnyRMy)2

(4.23)

(32)

Hlavní i informační okno programu pro výpočet gyračního poloměru je znázorněno na obrázku 9.

Obr. 9 - Výpočet gyračního poloměru u náhodné procházky

Na obr. 9 je v levé části vidět jedna provedená náhodná procházka, u které je určeno těžiště a následně spočítán gyrační poloměr. Dále je v levé části obrázku vidět kružnice o poloměru rovném gyračnímu poloměru se středem v těžišti polymerního řetězce. Tato kružnice charakterizuje vyobrazený polynom. V pravé části obrázku, v informačním okně, je vidět jako u předchozích programů velikost koncového vektoru procházky. Mezi další informace patří vzorec pro výpočet gyračního poloměru a vypočtená hodnota z tohoto vzorce. Závislost mezi velikostí koncového vektoru a hodnotou gyračního poloměru bude ukázána v další kapitole.

(33)

4.9. Vztah gyračního poloměru a koncového vektoru

Tento program provádí náhodnou procházku s určitým počtem opakování, kde po provedení každé procházky program spočítá gyrační poloměr řetězce a po provedení poslední procházky se spočítaný kruh také vykreslí. Účelem tohoto programu je dokázat, že gyrační poloměr R má vzhledem k velikosti koncového G

vektoru R vztah

2 2

2

6 1 6

1 Nb R

Rg r

=

= . (4.24)

Z důvodu podobnosti chování celého polymerního řetězce, a každé jeho dostatečně velké části, můžeme psát vztah mezi segmenty m a n jako pro celý řetězec

(

RvnRrm

)

2 = nmb2

, (4.25)

kde Rrn

a Rrm

jsou tzv. poziční vektory segmentu m a n. Podle vztahů (4.21) a (4.22) je možné vztah pro gyrační poloměr přepsat do tvaru

( ) ( )

( ) ∑ ∑

∑ ∑

= =

= =

=

=

=

=

=

=

=

=

=

N

n N

m N

n N

m n m

N

n

m n N

n

m n N

n

M n G

b m N n

R N R

N

R N R

R N R

R N R

R

1 1

2

1 1 2

2

1

2 1

2 1

2 2

2 1 1

2 1

1 1

1

r r

r r r

r r

r

. (4.26)

Při této úpravě je potřeba vzít v úvahu, že dvojí sumace, která je vidět ve vztahu (4.26), načítá každý segment m a n dvakrát, a tudíž je potřeba vztah

vynásobit 2

1. Pravá strana se ve vztahu (4.26) rovná součtu aritmetické řady, tzn.

= N

m

m

1 , která je úměrná N2 a z N násobného součtu těchto hodnot, tedy

3

2 N

N

N⋅ = . Proto je možné napsat 2 2 2

2 3 b Nb

N

RGN = .

(34)

Pro důkaz toho, že

6 2 3

1 1

m N n

N

n N

m

=

∑ ∑

= = , (4.27)

budeme používat přepis pomocí integrálů, kdy pro velká N je možné sumaci přepsat jako

∫ ∫

⎟⎟

⎜⎜ ⎞

⎛ −

N N

dn dm m n

0 0

. (4.28)

Nejprve integrujeme vnitřní část vztahu (4.28), tedy integrace podle m, kdy vyjde

( )

2 2

2 2

0 0

0

n N dm n

m dm m dm m n

n N n

N

+

= +

=

∫ ∫

. (4.29)

Další úpravou, tedy integrací podle n, získáme již konečný výraz pro dvojí součet

( )

6 2 3 2 2 2

1 6 2

2

3 3

3 3

3 0

2 2 N N N

N N n dn

N

N n

⎟⎟=

⎜⎜ ⎞

⎛ − +

+

⎟⎟ =

⎜⎜ ⎞

⎛ + −

. (4.30)

Dosazením tohoto výsledku do vztahu (4.26) dostaneme výraz pro závislost velikosti koncového vektoru na velikosti gyračního poloměru

2

1 1

2 2

2

6 1 2

1 n mb N b

R N N

n N

m

G =

∑ ∑

− = ⋅

= = . (4.31)

Z provedeného výpočtu vidíme, že kvadrát velikosti gyračního poloměru u ideálního řetězce je roven šestině kvadrátu velikosti jeho koncového vektoru.

(35)

Program pro důkaz velikosti gyračního poloměru v závislosti na velikosti koncového vektoru vypadá následovně.

Obr. 10 - Důkaz statistických pravidel u gyračního poloměru

V levé části obrázku jsou vidět jednotlivé koncové vektory provedených procházek, kde u poslední je zobrazen i celý polymerní řetězec. Dále je zde u poslední provedené procházky zobrazena kružnice o poloměru rovném gyračnímu poloměru. V pravé části obrázku, v informačním okně, jsou vidět informace o provedených procházkách. Mezi tyto informace patří délka posledního koncového vektoru, průměrná délka koncových vektorů dosud vykonaných náhodných procházek, funkce pro výpočet gyračního poloměru a funkce závislosti velikosti koncového vektoru na velikosti gyračního poloměru. Pod tímto vzorcem jsou zobrazeny aktuální velikosti jednotlivých středních hodnot. Dále je v informačním okně vidět střední velikost koncového vektoru náhodné procházky vypočtené pomocí vzorce, hodnota gyračního poloměru poslední provedené procházky a střední hodnota gyračních poloměrů dosud provedených náhodných procházek.

(36)

4.10. Dynamický model pohybu polymerů; model 1

V tomto programu je provedena jedna náhodná procházka. Poté se s tímto polymerním řetězcem dále pracuje. Vazebné vektory polymeru jsou přesouvány ze začátku řetězce na jeho konec, kde jsou náhodně umísťovány. Tímto postupem docílíme toho, že se polymerní řetězec pohybuje (,,plazí“) po mříži. Výraz ,,plazení“

polymerního řetězce vznikl z anglického reptation. Pro přehlednost tohoto programu jsou odlišeny počáteční a koncový segment polymerního řetězce, kde počáteční je označen zelenou barvou a koncový barvou červenou.

Tento program vypadá následovně:

Obr. 11 - Plazení polymeru po mříži

Na obrázku je vidět v levé části vytvořený polymerní řetězec, který byl zachycen v určitý okamžik „plazení“. V pravé části obrázku, v informačním okně, je napsán stručný popis programu a ukázány barvy počátečního a koncového segmentu polymerního řetězce.

(37)

4.11. Dynamický model pohybu polymerů; model 2

Pro tento program byl použit také tzv. plazivý algoritmus (reptation algorithm) podle K. Bindera, který popisuje ve své knize The Monte Carlo Method in Condensed Matter Physics. V tomto algoritmu je nejprve provedena jedna náhodná procházka, aby byl vytvořen základní model polymerního řetězce, se kterým je dále pracováno. Dále je náhodně vybírán jeden konec polymerního řetězce, u kterého se první respektive poslední vazebný vektor buď náhodně pootočí, nebo přesune na opačný konec. Správná dynamika pohybu polymerních řetězců nastává až po provedení N2 kroků. Tento algoritmus je v základě používán na otevřené polymerní řetězce, kde jsou oba konce volné. Model nezobrazuje realisticky místní dynamiku (uprostřed polymerního řetězce), protože se pracuje pouze se začátkem nebo koncem polynomu.

Prostředí a ukázka tohoto programu je zobrazeno na následujícím obrázku

Obr. 12 - Dynamický model pohybu polymerů

V levé části obrázku je vidět vytvořený polymerní řetězec, na který je již více než N2 kroků aplikován ,,plazivý algoritmus“. U tohoto řetězce je zelenou barvou označen počátek a červenou barvou jeho konec. V pravém, informačním, okně jsou

(38)

napsány informace o prováděném algoritmu a popsány jednotlivé segmenty polymerního řetězce, s kterými se pracuje.

4.12. 3D model tvorby polymerních řetězců

Tento program simuluje tvorbu polymerních řetězců na trojrozměrné mříži.

Vzhledem k nepřehlednosti celého programu při vykreslení mříže, byl zvolen takovýto postup. V levé horní části programového okna je vykreslena krychle, která ukazuje, jak vypadá jedna část mříže. Při tvorbě řetězce jsou vykresleny pouze hlavní osy trojrozměrné mříže. Tento program slouží pouze pro simulaci tvorby polynomů na 3D mříži. Nedokazuje žádné statistické chování ani žádné vlastnosti tohoto typu tvorby polymerních řetězců.

Prostředí tohoto programu a hlavní okno po provedení nastaveného počtu kroků a opakování vypadá takto.

Obr. 13 - 3D model tvorby polymeru

(39)

5. Webové rozhranní

Další částí této diplomové práce byla tvorba webového rozhraní jako informačního zdroje pro studenty s možností stažení programů. Pro tuto práci byl zvolen skriptovací jazyk PHP a HTML pro svoji jednoduchost a snadnou tvorbu webových stránek. Vytvořené stránky byly umístěny na webový prostor KKY, jakožto ,,domovské“ katedry této diplomové práce. Adresa webových stránek je:

http://swan.kky.tul.cz/students/petr_kamenicky/index.php.

5.1. Skriptovací jazyk PHP

PHP je rekurzivní zkratka pro Hypertext Preprocessor, dříve Personal Home Page. Tento skriptovací jazyk je nejčastěji používán pro programování dynamických internetových stránek a obsluhujících skriptů. Často je začleňován do struktury jazyka HTML, XHTML nebo WML, což je velmi výhodné pro tvorbu webových aplikací. PHP skripty jsou zpravidla prováděny na straně serveru a k uživateli jsou přenášeny až výsledky jejich činnosti. Syntaxe jazyka kombinuje hned několik programovacích jazyků jako je Perl, C, Java a Pascal. PHP je nezávislý na platformě uživatelova systému a funguje bez problému a beze změny na mnoha operačních systémech. Obsahuje mnoho funkcí pro práci se soubory, textem i grafikou. Tento jazyk je také možno spojit s většinou databázových serverů, jako je MySQL a velmi časté je také používání Apache serveru pro tvorbu webových aplikací a prohlížení výsledků práce. Díky velmi častému použití na serverech se vžila zkratka LAMP (Linux, Apache, MySQL, PHP). PHP se stalo velmi oblíbeným skriptovacím jazykem převážně proto, že umožňuje kombinovat více programovacích jazyků a nechává tak vývojáři částečnou svobodu v použité syntaxi.

Tento skript se začal používat od roku 1994, kdy byl vyvinut Rasmusem Lendorfem pro svou osobní potřebu. Tvůrce tento jazyk vytvořil přepsáním z jazyka Perl do jazyka C. Jazyk PHP je tzv. dynamicky typový, což znamená, že přiřazuje proměnné podle požadavků programu. Jednotlivá pole používaná v tomto skriptu jsou heterogenní, mohou tedy obsahovat jakékoliv údaje a typy proměnných.

(40)

Po načtení stránky u uživatele již není možné měnit její obsah. K obnovování obsahu části stránky bez nutnosti stahování celé webové stránky se nyní začíná používat AJAX (Asynchronous JavaScript and XML), což vede k efektivnější komunikaci mezi klientem a serverem a to díky menšímu datovému toku.

5.2. Programovací jazyk HTML

HTML, neboli Hypertext Markup Language, je v překladu značkovací jazyk pro hypertext. Je jedním z mnoha jazyků, které jsou využívány pro tvorbu webových stránek v systému WWW (World Wide Web). Tento programovací jazyk je vytvořen aplikací dříve používaného SGML (Standard Generalized Markup Language).

Postupný vývoj HTML byl ovlivněn vývojem webových prohlížečů, které zpětně ovlivňovali definici jazyka. Jazyk se začal vyvíjet již v roce 1989, kdy spolupracovali Tim Berners-Lee a Robert Caillau na propojeném informačním systému pro firmu CERN (výzkumné centrum poblíž Ženevy). V té době se pro tvorbu dokumentů a textu nejčastěji používaly jazyky TeX, PostScript a SGML. Pan Berners-Lee si začal uvědomovat, že je potřeba nový jazyk, jednodušší a uživatelsky příjemnější. A tak v roce 1990 navrhnul jazyk HTML a pro přenos dat v jazyku HTML protokol HTTP (HyperText Transfer Protocol). S tímto návrhem a naprogramováním vznikl také první webový prohlížeč, který Berners-Lee pojmenoval WorldWideWeb. V roce 1991 zprovoznil CERN svoje webové stránky a současně organizace NCSA (National Center for Supercomputer Applications) vybídla Marca Andreessena a Erica Binu k vytvoření webového prohlížeče s podporou grafiky. Byl to prohlížeč Mosaic, který vznikl v roce 1993 ve verzích pro IBM PC a pro Macintosh. Následoval rychlý vývoj jazyka od počáteční verze 0.9 až po dnešní verzi 5.

Jazyk HTML je charakterizován množstvím značek a jejich atributů definovaných pro danou verzi. Mezi značky se uzavírají části textu dokumentu, a tím se určuje sémantika obsaženého textu. Názvy jednotlivých značek se uzavírají mezi ostré závorky (<>). Část dokumentu tvořená otevírací značkou, nějakým obsahem a odpovídací ukončovací značkou tvoří prvek dokumentu. Například <strong> je otevírací značka pro zvýraznění textu a <strong>Náhodná procházka</strong> je

(41)

prvek obsahující zvýraznění textu. Součástí prvku mohou být i další vnořené prvky.

Atributy jsou doplňující informace pro jednotlivé prvky. Značky, v HTML zvané tagy, jsou téměř vždy párové, otevírací se liší od uzavírací pouze lomítkem. Pro každou verzi HTML existují jistá pravidla, která jsou popsána v DTD (Dokument Type Definition). Jednotlivé značky lze v HTML rozdělit do třech základních částí.

Jsou to strukturální značky, popisné značky a stylistické značky. Rozdělení webové stránky se zpravidla provádí pomocí css (Cascading Style Sheets).

5.3. Tvorba webového rozhraní

Pro tvorbu webového rozhraní pro komunikaci se studenty předmětu Fyzika polymerů byla zvolena, jak již bylo napsáno výše, práce v programu HTMLKit a programovacích jazyků HTML a PHP s využitím css pro rozdělení stránky. Webové rozhraní je stavěno jako několik na sebe napojených stránek, které obsahují informace o projektu nebo možnosti stažení programů. Hlavním úkolem tvorby internetových stránek bylo zpřístupnění programů studentům. Internetová adresa stránek byla studentům sdělena na cvičeních k předmětu.

References

Related documents

7) Je nabídka oblečení na trhu dostatečná nebo Vám něco chybí? Pokud ANO, co a proč.. Komfortní vlastnosti módy Lolita. Veronika Uhlířová

Graf průběhu ohybu na vzorku č.. Graf průběhu ohybu na

Jste aktivním uživatelem sociální sítě Facebook. Pokud ne, pokračujte

Prosím Vás o vyplnění dotazníku, který má za cíl zjistit Vaše požadavky na letní každodenní oblečení!. Váš názor je pro

Stravování: SJ nepřijímají potraviny, které jsou vyráběny z krve nebo jsou do nich přidávány krevní složky (například zabijačková polévka, jelita apod.), vyhýbají

V případě rozdílu skóre o víc než 7 branek se čas nezastavuje vůbec!. Při vyloučení hráče se začíná čas započítávat až po zahájení hry

včera jsme vybrali rozhodcovské páry, které bychom rádi využili na 2. termín florbalového turnaje NISAOPEN, který se koná v Liberci od 1. a 3.) a nejsou uvedeni v

FA-ŠKO ENERGO Mladá Boleslav 2.. BILLY BOY Mladá Boleslav