ˇ ´ VYSOKE ´ UCEN ˇ ´ ´ V PRAZE CESK E I TECHNICKE ´ FAKULTA ELEKTROTECHNICKA ´ KATEDRA ELEKTROMAGNETICKEHO POLE
´ PRACE ´ DIPLOMOVA N´ astroj pro mod´ aln´ı anal´ yzu frakt´ alov´ ych patch ant´ en
ˇ Bc. Miloslav Capek Vedouc´ı pr´ ace: Ing. Pavel Hazdra
ˇ e Budˇejovice 2009 Cesk´
i
Zad´ an´ı Vytvoˇrte SW n´ astroj pro generaci (pomoc´ı IFS) a mod´aln´ı anal´ yzu mikrop´askov´ ych patch ant´en zaloˇzen´ ych na frakt´aln´ı geometrii. 1. Implementujte optimalizaˇcn´ı algoritmus (napˇr. na b´azi PSO), kter´ y bude generovat IFS kol´ aˇze s c´ılem nal´ezt struktury s minim´aln´ı rezonanˇcn´ı frekvenc´ı z´ akladn´ıho modu. Rezonanˇcn´ı frekvence a rozloˇzen´ı proud˚ u stanovte pomoc´ı dutinov´eho modelu (napˇr. s vyuˇzit´ım v´ ypoˇcetn´ıho j´adra COMSOL Multiphysics). Maxim´ aln´ı rozmˇery kol´aˇze uvaˇzujte konstantn´ı tak, aby bylo moˇzn´e porovn´ avat struktury v˚ uˇci kanonick´ ym tvar˚ um (obd´eln´ık, kruh) a navz´ajem v˚ uˇci sobˇe. 2. Na z´ akladˇe rozloˇzen´ı magnetick´ ych proud˚ u na hranˇe ant´en implementujte v´ ypoˇcet vyzaˇrovac´ıho diagramu pro jednotliv´e mody. 3. Vybranou strukturu z bodu 1) nasimulujte v nˇekter´em ”full-wave”simul´atoru (napˇr. CST-MWS) a porovnejte vlastnosti ant´eny s dutinov´ ym modelem (rezonanˇcn´ı frekvence, proudov´a distribuce).
ii
Podˇ ekov´ an´ı R´ad bych podˇekoval nˇekolika lidem, bez kter´ ych by tato pr´ace stˇeˇz´ı kdy vznikla. Pˇrednˇe dˇekuji m´emu ˇskoliteli Pavlu Hazdrovi, nejen za pˇr´ısun literatury a podklad˚ u, tip˚ u a rad, ale zejm´ena za nen´apadn´e a pˇresto jist´e veden´ı cel´e pr´ace. ˇ D´ale bych r´ ad podˇekoval tˇem, kteˇr´ı pˇrispˇeli radou; jmenovitˇe: Petrovi Cern´ emu, Stanislavu Zv´ anovcovi, Aleˇsi Nˇemeˇckovi, Jaroslavu Tiˇserovi, Pavlu Tiˇsnovsk´emu a dalˇs´ım. V neposledn´ı ˇradˇe dˇekuji rodinˇe, Janˇe a v´ yrobc˚ um japonsk´ ych zelen´ ych ˇcaj˚ u.
iii
Prohl´ aˇ sen´ı T´ımto stvrzuji, ˇze tato pr´ ace je m´e vlastn´ı d´ılo a ˇze vˇsechny pouˇzit´e zdroje jsou uvedeny v Literatuˇre (pˇr´ıpadnˇe na datov´em nosiˇci). D´ale souhlas´ım s pˇr´ıpadn´ ym vyuˇzit´ım m´e pr´ ace pro nekomerˇcn´ı u ´ˇcely katedry elekromagnetick´eho pole na ˇ FEL-CVUT.
ˇ ych Budˇejovic´ıch dne 15. 5. 2009. V Cesk´
iv
Abstrakt Diplomov´ a pr´ ace shrnuje z´ıskan´e poznatky v oblasti frakt´aln´ıch ant´en a optimalizace. V mnoha ohledech rozv´ ad´ı z´avˇery bakal´aˇrsk´e pr´ace. Text je tematicky rozdˇelen na nˇekolik ˇc´ ast´ı, kter´e reflektuj´ı na sebe navazuj´ıc´ı t´emata. Nejprve je vˇenov´ana pozornost definici, generaci a zpracov´an´ı IFS struktur. Jsou pˇredstaveny postupy jak dynamicky vyhodnocovat obvod a obsah kol´aˇze v prostˇred´ı Matlab, vˇenujeme se i tzv. box-counting metodˇe. Pro vlastn´ı mod´ aln´ı ˇreˇsen´ı je vyuˇzit dutinov´ y model, v´ ypoˇcet prov´ad´ı Comsol. Dalˇs´ı pas´ aˇz reflektuje v´ yvoj v oblasti optimalizace, je implementov´an a testov´an PSO algoritmus. Pˇredstaven je n´astroj na nastaven´ı optimalizaˇcn´ıch podm´ınek s c´ılem z´ıskat optimalizovan´e IFS ant´eny s ohledem na minim´aln´ı rezonanˇcn´ı frekvenci. Exportovan´ a data z Comsolu vyuˇzijeme pro v´ ypoˇcet vyzaˇrovac´ıho diagramu. Na z´ avˇer vybranou strukturu simulujeme v referenˇcn´ım softwaru CST MWS. Naprost´ a vˇetˇsina aplikac´ı je p˚ uvodn´ı, jsou vytv´aˇreny v prostˇred´ı Matlab s ohledem na modularitu a dalˇs´ı rozvoj.
Kl´ıˇ cov´ a slova IFS, dutinov´ y model, rezonanˇcn´ı frekvence, proudov´e rozloˇzen´ı, m´ody, optimalizace, PSO, vyzaˇrovac´ı diagram.
v
Abstract This thesis summarieses all obtained knowledge about fractal patch antenna and particle swarm optimization. All aspects of the bachelor thesis are expand in many ways, some new topic are shown too. The whole text is divided into separate chapters which contain particular topics. First we take care of definition, generation and manipulation of IFS fractal structures. There are introduced new approaches to fractal’s circumference and area measure in Matlab environment. We attend to socalled box-counting method also. Further section contains cavity model characterization. Evaluation of this model provides Comsol Multiphysics. The PSO algorithm is chosen for optimization of patch antennas. The IFSLimiter, instrument for setup the conditions of optimization, is introduced. Radiation pattern is computed from obtained data. In the end, we choose the proper structure to simulate it in CST-MWS with a view to make a reference between Comsol and CST. Most of described applications have been developed in Matlab considering modularity and extensibility.
Keywords IFS, cavity model, resonant frequency, current distribution, modes, optimization, PSO, radiation pattern.
vi
Pˇ redmluva Pˇr´ırodn´ı z´ akony: skryt´e, tajemn´e a fascinuj´ıc´ı. Jsou od nepamˇeti jedn´ım z hlavn´ıch determinant lidsk´e spoleˇcnosti. Moˇzn´a proto, moˇzn´a pro pˇrirozenou lidskou zv´ıdavost, zcela jistˇe vˇsak s c´ılem ukojit vrozenou pohodlnost, je odkr´ yv´an´ı tˇechto taj˚ u hnac´ı silou rozvoje lidstva. Stav pozn´ an´ı se vˇsak od dob Aristotela, Newtona, Maxwella, Einsteina a dalˇs´ıch v mnoh´em zmˇenil. Vzpomeˇ nme na Laplaceova d´emona; n´azor na ˇr´ad a chaos se dynamicky vyv´ıjel a zajist´e bude vyv´ıjet i d´al. A pr´ avˇe oblast na pomez´ı je v souˇcasn´e dobˇe v hled´aˇcku mnoha velik´an˚ u svˇetov´e fyziky, chemie a teorie informace. Spadaj´ı sem dodnes nevyˇreˇsen´e probl´emy jako Navier-Stokesovy rovnice popisuj´ıc´ı proudˇen´ı nebo Riemannova hypot´eza spojuj´ıc´ı svˇet prvoˇc´ısel (o kter´ ych jsme se doned´avna domn´ıvali, ˇze jsou v´ ytvorem ˇclovˇeka), neuspoˇr´ adan´e chaotick´e syst´emy, ale pˇrekvapivˇe zahrnuj´ıc´ı i ˇreˇsen´ı plan´arn´ıch rezon´ator˚ u. Do stejn´e kategorie m˚ uˇzeme zaˇradit frakt´aly a rojovou optimalizaci, kter´a, aˇc s pevnˇe dan´ ym algoritmem, generuje z kr´atkodob´eho pohledu nedeterministick´ y pohyb agent˚ u. Tak doch´ az´ıme k poznatku, ˇze nejefektivnˇejˇs´ı syst´emy jsou pr´avˇe ty na pomez´ı striktnˇe predikovateln´eho a pouze“ pravdˇepodobn´eho1 . Dost moˇzn´a ” i element´ arn´ı principy ant´en a elektromagnetick´eho pole (vlnˇen´ı) spadaj´ı do t´eto skupiny. Vˇsechny tyto probl´emy zobecˇ nuj´ı nov´e n´ahledy na ˇcas, prostor, determinismus i klasickou mechaniku. Pˇritom naˇse neust´al´e zkoum´an´ı ovlivˇ nuje postoje umˇen´ı, filosofie, spoleˇcensk´ ych vˇed, ekonomie . . . Vˇenujme proto zv´ yˇsenou pozornost t´eto komplexitˇe a interdisciplinaritˇe, nebot’, dost moˇzn´ a, ˇzijeme na u ´svitu nov´e revoluce ([7]). S veˇskerou pokorou si pˇreji, aby pˇredloˇzen´ a pr´ ace, byt’ nepatrn´ ym d´ılem, pˇrispˇela do invent´aˇre t´e nejdobrodruˇznˇejˇs´ı v´ ypravy – t´e, kterou Richard Feynman oznaˇcil za obrovskou ˇsachovou partii. Autor
1 Bezpeˇcnostn´ı sluˇzba, pˇrev´ aˇzej´ıc´ı pen´ıze z banky, jezd´ıc´ı st´ ale po stejn´e trase, by byla ˇcasto vystavena pˇrepaden´ı; naopak pˇri zcela n´ ahodn´e j´ızdˇe by svou neefektivitou podlehla konkurenci.
Pozn.: Obr´ azek na n´ asleduj´ıc´ı stranˇe zobrazuje Juliovu mnoˇzinu. Jedn´ a se o frakt´ al, kter´ y z´ısk´ ame vyˇsetˇren´ım divergence rovnice zn+1 = zn2 + c, kde z je komplexn´ı a c je (t´eˇz komplexn´ı) konstanta.
Obsah ´ 1 Uvod 1.1 Koncepce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Konspekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 1 2
2 IFS frakt´ aly 2.1 Frakt´ al . . . . . . . . . . . . . . . . . . . . 2.2 Generace IFS . . . . . . . . . . . . . . . . 2.2.1 Metrika . . . . . . . . . . . . . . . 2.2.2 Pevn´ y bod . . . . . . . . . . . . . 2.2.3 Kontraktivn´ı zobrazen´ı . . . . . . . 2.2.4 Banachova vˇeta o pevn´em bodu . . 2.2.5 Interpretace IFS . . . . . . . . . . 2.3 Transformace . . . . . . . . . . . . . . . . 2.3.1 Typy afinn´ıch transformac´ı . . . . 2.3.2 Zp˚ usoby uloˇzen´ı . . . . . . . . . . 2.4 M´ıry a dimenze . . . . . . . . . . . . . . . 2.4.1 Topologick´ a dimenze . . . . . . . . 2.4.2 Vnˇejˇs´ı m´ıra . . . . . . . . . . . . . 2.4.3 -pokryt´ı . . . . . . . . . . . . . . 2.4.4 Hausdorffova m´ıra . . . . . . . . . 2.4.5 H¨ olderova funkce s parametrem α 2.4.6 Hausdorffova dimenze . . . . . . . 2.4.7 Mˇr´ıˇzkov´ a dimenze . . . . . . . . . 2.5 Metoda box-counting . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
3 3 5 6 6 6 7 7 8 8 10 10 11 11 12 12 13 13 15 16
3 IFS software 3.1 Programovac´ı techniky v Matlabu . ´ 3.1.1 Uvod . . . . . . . . . . . . . 3.1.2 Switched board programming 3.1.3 Struktur´ aln´ı programov´an´ı . 3.1.4 OOP . . . . . . . . . . . . . . 3.2 AntTool . . . . . . . . . . . . . . . . 3.2.1 Generace IFS . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
19 19 19 22 23 24 25 26
viii
. . . . . . .
. . . . . . .
. . . . . . .
OBSAH
3.3 3.4
ix 3.2.2 Export kol´ aˇze . . . . . . 3.2.3 Pˇripojen´ı ke Comsolu . 3.2.4 N´ ahrada IFSMakerem . IFSMaker . . . . . . . . . . . . Nedostatky a moˇzn´ a vylepˇsen´ı
4 Numerick´ e metody 4.1 Mikrop´ askov´e patch ant´eny . . 4.2 Metoda moment˚ u. . . . . . . . 4.3 Dutinov´ y model . . . . . . . . . 4.4 Metoda koneˇcn´ ych prvk˚ u . . . 4.5 Teorie charakteristick´ ych mod˚ u 5 EvalInFem 5.1 Popis, syntaxe . . . . . . 5.2 Geometrie . . . . . . . . 5.3 Mesh, fyzika . . . . . . . 5.4 Zpracov´ an´ı v´ ysledk˚ u . . 5.5 Oˇsetˇren´ı chyb, stabilita 5.6 V´ ysledky . . . . . . . . 5.7 Propojen´ı s PSO . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
27 28 29 29 36
. . . . .
38 39 41 44 46 49
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
53 53 55 56 57 60 60 64
6 Vyzaˇ rovac´ı diagram 6.1 Rozloˇzen´ı zdroj˚ u . . . . . . . . . . . . . . . 6.2 Odvozen´ı potˇrebn´ ych vztah˚ u . . . . . . . . 6.3 Magnetick´e proudy . . . . . . . . . . . . . . 6.3.1 Rekonstrukce patche, z´ısk´an´ı dat pro 6.3.2 Smˇer norm´ aly . . . . . . . . . . . . . 6.3.3 Vyuˇzit´ı hodnot NaN z Comsol gridu 6.4 Povrchov´e elektrick´e proudy . . . . . . . . . 6.5 Simulace v CST . . . . . . . . . . . . . . . . 6.6 Realizace – EvalRadPattern . . . . . . . . . 6.6.1 V´ ypoˇcet proud˚ u . . . . . . . . . . . 6.6.2 Algoritmus . . . . . . . . . . . . . . 6.6.3 GUI . . . . . . . . . . . . . . . . . . 6.6.4 Optimalizace . . . . . . . . . . . . . 6.7 Rozbor v´ ysledk˚ u . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . norm´alu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
65 65 67 71 72 73 74 75 77 78 78 79 79 80 80
7 PSO optimalizace 7.1 PSO algoritmus . . . . . . 7.1.1 Historie . . . . . . 7.1.2 Princip PSO . . . 7.1.3 Omezen´ı agent˚ u . 7.2 Optim´ aln´ı parametry PSO
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
82 82 82 83 84 85
. . . . . . .
. . . . . . .
. . . . .
. . . . . . .
. . . . .
. . . . . . .
. . . . .
. . . . . . .
. . . . .
. . . . . . .
. . . . .
. . . . . . .
. . . . .
. . . . . . .
. . . . .
. . . . . . .
. . . . .
. . . . . . .
. . . . .
. . . . . . .
. . . . .
. . . . . . .
. . . . . . .
. . . . .
. . . . . . .
. . . . .
. . . . . . .
. . . . .
. . . . .
OBSAH 7.3 7.4
x Stretched PSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GSO algoritmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8 PSOptimizer 8.1 Implementace . . . . 8.2 PsoData form´ at . . . 8.3 Fitness funkce, testy 8.4 Zpracov´ an´ı v´ ysledk˚ u 8.5 Spojen´ı s EvalInFem 8.6 Zrychlen´ı metody . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
9 IFSLimiter 9.1 Struktura programu . . . . . . . 9.2 Testovac´ı u ´loha . . . . . . . . . . 9.3 Zad´ an´ı u ´loh . . . . . . . . . . . . ´ 9.3.1 Uloha A1 . . . . . . . . . ´ 9.3.2 Uloha B1 . . . . . . . . . ´ 9.3.3 Uloha B3 . . . . . . . . . ´ 9.3.4 Uloha C3 . . . . . . . . . ´ 9.3.5 Uloha C6 . . . . . . . . . 9.4 Rozˇs´ıˇren´e moˇznosti IFSLimiteru
. . . . . .
. . . . . . . . .
. . . . . .
. . . . . . . . .
. . . . . .
. . . . . . . . .
. . . . . .
. . . . . . . . .
. . . . . .
. . . . . . . . .
. . . . . .
. . . . . . . . .
. . . . . .
. . . . . . . . .
. . . . . .
. . . . . . . . .
. . . . . .
. . . . . . . . .
. . . . . .
. . . . . . . . .
. . . . . .
. . . . . . . . .
. . . . . .
. . . . . . . . .
. . . . . .
. . . . . . . . .
. . . . . .
. . . . . . . . .
. . . . . .
. . . . . . . . .
. . . . . .
. . . . . . . . .
. . . . . .
. . . . . . . . .
. . . . . .
. . . . . . . . .
91 92
. . . . . .
93 . 93 . 94 . 96 . 99 . 102 . 102
. . . . . . . . .
103 103 105 106 106 107 107 108 108 108
. . . . . . . . .
10 Optimalizace a anal´ yza FRC
110
11 Z´ avˇ er
116
12 Pˇ r´ılohy 12.1 Dodatek 12.2 Dodatek 12.3 Dodatek 12.4 Dodatek 12.5 Dodatek 12.6 Dodatek
127 127 139 143 144 144 147
A: V´ ybˇer IFS frakt´al˚ u . . . . B: Simulace vybran´ ych FRC C: Pˇrehled aplikac´ı . . . . . . D: Pˇr´ıkazy AntTool . . . . . E: Srovn´ an´ı program˚ u . . . . F: Obsah DVD . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
Seznam obr´ azk˚ u 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11
Sierpinsk´eho koberec (2D, IFSMaker) a Mengova houba (3D, [83]) . V´ yznam Hutchinsonova oper´atoru . . . . . . . . . . . . . . . . . . Prvn´ı tˇri iterace Sierpinsk´eho koberce, IFSMaker . . . . . . . . . . V´ yznam koeficient˚ u a, b, c, d, e, f . . . . . . . . . . . . . . . . . . . Demonstrace -pokryt´ı, vlevo > vpravo . . . . . . . . . . . . . . . K definici Dh (F ): vlevo mnoˇzina F , vpravo jej´ı Dh . . . . . . . . . Zjemnˇen´ı mˇr´ıˇzky pokr´ yvaj´ıc´ı mnoˇzinu F . . . . . . . . . . . . . . . Smˇernice box-counting dimenze . . . . . . . . . . . . . . . . . . . . K v´ ypoˇctu mˇr´ıˇzkov´e dimenze (frakt´aly FRC A a FRC B) . . . . . V´ ypoˇcet mˇr´ıˇzkov´e dimenze Scierpinsk´eho troj´ uheln´ıka (FRC A) . . V´ ypoˇcet mˇr´ıˇzkov´e dimenze ˇctverce . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
4 6 8 10 12 14 15 16 17 18 18
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17
Struktura grafiky v Matlabu . . . . . . . . . . . . . . . . Pˇr´ıklad uˇzit´ı switched boad programmingu (AntTool1.3) Struktur´ aln´ı segment k´odu (IFSLimiter) . . . . . . . . . Uˇzit´ı objekt˚ u v IFSMakeru . . . . . . . . . . . . . . . . AntTool, screenshot hlavn´ıho okna . . . . . . . . . . . . AntTool: Zad´ an´ı bod˚ u a transformac´ı . . . . . . . . . . AntTool: Zobrazen´ı bod˚ u a transformac´ı . . . . . . . . . ˇ AntTool: Reˇsiˇc a v´ ysledn´ y frakt´al . . . . . . . . . . . . . IFSMaker: cel´ y program . . . . . . . . . . . . . . . . . . IFSMaker: ˇc´ ast UML schematu, MS Visio . . . . . . . . IFSMaker: Selection List . . . . . . . . . . . . . . . . . . IFSMaker: Uk´ azka modifikace . . . . . . . . . . . . . . . IFSMaker: Pˇripojen´ı nod˚ u do polygonu . . . . . . . . . IFSMaker: Uk´ azka lazen´ı transformac´ı . . . . . . . . . . IFSMaker: Pracovn´ı plocha, detail . . . . . . . . . . . . IFSMaker: Canvas options . . . . . . . . . . . . . . . . . IFSMaker: Pr´ ace s polygony . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
20 22 23 24 25 26 27 28 30 31 32 32 33 33 34 35 36
4.1 4.2 4.3
Mikrop´ askov´ a patch ant´ena . . . . . . . . . . . . . . . . . . . . . . . Jednorozmˇern´e b´ azov´e funkce (a-c) a jejich uplatnˇen´ı (d) . . . . . . . Hraniˇcn´ı podm´ınky pro ˇreˇsen´ı patche . . . . . . . . . . . . . . . . . .
39 42 44
xi
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
´ U ˚ SEZNAM OBRAZK 4.4
xii
4.5 4.6 4.7
Prvn´ı 3 m´ ody obd´eln´ıkov´eho patche (nahoˇre: proudov´a hustota dole: elektrick´ a intenzita Ez ) . . . . . . . . . . . . . . . . . . . . P˚ uvodn´ı funkce (a) a jej´ı line´arn´ı aproximace (b) . . . . . . . . . Triangularn´ı, quadrilateraln´ı s´ıt’ a kvalita s´ıtˇe (tmav´a je nejlepˇs´ı) Typick´e hodnoty charakteristick´eho u ´hlu, zdroj: [85] . . . . . . .
5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11
EvalInFem (screenshot) . . . . . . . . . . . . . . . . . . . . . . . . Vypoˇcten´ a kol´ aˇz, mesh, dominantn´ı m´od a jeho proudov´e rozloˇzen´ı Nesmysln´e ˇreˇsen´ı (vlevo) a dominantn´ı m´od struktury (vpravo) . . Pˇr´ıklad duplicitn´ıch m´ od˚ u . . . . . . . . . . . . . . . . . . . . . . . Nadbyteˇcn´e nody, jejich vznik a nepˇr´ıjemn´e d˚ usledky . . . . . . . . Lokalizovan´e proudy pro FRC B, FRC J a FRC D, vyˇsˇs´ı m´ody . . Pokles frekvence s iterac´ı, vybran´e kol´aˇze . . . . . . . . . . . . . . Dominantn´ı m´ ody FRC struktur . . . . . . . . . . . . . . . . . . . Proudy na struktuˇre FRC F podle TCM . . . . . . . . . . . . . . . Pr˚ ubˇeh charakteristick´eho u ´hlu pro FRC F (TCM) . . . . . . . . . Proudov´e rozloˇzen´ı pro 1-3 m´od kol´aˇze FRC F . . . . . . . . . . .
. . . . . . . . . . .
54 55 57 58 58 59 61 62 62 63 64
6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 6.11 6.12 6.13 6.14 6.15 6.16 6.17 6.18
Postup v´ ypoˇctu, ve shodˇe s [29] . . . . . . . . . . . . . . . . K odvozen´ı vyzaˇrovac´ıho diagramu . . . . . . . . . . . . . . Pole Ez na hranici (vlevo) a nad cel´ ym patchem (vpravo) . Stanoven´ı norm´ aly na frakt´aln´ı hranici . . . . . . . . . . . . K norm´ ale v Comsolu . . . . . . . . . . . . . . . . . . . . . Stanoven´ı norm´ aly pomoc´ı NaN . . . . . . . . . . . . . . . . Povrchov´e proudy pro 3000 element˚ u, napravo rozloˇzen´ı Ez Povrchov´e proudy, 4.m´od, v´ıce element˚ u . . . . . . . . . . . Zahrnut´ı nekoneˇcn´e zemn´ı roviny . . . . . . . . . . . . . . . Vyzaˇrov´ an´ı dip´ olu, d´elka λ2 , 3D diagram z CST MWS . . . . Vyzaˇrov´ an´ı dip´ olu, d´elka λ2 , ˇrezy CST MWS . . . . . . . . . Vyzaˇrov´ an´ı dip´ olu, d´elka 23 λ, 3D diagram z CST MWS . . . Vyzaˇrov´ an´ı dip´ olu, d´elka 32 λ, ˇrezy CST MWS . . . . . . . . K obd´eln´ıkov´e metodˇe . . . . . . . . . . . . . . . . . . . . . EvalRadPattern (screenshot) . . . . . . . . . . . . . . . . . Sloˇzky Fx a Fy v kart´ezsk´ ych souˇradnic´ıch . . . . . . . . . . VD velice u ´zk´eho patche . . . . . . . . . . . . . . . . . . . . Orientace diagram˚ u, barvy koresponduj´ı s obr. 6.17 . . . . .
. . . . . . . . . . . . . . . . . .
66 68 71 71 73 75 75 76 77 77 78 78 79 79 80 80 81 81
7.1 7.2 7.3 7.4 7.5
Princip PSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Typy zd´ı pouˇz´ıvan´e v PSO . . . . . . . . . . . . . . . . . . . . . . . Optimalizace funkce Levy5 pro r˚ uzn´a c1 a c2 (20 agent˚ u, 150 iterac´ı) Optimalizace funkce Levy5 pro r˚ uzn´a c1 a c2 (20 agent˚ u, 150 iterac´ı) Poˇcet agent˚ u mimo s.s. pro Levy5 a Rosenbrockovu funkci (20 agent˚ u, 150 iterac´ı) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rozptyl agent˚ u, Levy5 a Rosenbrockova funkce (20 agent˚ u, 150 iterac´ı)
7.6
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
J, . . . . . . . .
. . . . . . . . . . . . . . . . . .
45 47 48 51
83 85 87 88 90 90
´ U ˚ SEZNAM OBRAZK
xiii
7.7 7.8
Funkce Levy5: bez transformace, s G(x) a po H(x), zdroj: [47] . . . Princip GSO optimalizace, na z´akladˇe [50] . . . . . . . . . . . . . . .
8.1 8.2 8.3 8.4 8.5 8.6 8.7
GUI PSOptimizeru . . . . . . . . . . . . . . . . . . . . . . . . . . Optimalizace kvadratick´e funkce v rozsahu x ∈ h2, 5i . . . . . . . Rosenbrockova funkce, s.s. ∈ h−10, 10i × h−10, 10i a cost funkce . Konvergence ke skuteˇcn´emu minimu Rosenbrockovy funkce . . . Funkce Levy No.5, s.s. ∈ h−10, 10i × h−10, 10i a cost funkce . . . Program PSOPost, vˇc. pr˚ ubˇehu funkce Levy5 a agent˚ u . . . . . . Pozice agent˚ u pro 5. a 150. iteraci (Levy5, s.s. ∈ 10 × 10) . . . .
. . . . . . .
. 94 . 97 . 98 . 98 . 99 . 100 . 101
9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9
IFSLimiter . . . . . . . . . . . . . . . . . . . . . Obr´ azek optimalizaˇcn´ıch mez´ı pro testovac´ı u ´lohu Zad´ an´ı podm´ınky, vstup a v´ ystup . . . . . . . . . Obr´ azek optimalizaˇcn´ıch mez´ı pro u ´lohu A1 . . . Obr´ azek optimalizaˇcn´ıch mez´ı pro u ´lohu B1 . . . ´ Uloha B3 v IFSLimiteru . . . . . . . . . . . . . . Obr´ azek optimalizaˇcn´ıch mez´ı pro u ´lohu C3 . . . Obr´ azek optimalizaˇcn´ıch mez´ı pro u ´lohu C6 . . . IFSLimiter: parametrick´ y ˇreˇsiˇc . . . . . . . . . .
10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9
Postup optimalizace . . . . . . . . . . . . . . . . . Nˇekolik agent˚ u optimalizace A1 . . . . . . . . . . . Nˇekolik agent˚ u optimalizace B1 . . . . . . . . . . . Nˇekolik agent˚ u optimalizace B2 . . . . . . . . . . . Z´ avislost rez. frekv. na iteraci pˇred PSO a po PSO Parametrick´e srovn´ an´ı . . . . . . . . . . . . . . . . Nˇekolik agent˚ u optimalizace C6 . . . . . . . . . . . V´ ysledek optimalizace C6 (2. a 3. iterace) . . . . . Pohyb agent˚ u pˇri u ´loze H2, zaˇc´atek (vlevo) a z´avˇer
12.1 Frakt´ al 12.2 Frakt´ al 12.3 Frakt´ al 12.4 Frakt´ al 12.5 Frakt´ al 12.6 Frakt´ al 12.7 Frakt´ al 12.8 Frakt´ al 12.9 Frakt´ al 12.10Frakt´ al 12.11Frakt´ al 12.12Frakt´ al 12.13Frakt´ al 12.14Frakt´ al
FRC FRC FRC FRC FRC FRC FRC FRC FRC FRC FRC FRC FRC FRC
. . . . . . . . .
A v prvn´ı, druh´e a tˇret´ı iteraci . . . . A inicializaˇcn´ı objekt a transformace B v prvn´ı, druh´e a tˇret´ı iteraci . . . . B inicializaˇcn´ı objekt a transformace C v prvn´ı, druh´e a tˇret´ı iteraci . . . . C inicializaˇcn´ı objekt a transformace D v prvn´ı, druh´e a tˇret´ı iteraci . . . . D inicializaˇcn´ı objekt a transformace E v prvn´ı, druh´e a tˇret´ı iteraci . . . . E inicializaˇcn´ı objekt a transformace F v prvn´ı, druh´e a tˇret´ı iteraci . . . . F inicializaˇcn´ı objekt a transformace H v prvn´ı, druh´e a tˇret´ı iteraci . . . . H inicializaˇcn´ı objekt a transformace
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
104 105 105 106 107 107 108 109 109
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (vpravo)
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
110 111 112 112 113 113 114 115 115
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
127 127 128 128 129 130 131 131 132 133 133 134 135 135
. . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . .
91 92
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
´ U ˚ SEZNAM OBRAZK 12.15Frakt´ al FRC J v prvn´ı, druh´e a tˇret´ı iteraci . . . . 12.16Frakt´ al FRC J inicializaˇcn´ı objekt a transformace . 12.17Frakt´ al FRC K v prvn´ı, druh´e a tˇret´ı iteraci . . . . 12.18Frakt´ al FRC K inicializaˇcn´ı objekt a transformace 12.19VD pro 1. m´ od kol´ aˇze FRC F (CST-MWS) . . . . 12.20VD pro 2. m´ od kol´ aˇze FRC F (CST-MWS) . . . . 12.21M´ ody struktury FRC C (CM, 1-8 zleva doprava) . 12.22M´ ody struktury FRC J (CM, 1-4 zleva doprava) . 12.23Proudov´e rozloˇzen´ı dominantn´ıch mod˚ u . . . . . . 12.24Sch´ema cel´eho projektu . . . . . . . . . . . . . . . 12.25CM solver z BP (vlevo) a z DP (vpravo) . . . . . . 12.26IFS editor z BP (dole) a DP (nahoˇre) . . . . . . .
xiv . . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
136 137 137 138 139 140 141 141 142 143 145 146
Seznam tabulek 2.1 2.2 2.3
Hodnoty topologick´e dimenze . . . . . . . . . . . . . . . . . . . . . . Hodnoty Hausdorffovy dimenze pro nˇekter´e pˇr´ırodn´ı u ´tvary. . . . . . V´ ypoˇcet dimenze programem boxcount . . . . . . . . . . . . . . . . .
11 14 17
3.1 3.2
Struktura souboru data.3dt. . . . . . . . . . . . . . . . . . . . . . . Struktura souboru data.txt. . . . . . . . . . . . . . . . . . . . . . . .
27 28
5.1 5.2 5.3
Moˇzn´e chyby v EvalInFem . . . . . . . . . . . . . . . . . . . . . . . . Rezonanˇcn´ı frekvence vybran´ ych kol´aˇz´ı (prvn´ıch 5 iterac´ı) . . . . . . Rez. frekvence pro FRC F v simul´atorech CM, CST-MWS a TCM .
60 61 63
7.1 7.2 7.3 7.4 7.5
Shrnut´ı parametr˚ u Success rate funkce Success rate funkce Success rate funkce Success rate funkce
. . . . .
86 86 88 89 89
8.1
Principi´ aln´ı sch´ema PSOptimizeru . . . . . . . . . . . . . . . . . . .
95
. . . . . . . . . . . . . . . . . . . . . . . Levy5 (se zmˇenou iterace), 20 agent˚ u. . Levy5 (se zmˇenou iterace), 45 agent˚ u. . Levy5 (podle poˇctu agent˚ u), 150 agent˚ u Levy5 (podle poˇctu agent˚ u), 50 iterac´ı .
. . . . .
. . . . .
. . . . .
. . . . .
10.1 V´ ysledky vybran´ ych optimalizac´ı . . . . . . . . . . . . . . . . . . . . 111 12.1 Parametry kol´ aˇze FRC A . . . . . . . . . . . . . . . . . . 12.2 Parametry kol´ aˇze FRC B . . . . . . . . . . . . . . . . . . 12.3 Parametry kol´ aˇze FRC C . . . . . . . . . . . . . . . . . . 12.4 Parametry kol´ aˇze FRC D . . . . . . . . . . . . . . . . . . 12.5 Parametry kol´ aˇze FRC E . . . . . . . . . . . . . . . . . . 12.6 Parametry kol´ aˇze FRC F . . . . . . . . . . . . . . . . . . 12.7 Parametry kol´ aˇze FRC H . . . . . . . . . . . . . . . . . . 12.8 Parametry kol´ aˇze FRC J . . . . . . . . . . . . . . . . . . . 12.9 Parametry kol´ aˇze FRC K . . . . . . . . . . . . . . . . . . 12.10Pˇrehled vˇsech vyvinut´ ych n´astroj˚ u . . . . . . . . . . . . . 12.11Pˇrehled1 dostupn´ ych pˇr´ıkaz˚ u programu AntTool (Matlab) 12.12Pˇrehled2 dostupn´ ych pˇr´ıkaz˚ u programu AntTool (Comsol)
xv
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
128 129 130 132 132 134 136 137 137 143 144 145
Seznam symbol˚ u Symbol r 0 µr µ0 Dt Dh Db ω MS , Mx , My Px , Py λ Γ Φ tan δ E H s11 j QT kn , λn k Ez,n , ψ c0 P SV BW Wt η M J A φ, F Z, R, X G αn N fn , wn N aN F L
Veliˇ cina relativn´ı permitivita permitivita vakua (= 8.854188.10−12 F m−1 ) relativn´ı permeabilita permeabilita vakua (= 4π.10−7 Hm−1 ) topologick´a dimenze Hausdorffova dimenze mˇr´ıˇzkov´a dimenze afinn´ı transformace, u ´hlov´a rychlost transformace zmˇeny mˇeˇr´ıtka posun polygonu vlnov´a d´elka modul ˇcinitele odrazu R f´aze ˇcinitele odrazu R ztr´atov´ y ˇcinitel dielektrika vektor intenzity elektrick´eho pole vektor intenzity magnetick´eho pole ˇcinitel odrazu imagin´arn´ı jednotka ˇcinitel jakosti ant´eny vlastn´ı (n-t´e) ˇc´ıslo vlnov´ y vektor vlastn´ı funkce rychlost svˇetla ve vakuu pomˇer stojat´ ych vln ˇs´ıˇrka p´asma ant´eny (v % z pracovn´ı frekvence) celkov´a energie u ´ˇcinnost hustota magnetick´eho proudu hustota povrchov´ ych elektrick´ ych proud˚ u magnetick´ y vektorov´ y potenci´al skal´arn´ı elektrick´ y potenci´al impedance, realn´a a komplexn´ı ˇc´ast Greenova funkce charakteristick´ yu ´hel z´aˇriv´ y vektor b´azov´e funkce, testovac´ı funkce Not a Number podle IEEE-745 (Matlab) funkcion´al line´arn´ı oper´ator
xvi
Seznam znaˇ cek Oper´ ator ∇t ∆ = ∇.∇ gradψ (∇ψ) divA (∇ • A) rotA (∇ × A) Sm Pi=1 n i=0
→ −→ dx hu, vi ∂ ∂
× ∧
V´ yznam Nabla oper´ ator 2 2 Laplace˚ uv oper´ator; ∂∂2 x2 + ∂∂2 y2 ∂ψ ∂ψ ∂ψ gradient; aˆx ∂x + aˆy ∂y + aˆz ∂z ∂Ay ∂Ax ∂Az divergence; ∂x + ∂y + ∂z ∂Ay x z + aˆy ∂A rotace; aˆx ∂A ∂y − ∂z ∂z −
∂Az ∂x
+
obecn´e sjednocen´ı (general consequence op.) suma od i = 0 do i = n bl´ıˇz´ı se zobrazen´ı diferenci´ al x skal´ arn´ı souˇcin parci´ aln´ı derivace vektorov´ y souˇcin souˇcasnˇe
Nadpis Funkce, cizojazyˇcn´y v´yraz Pˇr´ıkaz www odkaz Pohyb 7→ v menu 7→ aplikac´ı M atematika Tlaˇ c´ıtko Literatura
xvii
∂A aˆz ∂xy
−
∂Ax ∂y
SEZNAM TABULEK
xviii
Seznam zkratek FPA PDE CM GA PSO SPSO s.s. c.f. s.r. f.f. GSO ACO IFS TCM MoM FEM GUI OOP PMC PEC VD TM TE HUS
Zkratky Fractal Patch Antenna Partial Differential Equation Cavity Model Genetic Algorithm Particle Swarm Optimization Stretched PSO solution space cost function success rate fitness function Genetic Swarm Optimization Ant Colony Optimization Iterated Function System Theory of Characteristic Modes Method of Moments Finite Element Method Graphical User Interface Object Oriented Programming Perfect Magnetic Conductor Perfect Electric Conductor Radiation Pattern (vyzaˇrovac´ı diagram) Transversal Magnetic Transversal Electric Harmonick´ y ust´alen´ y stav
Kapitola 1
´ Uvod ”
Neˇst´ıpejte mne do prstu – pohled’te, kam ukazuje.“ — Warren S. McCulloch
1.1
Koncepce
Patche patˇr´ı do oblasti dynamicky se rozv´ıjej´ıc´ıch ant´en. Disponuj´ı mnoha pˇrednostmi, maj´ı pochopitelnˇe i sv´e neˇresti. Mnoho z poznatk˚ u platn´ ych pro patchov´e ant´eny, jmenujme metody simulace nebo optimalizaˇcn´ı postupy, lze vyuˇz´ıt v oblastech jako jsou periodick´e struktury, selektivn´ı povrchy a dalˇs´ı. Vyuˇzijemeli pro tvar z´ aˇriˇce frakt´ aln´ı geometrie, obdrˇz´ıme dalˇs´ı v´ yhodn´e vlastnosti. Generace a simulace takov´ ych ant´en je vˇsak sloˇzitˇejˇs´ı a zdaleka ne vˇsechny postupy jsou dostateˇcnˇe prozkoum´ any. Tato pr´ ace tak´e tˇeˇz´ı z trvaj´ıc´ıho z´ajmu o optimalizaci ˇcehokoliv, kter´ y je jen zˇr´ıdka kdy systematick´ y. Vˇetˇsina publikac´ı se zpravidla zamˇeˇruje na pr˚ uzkum jedn´e, ˇci v´ıce struktur se stejn´ ym charakteristick´ ym rysem (patch se ˇstˇerbinou, vybran´ y typ frakt´ alu . . . ). Tento pˇr´ıstup mnohdy generuje zaj´ımav´e v´ ysledky, nicm´enˇe velice obt´ıˇznˇe odkr´ yv´ a obecnˇejˇs´ı vlastnosti dan´eho z´aˇriˇce, coˇz v pˇr´ıpadˇe frakt´aln´ıho motivu plat´ı dvojn´ asob. V t´eto pr´ aci jsme si vytkli za u ´kol optimalizovat pˇr´ımo frakt´aln´ı parametry IFS (body z´ akladn´ıho objektu a transformace, kter´e frakt´al dl´aˇzd´ı), tedy nikoliv geometrii, ale hodnoty, kter´e tvar v pozad´ı formuj´ı. Abychom toto mohli uskuteˇcnit, je potˇreba d˚ ukladnˇe porozumˇet mechanism˚ um generace IFS i princip˚ um PSO optimalizace, mus´ıme tak´e zvolit dostateˇcnˇe pˇresnou a efektivn´ı simulaˇcn´ı metodu. Vyuˇzijeme sch´ema, kter´e bylo u ´spˇeˇsnˇe aplikov´ano v bakal´aˇrsk´e pr´aci (BP): pro n´avaznost pracujeme opˇet v Matlabu, v´ yklad je zpracov´an v tematicky propojen´ ych bloc´ıch teorie a implementace dan´eho probl´emu. D´ılˇc´ı v´ ysledky jsou konzultov´any na konci kaˇzd´e kapitoly, nicm´enˇe vlastn´ı rozbor struktur je proveden aˇz v samostatn´e kapitole. Velice d˚ uleˇzit´ a je z´ avˇereˇcn´a ˇc´ast – prob´ıran´e t´ema je tak rozs´ahl´e, ˇze ho tato pr´ ace nejen nevyˇcerpala, ale je opr´avnˇen´e tvrdit ˇze zat´ım pouze letmo prozkoumala. Pokr´ yv´ a totiˇz prostor od frakt´aln´ı geometrie, bl´ızce soused´ıc´ı s chaosem 1
N´ astroj pro mod´ aln´ı anal´ yzu FPA
1.2. Konspekt
a chaotick´ ymi“ vˇedami, pˇres numerick´e metody a relativnˇe obt´ıˇznou diferenci´aln´ı i ” algebraickou matematiku spojenou s elektromagnetismem a mod´aln´ımi metodami, aˇz po ryze pˇr´ırodn´ı jevy rojov´e inteligence, jeˇz mus´ıme pˇrev´est do strojov´eho jazyka a vhodn´ ym zp˚ usobem naprogramovat. Mnoho des´ıtek, ba stovek hodin zabrala i samotn´ a pˇr´ıprava jednotliv´ ych aplikac´ı (AntTool, IFSMaker, IFSLimiter, EvalInFem, PSOPtimizer a dalˇs´ı). Tyto programy lze pˇr´ıpadnˇe vyuˇz´ıt ve v´ yuce na katedˇre elektromagnetick´eho pole. Bohuˇzel, pro vytvoˇren´ı hlubˇs´ıch z´avˇer˚ u v oblasti IFS patch ant´en je nutn´e v t´eto oblasti systematicky zkoumat jednotliv´e motivy, na coˇz DP ned´av´a dostateˇcn´ y prostor. Se z´ avˇerem t´eto pr´ ace je tedy ponech´ana dostateˇcn´a paleta aplikac´ı potˇrebn´ ych pro dalˇs´ı v´ yzkum, sami pak konstatujeme pouze nˇekter´e partikul´arn´ı v´ ysledky. V pˇr´ıpadˇe nˇekter´ ych pas´ aˇz´ı (frakt´aln´ı dimenze, box counting, OOP v Matlabu, SPSO) v´ yraznˇe pˇrevaˇzuje teorie. Autor tak ˇcin´ı vˇedomnˇe a s ohledem na fakt, ˇze o tˇechto t´ematech nen´ı v ˇcesk´em jazyce dostatek literatury. Nez´ uˇcastnˇen´ y ˇcten´aˇr m˚ uˇze takov´ y text bez ztr´ aty n´ avaznosti pˇreskoˇcit, pˇresto vˇsak douf´ame, ˇze nejeden ho ocen´ı.
1.2
Konspekt
Nyn´ı se kr´ atce vˇenujme obsahu diplomov´e pr´ace (DP). Projekt jako celek navazuje tam, kde byla zakonˇcena BP. Tomu odpov´ıd´a i teoretick´ y z´aklad. Prvn´ı kapitola je vˇenov´ ana frakt´ al˚ um, pˇresnˇeji frakt´al˚ um typu IFS. Na tento v´ yklad navazuje pˇredstaven´ı program˚ u AntTool a IFSMaker, kter´e umoˇzn ˇuj´ı komplexnˇejˇs´ı operace s IFS frakt´ aly a jejich n´ avrh na zcela jin´e u ´rovni, neˇz tomu bylo v BP. Pozornost je vˇenov´ ana vyuˇzit´e technice programov´an´ı a nestandartn´ımu pˇripojen´ı Comsolu k Matlabu. Dalˇs´ı ˇc´ ast popisuje metody mod´aln´ıho ˇreˇsen´ı patch˚ u. Opˇet vol´ıme dutinov´ y model, na rozd´ıl od BP vˇsak vyuˇz´ıv´ame j´adra programu Comsol, coˇz vede k pˇresnˇejˇs´ım v´ ysledk˚ um. Vytvoˇren´ y solver popisuje kapitola 5. Mezi fundament´ aln´ı charakteristiky ant´eny patˇr´ı vyzaˇrovac´ı diagram, jeho zobrazen´ı a v´ ypoˇcet je diskutov´ an v 6. kapitole. Tato ˇc´ast se do jist´e m´ıry kryje s obsahem Individu´ aln´ıho projektu, kter´ y autor zpracoval v pˇredchoz´ım semestru. N´asleduje teorie PSO optimalizace a pˇredstaven´ı vlastn´ıho optimaliz´atoru. Kapitola 9 popisuje software, kter´ y umoˇzn ˇuje nastavit jednotliv´e podm´ınky. Bez tohoto programu je zad´ an´ı sloˇzitˇejˇs´ı optimalizace takˇrka nemoˇzn´e. 10. kapitola shrnuje v´ ysledky simulace a optimalizace vybran´ ych struktur. K dispozici je srovn´ an´ı s referenˇcn´ım simul´atorem CST MWS. Z´avˇereˇcn´a kapitola jmenuje nedostatky a nedodˇelky, vˇc. dalˇs´ıch moˇznost´ı rozvoje cel´eho projektu. Kr´atce tak´e shrnuje v´ ysledky cel´e diplomov´e pr´ace. Vˇetˇsina obs´ahlejˇs´ıch obr´azk˚ u je uvedena v dodatc´ıch. Ty jsou uvedeny aˇz za literaturou a rejstˇr´ıkem d˚ uleˇzit´ ych term´ın˚ u.
2
Kapitola 2
IFS frakt´ aly ”
How long is the coast of Britain?“ — Benoit B. Mandelbrot
V n´asleduj´ıc´ı kapitole se budeme vˇenovat frakt´aln´ım motiv˚ um. Obecn´e informace o jednotliv´ ych typech a moˇznostech uplatnˇen´ı byly zm´ınˇeny v bakal´aˇrsk´e pr´aci ([69]). Zde se podrobnˇeji zamˇeˇr´ıme na vlastnosti IFS syst´em˚ u a pr´aci s nimy. Iterovan´e syst´emy mohou v principu vznikat deterministicky nebo stochasticky1 . Pro exaktn´ı popis IFS kol´ aˇz´ı a jejich vlastnost´ı, je potˇreba zn´at mj. frakt´aln´ı2 dimenzi. Jej´ımu zaveden´ı pˇredch´ az´ı definice pojmu IFS v n´asleduj´ıc´ı ˇc´asti a rozbor jednotliv´ ych afinn´ıch transformac´ı v odstavci 2.3. Na z´avˇer kapitoly se pokus´ıme tuto dimenzi s pomoc´ı Matlabu vypoˇc´ıtat.
2.1
Frakt´ al
Poˇc´atek IFS3 je datov´ an do roku 1985 [83], kdy S. Demko a M. F. Barnsley publikovali pr´ ace se zamˇeˇren´ım na tento typ frakt´al˚ u. Pro jak´ ykoliv frakt´al mus´ı platit: (1) Frakt´ al podle B. B. Mandelbrota v [5]: Frakt´ alem je kaˇzd´y objekt, jehoˇz topologick´ a dimenze se liˇs´ı od dimenze ” frakt´ aln´ı (Hausdorffovy).“ 1 Obˇema moˇznostem jsme vˇenovali pozornost v [69]. Zopakujme tedy pouze, ˇze v pˇr´ıpadˇe stochastick´eho pˇr´ıstupu jsou jednotliv´ ym transformac´ım pˇridˇeleny pravdˇepodobnosti, s kter´ ymi se dan´ a transformace pˇri dl´ aˇzdˇen´ı uplatn´ı. U deterministick´eho pˇr´ıstupu se kaˇzd´ a transformace uplatn´ı v kaˇzd´e iteraci. 2 Zn´ am´ a tak´e jako Hausdorffova, pˇr´ıpadnˇe Hausdorffova-Besicovitchova dimenze. Tato dimenze byla, jak je z n´ azvu patrno, objevena Felixem Hausdorffem (1868-1942) a Abramem Samoilovitchem Besicovitchem (1891-1970), a to dlouho pˇred definov´ an´ım pojmu frakt´ al. Aˇz pozdˇeji Benoit B. Mandelbrot (1924*) odvodil vztah mezi frakt´ aln´ı strukturou a Hausdorffovou dimenz´ı. 3 Z p˚ uvodn´ıho anglick´eho Iterated Function System, tj. syst´em iterovan´ ych funkc´ı.
3
N´ astroj pro mod´ aln´ı anal´ yzu FPA
2.1. Frakt´ al
tedy: Dt 6= Dh
(2.1)
(2) Matematick´ a definice4 v [4]: Frakt´ al je objekt, jehoˇz geometrick´ a struktura se opakuje v nˇem sam´em; ” dˇel´ı se na sobˇepodobn´e a sobˇepˇr´ıbuzn´e.“ Sobˇepodobn´e frakt´ aly v detailech pˇresnˇe kop´ıruj´ı celek. Jde o umˇele vytvoˇren´e frakt´ aly a patˇr´ı sem tedy i IFS. Tyto mnoˇziny maj´ı nˇekolik zaj´ımav´ ych vlastnost´ı: • Sobˇepodobn´ a mnoˇzina vznik´a opakov´an´ım sebe sama pˇri urˇcit´e transformaci (zmˇena mˇeˇr´ıtka, rotace, posunut´ı, zkosen´ı. . . ). • Sobˇepodobn´e mnoˇziny jsou invariantn´ı v˚ uˇci zmˇenˇe mˇeˇr´ıtka. Pˇri libovoln´em zvˇetˇsen´ı ˇci zmenˇsen´ı vypadaj´ı stejnˇe (viz obr´azky n´ıˇze). • Sobˇepodobn´ a mnoˇzina vznik´a sama ze sebe, resp. vznik´a opakov´an´ım motivu. Podrobnˇeji se tˇemito mnoˇzinami budeme zab´ yvat d´ale. Sobˇepˇr´ıbuznost nen´ı tak striktn´ı jako sobˇepodobnost, m˚ uˇzeme ji nal´ezt ve vˇsech pˇr´ırodn´ıch u ´tvarech (duny, delty ˇrek, koˇreny strom˚ u, k˚ ura a dalˇs´ı). Jej´ı vyj´adˇren´ı je komplikovan´e a v kontextu deterministick´ ych IFS nepodstatn´e, v´ıce [3]. Jak uk´aˇzeme pozdˇeji, tyto
Obr´ azek 2.1: Sierpinsk´eho koberec (2D, IFSMaker) a Mengova houba (3D, [83]) podm´ınky IFS kol´ aˇze splˇ nuj´ı. D˚ usledkem tˇechto vlastnost´ı je tzv. Richardson˚ uv 5 efekt . Budeme-li mˇeˇrit obvod ne-frakt´aln´ıho objektu, se zjemˇ nuj´ıc´ım se mˇeˇridlem 4 5
Jde o ust´ alenou formuli, z pohledu matematick´eho formalismu o definici nejde. Richardson mˇeˇril obvod Korsiky a zjistil, ˇze v´ ysledek je z´ avisl´ y na d´elce tyˇce.
4
N´ astroj pro mod´ aln´ı anal´ yzu FPA
2.2. Generace IFS
(p´asmo, metr, milimetrov´ y pap´ır . . . ), bl´ıˇz´ıme se urˇcit´e limitn´ı hodnotˇe. U fakt´al˚ u toto neplat´ı, d´elka neust´ ale nar˚ ust´a (v pˇr´ıpadˇe IFS pro nekoneˇcnˇe velkou iteraci zpravidla nade vˇsechny meze). Tak se dost´ av´ ame k paradox˚ um, kdy napˇr. na obr. 2.3 nar˚ ust´a obvod do nekoneˇcna a obsah objektu se bl´ıˇz´ı k nule, pˇr´ıpadnˇe na obr. 2.1 vpravo roste obsah k nekoneˇcnu ovˇsem objem jde k nule. Tyto vlastnosti se mohou v kontextu Euklidovsk´e geometrie jevit jako zar´aˇzej´ıc´ı a znaˇcnˇe znepokojiv´e. Souˇcasnˇe se vˇsak m˚ uˇzeme pokusit jich vyuˇz´ıt, tak jako v pˇr´ırodˇe – stromy, oblaka, pobˇreˇz´ı a ˇreky, vˇse m´ a frakt´ aln´ı charakter a jistˇe ne pouze n´ahodnou. Sapoval napˇr´ıklad publikoval svou domˇenku, ˇze pobˇreˇz´ı m´ a frakt´aln´ı charakter (tedy maxim´aln´ı moˇznou d´elku) protoˇze pak dok´ aˇze nejl´epe utlumit nar´aˇzej´ıc´ı vlny. Planeta Zemˇe m´a zase teoreticky nekoneˇcn´ y povrch, aˇckoliv z vesm´ıru se jev´ı jako koule (geoid). Dalˇs´ı podrobnosti lze nal´ezt v [3], [4], [5] a [83]. V t´eto pr´ aci se vˇenujeme pouze dvourozmˇern´ ym motiv˚ um s c´ılem generovat na tomto z´ akladˇe patche. Existuj´ı nicm´enˇe i trojrozmˇeˇrnn´e a v´ıcerozmˇern´e IFS, jeden z nich je na obr. 2.1 vpravo. V t´eto podobˇe IFS frakt´aly v pˇr´ırodˇe nenajdeme, lze ˇr´ıci, ˇze v kontextu frakt´ aln´ı geometrie je IFS stejn´e zjednoduˇsen´ı, jako je Euklidovsk´a geometrie v naˇsem svˇetˇe. Generaci IFS se budeme podrobnˇeji vˇenovat v n´asleduj´ıc´ı ˇc´asti 2.2.
2.2
Generace IFS
Zopakujme, ˇze deterministick´e IFS frakt´aly jsou striktnˇe sobˇepodobn´e. Co pˇresnˇe to znamen´ a? Pˇri libovoln´em pˇribl´ıˇzen´ı vid´ıme st´ale stejn´e tvary. Vych´az´ıme tedy z transformac´ı, kter´e se podaˇrilo formalizovat Hutchinsonovi. Definujme sobˇepodobnou mnoˇzinu U na prostoru Rn tak, ˇze existuje koneˇcnˇe mnoho kontraktivn´ıch, pˇr´ıp. i afinn´ıch zobrazen´ı (transformac´ı): w1 , w2 , . . . , wm : Rn −→ Rn takov´ ych, aby platilo: U=
m [
wi (U ) ,
(2.2)
(2.3)
i=1
pˇritom pro libovoln´ a i 6= j obsahuje pr˚ unik wi (U ) ∩ wj (U )
(2.4)
jen koneˇcn´ y poˇcet prvk˚ u (nebo je pr´azdn´ y). Na potenci Rn je zobrazen´ımi definov´an oper´ator m [ w(X) = wi (X) , X ⊆ Rn (2.5) i=1
kter´ y se naz´ yv´ a Hutchinson˚ uv oper´ator. Oper´ator (2.5) objasˇ nuje obr. 2.2. Nyn´ı se znalost´ı principu dl´aˇzdˇen´ı podmnoˇzin, si m˚ uˇzeme poloˇzit ot´azku, jak zajistit generaci IFS. Je potˇreba zav´est pojmy metriky, pevn´eho bodu, pokryt´ı a vyjmenovat vhodn´e transformace wi . 5
N´ astroj pro mod´ aln´ı anal´ yzu FPA
2.2. Generace IFS
Obr´ azek 2.2: V´ yznam Hutchinsonova oper´atoru
2.2.1
Metrika
Metriku vyˇzadujeme i v ˇc´ asti 2.4 v souvislosti s term´ınem diametr, uv´ad´ıme ji proto bez vynech´ avek. Metrika d mˇeˇr´ı vzd´alenost mezi dvˇema body, je to tedy nez´aporn´e re´aln´e ˇc´ıslo. Podm´ınky pro existenci metriky uved’mˇe v prostoru R2 pro zobrazen´ı X: (1) d(x, y) ≥ 0, d(x, x) = 0 (2) d(x, y) = 0 ⇔ x = y (3) d(x, y) = d(y, x) ∀x, y, z ∈ X. (2.6) (4) d(x, y) ≤ |x| + |y| (5) d(x, y) ≤ d(x, z) + d(z, y) Podm´ınku (4) oznaˇcujeme jako troj´ uheln´ıkovou nerovnost a v podm. (5) jako metrickou troj´ uhel. nerovnost. Plat´ı-li (2.6), oznaˇcuje (X, d) metrick´ y prostor.
2.2.2
Pevn´ y bod
Pevn´ y bod je ˇreˇsen´ım rovnice S(xp ) = xp ,
(2.7)
kde S je transformac´ı metrick´eho prostoru S : X −→ X v Rn . Body xp vyhovuj´ıc´ı ˇreˇsen´ı oznaˇcujeme jako pevn´e body, ˇcasto tak´e jako invariantn´ı body zobrazen´ı S. Takov´ ym bodem je napˇr. bod [0,0,0] pro funkce n´asoben´ı v R3 . At’ ho n´asob´ıme ˇc´ımkoliv (jak´ekoliv zobrazen´ı S), vˇzdy je mapov´an s´am na sebe.
2.2.3
Kontraktivn´ı zobrazen´ı
Podstatn´ y poˇzadavek pro existenci atraktoru (2.5) je koneˇcn´ y poˇcet prvk˚ u pr˚ uniku wi (U ) ∩ wj (U ). Tak je soubor vˇsech moˇzn´ ych transformac´ı omezen pouze na kontrakce. V opaˇcn´em pˇr´ıpadˇe by velikost mnoˇzin X pˇri velk´ ych iterac´ıch rostla nade vˇsechny meze a pr˚ unik by obsahoval nekoneˇcnˇe mnoho bod˚ u. Pro X metrick´ y prostor s metrikou d, jsou pak zobrazen´ı S : X −→ X kontraktivn´ı na mnoˇzinˇe A ⊆ X, pokud existuje δ ∈ (0, 1) takov´e, ˇze pro kaˇzd´a x, y ∈ A plat´ı: d(S(x), S(y)) ≤ δd(x, y). (2.8)
6
N´ astroj pro mod´ aln´ı anal´ yzu FPA
2.2.4
2.2. Generace IFS
Banachova vˇ eta o pevn´ em bodu
Plat´ı tvrzen´ı, ˇze je-li (X, d) u ´pln´ y metrick´ y prostor a zobrazen´ı S : X −→ X je na cel´em X kontraktivn´ı, potom existuje pr´avˇe jeden pevn´ y bod xp ∈ X zobrazen´ı S. Toto tvrzen´ı se naz´ yv´ a Banachova vˇeta6 , [3]. Urˇcen´ı pevn´eho bodu je jednoduch´e a vych´ az´ı z iterace pˇredpisu: xn+1 = S(xn ), kde {xn }∞ n=0
(2.9)
za pˇredpokladu libovolnˇe zvolen´eho bodu x0 ∈ X. Plat´ı tak´e lim xn = xp ,
(2.10)
S lim xn = Sxp .
(2.11)
n→∞
popˇr. (kaˇzd´ a kontrakce je spojit´a) n→∞
Pro odhad m˚ uˇzeme vyuˇz´ıt vztahu7 : d(xp , xn ) ≤
2.2.5
δn d(x0 , x1 ). 1−δ
(2.12)
Interpretace IFS
Z v´ yˇse uveden´eho vid´ıme, jak´ ym zp˚ usobem je IFS generov´ano (Hutchison˚ un oper´ator, rov. (2.5)) a jak´e podm´ınky mus´ıme splnit (kontrakce, pevn´ y bod). Z´akladn´ı objekt (zad´ an body) je v kaˇzd´e iteraci transformov´an jedn´ım nebo nˇekolika zobrazen´ımi a vznikaj´ı tak nov´e podmnoˇziny. Tyto podmnoˇziny jsou rekurzivnˇe vyuˇzity pro dl´ aˇzdˇen´ı dalˇs´ı iterace. Princip zobrazuje obr. 2.3. Prvn´ı iterace vznikla d´ıky 8 transformac´ım p˚ uvodn´ıho (ˇctvercov´eho) objektu. Dalˇs´ı iterace vznikaj´ı transformov´an´ım iterace pˇredeˇsl´e. D´ıky kontrakci jsou velikosti transformovan´ ych objekt˚ u vˇzdy nanejv´ yˇse stejnˇe velk´e jako vzor, velikost kol´aˇze tedy 8 neroste . Z´ akladn´ı objekt m˚ uˇze b´ yt libovoln´eho tvaru a nebudeme se j´ım v´ıce zab´ yvat. Aˇz v praktick´e ˇc´ asti jsou uvedena omezen´ı, kter´a vych´azej´ı s poˇzadavk˚ u na patch ant´eny. Transformac´ı je nˇekolik z´akladn´ıch typ˚ u, rovnˇeˇz moˇznost´ı z´apisu je v´ıce. Kr´atce se tedy o nich zmiˇ nme. 6
Stefan Banach (1892-1945). D˚ ukaz se prov´ ad´ı zpravidla sporem – snaˇz´ıme se uk´ azat, ˇze bod˚ u existuje v´ıce, coˇz se n´ am m˚ uˇze podaˇrit, ale pouze pro nekontraktivn´ı zobrazen´ı. 7 Pouze vˇsak pokud je S kontraktivn´ı, tj. kvocient δ ∈ (0, 1). To zde mlˇcky pˇredpokl´ ad´ ame, nebot’ pouze za t´eto podm´ınky m´ a Banachova vˇeta smysl. Lze uk´ azat, ˇze posloupnost je Cauchyovsk´ a, pak u ´pravou pˇres troj´ uheln´ıkovou nerovnost a souˇctem ˇrady z´ısk´ ame (2.12), zde bez odvozen´ı. 8 Jak bude pouk´ az´ ano pozdˇeji, v IFSMakeru existuje v´ yjimka. Pro zvˇetˇsov´ an´ı kol´ aˇze staˇc´ı zadat hodnoty posunu px nebo py tak velk´e, aby nov´ y objekt vznikl mimo plochu pˇredchoz´ı iterace.
7
N´ astroj pro mod´ aln´ı anal´ yzu FPA
2.3. Transformace
Obr´ azek 2.3: Prvn´ı tˇri iterace Sierpinsk´eho koberce, IFSMaker
2.3
Transformace
Afinn´ı transformace je definov´ ana vztahem: x(w) = AW + B
Tato rovnice m˚ uˇze b´ yt d´ ale rozeps´ana: b1 x1 a11 a12 x2 + = w: b2 y1 a21 a22 y2
(2.13)
(2.14)
Jednotliv´e koeficienty matice A se uplatˇ nuj´ı pˇri rotaci, zkosen´ı a zmˇenˇe mˇeˇr´ıtka, koeficienty matice B pˇri posunut´ı. Souˇradnice xn a yn n´aleˇz´ı iterovan´emu bodu. V´ yraz (2.14) lze upravit tak, aby cel´a transformace byla v jedn´e matici a kombinace transformac´ı ˇsla z´ıskat jejich n´ asoben´ım. Tak dost´av´ame matici 3×3 pro prostor R3 : a11 a12 0 w : [x2 , y2 , 1] = [x1 , y1 , 1] a21 a22 0 . (2.15) b1 b2 1 Jednotliv´e body jsou potom IFS algoritmem z´ısk´av´any na z´akladˇe rozn´asoben´ı matice (2.15) zdrojov´ ym bodem: x2 = x1 a11 + y1 a12 + tx ,
(2.16)
y2 = x1 a21 + y1 a22 + ty ,
(2.17)
(1 = 0x1 + 0y1 + 1).
(2.18)
Posledn´ı rovnice (2.18) nen´ı pro 2D zapotˇreb´ı. Diagon´alnˇe doplˇ nuje matici (2.15).
2.3.1
Typy afinn´ıch transformac´ı
Z´akladn´ı operace nad mnoˇzinou jsou (seˇrazeny podle [72]): 8
N´ astroj pro mod´ aln´ı anal´ yzu FPA
2.3. Transformace
• Posun bodu o vzd´ alenost [px , py ]
Mtrans1
• Zmˇena mˇeˇr´ıtka Ms
1 0 0 = 0 1 0 px py 0
Mtrans2
Ms 0 0 = 0 Ms 0 0 0 1
(2.19)
(2.20)
• Horizont´ aln´ı zmˇena mˇeˇr´ıtka Mx
Mtrans3
Mx 0 0 = 0 1 0 0 0 0
(2.21)
• Vertik´ aln´ı zmˇena mˇeˇr´ıtka My
Mtrans4
1 0 0 = 0 My 0 0 0 0
(2.22)
• Horizont´ aln´ı zeˇsikmen´ı Sx
Mtrans5
1 0 0 = Sx 1 0 0 0 0
(2.23)
• Vertik´ aln´ı zeˇsikmen´ı Sy
Mtrans6
1 Sy 0 = 0 1 0 0 0 0
(2.24)
• Rotace kolem poˇc´ atku o u ´hel α
Mtrans7
cos α sin α 0 = − sin α cos α 0 0 0 1
9
(2.25)
N´ astroj pro mod´ aln´ı anal´ yzu FPA
2.4. M´ıry a dimenze
Obr´ azek 2.4: V´ yznam koeficient˚ u a, b, c, d, e, f
2.3.2
Zp˚ usoby uloˇ zen´ı
K dispozici jsou dva ekvivalentn´ı z´apisy koeficient˚ u: a11 a12 b1 1. transformaˇcn´ı (p˚ uvodn´ı) matice + a21 a22 b2 2. matice koeficient˚ u a b c d e f Vz´ajemn´ y vztah mezi ˇcleny matic: a11 = a, a12 = b, a21 = c, a22 = d, b1 = e a b2 = f . Zat´ımco v BP byly matice zad´av´any pomoc´ı prvn´ıho zp˚ usobu, v DP (AntTool i IFSMaker) je vyuˇzita druh´a metoda. Uˇzit´ı p˚ uvodn´ıho nezkr´ acen´eho z´apisu je v´ yhodn´e pˇri pr´aci se samotn´ ymi transformacemi – kaˇzd´ a je sloˇzena z jedn´e nebo v´ıce element´arn´ıch operac´ı, kter´e jsou dekomponov´ any v ˇctvercov´ ych matic´ıch. Druh´a metoda pracuje s upraven´ ym souˇcinem vˇsech operac´ı a je vhodn´a pro kompaktn´ı z´apis, tedy i do gener´ator˚ u IFS. V literaturˇe je pracov´ ano vˇetˇsinou s matic´ı [a, b, c, d, e, f], uˇcin´ıme takt´eˇz. V´ yznam jednotliv´ ych parametr˚ u objasˇ nuje obr. 2.4.
2.4
M´ıry a dimenze
Hlubˇs´ı studium frakt´ aln´ı geometrie je prakticky nemoˇzn´e bez znalosti teorie m´ıry a dimenze. Pomoc´ı tˇechto term´ın˚ u je frakt´al definov´an, generov´an i mˇeˇren. Z frakt´aln´ı m´ıry lze odvodit frakt´ aln´ı (Hausdorffovu) dimenzi, jednu z nejd˚ uleˇzitˇejˇs´ıch dimenz´ı v˚ ubec. Zaveden´ı pˇredch´ az´ı v´ yklad nezbytn´ ych term´ın˚ u.
10
N´ astroj pro mod´ aln´ı anal´ yzu FPA
2.4.1
2.4. M´ıry a dimenze
Topologick´ a dimenze
Topologick´ a dimenze je jedn´ım z u ´daj˚ u, kter´ y potˇrebujeme z´ıskat pro porovn´an´ı klasick´eho hladk´eho u ´tvaru a frakt´ alu. Tuto dimenzi dobˇre zn´ame a intuitivnˇe ch´apeme; naz´ yv´ ame ji zpravidla mohutnost´ı prostoru, nebo tak´e stupnˇem volnosti. Topologick´ a dimenze nab´ yv´a hodnoty cel´eho nez´aporn´eho ˇc´ısla, nejˇcastˇeji ˇ ıslo n´am ˇr´ık´a, kolika smˇery je moˇzn´e pohy{0, 1, 2, 3}, obecnˇe vˇsak {0, 1, 2 . . . ∞}. C´ bovat po objektu s bodem, resp. kolika u ´daji se d´a pˇresnˇe popsat pozice bodu na/v u ´tvaru. V pˇr´ıpadˇe jednoho bodu Dt = 0, v pˇr´ıpadˇe spojit´e kˇrivky Dt = 1 a tak d´ale. To ovˇsem neznamen´ a, ˇze kˇrivka s dimenz´ı jedna je zobrazov´ana v jednorozmˇern´em prostoru. Pˇrehlednˇeji to ukazuje tabulka: Hodnota Dt 0 1 2 3 4
Pˇr´ıklad u ´varu bod kˇrivka plocha prostor ...
Moˇznosti pohybu Bez moˇzn´eho pohybu Pohyb po d´elce l Pohyb po ploˇse [x, y] Pohyb v prostoru [x, y, z] Pohyb napˇr. v hyperkomplexn´ı rovinˇe
Tabulka 2.1: Hodnoty topologick´e dimenze Tato tabulka plat´ı ovˇsem pouze pro hladk´e, euklidovsk´e u ´tvary. At’ mˇeˇr´ıme hladkou kˇrivku v jak´emkoliv mˇeˇr´ıtku, dostaneme vˇzdy koneˇcn´e ˇc´ıslo.
2.4.2
Vnˇ ejˇ s´ı m´ıra
M´ıra µ lze definovat na syst´emu M , kter´ y je σ-algebrou9 podmnoˇzin X. M´ıra µ je mnoˇzinov´ a funkce s n´ asleduj´ıc´ımi vlastnostmi: (1) µ{∅} = 0 (2) µ(A) ≤ µ(B) ⇔ A ⊂ B (3) A1 , A2 jsou poˇcitateln´e Potom plat´ı: µ
∞ [
∞ X Ai ≤ µ Ai .
i=1
(2.26)
(2.27)
i=1
Tak jsme si zajistili moˇznost poˇc´ıtat velikost mnoˇzin. Vnitˇrn´ı m´ıra lze definovat analogicky. Dalˇs´ı nezbytn´ a operace je pokryt´ı mnoˇziny. 9
Pro takov´ y syst´em plat´ı: (1) (2) (3)
X∈M 0 0 pokud A ∈ M, S∞ pak A ∈ M, kde A = X\A je doplnˇek A ∨ X pokud A = i=1 Ai pro ∀Ai spoˇcetn´e Ai ∈ M, pak A ∈ M
.
11
N´ astroj pro mod´ aln´ı anal´ yzu FPA
2.4.3
2.4. M´ıry a dimenze
-pokryt´ı
S Definujme tedy -pokryt´ı, na rozd´ıl od obecn´eho spoˇcetn´eho pokryt´ı F ⊆ Ai ∈A Ai , zde uvaˇzujeme (maxim´ aln´ı) velikost mnoˇzin, jimiˇz pokr´ yv´ame, [84]. Mus´ı platit: diamP ≤
(2.28)
pro -pokryt´ı P, kde ∀P ∈ P a je kladn´e (optim´alnˇe mal´e) re´aln´e ˇc´ıslo. Tato formulace poskytuje z´ aklad pro mˇr´ıˇzkovou dimenzi, uvedenou n´ıˇze.
Obr´ azek 2.5: Demonstrace -pokryt´ı, vlevo > vpravo Poznamenejme, ˇze diam znaˇc´ı diametr(A), ˇcasto znaˇcen |A|. Diametr popisuje velikost mnoˇziny, m˚ uˇzeme na jeho z´akladˇe rozhodnout i o jej´ı ohraniˇcenosti. Diametr mnoˇziny P je: diamP = sup d(x, y) : x, y ∈ P , (2.29) kde sup (resp. inf ) znaˇc´ı supremum (resp. infimum), viz [21]. Napˇr. pro n-rozmˇernou √ krychly o stranˇe a je diam roven a n. Diametr n´am ˇr´ık´a, jak rozmˇern´ y potˇrebujeme obal, abychom zabalili celou mnoˇzinu.
2.4.4
Hausdorffova m´ıra
Pˇredpokl´ adejme nepr´ azdnou podmnoˇzinu X ⊂ Rn , jej´ıˇz diametr je definov´am podle (2.29). D´ ale mˇejme mnoˇzinu mnoˇzin {Ui }, kter´a je poˇcitateln´a, pro ∀i plat´ı 0 ≤ diamUi ≤ a kter´ a pokr´ yv´ a F . Pak tvrd´ıme, ˇze {Ui } je -pokryt´ı mnoˇziny F : Hs (F ) = inf
∞ X
diam(Ui )s .
(2.30)
i=1
Budeme-li nyn´ı postupnˇe zmenˇsovat, bude klesat i poˇcet mnoˇzin, schopn´ ych pokr´ yt F . V limitˇe Hs (F ) = lim Hs (F ). (2.31) →0
Tato limita existuje pro jakoukoliv mnoˇzinu F ⊂ Rn a naz´ yv´ame ji s-rozmˇern´a 10 Hausdorffova m´ıra mnoˇziny F . Jej´ı hodnota je ˇcasto rovna 0 nebo ∞. V kontextu generace IFS m´ a Hausdorffova m´ıra jednu pˇr´ıjemnou vlastnost – je-li S afinn´ı Podle [34] a [35] lze dok´ azat, ˇze pro takov´e Hs , kde s ∈ Dt odpov´ıd´ a Hausdorffova m´ıra 0 Lebesqueovˇe m´ıˇre. Pro H je rovna poˇctu bod˚ u, pro H1 d´elce kˇrivky a tak d´ ale. 10
12
N´ astroj pro mod´ aln´ı anal´ yzu FPA
2.4. M´ıry a dimenze
transformace s mˇeˇr´ıtkem δ > 0 a X ⊂ Rn , pak: Hs S(F ) = δHs (F ).
2.4.5
(2.32)
H¨ olderova funkce s parametrem α
N´asleduj´ıc´ı vztah (2.33) a jeho odvozeniny (2.34)-(2.35) formuluj´ı obecn´ y tvar funkc´ı, s nimiˇz se ve frakt´ aln´ı geometrii setk´av´ame. Necht’ X ⊂ Rn a f : X −→ Y je zobrazen´ı. Potom, pokud pro jednu (nebo nˇekolik) konstant c > 0 existuje α > 0 tak, ˇze: |f (x) − f (y)| ≤ c|x − y|α
pro (x, y ∈ X),
(2.33)
m˚ uˇzeme (2.33) nazvat H¨ olderovou funkc´ı. Je-li α = 1: |f (x) − f (y)| ≤ c|x − y|
pro (x, y ∈ X),
(2.34)
naz´ yv´ a se funkce Lipschitzova. Podstatn´a je t´eˇz funkce bi-Lipschitzova, rozˇsiˇruj´ıc´ı podm´ınku (2.34), tj. c1 |x − y| ≤ |f (x) − f (y)| ≤ c2 |x − y|
pro (x, y ∈ X)
(2.35)
a kde 0 ≤ c1 ≤ c2 ≤ ∞.
2.4.6
Hausdorffova dimenze
Z pˇredchoz´ıho lze odvodit n´ asleduj´ıc´ı tvrzen´ı. Necht’ F ⊂ Rn je borelovsk´a mnoˇzina11 a plat´ı nerovnost 0 < s < t, (s, t) ∈ R. Potom plat´ı, ˇze pro rostouc´ı s kles´a Hs (F ). A d´ale: (1) pokud je Hs (F ) < ∞ pak Ht (F ) = 0 (2.36) (2) pokud je Ht (F ) > 0 pak Hs (F ) = ∞ Pˇr´ıklad tohoto jevu uvedeme d´ ale. Najdeme-li tedy ˇc´ıslo s takov´e, ˇze Ht = ∞ pro t < s a Ht = 0 pro t > s, naz´ yv´ ame s Hausdorffovou dimenz´ı Dh , pˇresnˇeji (2.37) Dh (F ) = inf s ≥ 0 : Hs (F ) = 0 = sup s ≥ 0 : Hs (F ) = ∞ a Hs (F ) nab´ yv´ a hodnot: s
H (F ) =
∞ pokud 0 ≤ s ≤ Dh (F ) 0 pokud s > Dh (F )
(2.38)
Tento z´ avˇer je kl´ıˇcov´ y a vyˇzaduje pln´e pochopen´ı. Demonstrujme ho na pˇr´ıkladu v´ ypoˇctu rovinn´eho u ´tvaru F (napˇr. ˇctverce) v R3 . Budeme sledovat z´avislost Hs (F ) 11
Borelovsk´ a mnoˇzina(Borel set) v Rn disponuje n´ asleduj´ıc´ımi vlastnostmi: (a) jak´ akoliv uzavˇren´ a i otevˇren´ a mnoˇzina je borelovsk´ a; (b) sjednocen´ı koneˇcn´eho (nebo spoˇcitateln´eho) poˇctu borelovsk´ ych mnoˇzin je opˇet borelovsk´ a mnoˇzina, coˇz plat´ı i pro koneˇcn´ y (nebo spoˇcitateln´ y) poˇcet pr˚ unik˚ u b. mnoˇzin. Poznamenejme, ˇze v t´eto pr´ aci jsou prakticky vˇsechny mnoˇziny borelovsk´e.
13
N´ astroj pro mod´ aln´ı anal´ yzu FPA
2.4. M´ıry a dimenze
ˇ na s, tento pr˚ ubˇeh nakonec vykresl´ıme na obr. 2.6. Ctverec dosahuje nekoneˇcn´e 1 d´elky H (F ) = ∞, nebot’ se jedn´a o ploch´ y u ´tvar. M´ıra H2 (F ) je rovna souˇcinu ca2 , kde a je strana ˇctverce a c je konstanta. Tento souˇcin je zjevnˇe koneˇcn´ y, kladn´ y a re´aln´ y. Objem, tj. H3 (F ) takov´eho u ´tvaru je nulov´ y. Pro hodnoty s ∈ (0, 2) je Hs (F ) = ∞, pro hodnoty s = (2, ∞) je Hs (F ) = 0. Tzn. ˇze Dh (F ) = 2, v tomto pˇr´ıpadˇe se nav´ıc Dh (F ) = Dt (F ), nebot’ ˇctverec patˇr´ı mezi jednoduch´e euklidovsk´e obrazce.
Obr´ azek 2.6: K definici Dh (F ): vlevo mnoˇzina F , vpravo jej´ı Dh Tato dimenze byla zaloˇzena na dˇr´ıvejˇs´ı Carath´eodoryho12 konstrukci teorie mˇer. Hausdorffova dimenze je matematicky transparentn´ı a definovateln´a pro vˇsechny mnoˇziny v Rn . Jej´ı obecnost m´a vˇsak i sv´e u ´skal´ı, a to jej´ı obt´ıˇzn´ y v´ ypoˇcet. To plat´ı dokonce i pro odvozen´e numerick´e metody, kter´a jsou nav´ıc zpravidla omezeny jen na urˇcitou skupinu mnoˇzin. Mezi tyto metody patˇr´ı i box-counting, kter´ y poˇc´ıt´ a mˇr´ıˇzkovou dimenzi. Tu definujeme na z´akladˇe frakt´aln´ı dimenze s uv´aˇzen´ım omezuj´ıc´ıch podm´ınek v ˇc´ asti 2.4.7. N´ asleduj´ıc´ı tabulka d´ av´ a pˇredstavu o frakt´aln´ı dimenzi nˇekter´ ych pˇr´ırodn´ıch u ´tvar˚ u, viz [3], [72] a jin´e: Pˇr´ırodn´ı u ´tvar Pobˇreˇz´ı Povrch mozku ˇclovˇeka Povrch neerodovan´ ych skal Obvod 2D pr˚ umˇetu mraku
Odhad Dh ∼ 1.26 ∼ 2.76 ∼ 2.2 − 2.3 ∼ 1.33
Tabulka 2.2: Hodnoty Hausdorffovy dimenze pro nˇekter´e pˇr´ırodn´ı u ´tvary. Vid´ıme, ˇze hodnoty nejsou celoˇc´ıseln´e. To ukazuje na objekty ne-euklidovsk´e, frakt´ aln´ı geometrie. Chceme-li zmˇeˇrit m´ıru sloˇzitosti tˇechto u ´tvar˚ u, vyuˇzijeme rozd´ılu ∆f = |Dh − Dt |. Tato hodnota m˚ uˇze limitnˇe nab´ yvat hodnoty ∆f → 113 a 12
Constantin Carath´eodory (1873-1950) Plat´ı pouze pro kˇrivkov´ y“ frakt´ al v ploˇse – Sierpinsk´eho troj´ uheln´ık, Mandelbrotovu mnoˇzinu ” aj. Pro frakt´ al v objemu by se limita mohla bl´ıˇzit dvˇema. 13
14
N´ astroj pro mod´ aln´ı anal´ yzu FPA
2.4. M´ıry a dimenze
plat´ı, ˇze s rostouc´ı hodnotou roste i u ´roveˇ n ˇclenitosti objektu.
2.4.7
Mˇ r´ıˇ zkov´ a dimenze
Tato dimenze je jednou z nejv´ıce uˇz´ıvan´ ych – jej´ı v´ ypoˇcet je relativnˇe jednoduˇse implementovateln´ y a rychl´ y. Je zaloˇzena na mˇeˇren´ı s mˇeˇr´ıtkem δ, kter´e se postupnˇe zmenˇsuje k nule. Situace je podobn´a, jakou sledoval Richardson s mˇeˇren´ım obvodu Korsiky. Nepravidelnosti menˇs´ı, neˇz je rozmˇer mˇeˇr´ıtka zanedb´av´ame. Proch´az´ıme postupnˇe celou mnoˇzinu (pobˇreˇz´ı) a poˇc´ıt´ame, kolik d´elek δ (p´asem, metr˚ u, centimetr˚ u) je potˇreba pro jej´ı u ´pln´e pokryt´ı. Jak lze dok´ azat, pro velkou tˇr´ıdu (kam spadaj´ı i IFS) mnoˇzin pod´av´a mˇr´ıˇzkov´a dimenze stejn´e v´ ysledky jako Hausdorffova dimenze. Je-li F nepr´azdn´a ohraniˇcen´a podmnoˇzina Rn a Nδ (F ) je nejmenˇs´ı poˇcet mnoˇzin s diametrem δ, kter´e pokr´ yvaj´ı mnoˇzinu F , potom definujeme doln´ı a horn´ı mˇr´ıˇzkovou dimenzi mnoˇziny F n´asledovnˇe14 ([34]): log Nδ (F ) Db F = lim , (2.39) δ→0 − logδ log Nδ (F ) . (2.40) Db F = lim δ→0 − logδ Pokud se Db F = Db F , mluv´ıme o mˇr´ıˇzkov´e dimenzi (box-counting dimension): Db F = lim
δ→0
log Nδ (F ) . − logδ
(2.41)
Kdyby byla mnoˇzina pr´ azdn´ a nebo neohraniˇcen´a, hroz´ı hodnoty log 0 pˇr´ıp. log ∞ ve jmenovateli. Tvar mnoˇzin N i jejich rozmˇer δ je voliteln´ y, ale pro naˇse u ´ˇcely je nejvhodnˇejˇs´ı pracovat s mˇr´ıˇzkou postupnˇe se zjemˇ nuj´ıc´ıch ˇctverc˚ u se stranou δ. Takov´ y syst´em je na obr´ azku 2.7.
Obr´ azek 2.7: Zjemnˇen´ı mˇr´ıˇzky pokr´ yvaj´ıc´ı mnoˇzinu F Z´ aroveˇ n plat´ı n´ asleduj´ıc´ı vztah mezi Db a Dh pro F ⊂ Rn , [34]: Dh (F ) ≤ Db (F ) ≤ Db (F )
(2.42)
Pokus´ıme se ho dok´ azat na pˇr´ıkladu v ˇc´asti 2.5.Ve velk´e ˇc´asti pˇr´ıpad˚ u se Hausdorffova a mˇr´ıˇzkov´ a dimenze pˇr´ımo rovn´a, nicm´enˇe je i skupina objekt˚ u, kde striktnˇe plat´ı uveden´ a nerovnost. 14
lim odpov´ıd´ a lim sup a lim ' lim inf .
15
N´ astroj pro mod´ aln´ı anal´ yzu FPA
2.5
2.5. Metoda box-counting
Metoda box-counting
Jak bylo uvedeno v´ yˇse, jedn´ a se o rychlou a pohodlnou metodu, jak vypoˇc´ıtat mˇr´ıˇzkovou dimenzi. Zkouman´ y objekt pokr´ yv´ame ˇctvercovou s´ıt´ı a pro kaˇzd´ y ˇctverec zjiˇst’ujeme, zda v nˇem leˇz´ı byt’ jakkoliv mal´a ˇc´ast kol´aˇze. Pokud ano, tento ˇctverec zapoˇc´ıt´ ame. Mˇeˇr´ıtko je vhodn´e v kaˇzd´em kroku zmenˇsit na polovinu. Na obr. 2.7 1 1 vid´ıme zleva doprava mˇeˇr´ıtka δ1 = 71 , δ2 = 14 a δ3 = 28 . Vypoˇcteme-li poˇcet obsazen´ ych ˇctverc˚ u, dostaneme se k ˇc´ısl˚ um 16, 52 a 164 (zde je jich ve skuteˇcnosti 174, pokud vˇsak vezmeme ˇcistˇe jen plochu frakt´alu bez tuˇcnˇe znaˇcen´ ych hran, nˇekolik ˇctverc˚ u zmiz´ı). Mˇr´ıˇzkovou dimenzi vypoˇcteme ze smˇernice log − log grafu, jak bylo uvedeno dˇr´ıve, a to n´ asledovnˇe: Db (Fsierp ) =
log10 164 − log10 16 = 1.6788 log10 28 − log10 7
(2.43)
Jedn´ a se o dosti nepˇresn´ y v´ ysledek, Hausdorffova dimenze Sierpinsk´eho log10 3 ≈ 1.585. Vysok´ a chyba je d´ana zejm. dvˇema faktory. T´ım troj´ uheln´ıka je log 10 2 prvn´ım je fakt, ˇze poˇc´ıt´ ame dimenzi pro 1.iteraci frakt´alu; v´ yhodnˇejˇs´ı je poˇc´ıtat pro 3. a vyˇsˇs´ı iteraci. Druh´ ym d˚ uvodem je nedostateˇcn´a jemnost mˇeˇridla δ. Pro uspokojiv´ y v´ ysledek by bylo vhodn´e alespoˇ n dvakr´at krok zjemnit, bohuˇzel pak by bylo ruˇcn´ı poˇc´ıt´ an´ı ˇctverc˚ u velice obt´ıˇzn´e. Pˇresto n´am vztah (2.43) ukazuje spolu s obr. 2.8, jak´ ym zp˚ usobem se chov´a smˇernice box-counting dimenze.
Obr´ azek 2.8: Smˇernice box-counting dimenze Pro v´ ypoˇcty mˇr´ıˇzkov´ ych dimenz´ı v tomto projektu byl, do doby neˇz implementujeme vlastn´ı algoritmus, vybr´an program boxcount, kter´ y lze st´ahnout na komunitn´ıch str´ ank´ ach [99]. Poch´ az´ı z roku 2008 a autorem je F. Moisy. Bez n´apovˇedy a ˇc´ast´ı pro 1D a 3D u ´tvary obsahuje pouh´ ych 70 ˇr´adek k´odu, ˇcehoˇz je dosaˇzeno d˚ uvtipn´ ym vyuˇzit´ım logick´ ych funkc´ı v Matlabu. S drobn´ ymi u ´pravami lze vyuˇz´ıvat pˇr´ımo v´ ystupu IFSMakeru (popis programu viz ˇc´ast 3.3). Kroky v´ ypoˇctu si ukaˇzme opˇet pro pˇr´ıklad Scierpinsk´eho troj´ uheln´ıka: 1. Generace poˇzadovan´eho IFS v IFSMakeru (lze i naˇc´ıst) 16
N´ astroj pro mod´ aln´ı anal´ yzu FPA
2.5. Metoda box-counting
2. Zobrazit samotn´ y frakt´ al jako v´ yplˇ n, viz obr. v dodatku 12.1 3. Sejmeme obrazovku a uloˇz´ıme samotn´ y FRC bez GUI 4. Naˇc´ıst do Matlabu pomoc´ı funkce imread 5. V´ yplˇ n frakt´ alu sjednotit na ˇcernou barvu 6. V´ ypoˇcet dimenze pomoc´ı boxcount 7. Pˇrepoˇcet smˇernice, v´ ysledek Bod 5 lze v pˇr´ıpadˇe exportu z IFSMakeru vynechat. Body 4-7 jsou zad´av´any ve formˇe pˇr´ıkaz˚ u, ty zobrazuje tabulka 2.3. c = imread(’fractal.jpg’); c = (c<198); % imagesc( c); [n,r] = boxcount(c); df = -diff(log(n))./diff(log(r)); disp([’Fractal dimension, Df = ’ num2str(mean(df(4:8))) ... ’ +/- ’ num2str(std(df(4:8)))]); Tabulka 2.3: V´ ypoˇcet dimenze programem boxcount
Obr´ azek 2.9: K v´ ypoˇctu mˇr´ıˇzkov´e dimenze (frakt´aly FRC A a FRC B) Nyn´ı m˚ uˇzeme srovnat v´ ysledky ruˇcn´ıho v´ ypoˇctu i programu boxcount se skuteˇcnou hodnotou dimenze. Pro frakt´al 2. iterace vych´az´ı Db = 1.6411 ± 0.10206 a pro frakt´ al 3. iterace Db = 1.5964 ± 0.12882, vzory jsou na obr. 2.9 vlevo. Jiˇz pro 3. iteraci se v´ ysledek bl´ıˇz´ı skuteˇcnosti, pˇriˇcemˇz i v´ ysledek 2. iterace je v toleranci. Pokud stejn´ y mechanismus aplikujeme na FRC B 3. iterace (viz obr. 2.9 vpravo, pˇr´ıp. 12.3 vpravo), dostaneme: Db = 1.7903 ± 0.0792. To odpov´ıd´a naˇs´ı intuici – FRC A vyplˇ nuje plochu m´enˇe efektivnˇe neˇz FRC B. Na obr. 2.10 je zobrazen pr˚ ubˇeh v´ ypoˇctu – vlevo trend sniˇzov´an´ı mˇeˇr´ıtka δ se zvyˇsuj´ıc´ım se poˇctem ˇctverc˚ u pokryt´ı N , pravo potom hodnota mˇr´ıˇzkov´e dimenze v kaˇzd´em kroku v´ ypoˇctu. Z tˇechto dat je vypoˇcten logaritmick´ y pr˚ ubˇeh podstatn´ y pro v´ ypoˇcet smˇernice. 17
N´ astroj pro mod´ aln´ı anal´ yzu FPA
2.5. Metoda box-counting
Obr´ azek 2.10: V´ ypoˇcet mˇr´ıˇzkov´e dimenze Scierpinsk´eho troj´ uheln´ıka (FRC A) Pro kontrolu byla vypoˇc´ıt´ ana i hodnota mˇr´ıˇzkov´e dimenze ˇctverce (zde se Dh = Dt = 2 a mˇelo by se i Dh = Db ). V´ ysledek Db = 1.9481 ± 0.0632 vych´az´ı v toleranci a je velice bl´ızk´ y hodnotˇe Dt = 2. Na obr. 2.11 vid´ıme, ˇze dimenze je t´emˇeˇr st´ale rovna dvˇema.
Obr´ azek 2.11: V´ ypoˇcet mˇr´ıˇzkov´e dimenze ˇctverce Hodnota mˇr´ıˇzkov´e, potaˇzmo Hausdorffovy dimenze je v´ yznamn´ ym ukazatelem sloˇzitosti plan´ arn´ıho u ´tvaru. Jej´ım odvozen´ım a zaveden´ım metody v´ ypoˇctu jsme se pˇribl´ıˇzili moˇznosti klasifikovat nˇekter´e parametry IFS patch ant´en s ohledem na hodnotu mˇr´ıˇzkov´e dimenze. M˚ uˇzeme si t´eˇz poloˇzit ot´azku, zda m´ıra kˇrivosti hranice patche nem´ a vliv na distribuci nebo velikost jednotliv´ ych mod˚ u. V budoucnu bude moˇzn´e optimalizovat IFS strukturu tak, aby jej´ı frakt´aln´ı dimenze vyhovovala zadan´emu ˇc´ıslu.
18
Kapitola 3
IFS software Tato kapitola m´ a za u ´kol sezn´ amit ˇcten´aˇre zejm´ena s praktick´ ym n´avrhem IFS struktur a pˇredstavit programy AntTool a IFSMaker. Jeˇstˇe pˇredt´ım se kr´atce vˇenujeme vlastnostem Matlabu a moˇzn´ ym pˇr´ıstup˚ um k programov´an´ı. Tak vyniknou rozd´ıly mezi obˇema n´ astroji a pˇriprav´ıme si p˚ udu na pˇredstaven´ı mod´aln´ıho ˇreˇsiˇce, PSO optimaliz´ atoru a IFSLimiteru.
3.1 3.1.1
Programovac´ı techniky v Matlabu ´ Uvod
Prostˇred´ı Matlab (MAtrix LABoratory) vytvoˇril r. 1970 Cleve Moler. Roku 1984 byl Matlab pˇreps´ an z Fortranu do jazyka C a byla zaloˇzena spoleˇcnost The MathWorks ([99]), ta pracuje na nov´ ych verz´ıch dodnes (nejnovˇeji R2009a). Matlab se od sv´eho vzniku vyvinul v komplexn´ı, uˇzivatelsky pˇr´ıjemn´ y a po programov´e str´ance komfortn´ı bal´ık, obsahuj´ıc´ı stovky implementovan´ ych funkc´ı. Jejich v´ yhoda je, ˇze v pˇr´ıpadˇe potˇreby m˚ uˇzeme takov´e funkce prohl´ıˇzet, pˇr´ıpadnˇe kop´ırovat, pˇrepisovat a podobnˇe1 . Vlastnosti Narozd´ıl od Javy, pˇr´ıpadnˇe C++ nem´ame k dispozici vl´akna, omezen´e jsou moˇznosti hardwarov´ ych naslouchaˇc˚ u (napˇr. oddˇelen´ı prav´eho kliku myˇsi od lev´eho) a rychlost aplikac´ı je zpomalena o reˇzii vlastn´ıho Matlabu. Matlab jako takov´ y rovnˇeˇz nelze povaˇzovat za plnohodnotn´ y programovac´ı jazyk (i kdyˇz syntax m´a vlastn´ı), nebot’ dokonˇcen´e programy st´ ale potˇrebuj´ı k bˇehu Matlab. Toto do jist´e m´ıry ˇreˇs´ı Matlab Compiler [20], pˇresto vˇsak mus´ıme m´ıt st´ale nainstalovan´ y podp˚ urn´ y program, nemluvˇe o u ´skal´ıch pˇrevodu vˇetˇs´ıch projekt˚ u (doned´avna nesmˇela m´ıt kompilovan´a aplikace GUI apod.). 1 Uveden´e operace plat´ı pro vˇsechny funkce s v´ yjimkou tzv. Built-in funkc´ı. N´ ahled na funkci je moˇzn´ y pomoc´ı pˇr´ıkazu edit jmeno funkce. Popisem nejd˚ uleˇzitˇejˇs´ıch funkc´ı se zab´ yv´ a [17].
19
N´ astroj pro mod´ aln´ı anal´ yzu FPA
3.1. Programovac´ı techniky v Matlabu
Mluv´ıme-li o negativech, nesm´ı chybˇet pozitiva. Je jich mnoho. Toolboxy, kvalitn´ı editor s M-Lintem, rozs´ ahl´ y help s pˇr´ıklady a demy, uˇzivatelsk´a podpora, komunitn´ı weby, moˇznost propojen´ı s Excelem, Comsolem, C++, Javou, Maplem, aplikace profiler pro lazen´ı skript˚ u a funkc´ı, velice rychl´e j´adro zaloˇzen´e na pr´aci s maticemi. Mezi dalˇs´ı v´ yhody, kter´e ocen´ı zkuˇsen´ y uˇzivatel, patˇr´ı objektov´e programov´an´ı, distribuovan´e v´ ypoˇcty, podpora handle funkc´ı, pol´ı a struktur, pohodln´a spr´ava a export dat. M˚ uˇzeme integrovat funkce z jazyka C a Javy, zakl´adat vlastn´ı (com) server . . . Grafika Pr´ace s grafikou je ned´ılnou souˇc´ast´ı Matlabu. K dispozici m´ame cel´e rodiny 2D a 3D graf˚ u, obr´ azk˚ u, s´ıt´ı. M˚ uˇzeme pracovat s animacemi, renderovat (OpenGL), st´ınovat, nasvˇecovat. Hierarchie grafick´ ych objekt˚ u je zobrazena na obr. 3.1. Pˇri tvorbˇe sloˇzitˇejˇs´ı aplikace, jako je IFSMaker se bez znalosti jednotliv´ ych z´avislost´ı neobejdeme.
Obr´ azek 3.1: Struktura grafiky v Matlabu Vˇsechny prvky, at’ jiˇz element´arn´ı plot, line, text, nebo nadˇrazen´e axes a figure, maj´ı mnoho vlastnost´ı, ke kter´ ym m˚ uˇzeme pˇristupovat pomoc´ı funkce get. Mˇenit existuj´ıc´ı parametry lze pomoc´ı funkce set. Abychom mohli pˇristupovat k dan´e instanci (objektu), je potˇreba m´ıt uloˇzenou jej´ı referenci, v Matlabu je oznaˇcovan´a jako handle. Pokud handle nen´ı pˇr´ıstupn´ y, lze ho naj´ıt pomoc´ı jin´ ych vlastnost´ı objektu2 . Nˇekter´e grafick´e prvky vˇsak (velice zˇr´ıdka) handle v˚ ubec nemaj´ı. Je vhodn´e se zm´ınit i o tzv. callback funkc´ıch, nebot’ pr´avˇe ty zprostˇredkov´avaj´ı odezvu vˇsech aktivn´ıch prvk˚ u. Klikneme-li na tlaˇc´ıtko, jedn´a se o ud´alost, o urˇcit´ y typ callback funkce. Pokud m´ ame tuto funkci definovanou, je provedena ihned po aktivaci dan´eho tlaˇc´ıtka. Tak lze ˇr´ıdit i pohyb myˇsi, pˇr´ıpadnˇe naslouch´an´ı jednotliv´ ych kl´aves a tlaˇc´ıtek. Callback funkc´ı je mnoho typ˚ u a nebudeme se jim zde podrobnˇeji vˇenovat. Jsou pops´ any v [9] na str. 8-84 aˇz 8-94. 2
Obvykle vyuˇz´ıv´ ame vlastnost´ı tag, userdata a name. Toto hled´ an´ı, realizovan´e pomoc´ı funkce findobj je nepomˇernˇe pomalejˇs´ı neˇz pˇr´ıstup pˇres handle.
20
N´ astroj pro mod´ aln´ı anal´ yzu FPA
3.1. Programovac´ı techniky v Matlabu
Typy promˇ enn´ ych V Matlabu, stejnˇe jako ve vˇetˇsinˇe ostatn´ıch programovac´ıch jazyk˚ u, jsou definov´any datov´e typy. Ty slouˇz´ı k oznaˇcen´ı promˇenn´e a umoˇzn ˇuj´ı efektivn´ı alokaci pamˇeti. Vˇsechny typy maj´ı charakter objekt˚ u a jsou tedy nad nimi definov´any urˇcit´e operace (v´ıce v ˇc´ asti 3.1.4). Matlab prov´ad´ı deklaraci typu s´am podle dat, kter´a vloˇzil uˇzivatel. Jsou vˇsak v´ yjimeˇcn´e pˇr´ıpady, kdy se tato znalost hod´ı i v Matlabu3 . Z´akladn´ı datov´e typy (tˇr´ıdy) jsou: • double (8B) • char (2B) • logical (1B) • struct (> 100B) • cell (> 100B) • vlastn´ı tˇr´ıdy (OOP) V´ıce lze nal´ezt v helpu a odborn´e literatuˇre. Bez ohledu na dan´ y typ jsou vˇsechna data uvnitˇr Matlabu interpretov´ana jako matice, nebot’ Matlab pracuje jen s nimi (maticov´ y z´ apis je vˇzdy nejrychlejˇs´ı). OOP pˇ r´ıstup OOP (Object-Oriented Programming) je v Matlabu relativnˇe novou4 technikou programov´ an´ı5 . Z´ akladn´ı myˇslenky jsou spoleˇcn´e s ostatn´ımi vyˇsˇs´ımi programovac´ımi jazyky, realizace nˇekter´ ych prvk˚ u je vˇsak v Matlabu netypick´a. Napˇr´ıklad propojen´ı komplexnˇejˇs´ıho GUI s faktick´ ym j´adrem programu je dosti obt´ıˇzn´e, zaj´ımav´e je vyuˇzit´ı ud´ alost´ı (Events) a naslouchaˇc˚ u (Listeners), [19]. V´ıcen´asobnou dˇediˇcnost (jako v C++) a absenci interfejs˚ u6 (Java) lze hodnotit sp´ıˇse pozitivnˇe. Skripty, funkce Nejjednoduˇsˇs´ı vyuˇzit´ı Matlabu je z pˇr´ıkazov´e ˇr´adky (t´eˇz prompt, znaˇcka ), tento zp˚ usob je efektivn´ı pouze pro jednoduch´e matematick´e operace, pro spouˇstˇen´ı 3 Uved’me alokace pol´ı, rozs´ ahl´e matice, velk´ y poˇcet logick´ ych operac´ı a dalˇs´ı. Napˇr´ıklad pro matici 10000 × 10000 znamen´ a uˇzit´ı typu logical nam´ısto typu double, pokud to u ´loha umoˇzn ˇuje, u ´sporu 700MB v operaˇcn´ı pamˇeti. Proto pˇri pozdˇejˇs´ı pr´ aci s NaN poli ihned mˇen´ıme matici na logical a NaN pole maˇzeme. 4 Aˇz od verze R2008a (7.6.0). 5 Byly zde pokusy implementovat OOP do Matlabu jiˇz dˇr´ıve. Nejl´epe se tohoto u ´kolu zhostil zˇrejmˇe Andy H. Register v knize [18]. Jeho paradigma vˇsak vyˇzadovalo pokroˇcilou znalost objektov´eho programov´ an´ı napˇr. z C++. 6 Interfejsy lze nahradit pomoc´ı abstraktn´ıch tˇr´ıd.
21
N´ astroj pro mod´ aln´ı anal´ yzu FPA
3.1. Programovac´ı techniky v Matlabu
vlastn´ıch program˚ u, nebo modul˚ u Matlabu (editor, profiler, help, . . . ). V´ıce je uvedeno v [16]. Ve vˇsech ostatn´ıch pˇr´ıpadech pracujeme v editoru, kde vytv´aˇr´ıme skripty nebo funkce. Ten lze otevˇr´ıt pˇr´ıkazem edit. Skript obsahuje posloupnost pˇr´ıkaz˚ u, kter´e jsou po spuˇstˇen´ı provedeny. Nevrac´ı ˇz´adn´e v´ ysledky zpˇet do prostoru volaj´ıc´ı funkce (caller workspace), nicm´enˇe m˚ uˇze vypsat / vykreslit v´ ysledky a vˇsechny promˇenn´e z˚ ustanou v z´akladn´ım pracovn´ım prostoru (base workspace). Skript je st´ale velice primitivn´ı formou programov´an´ı, nebot’ pouze prov´ ad´ı s´erii pˇr´ıkaz˚ u, bez dalˇs´ı n´avaznosti nebo promˇenn´ ych parametr˚ u. Funkce mus´ı m´ıt hlaviˇcku, kter´a definuje vstupn´ı a v´ ystupn´ı parametry a jm´eno. Definice parametr˚ u nen´ı povinn´a. Rovnˇeˇz lze vyuˇz´ıvat promˇenn´ y poˇcet parametr˚ u s pomoc´ı varargin a varargout. Kl´ıˇcov´e slovo end na konci funkce je vyˇzadov´ano pouze pˇri pr´ aci se zanoˇren´ ymi funkcemi (nested functions), pˇr´ıpadnˇe s v´ıce funkcemi v jednom mfilu. Nemus´ıme zad´ avat vˇsechny vstupn´ı (pokud nejsou potˇreba) nebo poˇzadovat vˇsechny v´ ystupn´ı parametry. Aˇz pˇri pr´ aci s funkcemi lze plnˇe docenit vˇsechny moˇznosti Matlabu oproti ostatn´ım matematick´ ym bal´ık˚ um (Matematika, Maple, Derive). Pro u ´ˇcely dalˇs´ıho v´ ykladu nyn´ı jmenujme trojici autorem nejˇcastˇeji vyuˇz´ıvan´ ych programovac´ıch technik.
3.1.2
Switched board programming
N´asleduj´ıc´ı postup tvorby m-fil˚ u je dosti atypick´ y a je vhodn´ y zejm. pro funkce obsahuj´ıc´ı grafick´e prvky. Vyuˇz´ıv´a schopnosti funkce volat sebe samu s r˚ uzn´ ym poˇctem parametr˚ u. Program vˇetv´ıme pˇr´ıkazy switch a case nebo analogicky if a else (elseif )7 .
Obr´ azek 3.2: Pˇr´ıklad uˇzit´ı switched boad programmingu (AntTool1.3) Obr´ azek 3.2 zobrazuje hlaviˇcku takto napsan´e funkce. Ihned po vstupu je funkce 7
Zde je volba mezi switch-case a if-else nepodstatn´ a, ve vˇetˇsinˇe pˇr´ıpad˚ u je vˇsak vhodn´e zvolit spr´ avn´e pˇr´ıkazy, aˇckoliv provedou tot´eˇz. Pro logick´e a matematick´e podm´ınky vol´ıme if-else, pro v´ ybˇer moˇznosti z dlouh´eho v´ yˇctu, pˇri pr´ aci s ˇretˇezci string a podobnˇe vol´ıme switch-case formu.
22
N´ astroj pro mod´ aln´ı anal´ yzu FPA
3.1. Programovac´ı techniky v Matlabu
ˇclenˇena, a to but’ podle hodnoty prvn´ıho vstupn´ıho parametru, nebo, pozdˇeji, podle poˇctu parametr˚ u. Vol´ an´ı bez parametr˚ u, nebo s jedn´ım vstupn´ım parametrem (init a podobnˇe) zpravidla inicializuje funkci, tj. vykresl´ı GUI, definuje callback funkce a nastav´ı jeho prvky. Z´ avˇer takov´e pas´aˇze m˚ uˇze obsahovat opˇetovn´e vol´an´ı stejn´e ˇ funkce (ale s jin´ ymi parametry). Castˇeji vˇsak nyn´ı ˇcek´ame na vstup od uˇzivatele a na aktivaci GUI, kter´ a skrze callback funkce prov´ad´ı rekurzi, avˇsak novˇe napˇr. s parametry z GUIe. Detaily lze nal´ezt v [2]. Tato metoda je vhodn´ a pro program´atorsk´e zaˇc´ateˇcn´ıky. Nevyˇzaduje nutnost propojovat a koncipovat velk´ y poˇcet funkc´ı. Jej´ı uˇzit´ı je vˇsak omezen´e (zejm. benevolenc´ı Matlabu, kterou u jin´ ych jazyk˚ u nenajdeme) a po bliˇzˇs´ım sezn´amen´ı je vhodnˇejˇs´ı pˇrechod k plnˇe struktur´aln´ımu programov´an´ı. Pochopitelnˇe tato technika pod´av´ a nejlepˇs´ı v´ ysledky v kombinaci s dalˇs´ımi at’ jiˇz struktur´aln´ımi, ˇci objektov´ ymi segmenty k´ odu. Na druhou stranu, i v pˇr´ıpadˇe komplikovan´ ych projekt˚ u zaloˇzen´ ych na OOP se obˇcas vyskytuj´ı funkce, kter´e samy sebe opakovanˇe volaj´ı s r˚ uzn´ ym poˇctem parametr˚ u.
3.1.3
Struktur´ aln´ı programov´ an´ı
Idea je velice jednoduch´ a. Celkov´ y probl´em dˇel´ıme (tzv. atomizace) na d´ılˇc´ı, d´ale nedˇeliteln´e ˇc´ asti. Z tˇechto ˇc´ ast´ı programujeme funkce, kter´e sv´ ym vz´ajemn´ ym vol´an´ım vytv´ aˇrej´ı p˚ uvodn´ı celek. V principu je nepˇr´ıpustn´e vyuˇzit´ı skok˚ u (napˇr. goto); v´ yhodou je, ˇze tyto skoky Matlab v˚ ubec nepodporuje. Do urˇcit´e rozlohy pro-
Obr´ azek 3.3: Struktur´aln´ı segment k´odu (IFSLimiter) jektu je struktur´ aln´ı programov´ an´ı n´azorn´e a nen´aroˇcn´e. V Matlabu m˚ uˇzeme vyuˇz´ıt 23
N´ astroj pro mod´ aln´ı anal´ yzu FPA
3.1. Programovac´ı techniky v Matlabu
nested funkce pro dalˇs´ı zjednoduˇsen´ı. Struktur´aln´ı pˇr´ıstup vˇsak trp´ı hned nˇekolika neduhy. Nedostatkem je oddˇelen´ı dat a algoritm˚ u. To se muˇze jevit jako v´ yhoda pro mal´e programy, v projektu o 100 funkc´ıch je ovˇsem pˇrid´an´ı dalˇs´ı funkce strastipln´a ud´alost – neobsahuje ˇc´ ast kompetenc´ı nov´e funkce jiˇz jin´a starˇs´ı (duplicity), kdo a s jak´ ymi daty bude smˇet tuto funkci volat (autorizace), nemˇen´ı mi tato funkce uloˇzen´ a data neˇz´ adouc´ım zp˚ usobem? Probl´em je tak´e absence vyˇsˇs´ıch datov´ ych struktur s omezen´ ym vstupem, kter´e jsou pro vˇetˇs´ı aplikace nezbytnost´ı. Hroz´ı totiˇz, ˇze nepodstatn´ a funkce nastavuj´ıc´ı barvu pozad´ı zmˇen´ı ve stejn´em poli napˇr. hodnoty IFS transformac´ı. Dohled´ an´ı podobn´e chyby je t´eˇz problematick´e. Vˇsechny jmenovan´e nedostatky odstraˇ nuje objektov´e paradigma.
3.1.4
OOP
Objektov´e paradigma se inspiruje svˇetem okolo n´as. Oznaˇcme jist´e dveˇre za objekt, jejich otevˇren´ı je potom metodou. Dˇrevˇen´e i lamin´atov´e dveˇre patˇr´ı do stejn´e kategorie – tˇr´ıdy, totiˇz do tˇr´ıdy dveˇr´ı. Dalˇs´ı metodou m˚ uˇze b´ yt tˇreba zavˇren´ı nebo zamˇcen´ı. Zat´ımco otevˇren´ı i zavˇren´ı dveˇr´ı je podobn´e i u tˇr´ıdy oken (jedn´a se o polymorfismus), zamˇcen´ı je metoda pˇr´ıstupn´a obvykle pouze dveˇr´ım. Pˇrestoˇze objektov´e myˇslen´ı je lidem vlastn´ı, vyloˇzen´ı a implementace objektov´eho paradigmatu je pomˇernˇe obt´ıˇzn´e. Zaveden´ı jednotliv´ ych pojm˚ u je podrobnˇe zpracov´ ano v literatuˇre a plat´ı i v Matlabu, drobn´e zmˇeny jsou dostateˇcnˇe pops´any v [19].
Obr´ azek 3.4: Uˇzit´ı objekt˚ u v IFSMakeru Pˇri studiu OOP se vˇzdy setk´ ame s trojic´ı pojm˚ u, kter´e OO pˇr´ıstup charakterizuj´ı. Jsou to:
24
N´ astroj pro mod´ aln´ı anal´ yzu FPA
3.2. AntTool
• zapouzdˇren´ı (na objekt se d´ıv´ame jako na ˇcernou skˇr´ıˇ nku s definovan´ ym pˇr´ıstupem) • polymorfismus (jedna metoda lze vyuˇz´ıt pro v´ıce r˚ uzn´ ych tˇr´ıd – otevˇren´ı okna i dveˇr´ı) • dˇediˇcnost (tˇr´ıda je potomkem, podmnoˇzinou jin´e: psi < ˇctyˇrnoh´a zv´ıˇrata < zv´ıˇrata) Tˇemito vlastnostmi disponuje i OO programov´an´ı v Matlabu. Dˇedit lze v´ıcen´asobnˇe, ˇcehoˇz s v´ yhodou vyuˇz´ıv´ ame. Lze dˇedit i od vnitˇrn´ıch tˇr´ıd Matlabu, napˇr. < handle, < double atd. Pro pˇr´ıstup k zapouzdˇren´ ym dat˚ um vytv´aˇr´ıme funkce get a set, ty nav´ıc mus´ı spolupracovat s callback funkcemi editace tabulek, myˇsi, kl´avesnice a menu. Tak lze omezit viditelnost citliv´ ych dat zvenˇc´ı. O zmˇen´ach dat mus´ı b´ yt informov´ ano j´ adro programu, kter´e udrˇzuje vˇsechna (navazuj´ıc´ı) data aktu´aln´ı. N´ avrh objektovˇe orientovan´ ych program˚ u je pro zaˇc´ateˇcn´ıka ze vˇsech uveden´ ych metod ten nejobt´ıˇznˇejˇs´ı a vyˇzaduje jist´ y cvik (zejm. spr´avnou metodiku uvaˇzov´an´ı) a zkuˇsenosti.
3.2
AntTool
Z´aklad programu je odvozen od pˇredchoz´ıho n´astroje, kter´ y byl pˇredloˇzen v BP. Snaˇz´ı se odstranit nedostatky pˇredchoz´ıho n´avrhu IFS, zejm. tˇeˇzkop´adnost a zdlouhavou generaci. Tak´e jiˇz nativnˇe pracuje s matic´ı transformac´ı ve tvaru [a b c d e f], lze tedy vzory volnˇe pˇrej´ımat z literatury. Rozˇs´ıˇreny byly moˇznosti exportu, ukl´ad´an´ı a naˇc´ıt´ an´ı kol´ aˇze. Novˇe program obsahuje konzoly, pomoc´ı n´ıˇz lze ˇr´ıdit generaci 8 pˇr´ıkazy . Jednotliv´e pˇr´ıkazy jsou uvedeny v Dodatku 12.4. Tak lze spustit d´avku, kter´a je provedena automaticky. Tento postup vyˇzadoval n´avrh vlastn´ıho tokenizeru a interpreteru, o kter´ ych se zde (jde sp´ıˇse o programov´an´ı) v´ıce nezmiˇ nujeme. Obˇe funkce byly vyuˇzity i pozdˇeji pˇri n´avrhu IFSMakeru.
Obr´ azek 3.5: AntTool, screenshot hlavn´ıho okna 8
Defaultn´ı verze AntToolu obsahuje jeden skriptovan´ y soubor jako vzor, nal´ezt lze ve sloˇzce B program source.
25
N´ astroj pro mod´ aln´ı anal´ yzu FPA
3.2.1
3.2. AntTool
Generace IFS
Zad´ av´ an´ı bod˚ u Zadan´ ymi body je definov´ an v´ ychoz´ı objekt, odpov´ıdaj´ıc´ı okna AntTool ukazuje obr. 3.6 nahoˇre a 3.7 vlevo. K definici ploˇsn´eho u ´tvaru jsou potˇreba nejm´enˇe tˇri body. Body lze v pˇr´ıpadˇe potˇreby uloˇzit i naˇc´ıst z pˇripraven´ ych soubor˚ u. Lze vytvoˇrit i vlastn´ı txt soubory, mus´ı vˇsak respektovat dan´ y form´at (viz vzory pˇriloˇzen´e v programu).
Obr´ azek 3.6: AntTool: Zad´an´ı bod˚ u a transformac´ı
Zad´ av´ an´ı transformac´ı Vkl´ad´ ame transformace, pro generaci IFS vˇsak nejm´enˇe jednu. Pro kontrolu lze vˇsechny transformace vykreslit (dl´aˇzdˇen vˇsak nen´ı zadan´ y objekt, ale obecn´ y ˇctverec). V´ıce na obr. 3.6 dole 3.7 vpravo. V´ ypoˇ cet a zobrazen´ı IFS Po zad´ an´ı bod˚ u a transformac´ı m˚ uˇzeme otevˇr´ıt vlastn´ı ˇreˇsiˇc, obr. 3.8 vlevo. Je potˇreba nastavit poˇcet iterac´ı, pot´e jiˇz lze spustit v´ ypoˇcet. Generace prob´ıh´a podle vztah˚ u odvozen´ ych v minul´e kapitole. Po jej´ım dokonˇcen´ı se m˚ uˇzeme na strukturu pod´ıvat (m˚ uˇzeme zadat meze iterac´ı, kter´e se maj´ı zobrazit), pˇr´ıpadnˇe ji exportovat jako souˇradnici bod˚ u (.txt), ve form´atu IE3D (.3dt) nebo jako objekt fem pro dalˇs´ı anal´ yzu v Comsol Multiphysics (viz dalˇs´ı kapitoly). Vzorov´a kol´aˇz je na obr. 3.8 vpravo.
26
N´ astroj pro mod´ aln´ı anal´ yzu FPA
3.2. AntTool
Obr´ azek 3.7: AntTool: Zobrazen´ı bod˚ u a transformac´ı Vlastn´ı vykreslen´ı frakt´ alu lze uloˇzit jako animaci, lze uloˇzit i vykreslenou kol´aˇz jako bitmapu (bmp). Aktu´ aln´ı promˇenn´e z v´ ypoˇct˚ u IFS (cell), geometrie (fem) a meshe jsou ukl´ ad´ any do z´ akladn´ıho pracovn´ıho prostoru Matlabu (pˇr´ıstupn´ y z promptu).
3.2.2
Export kol´ aˇ ze
Program nab´ız´ı dva moˇzn´e form´aty v´ ysledn´eho souboru. Prvn´ı m´a pˇr´ıponou txt (tabulka 3.1), druh´ y pˇr´ıponou 3dt (tabulka 3.2). Oba soubory lze nal´ezt v adres´aˇri program output IFS gener´ atoru. Za u ´pravu ukl´adan´ ych soubor˚ u je zodpovˇedn´a funkce registry.m resp. registry3dt.m. Export lze bez probl´em˚ u modifikovat dle potˇreby. V tab. 3.1 oznaˇcuje Σ poˇcet bod˚ u (v polygonu), α1,2 souˇradnice bodu x, POLY Σ α1 α2 0 β1 β2 0 γ1 γ2 0 POLY Σ .. . Tabulka 3.1: Struktura souboru data.3dt. β1,2 bodu y a γ1,2 bodu z v polygonu. Form´at je pouˇziteln´ y napˇr. pro export do Excelu. V tab. 3.2 X oznaˇcuje poˇradov´e ˇc´ıslo polygonu, α1,2 souˇradnice bodu x, β1,2 bodu y a γ1,2 souˇradnice z v polygonu X . Tento soubor lze naˇc´ıst do IE3D k n´asledn´e simulaci.
27
N´ astroj pro mod´ aln´ı anal´ yzu FPA
3.2. AntTool
ˇ siˇc a v´ Obr´ azek 3.8: AntTool: Reˇ ysledn´ y frakt´al PolyX : α1 α2 0 β1 β2 0 γ1 γ2 0 Poly(X + 1) : .. . Tabulka 3.2: Struktura souboru data.txt.
3.2.3
Pˇ ripojen´ı ke Comsolu
Pokud chceme navrˇzen´ y patch analyzovat pomoc´ı dutinov´eho modelu, je nutn´e propojen´ı s Comsolem. Toto propopojen´ı lze realizovat pˇr´ımo spuˇstˇen´ım pomoc´ı Comsol with Matlab, pˇr´ıpadnˇe lze vyuˇz´ıt opaˇcn´eho postupu, kter´ y byl vyvinut pr´avˇe pro AntTool. V pˇr´ıpadˇe prvn´ı moˇznosti je totiˇz nutno pr´avˇe otevˇren´ y Matlab uzavˇr´ıt a poˇckat na spuˇstˇen´ı nov´eho Matlabu. V nˇem znovu naj´ıt cestu k programu a ten spustit. Opaˇcn´ y pˇr´ıstup, tedy pˇripojen´ı Comsolu k Matlabu nen´ı na jeden klik moˇzn´ y, nebot’ je potˇreba incializovat Comsol server a pot´e spustit Matlab, do kter´eho jsou pˇrid´ any cesty (addpath) ke Comsolu. Pˇresto lze realizovat funkci, kter´a z Matlabovsk´eho GUIe pˇripoj´ı Comsol. Je potˇreba m´ıt spr´ avnˇe nastaven´e cesty k soubor˚ um comsol.exe a matlab.bat. Pro pˇripojen´ı Comsolu jsou vyuˇz´ıv´ any soubory matlabrc.m a startup.m. Matlabrc obsahuje kaˇzd´ a instalace Matlabu a je potˇreba pro lokalizaci akres´aˇre, kam se uloˇz´ı startup (vˇzdy se jedn´ a o stejn´ y adres´aˇr). Pokud uˇzivatel soubor startup aktivnˇe vyuˇz´ıv´ a pro start sv´e instalace Matlabu (umoˇzn ˇuje to modifikovat start Matlabu), bude tento soubor smaz´an. D´avkov´ y soubor, kter´ y se vytvoˇr´ı na disku
28
N´ astroj pro mod´ aln´ı anal´ yzu FPA
3.3. IFSMaker
(start fem.bat) bude po zd´ arn´em startu Matlabu s Comsolem smaz´an. Stejnˇe tak startup.m. Tento postup je funkˇcn´ı aˇz do verze Matlabu 7.5.0 (R2007a) a Comsolu 3.4. Pro vyˇsˇs´ı verze takto spojen´ı nav´azat nelze, nebo je nestabiln´ı a pˇreruˇsovan´e. Pˇripojen´ı pracuje d´ıky d´ avkov´emu souboru start fem.bat (vytv´aˇr´ıme ho z Matlabu automaticky AntToolem), kter´ y po samovoln´em ukonˇcen´ı Matlabu spust´ı s´am Comsolem nastaven´ y server, z´ aroveˇ n s t´ım byly uloˇzeny do souboru startup pˇr´ıkazy pro opˇetovn´e spuˇstˇen´ı programu AntTool (tj. nalezen´ı cesty a spuˇstˇen´ı). Dalˇs´ı ˇc´ast k´odu v startup ˇcist´ı vytvoˇren´e pomocn´e soubory. Cel´a problematika je pomˇernˇe komplikovan´ a a vyˇzaduje znalost syst´emov´ ych pˇr´ıkaz˚ u, funkci Comsol serveru a spouˇstˇen´ı Matlabu. Z´ısk´ ame vˇsak kontinuitu ve zpracov´an´ı pˇr´ıkaz˚ u i pˇres nutnost pˇripojit ruˇcnˇe Comsol.
3.2.4
N´ ahrada IFSMakerem
AntTool mˇel p˚ uvodnˇe obsahovat moduly pro IFS, CM, PSO i postprocessing. Postupn´e rozˇsiˇrov´ an´ı se vˇsak uk´ azalo b´ yt komplikovan´e. Pro nˇekter´e u ´kony je st´ale platn´ ym pomocn´ıkem (vzory k´ odu, rychl´a generace, schopnost pracovat automaticky a narozd´ıl od IFSMakeru bez omezen´ı iterace), v posledn´ı dobˇe vˇsak pˇrevaˇzuj´ı sp´ıˇse nev´ yhody (nen´ı tak komplexn´ı, st´ale jsou omezen´e moˇznosti exportu a importu, nepodporuje form´ at FRC, o nˇemˇz se d´ale zm´ın´ıme a kter´ y je nezbytn´ y v pˇr´ıpadˇe vyuˇzit´ı rojov´e optimalizace). Vˇetˇsina nedostatk˚ u vych´az´ı z jednoduˇs´ı metody programov´ an´ı a ˇspatn´e volby koncepce – integrace pˇr´ıliˇs mnoha modul˚ u nen´ı zat´ım v Matlabu lehce zvl´ adnuteln´ a (o ˇcemˇz vypov´ıdaj´ı i izolovanˇe ˇreˇsen´e toolboxy). AntTool byl nahrazen novˇejˇs´ım IFSMakerem (IFS) a EvalInFem (CM).
3.3
IFSMaker
Z d˚ uvod˚ u uveden´ ych v´ yˇse, byl po nastudov´an´ı OOP v Matlabu vytvoˇren IFSMaker. Souˇcasn´ y stav odpov´ıd´ a cca. 70% hotov´e pr´ace. Cel´ y k´od je naps´an v Matlabu, je otevˇren´ y a d´ ale rozˇsiˇriteln´ y.
Popis Program umoˇzn ˇuje interaktivnˇe pracovat s IFS, d´ale pak s polygony, kter´e lze odeˇc´ıtat i sjednocovat. Zat´ımco IFS jsou uloˇzeny ve form´atu FRC, polygony doposud pevn´ y form´ at nemaj´ı a ukl´ ad´ame je do promˇenn´e typu cell. Jednotliv´e u ´tvary m˚ uˇzeme naˇc´ıtat, pˇr´ıpadnˇe ukl´ adat a exportovat pˇr´ımo do Matlabu. IFSMaker podporuje typy txt, 3dt a FRC, v budoucnu pak i typy fem, geom a polygons. Uˇzivatelsk´ ym komfortem jsme se snaˇzili pˇribl´ıˇzit komerˇcn´ım program˚ um – grafick´e prvky lze vyb´ırat r´ ameˇckem myˇsi (windows), spoleˇcnˇe s kl´avesou SHIFT pˇrid´avat, s CTRL ub´ırat. Rozmˇery pl´atna i gridu lze pˇrednastavit do slot˚ u. Ty vyvol´ ame ikonou (viz video tutori´al na DVD odevzdan´em s touto prac´ı) pˇr´ıp. kl´avesami 1-4. K dispozici je grid podobn´ y jako v programu CorelDraw. Ten lze
29
N´ astroj pro mod´ aln´ı anal´ yzu FPA
3.3. IFSMaker
Obr´ azek 3.9: IFSMaker: cel´ y program vyuˇz´ıt na konstrukci bod˚ u, pomoc. ˇcar (nen´ı dokonˇceno), pro mˇeˇren´ı vzd´alenost´ı apod. Pˇribl´ıˇzen´ı lze realizovat koleˇckem myˇsi nebo kl´avesami +/- (lze nav´ıc nastavit velikost pˇr´ırustku; defaultnˇe nastavena o jedno pol´ıˇcko gridu). Posun po canvasu prov´ad´ıme ˇsipkami (krok nastaviteln´ y). Pozice kursoru se vypisuje v prav´em horn´ım rohu. Pod t´ım se zobrazuje aktivovan´ y snap reˇzim, vˇcetnˇe souvisej´ıc´ıch informac´ı (k ˇcemu je kursor pˇrichycen). V prav´em doln´ım rohu je drobn´a konzole, urˇcen´a pro komunikaci smˇerem k uˇzivateli (dokonˇcen´e u ´koly, chyby apod.). Snap reˇzimy, zn´ am´e napˇr. z AutoCadu, v´ yznamnˇe usnadˇ nuj´ı pr´aci s grafikou. Na v´ ybˇer je trojice reˇzim˚ u: Snap free, Snap to Grid a Snap to Points. Vzd´alenosti pˇrichycen´ı lze nastavit. Zobrazen´ı vˇsech tˇechto informac´ı na pl´atnˇe je voliteln´a. Pro dosaˇzen´ı vysok´e flexibility jsou funkce koncipov´any podle obr. 3.10. Objekty jsou zapouzdˇreny ve vlastn´ı tˇr´ıdˇe, pˇr´ıstup je omezen´ y a veˇsker´e operace mimo objekty prob´ıhaj´ı ve tˇr´ıdˇe superGUI.
FRC form´ at Pro potˇreby jednoznaˇcn´e definice a pˇrenositelnosti IFS kol´aˇz´ı napˇr´ıˇc vˇsemi aplikacemi byl navrhnut n´ asleduj´ıc´ı FRC form´at:
30
N´ astroj pro mod´ aln´ı anal´ yzu FPA
3.3. IFSMaker
Obr´ azek 3.10: IFSMaker: ˇc´ast UML schematu, MS Visio FRC.base = [ ] FRC.tran = [ ] FRC.iter = [ ] FRC.type = ’pntstrns’ V promˇenn´e typu FRC jsou jednoznaˇcnˇe uloˇzeny body z´akladn´ıho u ´tvaru FRC.base, transformace ve tvaru [a b c d e f] a iterace v poli FRC.iter. Na u ´rovni IFS n´ avrhu bychom se bez takov´eho form´atu jeˇstˇe obeˇsli, potˇrebujeme ho vˇsak v pˇr´ıpadˇe anal´ yzy pomoc´ı CM a PSO optimalizace. Koneˇcn´ a podoba vˇsech IFS frakt´al˚ u, kter´e jsou v tomto projektu vyuˇzity je zobrazana v Dodatku 12.1, a to vˇc. n´avrhov´ ych hodnot (FRC pol´ı). Souˇcasnˇe lze vˇsechny kol´ aˇze ve tvaru FRC nal´ezt na pr˚ uvodn´ım DVD nosiˇci.
Utility IFSMaker obsahuje celou ˇradu utilit, kter´e usnadˇ nuj´ı pr´aci s frakt´aly. S vybran´ ymi body lze pracovat v Selection Listu (obr. 3.11). Body m˚ uˇzeme pˇrid´avat, ub´ırat (vyhled´ av´ an´ı pomoc´ı tagu / oznaˇcen´ı myˇs´ı / v´ ybˇer v´ıce bod˚ u podle ID), mazat, zneviditelnit a zpˇet zviditelnit. Tyto body slouˇz´ı jako v´ ychoz´ı mnoˇzina pro u ´pravy 31
N´ astroj pro mod´ aln´ı anal´ yzu FPA
3.3. IFSMaker
nastaven´e v Modification (obr. 3.12).
Obr´ azek 3.11: IFSMaker: Selection List
Obr´ azek 3.12: IFSMaker: Uk´azka modifikace Okno modifikac´ı se inspiruje programem CST-MWS, nav´ıc je pˇr´ıtomna moˇznost hromadnˇe mˇenit vlastnosti bod˚ u (grafika, tag). V pˇr´ıpadˇe u ´prav vyˇzaduj´ıc´ıch zad´an´ı stˇredu lze vybrat glob´ aln´ı stˇred [0, 0], zvolit urˇcit´ y bod, nebo zadat stˇred manu´alnˇe. U vˇsech u ´prav lze nastavit poˇcet krok˚ u, do kter´ ych je v´ ysledn´a modifikace rozdˇelena. Pro vytvoˇren´ı z´ akladn´ıho objektu IFS, ale i pro vytvoˇren´ı polygonu mus´ıme zadat vrcholov´e body. Z nich vytvoˇr´ıme nov´ y polygon, do kter´eho vybran´e body pˇrid´ame. Tyto polygony slouˇz´ı jako zdrojov´e objekty IFS (vˇzdy jen jeden polygon), lze pomoc´ı nich tvoˇrit i sloˇzitˇejˇs´ı u ´tvary (obr. 3.17). V tom pˇr´ıpadˇe mus´ıme nastavit typ polygonu r˚ uzn´ y od ’0’ (’+’ pro pˇrid´an´ı nebo ’-’ pro jeho odeˇcten´ı od ostatn´ıch). Pro pˇripojen´ı uzl˚ u (nod˚ u) do oznaˇcen´eho polygonu lze vyuˇz´ıt tabulky na obr. 3.13. Jako nody lze rovnou vybrat vˇsechny body (Select all ), m˚ uˇzeme mˇenit jejich poˇrad´ı 32
N´ astroj pro mod´ aln´ı anal´ yzu FPA
3.3. IFSMaker
Obr´ azek 3.13: IFSMaker: Pˇripojen´ı nod˚ u do polygonu v polygonu (prav´ y sloupec), toto poˇrad´ı lze cel´e vynulovat (Order zeroing) pro pˇrehlednˇejˇs´ı zad´ av´ an´ı9 .
Obr´ azek 3.14: IFSMaker: Uk´azka lazen´ı transformac´ı Protoˇze u ´prava transformac´ı patˇr´ı mezi ˇcast´e operace nad jiˇz hotov´ ym IFS, zaˇradili jsme do IFSMakeru n´astroj Tune (ˇcasto vyuˇz´ıv´an napˇr. v MWOffice). Poˇzadovan´e transformace a lazen´ y koeficient lze vybrat ruˇcnˇe, event. s pomoc´ı zjednoduˇsuj´ıc´ı funkce dostupn´e z horn´ı liˇsty. Krok lazen´ı je nastaviteln´ y, lze dokonce 9
Zpravidla vˇsak nody pˇrid´ av´ ame v poˇrad´ı jak byly tvoˇreny body, v tomto poˇrad´ı jsou tedy body defaultnˇe oznaˇceny jako budouc´ı nody.
33
N´ astroj pro mod´ aln´ı anal´ yzu FPA
3.3. IFSMaker
otevˇr´ıt v´ıce Tune oken najednou a pohybovat s v´ıce parametry nar´az. Takov´a pr´ace s transformacemi je velice n´ azorn´a a ˇsetˇr´ı mnoho ˇcasu. Vˇsechny tyto operace jsou demonstrov´any ve videu IFSMaker tutorialAvi.avi na DVD.
Kresl´ıc´ı pl´ atno Jako v kaˇzd´em grafick´em editoru, i zde je velice d˚ uleˇzit´e chov´an´ı a moˇznosti kresl´ıc´ıho pl´ atna (canvas). Cel´e pl´atno zobrazuje obr. 3.15. Jednotliv´e operace jako posun, zoom, oznaˇcov´ an´ı apod. byly pops´any v´ yˇse. Zde se zm´ın´ıme pouze o zjednoduˇsen´ı z obr. 3.16.
Obr´ azek 3.15: IFSMaker: Pracovn´ı plocha, detail Protoˇze ˇcasto pracujeme s frakt´aly rozd´ıln´ ych velikost´ı, je nutn´e efektivnˇe mˇenit velikost pracovn´ı plochy, vˇcetnˇe hustoty pomocn´e mˇr´ıˇzky (gridu). Opˇetovn´e zad´avan´ı jednotliv´ ych u ´daj˚ u je zdlouhav´e a zoom myˇs´ı nepˇresn´ y. Vytvoˇreno bylo proto okno 3.16, obsahuj´ıc´ı 3 sloty s pˇrednastaven´ ymi rozmˇery pl´atna. Ty lze mˇenit, mezi sebou kop´ırovat, uloˇzit a v pˇr´ıpadˇe potˇreby vyvolat.
Obvod, obsah, frakt´ aln´ı (mˇ r´ıˇ zkov´ a) dimenze Spr´avn´e urˇcen´ı obvodu a obsahu je z´akladn´ım pˇredpokladem k hlubˇs´ımu studiu frakt´ aln´ı geometrie. Vyuˇz´ıv´ ame zde Mapping Toolbox, zejm. funkce poly2cw, poly-
34
N´ astroj pro mod´ aln´ı anal´ yzu FPA
3.3. IFSMaker
Obr´ azek 3.16: IFSMaker: Canvas options bool, poly2fv a polyarea. Pokud je funkce aktivov´ana, vypisuje se aktu´aln´ı obsah a obvod pˇri jak´ekoliv zmˇenˇe10 . Tato problematika nen´ı doposud zcela zvl´adnuta – pˇri postupn´em zjednocov´an´ı ˇclenit´ ych kol´ aˇz´ı obsahuj´ıc´ıch v´ıce dˇer (nebo dokonce menˇs´ı otvory ve vˇetˇs´ıch) program ztrat´ı pˇrehled o tom, co jsou d´ıry a co patch. Potom vych´az´ı obsah z´aporn´ y. K v´ yrazn´emu zlepˇsen´ı doˇslo po zaˇrazen´ı bloku, kter´ y testuje, zda je v´ ysledek sjednocen´ı d´ıra, a pokud ano, zaˇrad´ı ho nakonec tabulky souˇradnic (polygony jsou oddˇeleny hodnotami N aN ). Vˇse od prvn´ıho v´ yskytu N aN n´ıˇze je po u ´pln´em sjednocen´ı odˇr´ıznuto. Probl´em vˇsak z˚ ust´ av´a s komplikovanˇejˇs´ımi (z topologick´eho hlediska) u ´tvary. K dispozici je i moˇznost vykreslit v´ ysledn´ y tvar patche (at’ uˇz sloˇzen´eho z polygon˚ u nebo IFS) zahrnuj´ıc´ı vˇsechny logick´e operace, tedy tak, jak bude exportov´an (viz obr. 3.17 nalevo). Podstatnou souˇc´ ast´ı koneˇcn´e podoby IFSMakeru bude v´ ypoˇcet frakt´aln´ı dimenze metodou box-counting. Pokud nerealizujeme jednu z vlastn´ıch metod, bude upraven skript boxcount. Jako argument naˇc´ıt´a jpg nebo gif soubor IFS kol´aˇze, v´ ypoˇcet bude zahrnovat i potˇrebn´ y pˇrevod z FRC na obr´azek.
Spojen´ı s Comsolem D´ıky propojen´ı s Comsolem m˚ uˇzeme zjistit rezonanˇcn´ı frekvenci pˇr´ımo v n´avrhov´em editoru11 . K dispozici je parametrick´a anal´ yza podobnˇe jako v IFSLimiteru (9. kapitola, obr. 9.9). Z n´ı m˚ uˇzeme vyˇc´ıst trend rezonanˇcn´ı frekvence se zmˇenou vybran´eho parametru. V pˇr´ıpadˇe potˇreby lze Comsol vyuˇz´ıt k testov´an´ı jednolitosti navrˇzen´eho patche. Spojen´ı mus´ıme nav´ azat standartn´ı cestou (tj. spustit Comsol s Matlabem). Operace s Comsolem zat´ım nemaj´ı v IFSMakeru grafick´e rozhran´ı a nelze je tedy vyuˇz´ıvat. Vˇse bude dokonˇceno v nejbliˇzˇs´ı dobˇe. 10
To pˇri vyˇsˇs´ıch iterac´ıch nebo v pˇr´ıpadˇe sloˇzitˇejˇs´ı struktury zatˇeˇzuje PC, pak je vhodn´e dynamick´e vyhodnocen´ı vypnout. 11 Ve skuteˇcnosti frekvenci zjiˇst’uje EvalInFem, ke kter´emu se dostaneme v 5. kapitole.
35
N´ astroj pro mod´ aln´ı anal´ yzu FPA
3.4. Nedostatky a moˇ zn´ a vylepˇ sen´ı
Pr´ ace s polygony IFSMaker nen´ı omezen pouze na tvorbu IFS kol´aˇz´ı, lze pracovat i s polygony. Jednotliv´e polygony nakreslen´e na z´akladˇe zadan´ ych bod˚ u m˚ uˇzeme sjednocovat i odeˇc´ıtat, viz obr. 3.17. Tak lze navrhnout desky obsahuj´ıc´ı ˇstˇerbiny a jin´e sloˇzit´e nefrakt´ aln´ı obrazce. V´ ysledn´ y obrazec lze zkontrolovat pomoc´ı utility na v´ ypoˇcet obsahu a obvodu.
Obr´ azek 3.17: IFSMaker: Pr´ace s polygony V budoucnu bude moˇzn´e pˇr´ımo z IFSMakeru ihned zjistit rezonanˇcn´ı frekvenci dominantn´ıho m´ odu takov´e struktury, a to vˇc. rozloˇzen´ı elektrick´eho pole a proud˚ u.
3.4
Nedostatky a moˇ zn´ a vylepˇ sen´ı
Prostor pro dalˇs´ı zdokonalov´ an´ı je znaˇcn´ y. Mnohdy programy tˇeˇzko zvl´adaj´ı komplexn´ı operace, pˇr´ıpadnˇe jsou tyto pomal´e a neefektivn´ı (pr´ace s obsahem, hranicemi, eliminace nepotˇrebn´ ych bod˚ u, sjednocov´an´ı). V pˇr´ıpadˇe programu AntTool byl v´ yvoj zcela zastaven, nyn´ı se soustˇred´ıme pouze na IFSMaker a jeho dalˇs´ı vylepˇsov´ an´ı. Jmenujme nedokonˇcen´e oblasti, v kter´ ych je nutno zjednat n´apravu: • Zrychlit s pomoc´ı Matlab Profileru operace nad objekty pro vˇetˇs´ı kol´aˇze • Dokonˇcit sekci s Lines, kter´a bude zajiˇst’ovat pomocn´e a vod´ıc´ı ˇc´ary (jako v AutoCadu) • Test poˇctu objekt˚ u upravit tak, aby vˇzdy pod´avat stejn´ y v´ ysledek, implementovat i moˇznost volat Comsol (´ uprava na geom) • Dokonˇcit utility Measuring a Simplify (umoˇzn´ı rozliˇcn´e mˇeˇren´ı nakreslen´e geometrie a jej´ı zjednoduˇsen´ı) 36
N´ astroj pro mod´ aln´ı anal´ yzu FPA
3.4. Nedostatky a moˇ zn´ a vylepˇ sen´ı
• Integrovat n´ astroj na v´ ypoˇcet frakt´aln´ı / mˇr´ıˇzkov´e dimenze, lze vyuˇz´ıt modifikovanou funkci boxcount, pˇr´ıp. vlastn´ı postupy • Pr´ ace s grafikou – oddˇelit prav´ y a lev´ y klik (jak?), spr´ava objekt˚ u a jejich pˇrekreslov´ an´ı (moˇznost volit, co vpˇredu a co vzadu, vrstvy) • V oknˇe Modification opravit volbu
Apply to copy
• Vyuˇz´ıt Parameter Sweep z IFSLimiteru a napojit optimaliz´ator pro hled´an´ı kol´ aˇze dle Db , obsahu a obvodu • Upravit operace nad polygony, umoˇznit v´ ypis vhodn´ y pro ˇreˇsiˇc dutinov´eho modelu a rojovou optimalizaci
37
Kapitola 4
Numerick´ e metody ”
All models are wrong. Some models are useful.“ — William Edwards Deming
Simulace a v´ yvoj ant´en je v souˇcastnosti bez numerick´ ych metod prakticky nemysliteln´ y. S prudk´ ym n´ ar˚ ustem v´ ykonu poˇc´ıtaˇc˚ u v 80. a 90. letech se rozv´ıj´ı i jednotliv´e metody a hlavnˇe software, kter´ y jich vyuˇz´ıv´a. Tak dost´av´ame efektivn´ı n´astroje, umoˇzn ˇuj´ıc´ı n´ azornˇe nahl´ednout fyzik´aln´ı principy jednotliv´ ych struktur. Tato kapitola odkazuje na teorii povˇetˇsinou ukrytou v j´adrech simul´ator˚ u pole a jako takovou bychom ji snad mohli i vynechat. Protoˇze jsou ovˇsem naˇse poˇzadavky dosti specifick´e, je vhodn´e zn´ at moˇznosti i omezen´ı metod, kter´e se nab´ızej´ı. Pro potˇreby anal´ yzy mikrop´askov´ ych ant´en existuje mnoho r˚ uzn´ ych pˇr´ıstup˚ u vyuˇziteln´ ych k simulaci elektromagnetick´eho pole. Obecnˇe plat´ı, ˇze sloˇzitˇejˇs´ı metoda d´av´a pˇresnˇejˇs´ı v´ ysledky, ovˇsem za cenu delˇs´ıho ˇcasu v´ ypoˇctu a vˇetˇs´ıch n´arok˚ u na operaˇcn´ı pamˇet’. Proto je tˇreba nal´ezt optim´aln´ı pomˇer mezi navz´ajem ambivalentn´ımi poˇzadavky pˇresnosti a rychlosti. Metody lze v prvn´ım pˇribl´ıˇzen´ı rozdˇelit na tzv. analytick´e a numerick´e. D´ıky ˇcetn´ ym zjednoduˇsen´ım jsou analytick´e metody rychl´e a jednoduch´e na implementaci. Prakticky nejsou vyuˇz´ıv´any pro komerˇcn´ı software. Analytick´ y pˇr´ıstup vyuˇz´ıv´a dutinov´ y model (d´ale napˇr. model veden´ı, [11]). Oproti tomu numerick´e metody pracuj´ı bez poˇc´ateˇcn´ıch zjednoduˇsen´ı a ˇcasto nejsou omezeny tvarem ani sloˇzen´ım struktury ant´eny. Poskytuj´ı pˇresnˇejˇs´ı v´ ysledky. Pro jejich efektivn´ı vyuˇz´ıv´ an´ı je nutn´ y kvalitn´ı software i hardware. Mezi nejzn´amˇejˇs´ı patˇr´ı metoda koneˇcn´ ych prvk˚ u (FEM), momentov´a metoda (MoM) a metoda koneˇcn´ ych diferenc´ı (FDTD). Tyto metody lze d´ale dˇelit podle dom´eny, ve kter´e se hled´ a ˇreˇsen´ı na ˇcasov´e a frekvenˇcn´ı. Prvnˇe jmenovan´e umoˇzn ˇuj´ı nal´ezt ˇreˇsen´ı pro libovoln´ y ˇcasov´ y pr˚ ubˇeh. Druh´ y typ strukturu analyzuje pro soubor diskr´etn´ıch frekvenc´ı. Nutn´ ym pr˚ ubˇehem je tedy harmonick´ y ust´alen´ y stav. Mezi obˇema dom´enami lze pˇrech´ azet pomoc´ı (diskr´etn´ı) Fourierovy transformace.
38
N´ astroj pro mod´ aln´ı anal´ yzu FPA
4.1
4.1. Mikrop´ askov´ e patch ant´ eny
Mikrop´ askov´ e patch ant´ eny
Tato tematika je velice ˇsirok´ a a skvˇele ji pokr´ yv´a dostupn´a literatura, uveden bude jen zkr´ acen´ y extrakt. Pˇr´ıpadn´e podrobnosti lze nal´ezt v [11], [27], [28], [30], [31], [32].
Obr´ azek 4.1: Mikrop´askov´a patch ant´ena Z´ aˇriˇc m˚ uˇze zastoupit v principu jak´ ykoliv celistv´ y plan´arn´ı (2D) u ´tvar. Ten je um´ıstˇen z jedn´e strany dielektrick´eho substr´atu. Z druh´e strany je um´ıstˇena zemn´ı rovina a to po cel´em povrchu substr´atu, viz obr. 4.1. Poznamenejme, ˇze funkci substr´ atu ˇcasto pln´ı vzduch (r = 1.00059). Um´ıst´ıme-li vhodnˇe nap´ajen´ı, vybud´ı se bud’to (a) stojat´ a proudov´ a vlna, nebo (b) postupn´ a proudov´ a vlna. Zde se vˇenujeme pouze moˇznosti (a), o postupn´e proudov´e vlnˇe v´ıce napˇr. v [27]. Rovnˇeˇz metody nap´ ajen´ı odbudeme pouze v´ yˇctem, nebot’ patche ˇreˇs´ıme mod´alnˇe, tedy bez pˇripojen´eho buzen´ı. Znalost vˇsech moˇznost´ı je vˇsak zejm. ve spojitosti s n´avrhem v CST vhodn´ a. Vyuˇz´ıvan´e techniky jsou: • mikrop´ askov´e veden´ı • koaxi´ aln´ı • vazebn´ı ˇstˇerbina • otevˇren´ y konec veden´ı • L-probe (pouˇziteln´e i pro vyˇsˇs´ı substr´aty). 39
N´ astroj pro mod´ aln´ı anal´ yzu FPA
4.1. Mikrop´ askov´ e patch ant´ eny
Podrobnˇeji o nap´ ajen´ı v [30]. Samotn´ y mechanismus vyzaˇrov´an´ı je zpracov´an v odd´ılech 4.3 a 6.1-6.4.
Parametry IFS patch˚ u N´asleduje kr´ atk´ y pˇrehled parametr˚ u typick´ ych pro patchov´e ant´eny uv´adˇen´e v literatuˇre. N´ıˇze uveden´e hodnoty jsou sjednoceny podle [11]. Rozsah pracovn´ı frekvence se pohybuje od stovek MHz do stovek GHz, pˇriˇcemˇz ˇs´ıˇrka p´ asma je velice u ´zk´ a, typicky 2-6% v oblasti GHz. D˚ uvodem mal´e ˇs´ıˇrky p´asma je vysok´ y ˇcinitel jakosti bˇeˇzn´ ych z´aˇriˇc˚ u pohybuj´ıc´ı se v ˇr´adu nˇekolika des´ıtek. Pouˇzit´ım vhodn´eho tvaru patche, tvaru a druhu substr´atu a nap´ajen´ı je moˇzn´e dos´ahnout aˇz 30 i v´ıce procent pro stˇrednˇe vysok´e kmitoˇcty (patch v´ yˇse nad zemn´ı rovinnou, L-probe nap´ ajen´ı). Smˇerovost m˚ uˇzeme oˇcek´avat v rozmez´ı 5 aˇz 10 dBi, pro vyˇsˇs´ı substr´ aty s niˇzˇs´ı relativn´ı permitivitou i v´ıce. Vyˇsˇs´ı smˇerovosti dos´ahneme i provozem ant´eny na modech s vysoce lokalizovan´ ymi proudy. Vyzaˇrovac´ı u ´ˇcinnost ant´eny se pohybuje kolem 80 procent i v´ıce (´ udaj v pˇr´ıpadˇe zcela pˇrizp˚ usoben´eho nap´ajen´ı), celkov´ au ´ˇcinnost je potom od 40-50 do maxim´alnˇe 90 procent. Pokud je relativn´ı permitivita substr´atu vˇetˇs´ı neˇz jedna (vzduchov´a a pˇenov´a dielektrika), m˚ uˇze na rozhran´ı substr´at–vzduch doch´azet ke vzniku povrchov´ ych vln. Ty zhorˇsuj´ı impendanˇcn´ı i vyzaˇrovac´ı vlastnosti a sniˇzuj´ı u ´ˇcinnost ant´eny, coˇz je neˇz´ adouc´ı. V t´eto pr´ aci analyzujeme pouze tvar patche, nikoliv dielektrikum, kter´e pˇredpokl´ ad´ ame vzduchov´e. Problematick´a je t´eˇz v´ ykonov´a zat´ıˇzitelnost, pohybuje se kolem max. 100W. Impendance z´aˇriˇce kles´a od hodnot 100 - 250Ω aˇz po teoretickou hodnotu 0Ω.
Vlastnosti patch ant´ en Na z´ avˇer jsou shrnuty vlastnosti ovlivˇ nuj´ıc´ı z´asadn´ım zp˚ usobem nasazen´ı mikrop´ askov´ ych patch ant´en v konkr´etn´ı aplikaci. Obs´ahleji se nˇekter´ ym z v´ yhod vˇenuje publikace [27]. 1. V´ yhody • n´ızk´ y profil (zemn´ı rovina, substr´at, motiv) • n´ızk´ a hmotnost • jednoduch´ a a levn´ a v´ yroba (tiˇstˇen´e obvody) • mechanick´ a robustnost • snadn´ a integrace do ant´enn´ıch ˇrad • rychl´ y n´ avrh podle poˇzadavk˚ u • mohou b´ yt vz´ ajemnˇe integrov´any do obvod˚ u • moˇznost pˇrizp˚ usobit ant´enu samotn´ ym nap´ajen´ım • plochou se m˚ uˇze pˇrizp˚ usobit okol´ı
40
N´ astroj pro mod´ aln´ı anal´ yzu FPA
4.2. Metoda moment˚ u
Frakt´ aln´ı patch ant´eny maj´ı nav´ıc n´asleduj´ıc´ı v´ yhody: • uzp˚ usoben´ı pro v´ıcep´asmovou ˇcinnost • niˇzˇs´ı rezonanˇcn´ı frekvence • moˇznost simulace ant´enn´ı ˇrady (lokalizace proud˚ u) • m´ırn´e sn´ıˇzen´ı rozmˇer˚ u 2. Nev´ yhody • relativnˇe mal´ a ˇs´ıˇrka p´asma (velk´ y ˇcinitel jakosti Q) • omezen´ y v´ ykon • v´ ykonˇejˇs´ı ant´enn´ı pole vyˇzaduj´ı sloˇzit´ y syst´em nap´ajen´ı • na vyˇsˇs´ıch frekvenc´ıch je potˇreba velmi kvalitn´ı (drah´ y) substr´at • nelze pouˇz´ıt unifikovan´e nap´ajen´ı pro vˇsechny typy ant´en 3. Podle pouˇzit´ı • vyzaˇrov´ an´ı pouze do jedn´e poloroviny (pˇr´ıtomnost zemn´ı roviny)
4.2
Metoda moment˚ u
Jedn´ a se o ˇsiroce rozˇs´ıˇrenou techniku, umoˇzn ˇuj´ıc´ı ˇreˇsit diferenci´aln´ı, integr´aln´ı, pˇr´ıpadnˇe integro-diferenci´ aln´ı rovnice. Do t´eto oblasti, pˇrirozenˇe, spadaj´ı i probl´emy spojen´e s elektromagnetick´ ym polem. Z´akladn´ı myˇslenka metody MoM je velice jednoduch´ a a spoˇc´ıv´ a v linearizaci (pˇrevodu na line´arn´ı algebraick´e rovnice) dan´eho probl´emu. Mˇejme obecnˇe rovnici1 : L(f ) = g, (4.1) ´ kde L je libovoln´ y line´ arn´ı oper´ ator a g je zdrojov´a funkce (buzen´ı syst´emu). Ukolem je nal´ezt funkci f splˇ nuj´ıc´ı zadan´e okrajov´e podm´ınky, a to inverz´ı oper´atoru L: f = L−1 g.
(4.2)
Hledanou funkci nyn´ı rozloˇzme do ˇrady tzv. b´azov´ ych funkc´ı fn a k nim definujme v´ahovac´ı (testovac´ı) funkce wm : f=
∞ X
αn fn ,
(4.3)
n=1 1
Postupujeme zde podle [12], nicm´enˇe notaci vol´ıme (s ohledem na n´ avaznost dalˇs´ıch kapitol) vlastn´ı.
41
N´ astroj pro mod´ aln´ı anal´ yzu FPA
4.2. Metoda moment˚ u
koeficienty αn nezn´ ame. Poˇcet ˇclen˚ u ˇrady je tˇreba omezit na koneˇcn´e ˇc´ıslo N , d´ale m˚ uˇzeme pˇred f z (4.3) dosadit oper´ator L jako v (4.1). Po uv´aˇzen´ı linearity sumy v˚ uˇci oper´ atoru L p´ıˇseme: N X αn L(fn ) + = g, (4.4) n=1
odpov´ıd´ a chybˇe zp˚ usoben´e koneˇcn´ ym poˇctem ˇclen˚ u ˇrady. Chybu d´ale neuv´ad´ıme, nebot’ poˇcet ˇclen˚ u N b´ yv´ a zpravidla dostateˇcn´ y. Nyn´ı definujme skal´arn´ı souˇcin dvou funkc´ı na oblasti Ω (objem, plocha, kˇrivka): Z hf, gi = f · g dΩ. (4.5) Ω
Tento souˇcin je line´ arn´ı, komutativn´ı a definuje m´ıru a metriku (tyto vlastnosti jsou nezbytn´e pro z´ avˇereˇcnou u ´pravu v´ yrazu). Vyn´asob´ıme-li nyn´ı obˇe strany rovnice (4.4) N testovac´ımi funkcemi wm , dostaneme: N X
αn wm , L(fn ) = hwm , gi,
m = 1, 2, 3, . . . , N.
(4.6)
n=1
B´azov´e funkce jsou de-facto vzory2 , kter´ ymi jsou vyplˇ nov´any nezn´am´e funkce; m´ıra
Obr´ azek 4.2: Jednorozmˇern´e b´azov´e funkce (a-c) a jejich uplatnˇen´ı (d) vyplnˇen´ı odpov´ıd´ a velikosti v´ ahovac´ı funkce. Na probl´em lze nahl´ıˇzet jako na analogii k Fourierov´ ym ˇrad´ am, coˇz umocˇ nuje i obr. 4.2. Doplˇ nme, ˇze jako b´azov´e funkce se pouˇz´ıvaj´ı i sofistikovanˇejˇs´ı funkce jako jsou ˇcebyˇsevovsk´e polynomy apod. Dˇel´ıme je na dvˇe skupiny: • Definovan´e na subintervalech definiˇcn´ıho oboru funkce f • Definovan´e na cel´e oblasti Ω Na z´ akladˇe vztahu (4.6) dost´av´ame ze spojit´eho integro-diferenci´aln´ıho probl´emu soustavu N algebraick´ ych line´ arn´ıch rovnic pro koeficienty αn . Vyuˇzijme moˇznosti 2
Splˇ nuj´ıc´ı celou ˇradu krit´eri´ı: jsou po ˇca ´stech spojit´e (obd´eln´ık, sinus) / jsou vˇsude spojit´e (F. ˇrada), jsou line´ arnˇe nez´ avisl´e, navz´ ajem ortogon´ aln´ı, normovan´e . . . Protoˇze tento text nen´ı zamˇeˇren na v´ ybˇer b´ azov´ ych funkc´ı, specifiˇctˇejˇs´ı vlastnosti tˇechto funkc´ı vynech´ ame.
42
N´ astroj pro mod´ aln´ı anal´ yzu FPA
4.2. Metoda moment˚ u
kompaktn´ıho maticov´eho z´ apisu: A |{z} α = g , |{z} |{z}
(4.7)
Amn = hwm , L(fn )i.
(4.8)
[Amn ] [αn ]
[gm ]
kde Pokud je matice regul´ arn´ı3 , lze α nal´ezt inverz´ı: α = L−1 g,
(4.9)
f = [fn ][Lmn ]−1 [gm ].
(4.10)
tedy ˇ sen´ı u Reˇ ´lohy z´ avis´ı pouze na parametrech N , fn a wm . Zvol´ıme-li wm = fn , dost´ av´ ame tzv. Galerkinovu metodu. Ta je v podstatˇe analogi´ı ˇreˇsen´ı FEM, kter´e bude pˇredstaveno d´ ale. Pˇri volbˇe N = ∞ nez´avis´ı na v´ ybˇeru fn a wm , viz [12]. Pro vyuˇzit´ı MoM v elektromagnetick´em poli je vhodn´e se sezn´amit s Greenov´ ymi funkcemi, tvoˇr´ı totiˇz pomyslnou styˇcnou plochu mezi elektromagnetismem a metodou moment˚ u4 .
Greenovy funkce Greenova funkce je odezvou syst´emu na zdroj jednotkov´e amplitudy. Toho m˚ uˇzeme vyuˇz´ıt pˇri ˇreˇsen´ı rovnice (4.22), kter´a jinak neobsahuje buzen´ı. Z rovnice (4.1) tedy p´ıˇseme: L G(r, r0 ) = δ(r − r0 ), (4.11) r ∼ (x, y) je m´ısto pozorov´ an´ı, r0 ∼ (x0 , y0 ) je zdroj Diracova impulsu a L vyhovuje rovnici (4.24). Hledan´ a odezva syst´emu je potom5 : Z f (r) = G(r, r0 )g(r0 ) dΩ. (4.12) Ω
Pokud hled´ ame Greenovu funkci, lze vyuˇz´ıt rozkladu v ˇradu vlastn´ıch funkc´ı ψn : G(r, r0 ) =
∞ X
An (r0 )ψn (r),
(4.13)
n=1
kde An (r0 ) = 3
ψn (r0 ) λn
(4.14)
Tj. det(A) 6= 0, matice nen´ı singul´ arn´ı. A nejenom j´ı. R R 5 asleduj´ıc´ı: LG(r, r0 )g(r0 ) dr0 = δ(r − r0 )g(r0 ) dr0 = g(r), potom: Lf (r) = R Plat´ı 0 totiˇz0 n´ LG(r, r )g(r ) dr0 a z pˇredpokladu linearity oper´ atoru L a jeho nez´ avislosti na integraˇcn´ı promˇenn´e ho m˚ uˇzeme vytknout a zkr´ atit. 4
43
N´ astroj pro mod´ aln´ı anal´ yzu FPA
4.3. Dutinov´ y model
pro vlastn´ı ˇc´ısla λn . Pak plat´ı: G(r, r0 ) =
∞ X ψn (r0 )ψn (r) n=1
λn
.
(4.15)
Zobecnˇen´ı tohoto probl´emu se naz´ yv´a Fredholmova teorie.
4.3
Dutinov´ y model
Dutinov´ y model (Cavity Model, CM) pˇredstavuje jeden z moˇzn´ ych aproximativn´ıch pˇr´ıstup˚ u k patchov´ ym anten´ am. Jedn´a se o mod´aln´ı metodu, kter´a popisuje ant´enu jako dutinu obklopenou na okraji dokonalou magnetickou (PMC) a ze spodu a ze zhora dokonalou elektrickou (PEC) okrajovou podm´ınkou, viz obr. 4.3. Matematicky lze tyto podm´ınky vyj´ adˇrit n´ asledovnˇe: E × z = 0, H.z = 0; pro z = 0, z = h
(4.16)
H × n = 0, E.n = 0; na hranici ant´eny.
(4.17)
Obr´ azek 4.3: Hraniˇcn´ı podm´ınky pro ˇreˇsen´ı patche ∂E
Vztah pro dokonalou magnetickou stˇenu ∂nz,n = 0 je zn´am jako Neumannova okrajov´ a podm´ınka. Mal´a v´ yˇska ant´eny (h λ) umoˇzn ˇuje uvnitˇr dutiny zanedbat rozmˇer z (∂/∂ z = 0), tedy: Ex = 0, Ey = 0, Hz = 0 . (4.18) Tak jsou eliminov´ any vˇsechny sloˇzky kromˇe sloˇzek Ez , Hx a Hy . Patch jsme redukovali na dvourozmˇernou dutinu ohraniˇcenou PMC. D´ıky tomu m˚ uˇzeme oˇcek´avat ploˇsn´e proudov´e rozloˇzen´ı, ˇcili TM m´ody a tak´e vertik´aln´ı elektrick´e pole6 . Pro zb´ yvaj´ıc´ı sloˇzky plat´ı7 : ∂Hy ∂Hx jωEz = − , (4.19) ∂x ∂y 6
Jak bude uk´ az´ ano d´ ale, pr´ avˇe toto pole vypoˇc´ıt´ ame pomoc´ı FEM. Proudov´e rozloˇzen´ı z´ısk´ ame na z´ akladˇe Maxwellov´ ych rovnic, konkr´etnˇe dalˇs´ı u ´pravou rovnic (4.20) a (4.21). 7 Uvaˇzujeme harmonicky ust´ alen´ y stav (HUS) nahrazuj´ıc´ı ˇcasov´e derivace.
44
N´ astroj pro mod´ aln´ı anal´ yzu FPA
4.3. Dutinov´ y model
∂Ez ∂y
(4.20)
∂Ez . ∂x
(4.21)
−jωµHx = a jωµHy =
Z tˇechto tˇr´ı rovnic lze odvodit Helmholtzovu vlnovou rovnici pro sloˇzku Ez : ∇t + kn2 Ez,n = 0, (4.22) kde kn2 jsou vlastn´ı ˇc´ısla jednoznaˇcnˇe odpov´ıdaj´ıc´ı rezonanˇcn´ım frekvenc´ım frn , (n ∈ {1, 2, 3 . . . ∞}) a Ez,n jsou vlastn´ı funkce mapuj´ıc´ı rozloˇzen´ı Ez v dutinˇe Ω. Nula na prav´e stranˇe rovnice indikuje stav bez buzen´ı, tedy mod´aln´ı ˇreˇsen´ı. Ve shodˇe s pˇredchoz´ı ˇc´ ast´ı m˚ uˇzeme pˇrepsat rovnici (4.22) do tvaru: Lψn = λn ψn ,
(4.23)
L = ∇t + kn2 .
(4.24)
kde oper´ ator L je roven:
Obr´azek 4.4: Prvn´ı 3 m´ ody obd´eln´ıkov´eho patche (nahoˇre: proudov´a hustota J, dole: elektrick´ a intenzita Ez ) Probl´em formulovan´ y s pomoc´ı rovnic (4.22)-(4.24) ˇreˇs´ıme pomoc´ı FEM (n´asleduj´ı ˇc´ ast kapitoly). V´ ysledkem je diskr´etn´ı spektrum vlastn´ıch funkc´ı 45
N´ astroj pro mod´ aln´ı anal´ yzu FPA
4.4. Metoda koneˇ cn´ ych prvk˚ u
ψn = Ez,n , popisuj´ıc´ıch elektrick´e pole v dutinˇe a vlastn´ıch ˇc´ısel. Rezonanˇcn´ı frekvence lze vyˇc´ıslit na z´ akladˇe obecn´e podm´ınky rezonance:
kde k =
kn2 = k 2 ,
(4.25)
λn = kn2 .
(4.26)
p −jωµ(δ + jω) a
Uvaˇzujeme-li bezeztr´ atov´ y magnetick´ y substr´at, je kn2 = ω 2 µ0 . S pomoc´ı c0 = √10 µ0 a ω = 2πfr dost´ av´ ame: r c0 λn frn = . (4.27) 2π r . Index n odpov´ıd´ a n-t´emu m´ odu struktury, c0 = 3.108 ms-1 je rychlost svˇetla ve vakuu. V´ ypoˇcet povrchov´ ych proud˚ u je uveden v kapitole 6, protoˇze aˇz tam proudy skuteˇcnˇe potˇrebujeme. Obr´ azek 4.4 ukazuje m´ody T M10 , T M01 a T M11 vzorov´e struktury. CM je zat´ıˇzen relativnˇe velkou chybou ve srovn´an´ı s charakteristick´ ymi mody, pˇr´ıpadnˇe ˇreˇsen´ım v CST-MWS. Chybu budeme diskutovat d´ale v praktick´e ˇc´asti. Tato metoda umoˇzn ˇuje velice rychl´e, n´azorn´e a pro n´ızk´e motivy uspokojivˇe pˇresn´e mod´aln´ı ˇreˇsen´ı dan´eho z´ aˇriˇce. D´ıky tomu m˚ uˇzeme vyuˇz´ıt optimalizace pro nalezen´ı vhodnˇejˇs´ıho tvaru patche (viz dalˇs´ı kapitoly vˇenuj´ıc´ı se PSO).
4.4
Metoda koneˇ cn´ ych prvk˚ u
CM pˇredstaven´ y v´ yˇse je pouze pˇribliˇzn´ ym modelem popisuj´ıc´ım patchovou ant´enu. Popisuje okrajov´e podm´ınky a zjednoduˇsuje ˇreˇsen´ı Helmholtzovy rovnice. St´ale se vˇsak jedn´ a o diferenci´ aln´ı rovnici, a proto mus´ıme pro ˇreˇsen´ı u ´lohy vyuˇz´ıt vhodnou numerickou metodu. MoM je pˇresn´a, avˇsak velice robustn´ı a pomal´a, vystaˇc´ıme si zde proto s metodou koneˇcn´ ych prvk˚ u/element˚ u (Finite Element Method, FEM). Navaˇzme na MoM a CM s uk´azkou ˇreˇsen´ı. Helmholtzovu rovnici m˚ uˇzeme obecnˇe napsat jako (4.23) nebo t´eˇz obecnˇeji: L(ul ) = g,
(4.28)
kde L je diferenci´ aln´ı oper´ ator, g bud´ıc´ı funkce a ul je hledan´a veliˇcina (funkce). Vych´ az´ıme nejˇcastˇeji v Ritzovy nebo Galerkinovy metody8 . Prvn´ı z metod je variaˇcn´ı, hled´ ame minimum dan´eho funkcion´alu9 ; druh´a metoda patˇr´ı do tˇr´ıdy v´aˇzen´ ych rezidu´ı, hled´ ame funkci ul : X (l) uel = Ui ϕi , (4.29) i 8
Navazujeme zde na ˇca ´st 4.1, notace je upravena ve shodˇe s Comsol Multiphysics, [37]. Funcion´ al lze definovat na z´ akladˇe Thomsonova principu: Veliˇciny pole maj´ı takov´e hodnoty, aby byla splnˇena podm´ınka minim´ aln´ıho rozd´ılu mezi energi´ı potˇrebnou na vytvoˇren´ı zdroj˚ u tohoto pole. Je to tehdy, je-li funcion´ al nulov´ y, [12]. 9
46
N´ astroj pro mod´ aln´ı anal´ yzu FPA
4.4. Metoda koneˇ cn´ ych prvk˚ u
(l)
ϕi jsou jiˇz diskutovan´e b´ azov´e funkce pro uel (pro MoM znaˇceny fn ), U je hledan´ y vektor se stupnˇem volnosti Ui (v Comsolu tzv. Degree of Freedom, DOF). Pro funkci uel , kter´ a aproximuje pˇresn´e ˇreˇsen´ı plat´ı v kontextu (4.28) a (4.29): ξ = L(uel ) − g, v´aˇzen´e reziduum na dan´e oblasti Ω je tedy: ZZ wξdΩ. R=
(4.30)
(4.31)
Ω
Pro vˇetˇsinu u ´loh je nalezen´ı aproximaˇcn´ı funkce uel definovan´e na cel´e oblasti Ω
Obr´ azek 4.5: P˚ uvodn´ı funkce (a) a jej´ı line´arn´ı aproximace (b) obt´ıˇzn´e, ˇci pˇr´ımo nemoˇzn´e. Na tomto m´ıstˇe vstupuje do FEM diskretizace. S jej´ı pomoc´ı rozdˇel´ıme ˇreˇsenou oblast na mnoho mal´ ych podoblast´ı (elements). V kaˇzd´e podoblasti potom aproximujeme ˇreˇsen´ı jednoduchou funkc´ı (kupˇr´ıkladu line´arn´ı, pomoc´ı u ´seˇcek). Napˇr´ıklad ˇreˇsen´ı funkce na obr´azku 4.5 vlevo (ul = 750x − 250x2 + 15x3 ) by bylo na cel´e oblasti Ω ∈ h0, 10i obt´ıˇzn´e, nebot’ bychom museli naj´ıt rozvoj b´azov´ ych funkc´ı ve form´ atu: 3 X uel = ci xi = c1 x + c2 x2 + c3 x3 . (4.32) i=1
V tomto pˇr´ıpadˇe je lepˇs´ı postupn´a linearizace (uel = a + bx) po jednotliv´ ych elementech (obr. 4.5 vpravo). V praxi je vytvoˇren´ı meshe (diskretizaˇcn´ı s´ıtˇe) zpravidla rozdˇeleno na dvˇe ˇc´asti: 1. Inicializace s´ıtˇe (funkce meshinit v Comsolu) vytvoˇr´ı poˇc´ateˇcn´ı pokryt´ı 2. Zahuˇstˇen´ı (funkce meshrefine) / jin´e u ´pravy (lok´aln´ı zahuˇstˇen´ı, vymaz´an´ı ˇc´asti s´ıtˇe apod.) 47
N´ astroj pro mod´ aln´ı anal´ yzu FPA
4.4. Metoda koneˇ cn´ ych prvk˚ u
Obr´ azek 4.6: Triangularn´ı, quadrilateraln´ı s´ıt’ a kvalita s´ıtˇe (tmav´a je nejlepˇs´ı) V prvn´ım kroku vyb´ır´ ame z moˇzn´ ych typ˚ u element˚ u (viz obr. 4.6 vlevo a uprostˇred), v druh´em hl´ıd´ ame jakost a dostateˇcnou jemnost/kvalitu s´ıtˇe (obr. 4.6 vpravo). Hodnoty hledan´e funkce jsou nalezeny pouze v uzlech (nodes) diskretizovan´e struktury, mezi nimy je u ´loha aproximov´ana dodateˇcnˇe. Aproximuj´ıc´ı funkce Φ je volena s ohledem na poˇcet uzl˚ u jednoho elementu. V pˇr´ıpadˇe troj´ uheln´ıkov´eho elementu postaˇcuje polynom 3. stupnˇe (Φ = a1 + a2 x + a3 y), v pˇr´ıpadˇe obd´eln´ıhov´eho prvku potˇrebujeme polynom 4. stupnˇe (Φ = a1 + a2 x + a3 xy + a4 y). Takto lze poˇcet uzl˚ u d´ ale zvyˇsovat (pˇriˇcemˇz tvar polynomu lze odvodit z Pascalova troj´ uheln´ıka), nicm´enˇe pro 2D u ´lohy se zpravidla vyuˇz´ıv´a troj´ uheln´ıkov´a s´ıt’. Tak dost´av´ame soustavu rovnic, [95]: Φ1 = a1 + a2 x1 + a3 y1 Φ2 = a1 + a2 x2 + a3 y2
(4.33)
Φ3 = a1 + a2 x3 + a3 y3 Jemnost s´ıtˇe je vˇzdy kompromisem mezi hardwarov´ ymi n´aroky (obsazen´ı pamˇeti, d´elka v´ ypoˇctu) a pˇresnost´ı v´ ysledn´eho ˇreˇsen´ı. Elementy se nesm´ı vz´ajemnˇe pˇrekr´ yvat, ani mezi nimi nesm´ı vznikat mezery. Logick´ ym poˇzadavkem je tak´e podobn´ y tvar jednotliv´ ych element˚ u, co nejv´ıce se bl´ıˇz´ıc´ı rovnostrann´ ym troj´ uheln´ık˚ um10 . V m´ıstech prudk´ ych zmˇen pole je vhodn´e volit menˇs´ı elementy. Kvalita s´ıtˇe a zp˚ usoby jej´ıho hodnocen´ı n´as budou zaj´ımat v n´asleduj´ıc´ı kapitole. Minimalizovan´ y funkcion´ al m´a rozmˇer energie, jeho hodnota na cel´e oblasti je tedy souˇctem funkcion´ al˚ u jednotliv´ ych element˚ u: F(Φ) =
E X
Fe (Φe ),
(4.34)
e=1
kde E je celkov´ y poˇcet element˚ u a Fe (Φe ) je funkcion´al elementu. Vztah (4.34) je posledn´ım zcela obecn´ ym vztahem, d´ale se jiˇz probl´em vˇetv´ı podle typu ˇreˇsen´ı. V 10
Podle [12] chyba vzr˚ ust´ a nepˇr´ımo u ´mˇernˇe sinu nejmenˇs´ıho vnitˇrn´ıho u ´hlu elementu.
48
N´ astroj pro mod´ aln´ı anal´ yzu FPA
4.5. Teorie charakteristick´ ych mod˚ u
naˇsem pˇr´ıpadˇe vyuˇz´ıv´ ame tzv. The Eigenvalue Solver Algorithm, v Comsolu potom ˇreˇsiˇc (solver ) femeig. Zp˚ usob jak´ ym se v´ ysledn´a matice vyplˇ nuje a n´aslednˇe ˇreˇs´ı se liˇs´ı podle typu softwaru, tyto techniky tedy vynech´ame. Pro implementaci byl vybr´an Comsol Multiphysics. Umoˇzn ˇuje ˇreˇsen´ı u ´loh z oblast´ı akustiky, tepla, elektromagnetismu, mechaniky a dalˇs´ıch oblast´ı s vyuˇzit´ım pˇreddefinovan´ ych modul˚ u11 . Vyuˇz´ıv´a Lagrange˚ uv variaˇcn´ı princip12 . Funkce jsou 13 ps´any m-jazykem jako funce Matlabu , ˇcehoˇz lze vyuˇz´ıvat pro pˇr´ıpadn´e u ´pravy. Nav´ıc lze Matlab a Comsol propojit a vˇse ˇr´ıdit z Matlabu.
4.5
Teorie charakteristick´ ych mod˚ u
Z´akladn´ım pˇredpokladem t´eto metody je existence dokonale vodiv´eho motivu (PEC) ve voln´em prostoru bez nap´ ajen´ı. Tomuto motivu potom m˚ uˇzeme jednoznaˇcnˇe pˇriˇradit mnoˇzinu m´ od˚ u (z vypoˇcten´eho spektra vlastn´ıch ˇc´ısel), kter´e jsou d´any pouze jeho rozmˇery. Po pˇripojen´ı nap´ajen´ı doch´az´ı ke kolapsu vlnov´e funkce, proto se vybud´ı jen urˇcit´e m´ ody, vyhovuj´ıc´ı buzen´ı. Koneˇcn´e rozloˇzen´ı pole na struktuˇre je potom d´ ano superpozic´ı takto vybuzen´ ych m´od˚ u. Vyjdeme z poznatku, ˇze pro teˇcn´e pole elektrick´e intenzity na dokonal´em vodiˇci mus´ı platit: s i tot Etot (4.35) tan = Etan + Etan ∧ Etan = 0, index s znaˇc´ı vyz´ aˇren´e pole, index i dopadaj´ıc´ı pole. Protoˇze vyz´aˇren´e pole Estan je z´avisl´e na proudov´e hustotˇe J, zav´ad´ıme opˇet oper´ator L: L(J) = Estan , popisuj´ıc´ı integro-diferenci´ aln´ı z´avislost. A tedy ([81]): i h = 0. L(J) − Ei tan
(4.36)
(4.37)
Rovnice (4.37) je tzv. EFIE (Electric field integral equation), viz [29]. Struktura oper´atoru vyhovuje rovnic´ım L(J) = jωA(J) + gradF(J), ZZ A(J) = µ J(r)G(r, r0 ) dΩ
(4.38) (4.39)
Ω
a
ZZ 1 F(J) = −
gradJ(r0 )G(r, r0 ) dΩ jω Ω 11
(4.40)
Podle vybran´eho modelu je definov´ ana jedna PDE: Laplaceova / Poissonova / Helmholtzova / tepeln´ a / vlnov´ a / Schr¨ odingerova / difuzn´ı rovnice. 12 Postup minimalizace funkcion´ alu – tj. potenci´ aln´ı energie, voln´ ych n´ aboj˚ u (v´ yˇse uveden´e Thomsonovo pravidlo je aplikac´ı Lagrangeova principu v oblasti elektromagnetismu) apod. 13 Comsol, p˚ uvodn´ım n´ azvem Femlab byl souˇca ´st´ı Matlabu. Od nov´e verze Comsolu 3.5 je nam´ısto Comsol Scriptu preferov´ an Matlab Editor.
49
N´ astroj pro mod´ aln´ı anal´ yzu FPA
4.5. Teorie charakteristick´ ych mod˚ u
Potenci´ aly A a F fyzik´ alnˇe nemaj´ı ˇz´adn´ y smysl a nelze je nijak intepretovat, jde pouze o identity zjednoduˇsuj´ıc´ı ˇreˇsen´ı MR. Potenci´aly budeme potˇrebovat zejm. v kapitole 6, kde jsou ˇr´ adnˇe zavedeny. Tvar Greenovy funkce v rovnic´ıch (4.39) a (4.40) pro pˇr´ıpad bezeztr´ atov´eho materi´alu ve voln´em prostoru je14 : 0
G(r, r0 ) =
e−jk|r−r | . 4π|r − r0 |
(4.41)
Bliˇzˇs´ım pohledem na (4.36) lze odvodit, ˇze oper´ator L m´a charakter impendance. Tu lze rozloˇzit: Z(J) = R(J) + jX(J). (4.42)
Variaˇ cn´ı ˇ reˇ sen´ı Na cel´ y probl´em m˚ uˇzeme nahl´ıˇzet jako na variaˇcn´ı u ´lohu s c´ılem minimalizovat vhodn´ y funkcion´ al. K tomu n´ am poslouˇz´ı upraven´ y vztah pro jednotliv´e sloˇzky impedance. Funcion´ al pak p´ıˇseme ve tvaru: F(J) =
hJ, XJi . hJ, RJi
(4.43)
Vztah vyjadˇruje pomˇer mezi nahromadˇenou a vyz´aˇrenou energi´ı. Zda budeme minimalizovat sloˇzku hJ, XJi nebo hJ, RJi bude jasn´e z poˇzadavku na typ rezonance. Ty dˇel´ıme na: 1. Intern´ı rezonance – rezonance uvnitˇr dutinov´eho rezon´atoru. Poˇzadujeme 1 maximum akumulovan´e energie, minimum vyz´aˇren´e. Funcion´al: FI (J) = F (J) a tomu pˇr´ısluˇsn´ a Eulerova rovnice, [65]: R(Jn ) = λn X(Jn ).
(4.44)
2. Extern´ı rezonance – rezonance ant´enn´ıch struktur. Poˇzadujeme maximum vyz´ aˇren´e energie, tj. FE (J) = F(J) a X(Jn ) = λn R(Jn ). Nalezen´e charakteristick´e proudy Jn maj´ı n´asleduj´ıc´ı vlastnosti: • tvoˇr´ı ortogon´ aln´ı syst´em, • z´ avis´ı pouze na tvaru patche, • na dan´e oblasti Ω jsou re´ aln´e, • maj´ı stejnou f´ azi. 14
Lze odvodit z vlnov´e rovnice ∆A + k2 A = −µ0 J.
50
(4.45)
N´ astroj pro mod´ aln´ı anal´ yzu FPA
4.5. Teorie charakteristick´ ych mod˚ u
Hodnota vlastn´ıho ˇc´ısla ud´ av´ a charakter dan´eho m´odu: y m´od je v rezonanci = 0 n-t´ < 0 n-t´ y m´od m´a kapacitn´ı charakter λn > 0 n-t´ y m´od m´a induktivn´ı charakter
(4.46)
Vlastn´ı ˇc´ısla jsou ˇcasto nahrazov´ana tzv. charakteristick´ ym u ´hlem: αn = 180° − tan−1 (λn ).
(4.47)
Pr˚ ubˇeh αn hodnotou 180°(rezonanc´ı) je strmˇejˇs´ı neˇz u λn , proto je toto zobrazen´ı ˇ sen´ı pro charakteristick´e u vhodnˇejˇs´ı. Reˇ ´hly je na obr. 4.7.
Obr´ azek 4.7: Typick´e hodnoty charakteristick´eho u ´hlu, zdroj: [85]
Mod´ aln´ı ˇ reˇ sen´ı Podle [65] plat´ı n´ asleduj´ıc´ı ortogonality:
∗ Jm , R(Jn ) = δmn
∗ Jm , X(Jn ) = λn δmn
(4.48) (4.49)
δmn je Kroneckerovo delta15 . Pro celou impendanci pak plat´ı:
∗ Jm , Z(Jn ) = (1 + jλn )δmn .
(4.50)
D´ale zaved’me algebraick´ y skal´ arn´ı souˇcin (komplexn´ı transpozici):
∗ B, C = B C ,
(4.51)
15
δmn =
1 0
je-li m = n , ˇcast´ y z´ apis pro jednotkovou matici je t´eˇz δmn = [m = n]. je-li m = 6 n
51
N´ astroj pro mod´ aln´ı anal´ yzu FPA
4.5. Teorie charakteristick´ ych mod˚ u
tento vztah je analogi´ı k (4.5) a mod´aln´ı superpozici charakteristick´ ych proud˚ u: X J= αn J n , (4.52) n
coˇz odpov´ıd´ a (4.3). Vztahy (4.37) a (4.52) m˚ uˇzeme upravit n´asledovnˇe: i hX = 0. αn L(Jn ) − Ei tan
n
Aplikac´ı (4.51) na (4.53) z´ısk´ ame: E D E X D αn Jm , Z(Jn ) − Jm , Ei = 0
(4.53)
(4.54)
n
Uˇzit´ım (4.50) na (4.54) se podle [85] probl´em redukuje na
αn (1 + jλn ) = Jn , Ei
(4.55)
Produkt hJn , Ei i se naz´ yv´ a excitaˇcn´ı koeficient a ˇcasto se znaˇc´ı jako Vin . Plat´ı tak´e: ZZ n Vi = Jn Ei dΩ (4.56) Ω
Po pˇripojen´ı nap´ ajen´ı se vybud´ı jen urˇcit´a mnoˇzina m´od˚ u, ostatn´ı nikoliv. V´ ysledn´e pole je superpozic´ı vybuzen´ ych m´od˚ u. Tak se dost´av´ame k z´avˇereˇcn´emu vztahu pro celkov´ y proud, parametr Vin zap´ın´a“ jednotliv´e m´ody: ” X V n Jn i J= . (4.57) 1 + jλn n D´ale m˚ uˇzeme odvodit vztahy s vlastn´ımi poli En a Hn , to vˇsak jiˇz pˇrekraˇcuje rozsah t´eto pr´ ace.
Uplatnˇ en´ı v projektu Na katedˇre elektromagnetick´eho pole byl vyvinut Ing. Pavlem Hamouzem TCM simul´ ator, pˇredstaven´ y v diplomov´e pr´aci [81]. Urˇcen´ı impendanˇcn´ı matice a tomu pˇredch´ azej´ıc´ı diskretizace (vyuˇz´ıv´a RWG b´azov´e funkce16 ) vych´az´ı z pr´ace S. N. Marakova [33]. V dobˇe vzniku DP nebylo moˇzn´e tento software vyuˇz´ıvat. Pˇrednˇe ˇcas potˇrebn´ y na v´ ypoˇcet patche je v porovn´an´ı s CM pˇr´ıliˇs velk´ y, d´ale bychom pro u ´ˇcely optimalizace museli zajistit oˇsetˇren´ı nˇekter´ ych stav˚ u, kter´e v CM ˇreˇs´ıme s pomoc´ı Comsolu17 . Vyuˇzit´ı tohoto n´ astroje je pro jeho pˇresnost a schopnost analyzovat i komplikovan´e struktury optim´ aln´ı a je s n´ım, po pˇrekon´an´ı uveden´ ych obt´ıˇz´ı poˇc´ıt´ano nam´ısto CM. 16
Rao-Wilton-Glisson; viz S.M.Rao, D.R.Wilton, A.W.Glisson: Electromagnetic scattering by sufraces of arbitrary shape, IEEE Trans. AP, 30(3):pp.409-418, 1982, pˇr´ıpadnˇe pˇr´ımo [51]. 17 Celistvost patche, poˇrad´ı m´ od˚ u, . . .
52
Kapitola 5
EvalInFem Implementace dutinov´eho modelu je komplikov´ana zejm. faktem, ˇze vˇse mus´ı b´ yt naprogramov´ ano zcela obecnˇe. Tak´e krizov´e situace mus´ı program vyˇreˇsit s´am, vˇc. navr´acen´ı adekv´ atn´ıch hodnot. Tato kapitola rozeb´ır´a strukturu funkce EvalInFem, urˇcen´e pro anal´ yzu frakt´ aln´ıch patch ant´en.
5.1
Popis, syntaxe
Jednotliv´e u ´koly podrobnˇeji rozebereme v n´asleduj´ıc´ıch ˇc´astech. Kaˇzd´a pas´aˇz je pro jednoduchost tvoˇrena jednou nested funkc´ı zanoˇrenou do EvalInFem. Jejich vol´an´ım lze jednoduˇse oˇsetˇrit chyby a zajistit tak stabilitu programu. Tak m˚ uˇzeme program d´ale upravovat a rozˇsiˇrovat bez naruˇsen´ı jin´e sekce. V principu lze jednotliv´e u ´koly EvalInFem rozdˇelit do tˇechto separ´atn´ıch ˇc´ast´ı: 1. Inicializace GUIe ´ 2. Uprava polygon˚ u, velikost´ı 3. Sjednocen´ı a check poˇctu ˇc´ast´ı 4. Disketizace 5. Nastaven´ı fyziky, CM model 6. Vlastn´ı v´ ypoˇcet 7. Pˇrepoˇcet frekvence, u ´prava m´od˚ u 8. Uloˇzen´ı, ukonˇcen´ı, oˇsetˇren´ı vyj´ımek a chyb Uspoˇr´ ad´ an´ı respektuje i grafick´e okno (na obr. 5.1), informuj´ıc´ı uˇzivatele o jednotliv´ ych operac´ıch. To je vytvoˇreno pˇri kaˇzd´em vol´an´ı EvalInFem a nelze ho vypnout pˇred ukonˇcen´ım v´ ypoˇctu1 . Pokud je ˇreˇsiˇc souˇc´ast´ı optimalizace, je okno 1
Thread se m˚ uˇze nach´ azet v jedn´e z funkc´ı Comsolu, v PSOptimizeru apod. Bez tohoto omezen´ı by se EvalInFem choval nevyzpytatelnˇe.
53
N´ astroj pro mod´ aln´ı anal´ yzu FPA
5.1. Popis, syntaxe
otevˇreno pouze jednou a pro kaˇzd´e dalˇs´ı vol´an´ı jsou pouze resetov´any u ´daje, coˇz ˇsetˇr´ı ˇcas.
Obr´ azek 5.1: EvalInFem (screenshot)
Syntaxe Pro obdrˇzen´ı v´ ypisu rezonanˇcn´ıch frekvenc´ı jednotliv´ ych m´od˚ u, pouˇzijeme z´apis: results = EvalInFem(’stat’,FRC). Parametr ’stat’ je v tomto pˇr´ıpadˇe fixn´ı a indikuje statick´e vol´an´ı bez inicializace PSO. Vyuˇz´ıv´ ame ho zpravidla pro zjiˇstˇen´ı dominantn´ıho m´odu pevnˇe dan´e struktury. Pro z´ısk´ an´ı fem promˇenn´e vol´ame n´asledovnˇe: [results fem] = EvalInFem(’stat’,FRC). Toto vol´ an´ı m´ a velkou v´ yhodu ve zpˇetn´em vyuˇzit´ı Comsolu – fem objekt m˚ uˇzeme importovat z Matlabu do Comsolu a pracovat s v´ ysledkem ruˇcnˇe (grafy, rozloˇzen´ı m´od˚ u, pˇrevod do dxf pro CST apod.). Funkce EvalInFem umoˇzn ˇuje pˇr´ım´e spuˇstˇen´ı 54
N´ astroj pro mod´ aln´ı anal´ yzu FPA
5.2. Geometrie
optimalizace, o kter´e bude pojedn´ano v dalˇs´ıch kapitol´ach, nicm´enˇe jiˇz zde uved’me, ˇze existuj´ı dvˇe moˇznosti, jak toho dos´ahnout. Optimalizaci lze zah´ajit vol´an´ım funkce EvalInFem i PSOptimizer. Elegantnˇejˇs´ı je: PSOresults = PSOptimizer(PsoData,’EvalInFem’,ag,it), nebot’ tak jsou vol´ any i vˇsechny ostatn´ı fitness funkce (viz PSO optimalizace). K objektu fem nelze pˇri optimalizaci z´ıskat pˇr´ım´ y pˇr´ıstup, ag oznaˇcuje poˇcet agent˚ uv roji, it urˇcuje poˇcet iterac´ı. Lze vyuˇz´ıt i n´asleduj´ıc´ı pˇr´ıkaz: results = EvalInFem(’pso’,PsoData,ag,it). Poznamenejme, ˇze vˇsechny pˇr´ıkazy jsou vysvˇetleny i v n´apovˇedˇe EvalInFem. Pˇri n´ avrhu EvalInFem jsme vych´azeli z instrukc´ı v tutori´alu [63] a z n´apovˇedy Comsolu, kter´ a se ovˇsem programov´an´ı v Matlabu pˇr´ıliˇs nevˇenuje. Popiˇsme nyn´ı jednotliv´e kroky ˇreˇsen´ı. N´ asleduj´ıc´ı ˇc´asti 5.2 a 5.3 pˇribliˇzuj´ı mechanismy EvalInFem a lze je pˇr´ıpadnˇe pˇreskoˇcit.
5.2
Geometrie
Pˇredpokladem spr´ avn´e funkce EvalInFem je FRC nebo Poly promˇenn´a na vstupu. Pro jej´ı vytvoˇren´ı lze vyuˇz´ıt AntTool, IFSMaker, m˚ uˇzeme ji definovat i ruˇcnˇe. V pˇr´ıpadˇe frakt´ aln´ı struktury obsahuje pole jednotliv´e IFS parametry. Z nich je potˇreba vygenerovat frakt´ al a jednotliv´e polygony setˇr´ıdit podle iterac´ı, kter´e se maj´ı do v´ ysledn´e kol´ aˇze zapoˇc´ıtat. Ty potom sjednotit a upravit tak, aby z´apisu rozumˇel Comsol. Nezbytn´e je omezen´ı velikosti kol´aˇze – m´ame-li hledat nejmenˇs´ı strukturu, tedy de-facto nejmenˇs´ı rezonanˇcn´ı frekvenci, je potˇreba zafixovat max. velikost, aby byly v´ ysledky vz´ ajemnˇe porovnateln´e. Tato velikost je na ˇr´adce 341 nastavena na 10cm. EvalInFem s´ am zhodnot´ı, zda delˇs´ı hrana je ve smˇeru x nebo y a kol´aˇz pomˇernˇe zmenˇs´ı/zvˇetˇs´ı na tuto velikost. O zmˇenˇe velikosti jsme informov´an´ı v sekci polygons grafick´eho okna.
Obr´ azek 5.2: Vypoˇcten´ a kol´ aˇz, mesh, dominantn´ı m´od a jeho proudov´e rozloˇzen´ı Souˇc´ ast´ı pˇrevodu je i automatick´e vykreslen´ı analyzovan´e kol´aˇze. To je uˇziteˇcn´e zejm. ve spojen´ı s PSO, vid´ıme ihned jak´ y tvar kol´aˇze je pr´avˇe ˇreˇsen. 55
N´ astroj pro mod´ aln´ı anal´ yzu FPA
5.3. Mesh, fyzika
Upˇrednostˇ nujeme-li rychlost a zaj´ım´ame se aˇz o v´ ysledek, m˚ uˇzeme tento v´ ypis deaktivovat na ˇr´ adce 337 funkce2 EvalInFem. Moˇzn´a vykreslen´ı shrnuje obr. 5.2. Po vypoˇcten´ı IFS a upraven´ı velikosti n´asleduje sjednocen´ı do stejn´eho (3D) pole, coˇz je pouze operace s maticemi v cellu3 . Dalˇs´ı ˇc´ast je zaj´ımavˇejˇs´ı – mus´ıme pˇrev´est geometrii do Comsolem akceptovateln´eho tvaru. Celou proceduru prov´ad´ı nested funkce makeGeomFcn. Postupnˇe zvˇetˇsujeme dva string ˇretˇezce, kter´e jsou vyhodnoceny funkc´ı eval, n´ asleduj´ı dalˇs´ı u ´pravy a uloˇzen´ı geom objektu do instance fem. Jde o jednu z kl´ıˇcov´ ych funkc´ı EvalInFem, kterou obyˇcejnˇe prov´ad´ıme pomoc´ı zakreslov´ an´ı v Comsolu. Na z´ avˇer je nezbytn´e otestovat celistvost patche. Poˇcet ˇc´ast´ı, z nich je z´aˇriˇc sloˇzen zjist´ı funkce flgeomnmr. Pokud je v´ ysledek r˚ uzn´ y od jedn´e, konˇc´ı v´ ypoˇcet chybou.
5.3
Mesh, fyzika
Ve shodˇe s v´ ykladem o FEM je nutn´e povrh pokr´ yt diskretizaˇcn´ı mˇr´ıˇzkou. Mus´ıme dodrˇzet vysokou kvalitu s´ıtˇe, tedy jemnost a pravidelnost, na druh´e stranˇe je vhodn´e pracovat s nejmenˇs´ım moˇzn´ ym poˇctem element˚ u. Pro tyto u ´ˇcely slouˇz´ı v Comsolu odhad velikosti jednotliv´ ych troj´ uheln´ıˇck˚ u a jejich kvality: √ 4 3S q= 2 , (5.1) a1 + a22 + a23 kde S je obsah, a1 , a2 a a3 jsou hrany troj´ uheln´ıka. Kvalita s´ıtˇe nab´ yv´a hodnot qmin ∈ (0, 1), 1 znaˇc´ı perfektn´ı s´ıt’, kter´e vˇsak stˇeˇz´ı kdy dos´ahneme. Podle literatury je dostaˇcuj´ıc´ı hodnota qmin = 0.3, je vhodn´e volit rezervu qmin √ = 0.4. √ Pro rovnostrann´ y troj´ uheln´ık je q = 1; pro rovnoramenn´ y se stranami 1, 1.25, 1.25 (v´ yˇska k ramen˚ um rovna 1) uˇz pouze q = 0.9897. Frekvenci, do kter´e povaˇzujeme CM za spolehliv´ y, lze odvodit i ze vztahu: hmax =
λ , 6
(5.2)
kde hmax je maxim´ aln´ı d´elka hrany jak´ehokoliv troj´ uheln´ıka. Podm´ınku (5.2) jsme z´ıskali z dokumentace simul´ atoru FEKO, [102]. Z pˇredpokl´ adan´e frekvence dominantn´ıho m´odu4 zpˇetnˇe vypoˇc´ıt´ame poˇzadovanou velikost. Tento postup vˇsak sk´ yt´a nˇekolik u ´skal´ı. Zaprv´e je tento odhat dosti nepˇresn´ y, zadruh´e mus´ıme zjiˇst’ovat rozmˇery vˇsech element˚ u a koneˇcnˇe zatˇret´ı nen´ı cel´ y proces snadn´e naprogramovat. Po zdlouhav´ ych testech byl nalazen 2 Na dalˇs´ıch ˇra ´dc´ıch lze nastavit vykreslen´ı meshe (defaultnˇe ne), rozloˇzen´ı elektrick´eho pole nad dutinou (ano) a rozloˇzen´ı proudu (ano). 3 Kaˇzd´e pole cellu odpov´ıd´ a jedn´e iteraci, tak m˚ uˇzeme jednoduˇse zaˇradit ty polygony, kter´e pˇr´ısluˇs´ı do poˇzadovan´ ych iterac´ı. 4 Nejniˇzˇs´ı frekvenci m˚ uˇzeme s jistou rezervou odhadnout ze znalosti max. rozmˇeru pro λ2 dominantn´ı m´ od.
56
N´ astroj pro mod´ aln´ı anal´ yzu FPA
5.4. Zpracov´ an´ı v´ ysledk˚ u
kompromis mezi jemnost´ı s´ıtˇe a rychlost´ı v´ ypoˇctu, totiˇz tvorba s´ıtˇe funkc´ı meshinit s parametrem ’Hauto’ = 3. S´ıt’ sice nen´ı d´ale zjemˇ nov´ana, avˇsak od poˇc´atku na n´ı m´ame pˇr´ısn´e n´ aroky. Tak ˇsetˇr´ıme cenn´ y v´ ypoˇcetn´ı ˇcas. D˚ uleˇzit´e je t´eˇz nastaven´ı parametru ’Report’ na ’off’, v opaˇcn´em pˇr´ıpadˇe by po kaˇzd´em nameshov´an´ı byl proces pˇreruˇsen ozn´ amen´ım, coˇz by znemoˇznilo plynulou optimalizaci. Ukazuje se, ˇze poˇcet element˚ u (narozd´ıl od jejich kvality) nem´a na pˇresnost ˇreˇsen´ı z´asadnˇejˇs´ı vliv. Kvalitu zjist´ıme pomoc´ı funkce meshqual, pˇriˇcemˇz je vhodn´e se zaj´ımat o pr˚ umˇernou i minim´ aln´ı kvalitu na cel´e ploˇse kol´aˇze. Mus´ıme tedy zn´at i poˇcet element˚ u, toho doc´ıl´ıme pˇr´ıkazem length(fem.mesh.t). Celkov´ y poˇcet element˚ u je spolu s pr˚ umˇernou a minim´ aln´ı kvalitou s´ıtˇe vyps´an v sekci mesh v GUI. V dalˇs´ım kroku nastavujeme podm´ınky ˇreˇsen´ı, tj. typ ˇreˇsen´ı (InPlaneWaves), modul (RF), typ anal´ yzy (eigen), hraniˇcn´ı podm´ınku pro vˇsechny hrany (H0, nav´ıc vˇsechny bnd.ind = 1), syst´em jednotek (SI) a dalˇs´ı parametry5 . Nyn´ı lze pˇristoupit k vlastn´ımu ˇreˇsen´ı struktury. To prov´ad´ıme pomoc´ı ˇreˇsiˇce femeig s nastaven´ım hledan´e veliˇciny a poˇctem vlastn´ıch ˇc´ısel (=nalezen´ ych m´od˚ u), kter´e maj´ı b´ yt nalezeny. Vlastn´ı ˇc´ısla jsou uloˇzena do objektu fem.sol, odkud je jednoduˇse z´ısk´ ame pro dalˇs´ı u ´pravy.
5.4
Zpracov´ an´ı v´ ysledk˚ u
Vypoˇcten´ a vlastn´ı ˇc´ısla nyn´ı pˇrevedeme na rezonanˇcn´ı frekvence dan´ ych m´od˚ u. Vyuˇzijeme n´ asleduj´ıc´ıho vztahu: fmin (i) =
|fem.sol.lambda(i)| 2π
(5.3)
Obr´ azek 5.3: Nesmysln´e ˇreˇsen´ı (vlevo) a dominantn´ı m´od struktury (vpravo) Po pˇrevodu na frekvenci se vˇsak ˇcasto setk´av´ame s tzv. nesmysln´ ymi m´ody (obr. 5.3). Tato ˇreˇsen´ı nemaj´ı ˇz´ adn´e fyzik´aln´ı opodstatnˇen´ı. Nav´ıc v pˇr´ıpadˇe optimalizace 5 Podaˇrilo se je zjistit po odsimulov´ an´ı vzorov´eho pˇr´ıkladu v Comsolu a jeho uloˇzen´ı jako mfile. ˇ ast k´ C´ odu mus´ı respektovat promˇenliv´ y poˇcet hran.
57
N´ astroj pro mod´ aln´ı anal´ yzu FPA
5.4. Zpracov´ an´ı v´ ysledk˚ u
hroz´ı, ˇze takov´ y m´ od bude vyhodnocen jako dominantn´ı. Jeho (velice mal´a) hodnota rezonanˇcn´ı frekvence urˇc´ı nov´e glob´aln´ı minimum a cel´e hejno bude konvergovat k t´eto zcela nesmysln´e hodnotˇe. Vˇsechna takov´a ˇreˇsen´ı pˇredch´azej´ıc´ı skuteˇcn´emu dominantn´ımu m´ odu mus´ıme efektivnˇe odstranit. To prov´ ad´ıme ve dvou kroc´ıch. Nejprve smaˇzeme vˇsechny m´ody s nulovou frekvenc´ı, potom i takov´e, kter´e dosahuj´ı pouze 1% rezonanˇcn´ı frekvence m´odu n´asleduj´ıc´ıho. Nesmysln´e m´ ody maj´ı vˇetˇsinou nenulovou re´alnou ˇc´ast vlastn´ıho ˇc´ısla, zat´ımco vˇsechny ostatn´ı m´ ody maj´ı nenulovou pouze imagin´arn´ı ˇc´ast. Ta nab´ yv´a zpravidla z´ aporn´ ych, extr´emnˇe vysok´ ych hodnot.
Obr´ azek 5.4: Pˇr´ıklad duplicitn´ıch m´od˚ u Na dalˇs´ı obt´ıˇze nar´ aˇz´ıme v souvislosti s duplicitn´ımi m´ody. Nˇekolik jich zobrazuje obr´azek 5.4. Vˇsechna tˇri ˇreˇsen´ı jsou spr´avn´a, ukazuj´ı 5.,6. a 7. nalezen´ y m´od. Na prvn´ı pohled je vˇsak jasn´e, ˇze jde o stejn´e rozloˇzen´ı pole, pouze jinak orientovan´e. Je to d´ano pravdˇepodobnˇe mal´ ymi odchylkami v diskretizaˇcn´ı mˇr´ıˇzi, ˇc´ımˇz se struktura st´av´a m´ırnˇe nesymetrickou. Pozn´avac´ım znamen´ım takov´ ych m´od˚ u jsou bl´ızk´e rezonanˇcn´ı frekvence. Na druhou stranu bl´ızk´e frekvence mohou m´ıt i dva geometricky velice rozd´ıln´e m´ ody, nem˚ uˇzeme tedy toto tvrzen´ı vyuˇz´ıt k eliminaci duplicit. ˇ Reˇsen´ı je potˇreba hledat pˇr´ımo v rozboru dan´eho rozloˇzen´ı pole. Pˇreveden´ım m´od˚ u na bitmapy, jejich pomysln´ ym rozdˇelen´ım na pole a hled´an´ım shodn´ ych hustot urˇcit´ ych barev bychom mohli duplicitn´ı m´ody odhalit. Tento postup zat´ım nebyl testov´ an, v budoucnu – zejm´ena pˇri multip´asmov´e optimalizaci – se bez nˇej ale neobejdeme.
Obr´ azek 5.5: Nadbyteˇcn´e nody, jejich vznik a nepˇr´ıjemn´e d˚ usledky
58
N´ astroj pro mod´ aln´ı anal´ yzu FPA
5.4. Zpracov´ an´ı v´ ysledk˚ u
Posledn´ım zjiˇstˇen´ ym nedostatkem je pˇr´ıtomnost nadbyteˇcn´ ych nod˚ u (uzl˚ u) ve v´ ysledn´e kol´ aˇzi. Ty vid´ıme na obr. 5.5 vlevo. V okol´ı tˇechto bod˚ u je s´ıt’ v´ıce zahuˇstˇena (obr. 5.5 vpravo), nebot’ Comsol zde pˇredpokl´ad´a diskontinuity. Vˇetˇs´ı poˇcet element˚ u se negativnˇe prom´ıt´ a do ˇcasu potˇrebn´eho na v´ ypoˇcet, a to nejen v Comsolu, ale i pokud frakt´ al d´ ale exportujeme (IE3D apod.). Tyto nechtˇen´e nody vznikaj´ı pˇri dl´aˇzdˇen´ı frakt´alu, jde vlastnˇe o vrcholy transformovan´eho z´ akladn´ıho objektu (obr. 5.5 uprostˇred). Automatick´e odstraˇ nov´an´ı 6 takov´ ych bod˚ u je komplikovan´e .
Obr´ azek 5.6: Lokalizovan´e proudy pro FRC B, FRC J a FRC D, vyˇsˇs´ı m´ody Pˇri pohledu na obr. 5.6 si m˚ uˇzeme vˇsimnout zaj´ımav´eho fenom´enu, kter´ y je frakt´ aln´ım ant´en´ am vlastn´ı, totiˇz proudov´e lokalizace. K t´e doch´az´ı pro nˇekter´e vyˇsˇs´ı m´ ody a vyznaˇcuje se zv´ yˇsenou smˇerovnost´ı z´aˇriˇce (klidnˇe 13dBi i v´ıce). Na obr´azky m˚ uˇzeme pohl´ıˇzet jako na velice efektivn´ı a ide´alnˇe zf´azovan´e ant´ennn´ı ˇrady. 6 Tato automatick´ a procedura by musela spolehlivˇe pracovat pro vˇsechny IFS vˇsech iterac´ı a musela by b´ yt velmi rychl´ a.
59
N´ astroj pro mod´ aln´ı anal´ yzu FPA
5.5
5.5. Oˇ setˇ ren´ı chyb, stabilita
Oˇ setˇ ren´ı chyb, stabilita
O v´ ysledku vˇsech operac´ı je uˇzivatel informov´an skrze GUI. V pˇr´ıpadˇe chyby je vyps´an ˇcervenˇe text Error, nav´ıc je i s k´odem (viz tabulka 5.1) chyba uvedena v oknˇe Matlabu. Tak lze sledovat vˇsechny chyby pˇri dlouh´e optimalizaci. k´ od chyby 0 1 2 3 4 5 6
oznaˇcen´ı There’s no connection to Comsol Bad input data (x ’psopt’ type). Convert to polygons. Geometry convert problem. Bad mesh (subdomains = 1) Comsol physics hasn’t been set. There’s no feasible solution.
popis nen´ı pˇripojen Comsol ˇspatn´ y vstup nevhodn´e polygony chyba v pˇrevodu geometrie segment˚ u je v´ıce neˇz 1 fyzika nen´ı nastavena nebylo nalezeno ˇreˇsen´ı
Tabulka 5.1: Moˇzn´e chyby v EvalInFem
EvalInFem mus´ı za vˇsech okolnost´ı vracet hodnotu rezonanˇcn´ı frekvence. V opaˇcn´em pˇr´ıpadˇe by hrozilo pˇreruˇsen´ı optimalizace. Pokud je vyps´ana chyba, vrac´ı program fr = ∞. To nen´ı z hlediska konvergence hejna optim´aln´ı7 n´avratov´a hodnota, lepˇs´ı ˇreˇsen´ı vˇsak doposud nebylo nalezeno. Dalˇs´ı skupinu chyb lze oznaˇcit jako chyby metody. Nˇekter´e aspekty jsou v CM aproximov´ any nebo zanedb´any, coˇz zhorˇsuje (omezuje) v´ ysledky. Na zkreslen´ı ˇreˇsen´ı se pod´ıl´ı jiˇz diskretizace, kterou jsme probrali v´ yˇse. D´ale mus´ıme m´ıt na pamˇeti omezen´ı v´ yˇsky substr´ atu, pomoc´ı CM ˇreˇs´ıme pouze 2D plan´arn´ı rezon´ator. Nejvˇetˇs´ım probl´emem je zanedb´an´ı vnitˇrn´ıch vazeb ve struktuˇre. Z principu tak nelze ˇreˇsit z´ aˇriˇc sloˇzen´ y z v´ıce ˇc´ast´ı. Omezena je mnoˇzina pouˇziteln´ ych kol´aˇz´ı8 . Pro ovˇeˇren´ı CM modelu byl vybran´ y frakt´al analyzov´an i v CST-MWS, v´ıce v n´asleduj´ıc´ı ˇc´asti.
5.6
V´ ysledky
Vˇsechny nesmysln´e m´ ody byly odstranˇeny, neuv´ad´ıme ani duplicitn´ı m´ody. Hodnoty v tabulce 5.2 jsou omezeny rozmˇerem delˇs´ı hrany rovn´ ym 10cm. Pˇr´ıklady silnˇe lokalizovan´ ych proud˚ u byly uvedeny na obr. 5.6. Vyhled´av´an´ı takov´ ych m´od˚ u ruˇcnˇe je zdlouhav´e a nepohodln´e, pˇresto vˇsak s pomoc´ı Comsolu moˇzn´e. Video na DVD s uk´azkou ˇreˇsen´ı se jmenuje EvalInFem staticAnalysisAvi.avi. Je zde i uk´azka chybn´e simulace a jej´ıho zakonˇcen´ı. 7
Toto m´ısto je automaticky zavrhnuto cel´ ym rojem a pˇr´ısluˇsn´ı agenti se od nˇej vzdaluj´ı. To komplikuje nalezen´ı minima v sousedstv´ı takov´e singularity. 8 Pˇr´ıklady na obr. 5.8 jsou ˇreˇsiteln´e bez pot´ıˇz´ı, pouze kol´ aˇz FRC B pˇrezaˇruje a velikost chyby tak roste.
60
N´ astroj pro mod´ aln´ı anal´ yzu FPA
patch FRC A FRC B FRC C FRC D FRC E FRC F FRC H FRC J FRC K
fr1 [MHz] 637.73 686.09 638.39 1189.33 1367.52 657.76 1352.55 849.51 647.05
fr2 [MHz] 655.59 732.07 1304.13 2192.13 1383.24 721.05 1482.29 871.05 690.66
5.6. V´ ysledky
fr3 [MHz] 1375.67 736.23 1652.87 2641.8 3064.77 2040.55 2457.62 1668.17 1681.64
fr4 [MHz] 1407.34 2113.86 1751.14 4412.57 3110.12 2272.51 2629.74 2709.62 2385.47
fr5 [MHz] 1434.46 2300 1753.58 4423.88 3977.31 2345.91 2865.37 2801.14 2452.99
Tabulka 5.2: Rezonanˇcn´ı frekvence vybran´ ych kol´aˇz´ı (prvn´ıch 5 iterac´ı)
Obr´ azek 5.7: Pokles frekvence s iterac´ı, vybran´e kol´aˇze Je zaj´ımav´e sledovat velikost rezonanˇcn´ı frekvence r˚ uzn´ ych kol´aˇz´ı v z´avislosti na stupni iterace. Lze uk´ azat, ˇze frekvence postupnˇe kles´a. Napˇr. pro kol´aˇz FRC B kles´a frekvence (pro iterace 1-5) n´asledovnˇe: 1025MHz, 686MHz, 501MHz, 370MHz a 271MHz. Pro kol´ aˇz FRC H 1380MHz, 1053MHz, 815MHz, 630MHz, 487MHz. Pokles je velice rychl´ y a to i v pˇr´ıpadˇe, ˇze rezonance prob´ıh´a na rameni, kter´e svou d´elku nemˇen´ı (FRC H). Pr˚ ubˇeh z´aroveˇ n naznaˇcuje, ˇze hodnoty smˇeˇruj´ı k urˇcit´e asymptotˇe, kterou m˚ uˇzeme pˇredpokl´adat pro nekoneˇcnou iteraci. Pro kaˇzd´ y frakt´al kles´a frekvence jinak rychle a z jin´e poˇc´ateˇcn´ı hodnoty, viz obr. 5.7. Pokles frekvence prob´ıh´ a bez neˇcekan´ ych v´ ykyv˚ u (kˇrivky jsou hladk´e), tento jev lze prok´azat i u vyˇsˇs´ıch m´ od˚ u IFS struktur.
61
N´ astroj pro mod´ aln´ı anal´ yzu FPA
5.6. V´ ysledky
Obr´ azek 5.8: Dominantn´ı m´ody FRC struktur
CST a TCM simulace Nyn´ı srovnejme obdrˇzen´e v´ ysledky s referenˇcn´ım simul´atorem. Prim´arnˇe byl vybr´an CST-MWS, je velice pˇresn´ y a uˇzivatelsky pˇr´ıjemn´ y. D´ale jsme do srovn´an´ı zaˇradili TCM analyz´ ator z [81], kter´ y by mohl nahradit n´aˇs CM ˇreˇsiˇc.
Obr´ azek 5.9: Proudy na struktuˇre FRC F podle TCM Jako srovn´ avac´ı objekt byl zvolen FRC F ve tˇret´ı iteraci (viz obr. 5.8, pˇr´ıpadnˇe pˇr´ımo obr. 12.11 a 12.12 v dodatc´ıch). Tento frakt´al se jev´ı jako vhodn´ y kandid´at pro dalˇs´ı optimalizaci. V´ yˇska nad zemn´ı rovinou je 1mm (v toleranci CM) a 10mm (zde jiˇz CM nepod´ av´ a optim´ aln´ı v´ ysledky). V souvislosti s nalezen´ım rezonanˇcn´ı frekvence je vhodn´e sledovat, jak (zda v˚ ubec) m˚ uˇze na dan´em m´ odu ant´ena vyzaˇrovat. Situaci pˇrehlednˇe ukazuje obr. 5.9. 62
N´ astroj pro mod´ aln´ı anal´ yzu FPA
5.6. V´ ysledky
Prvn´ı dva m´ ody maj´ı proudy orientovan´e shodn´ ym smˇerem, ty se sˇc´ıtaj´ı a vytvoˇr´ı vertik´ aln´ı, resp. horizont´ aln´ı polarizaci. Proudy tˇret´ıho m´odu (vpravo) teˇcou proti sobˇe, ant´ena m´ a v podstatˇe charakter veden´ı a nevyzaˇruje. Rozloˇzen´ı proud˚ u lze sledovat i u CM modelu, jak uk´ aˇzeme v n´asleduj´ıc´ı kapitole. Tyto proudy vypoˇc´ıt´ame z elektrick´eho pole, kter´e jsme z´ıskali z dutinov´eho modelu.
Obr´ azek 5.10: Pr˚ ubˇeh charakteristick´eho u ´hlu pro FRC F (TCM) Nalezen´e rezonanˇcn´ı frekvence z tab. 5.3 dokl´ad´a i obr. 5.10, kde je vykreslen pr˚ ubˇeh charakteristick´eho u ´hlu na frekvenci. Pomocn´a ˇc´ara (oranˇzov´a) proch´az´ı 180°, kde doch´ az´ı k rezonanci. Zde m˚ uˇzeme odeˇc´ıst rezonanˇcn´ı frekvenci prvn´ıch 3. m´od˚ u. Zobrazen´ı proud˚ u v CST pro prvn´ı 3 m´ody je uk´az´ano na obr. 5.11. Prodouv´e rozloˇzen´ı vyˇslo podobnˇe jako v TCM a CM, orientace proud˚ u odpov´ıd´a obr. 5.9. Pro zaj´ımavost uvedeme s pˇredstihem i tvar VD pro FRC F s v´ yˇskou 10mm CM 1. m´ od 2. m´ od 3. m´ od
657.76 MHz 721.05 MHz 2040.55 MHz
CST TCM IE3D v´ yˇska 1mm 735 MHz 720 MHz 745 MHz 787 MHz 775 MHz 817 MHz −(∗) 2150 MHz −(∗) (*) tento m´od nebyl
CST TCM v´ yˇska 10mm 913 MHz 890 MHz 947 MHz 915 MHz 1000 MHz 985 MHz v CST/IE3D nalezen
Tabulka 5.3: Rez. frekvence pro FRC F v simul´atorech CM, CST-MWS a TCM
63
N´ astroj pro mod´ aln´ı anal´ yzu FPA
5.7. Propojen´ı s PSO
Obr´ azek 5.11: Proudov´e rozloˇzen´ı pro 1-3 m´od kol´aˇze FRC F nad zemn´ı (nekoneˇcnou) rovinou. Horn´ı obr´azky ukazuj´ı jednotliv´e polarizace9 , jak se prom´ıtaj´ı do v´ ysledn´eho VD (spodn´ı ˇc´ast obr.). V´ ysledky jsou pro svou velikost uvedeny v dodatku 12.2, obr. 12.19 a 12.20.
5.7
Propojen´ı s PSO
Napojen´ı na rojov´ y optimaliz´ ator je realizov´ano podle obr. 10.1, z pohledu PSO je ´ bl´ıˇze pops´ ano v ˇc´ asti 8.5. Upravou geometrie patche (zmˇena pozice bod˚ u z´akladn´ıho objektu nebo koeficienty transformac´ı) lze z´ıskat niˇzˇs´ı rezonanˇcn´ı frekvenci. V pr˚ ubˇehu optimalizace doch´ az´ı k obˇcasn´emu rozdˇelen´ı kol´aˇze na v´ıce ˇc´ast´ı (vlivem zmˇeny transforamˇcn´ıch koeficient˚ u), pak je situace oˇsetˇrena v EvalInFem. K nastaven´ı optimalizace je potˇreba stanovit jednotliv´e meze a zvolit objekty, kter´e maj´ı b´ yt optimalizov´ any. Pro tento u ´ˇcel vznikl IFSLimiter, popsan´ y v 9. kapitole. Naˇc´ıt´ a zvolenou kol´ aˇz ve form´atu FRC a po nastaven´ı optimalizace exportuje PsoData promˇennou do Matlabu. Ta je vstupn´ım parametrem PSOptimizeru, kter´ y ˇr´ıd´ı celou optimalizaci a vol´ a EvalInFem jako svou fitness funkci. Pro kaˇzd´eho agenta je stanovena velikost rezonanˇcn´ı frekvence, jak bylo pops´ano v´ yˇse. Vˇse ale prob´ıh´a automaticky. Pr´ avˇe EvalInFem hraje v cel´em procesu z´asadn´ı roli, nebot’ spotˇrebuje cca. 95% ˇcasu potˇrebn´eho na jednu optimalizaci. Celkov´ y ˇcas se pohybuje v ˇr´adu hodin10 .
V´ıcep´ asmov´ a optimalizace L´akav´ a je t´eˇz moˇznost optimalizovat patch tak, aby jeho vybran´e m´ody byly n-n´asobkem / posunuty o pevnˇe danou frekvenci od m´odu pˇredeˇsl´eho. D´ıky tomu, ˇze pracujeme s IFS parametry, z˚ ust´av´a frakt´aln´ı charakter zachov´an i zde (se vˇsemi v´ yhodami). Abychom mohli specifikovat poˇzadavky na jednotliv´e m´ody, mus´ıme m´ıt moˇznost je vz´ ajemnˇe rozeznat, vˇc. eliminace duplicitn´ıch m´od˚ u. Bude potˇreba definovat i nov´e rozhran´ı, hl´ıdaj´ıc´ı v´ahov´an´ı jednotliv´ ych pˇr´ıspˇevk˚ u (v´ ysledk˚ u pro dan´ y m´ od) a jejich ohodnocov´ an´ı pro cost funkci (viz kapitola o PSO). Tento u ´kol ˇ vyˇzaduje celou ˇradu z´ asah˚ uau ´prav. Cten´aˇr se tedy bude muset spokojit pouze s touto zm´ınkou. 9 10
Zobrazen´ı vertik´ aln´ı a horizont´ aln´ı polarizace v CST je moˇzn´e s pomoc´ı Ludwig3. Pˇredpokl´ ad´ ame zhruba 5 sekund na jedno ˇreˇsen´ı CM, 20 ˇclen˚ u roje a 150 iterac´ı.
64
Kapitola 6
Vyzaˇ rovac´ı diagram Pˇredstavte si lampu! At’ je jakkoliv umˇeleck´ a a kr´ asnˇe zdoben´ a, mus´ı ” pˇredevˇs´ım sv´ıtit!“ — Honor´e de Balzac Obecn´ a ant´ena se vyznaˇcuje t´ım, ˇze vyzaˇruje resp. pˇrij´ım´a elektromagnetickou enegii r˚ uznˇe v r˚ uzn´ ych smˇerech. Zobrazen´ı tˇechto pomˇer˚ u se naz´ yv´a vyzaˇrovac´ı diagram ([11]). Vyzaˇrovac´ı diagram (VD) ˇrad´ıme mezi smˇerov´e vlastnosti ant´eny. Jsme schopni popsat na nˇem hlavn´ı lakol, vedlejˇs´ı lalok a zpˇetn´ y svazek, m˚ uˇzeme ´ odeˇc´ıst ˇs´ıˇrku svazku na poloviˇcn´ı v´ ykon (HPBW) a dalˇs´ı parametry. Uzce souvis´ı se smˇerovost´ı, uˇcinnost´ı svazku atp. Z tˇechto d˚ uvod˚ u je nutn´e pro vˇetˇsinu praktick´ ych aplikac´ı VD dan´e ant´eny zn´ at. V pˇr´ıpadˇe patchov´ ych ant´en s frakt´aln´ım povrchem jsme nuceni nejprve stanovit rozloˇzen´ı zdroj˚ u, tj. zjistit na kter´ ych m´odech ant´ena rezonuje (=vyzaˇruje) a jak. Aˇz pot´e vyuˇzijeme algoritmus EvalRadPattern, kter´ y byl v r´amci DP rozpracov´an. Pozornost bude vˇenov´ ana i moˇzn´e optimalizaci geometrie patche s ohledem na VD. Cel´a kapitola je koncipov´ ana podle Individu´aln´ıho projektu, [70].
6.1
Rozloˇ zen´ı zdroj˚ u
Vlastn´ı v´ ypoˇcet vyzaˇrovac´ıho diagramu (d´ale jen VD1 ) je zaloˇzen na ˇreˇsen´ı Maxwellov´ ych rovnic. K z´ısk´ an´ı VD je potˇreba zn´at pˇresn´e rozloˇzen´ı zdroj˚ u na povrchu ant´eny. Zdroji zde mysl´ıme: (a) hustotu elektrick´eho proudu J, nebo (b) fiktivn´ı magnetickou proudovou hustotu M. 1
M´ ame na mysli smˇerovou, pˇr´ıpadnˇe vyzaˇrovac´ı charakteristiku. Principy reciprocity a duality zajiˇst’uj´ı, ˇze jsou shodn´e. Viz [11], [32].
65
N´ astroj pro mod´ aln´ı anal´ yzu FPA
6.1. Rozloˇ zen´ı zdroj˚ u
Obr´ azek 6.1: Postup v´ ypoˇctu, ve shodˇe s [29] Tyto moˇznosti zobrazuje i obr. 6.1. Proudy nejsou pro dan´ y typ patche dopˇredu ’ zn´amy, nebot jsou z´ avisl´e na tvaru ant´eny. Zat´ımco elektrick´e proudy jsou ide´aln´ı pro dr´ atov´e ant´eny, pro patchov´e ant´eny (tedy ploˇsn´e, d´ale plat´ı i pro trycht´ yˇre) je vhodnˇejˇs´ı vyuˇz´ıt ekvivalentn´ıch magnetick´ ych proud˚ u (kter´e teˇcou po hran´ach patche). Z´ısk´ ame-li totiˇz hodnoty tˇechto proud˚ u, je urˇcen´ı vyz´aˇren´eho pole jednoduˇsˇs´ı2 . Oba postupy, jak z´ıskat tyto proudy, jsou uvedeny d´ale. V dalˇs´ım kroku se mus´ıme rozhodnout, zda budeme VD urˇcovat pˇr´ımo z Maxwellov´ ych rovnic (d´ ale MR), nebo si odvozov´an´ı zjednoduˇs´ıme zaveden´ım potenci´ al˚ u (tento postup je obecnˇe preferov´an). Vektorov´ y potenci´al A, i skal´arn´ı potenc. F vyuˇz´ıv´ aj´ı zn´ am´ ych diferenci´aln´ıch identit ke zjednoduˇsen´ı tvaru MR. Zde pouze nast´ın´ıme myˇslenku potenci´al˚ u3 . Pro vektorov´ y potenci´ al A vyuˇzijeme skuteˇcnosti, ˇze: div(rotA) = 0,
(6.1)
pro libovoln´ y vektor A. V oblasti beze zdroj˚ u (tj. v nezˇr´ıdlov´em poli) potom pˇrepisujeme z MR: divB = 0, (6.2) tedy BA = µHA = rotA. Koneˇcnˇe HA =
(6.3)
1 rotA. µ
(6.4)
Podobnˇe pro potenci´ al F pokl´ ad´ame: div(−rotF) = 0, pro nezˇr´ıdlovou oblast je Gauss˚ uv z´akon tedy (pˇredpokl´ ad´ ame linearitu oper´ator˚ u): DF = −rotF, 2
(6.5) elektrostatiky
divD
=
0
(6.6)
Jak z hlediska praktick´eho, tak z hlediska ˇcasov´e n´ aroˇcnosti v´ ypoˇctu. Z´ apis m´ a notaci ve shodˇe s [29] a [32], pouze znaˇcen´ı grad (∇), dif (∇•) a rot (∇×) respektuje evropsk´e, nikoli americk´e zvyklosti (tedy varianty vnˇe z´ avorek). 3
66
N´ astroj pro mod´ aln´ı anal´ yzu FPA
6.2. Odvozen´ı potˇ rebn´ ych vztah˚ u
1 EF = − rotF. (6.7) Vztahy (6.4) a (6.7) jsou symetrick´e. Po odvozen´ı VD (uvedeno v dalˇs´ı ˇc´asti) je ˇ sen´ı jednotliv´ potˇreba db´ at na spr´ avn´e znaˇcen´ı souˇradnicov´eho syst´emu. Reˇ ych sloˇzek zpravidla z´ısk´ ame v kart´ezsk´ ych souˇradnic´ıch, je tedy potˇreba tyto v´ ysledky pˇrev´est do souˇradnic sf´erick´ ych (transformaˇcn´ı matice), nebo s t´ımto pˇrevodem poˇc´ıtat jiˇz pˇri vlastn´ım v´ ypoˇctu. Nezbytn´ ym krokem je normov´an´ı, ˇcasto prov´adˇen´e aˇz po zlogaritmov´ an´ı v´ ysledk˚ u (pro velkou dynamiku je zobrazen´ı VD v logaritmick´em mˇeˇr´ıtku mnohem n´ azornˇejˇs´ı). Nyn´ı pˇristupme k v´ ykladu jednotliv´ ych partikul´arn´ıch probl´em˚ u.
6.2
Odvozen´ı potˇ rebn´ ych vztah˚ u
Vych´ az´ıme ze z´ akladn´ıho tvaru Maxwellov´ ych rovnic: rotH = J +
∂D , ∂t
(6.8)
1 divE = ρ. (6.9) Uv´aˇz´ıme-li dualitu mezi elektrick´ ym a magnetick´ ym polem (E → H,H → −E,J → M, atd., v´ıce v [32]), m˚ uˇzeme ps´at ekvivatelnˇe: rotE = −M − divH =
∂B , ∂t
1 ρm . µ
(6.10) (6.11)
N´aboj ρm a proudov´ a hustota M jsou pouze fiktivn´ı, protoˇze fyzik´aln´ı representace tˇechto veliˇcin nen´ı zn´ ama. Pˇresto tento formalismus pod´av´a spr´avn´e v´ ysledky. Zn´ ame-li rozloˇzen´ı proud˚ u – skuteˇcn´ ych nebo fiktivn´ıch, je ˇreˇsen´ı (vnˇejˇs´ı) u ´lohy podobn´e. Nalezen´ı zdroj˚ u se vˇenuj´ı ˇc´asti 6.3 a 6.4, nyn´ı pˇredpokl´adejme, ˇze tyto zdroje (J a M) zn´ ame. Rovnice ˇreˇs´ıme s pomoc´ı zaveden´ ych potenci´al˚ u podle [32]. Po dosazen´ı a u ´pravˇe dost´ av´ ame: E = −gradF −
∂A 1 − rotAm ∂t
(6.12)
∂Am 1 + rotA, ∂t µ
(6.13)
a H = −gradFm −
kde F a A jsou elektrick´e potenci´aly a Fm a Am jsou magnetick´e potenci´aly. Splˇ nuj´ı ˇ Lorenzovy podm´ınky. Reˇsen´ı pro elektrick´e potenci´aly: ZZZ 1 F(r) = ρ(r0 )G(r − r0 )dV 0 , (6.14) V 67
N´ astroj pro mod´ aln´ı anal´ yzu FPA
6.2. Odvozen´ı potˇ rebn´ ych vztah˚ u
Obr´ azek 6.2: K odvozen´ı vyzaˇrovac´ıho diagramu ZZZ A(r) = µ
J(r0 )G(r − r0 )dV 0
(6.15)
ρm (r0 )G(r − r0 )dV 0 ,
(6.16)
M(r0 )G(r − r0 )dV 0 .
(6.17)
V
a magnetick´e potenci´ aly: Fm (r) =
1 µ
ZZZ V
ZZZ Am (r) = V
Funkci G(r1 − r2 ) rozep´ıˇseme: 0
G(r − r0 ) =
e−jk|r−r | , 4π|r − r0 |
(6.18)
ˇ s´ıme-li u vektory r a r0 ukazuje obr. 6.2. Reˇ ´lohu ve vzd´alen´e oblasti, je r r0 a r0 proto zanedb´ av´ ame. Nav´ıc R k r. Pro R tedy plat´ı: r − r0 cosψ pro f´azi R= (6.19) r pro amplitudu Maxim´ aln´ı f´ azov´ a chyba t´eto aproximace je vzd´alenost r je alespoˇ n: 2D2 r≥ λ kde D je nejvˇetˇs´ı rozmˇer ant´eny.
68
π 8,
za pˇredpokladu, ˇze pozorovac´ı (6.20)
N´ astroj pro mod´ aln´ı anal´ yzu FPA
6.2. Odvozen´ı potˇ rebn´ ych vztah˚ u
D´ ale si budeme vˇs´ımat pouze relevantn´ıch vztah˚ u (6.15) a (6.17) (podle [29]). Ty lze pˇrepsat n´ asledovnˇe: −jkr ∼ µe A= N (6.21) 4πr e−jkr L, (6.22) 4πr kde (odsud d´ ale pˇredpokl´ ad´ ame ploch´ y patch v rovinˇe x-y, sloˇzku z vypouˇst´ıme) ZZ 0 J(x, y)ejkr cos ψ dxdy (6.23) N= F∼ =
x,y
a
ZZ
0
M(x, y)ejkr
L=
cos ψ
dxdy.
(6.24)
x,y
Ve vztaz´ıch v´ yˇse jsou vytknut´e integr´aly, kter´e jsou podstatn´e pro tuto pr´aci a tak´e upraven´ y pr˚ uvodiˇc, kter´ yu ´lohu zjednoduˇsuje. Nyn´ı vynech´ame nˇekolik pˇrepis˚ u, kter´e nejsou pˇr´ıliˇs d˚ uleˇzit´e (ˇcten´ aˇr je m˚ uˇze nal´ezt na str. 287 v [29]) a uvedeme rovnou vztahy pro vyzaˇrov´ an´ı v jednotliv´ ych ˇrezech: Er ∼ =0
(6.25)
−jkr
jke Eθ ∼ =− 4πr
Lφ + ηNθ
(6.26)
jke−jkr Lθ − ηNφ Eφ ∼ = 4πr
(6.27)
Integr´ aly ˇreˇs´ıme numericky, jde tedy o souˇcet dvou sum. Podle transformace (6.40) m˚ uˇzeme jednotliv´e sloˇzky v integr´alech rozn´asobit: Z xmaxZ ymax 0 (Jx cos θ cos φ + Jy cos θ sin φ)ejkr cos ψ dxdy (6.28) Nθ = ymin
xmin
Z
xmaxZ ymax
Nφ = xmin
(−Jx sin φ + Jy cos φ)ejβr
0
cos ψ
dxdy
(6.29)
ymin
Analogicky: Z
xmaxZ ymax
Lθ = xmin
(Mx cos θ cos φ + My cos θ sin φ)ejkr
0
cos ψ
dxdy
(6.30)
ymin
Z
xmaxZ ymax
Lφ = xmin
(−Mx sin φ + My cos φ)ejβr
0
cos ψ
dxdy
(6.31)
ymin
D´ale potˇrebujeme vyj´ adˇrit pr˚ uvodiˇc r0 cos ψ pomoc´ı veliˇcin, kter´e zn´ame. Vyuˇzijeme vztahu 6-127a aˇz 6-127c v [29] , nebot’ n´ami definovan´a soustava je podobn´a. r0 cos ψ = r0 ·aˆr = (aˆx x0 + aˆy y 0 )·(aˆx sin θ cos φ + aˆy sin θ sin φ) 69
(6.32)
N´ astroj pro mod´ aln´ı anal´ yzu FPA
6.2. Odvozen´ı potˇ rebn´ ych vztah˚ u
Pro pozici pozorovatele m˚ uˇzeme vyj´adˇrit: r0 cos ψ = x0 sin θ cos φ + y 0 sin θ sin φ
(6.33)
Z v´ yˇse uveden´eho lze vztahy shrnout: ZZ jkηe−jkr 0 0 (Kx cos φ + Ky sin φ) cos θ ejk(x sin θ cos φ+y sin θ sin φ) dxdy Eθ = 4πr (x,y) (6.34) ZZ −jkr jkηe 0 0 Eφ = (−Kx sin φ + Ky cos φ)ejk(x sin θ cos φ+y sin θ sin φ) dxdy (6.35) 4πr (x,y) K zastupuje zdroje: M podle n´asleduj´ıc´ı ˇc´asti 6.3 nebo J podle ˇc´asti 6.4. Z´avˇerem uved’me pomocn´e vztahy potˇrebn´e k vyˇc´ıslen´ı integr´al˚ u: r µ η = = Z0 , (6.36) 2π β = = k, (6.37) λ c0 =⇒ (6.38) λ = f √ β = ω µ, (6.39) transformaˇcn´ı matici z kart´ezsk´e do sf´erick´e souˇradn´e soustavy: sin(θ)cos(φ) sin(θ)sin(φ) cos(θ) Tx Tr Tθ = cos(θ)cos(φ) cos(θ)sin(φ) −sin(θ) · Ty −sin(φ) cos(φ) 0 Tz Tφ a pro u ´plnost i opaˇcnˇe (matice je symetrick´a pod´el hlavn´ı diagon´aly): Tx sin(θ)cos(φ) cos(θ)cos(φ) −sin(φ) Tr Ty = sin(θ)sin(φ) cos(θ)sin(φ) cos(φ) · Tθ Tz cos(θ) −sin(θ) 0 Tφ
70
(6.40)
(6.41)
N´ astroj pro mod´ aln´ı anal´ yzu FPA
6.3
6.3. Magnetick´ e proudy
Magnetick´ e proudy
Obr´ azek 6.3: Pole Ez na hranici (vlevo) a nad cel´ ym patchem (vpravo) Na z´ akladˇe principu ekvivalence lze odvodit vztahy pro vyzaˇrov´an´ı u ´zk´e ˇstˇerbiny – apertury. Jako zdroj z´ aˇren´ı ch´apeme hrany patche, resp. n´aboj, kter´ y se hromad´ı na tˇechto hran´ ach d´ıky pˇrit´ekaj´ıc´ımu proudu z plochy ant´eny. Tyto proudy znaˇc´ıme M a naz´ yv´ ame je magnetick´e proudy4 . Pole Ez vybud´ı (indukuje) v tˇechto m´ıstech proudy se sloˇzkami x a y: M(x, y) = zEz × nout (6.42) Z´ısk´ an´ı jednotliv´ ych skal´ arn´ıch sloˇzek Ez zajiˇst’uje EvalRadPattern skrze Comsol. V´ ysledek vid´ıme na obr. 6.3 vlevo.
Obr´ azek 6.4: Stanoven´ı norm´aly na frakt´aln´ı hranici 4
V tomto pˇr´ıpadˇe je n´ azev pouze konvenc´ı. Viz [30], [31], [32].
71
N´ astroj pro mod´ aln´ı anal´ yzu FPA
6.3. Magnetick´ e proudy
Do vˇetˇs´ıch pot´ıˇz´ı se dost´ av´ame, m´ame-li stanovit vnˇejˇs´ı norm´alu nout v jednotliv´ ych bodech Ez . Situaci objasˇ nuje obr. 6.4, kde vlevo vid´ıme rozloˇzen´ı pole a pˇr´ısluˇsn´e norm´ aly a vpravo nˇekolik norm´al na hran´ach sloˇzitˇejˇs´ıho frakt´alu. Probl´em je dvoj´ı – zaprv´e urˇcit vektor norm´aly z dostupn´ ych u ´daj˚ u v Comsolu, zadruh´e urˇcit smˇer norm´ aly (a to i v m´ıstech uprostˇred kol´aˇze). Autor DP se pokouˇsel tyto u ´daje importovat z Comsolu do Matlabu, avˇsak neuspˇel. Poˇzadujeme totiˇz import dat, ke kter´ ym je pˇr´ıstup mimo grafick´e rozhran´ı Comsolu obt´ıˇzn´ y, nebot’ se jedn´a o data 5 upraven´ a n´ asledn´ ym postprocessingem .
6.3.1
Rekonstrukce patche, z´ısk´ an´ı dat pro norm´ alu
Na pˇr´ıkladu obd´eln´ıkov´eho patche (zad´an ˇctveˇric´ı body) ukaˇzme vyuˇziteln´a data: 1. Geometrie: • geom2get(fem.geom,’p’) nebo geom2get(fem.geom,’mp’). Jde o rohov´e body obd´eln´ık˚ u na obr. 6.5, tj. o body, kter´e zadal uˇzivatel. −0.6 −0.6 −0.2 −0.2 (6.43) body = 0 0.2 0 0.2 • geom2get(fem.geom,’rb’), struktura obsahuje dvˇe pole. Prvn´ı obsahuje ˇc´ısla kˇrivek (subdomains, ˇc´ıslice 1 - 4 nalevo), druh´e jejich smˇer (ˇsipky domains direction). 2. Mesh (import z: ptd = posteval(fem,’Ez’,’solnum’,1,’U’,fem.sol,’Edim’,1,. . . ’Refine’,1): • ptd.p popisuje spojen´ı vˇsech nod˚ u (vˇc. tˇech, co vzniknout pˇri diskretizaci patche – na obr. 6.5 znaˇceny zelen´ ymi body). Svisl´e oddˇelovac´ı ˇc´ary matice neobsahuje, pro pˇrehlednost je ovˇsem doplˇ nujeme. −0.6 −0.6 −0.6 | −0.6 −0.5 −0.4 . . . nody = 0 0.1 0.2 | 0 0 0 ... . . . −0.4 −0.3 −0.2 | −0.6 −0.5 −0.4 . . . ... 0 0 0 | 0.2 0.2 0.2 . . . . . . −0.4 −0.3 −0.2 | −0.2 −0.2 −0.2 . . . 0.2 0.2 0.2 | 0 0.1 0.2
(6.44)
• ptd.t ukazuje na smˇery mezi jednotliv´ ymi nody (opˇet po skupin´ach, ˇcerven´e ˇsipky na prav´em obd´eln´ıku). 1 2 | 4 5 | 7 8 | ... spoj = 2 3 | 5 6 | 8 9 | ... 5
Comsol disponuje dvojic´ı funkc´ı, kter´e tento neduh ˇreˇs´ı: postinterp a posteval. Pr´ ace s nimi prob´ıh´ a skrze prompt Matlabu a nastaven´ı sloˇzitˇejˇs´ıch pˇr´ıkaz˚ u je zdlouhav´e a komplikovan´e. Nav´ıc zjiˇstˇen´ı norm´ aly touto funkc´ı trv´ a velice dlouho.
72
N´ astroj pro mod´ aln´ı anal´ yzu FPA
6.3. Magnetick´ e proudy
. . . 10 11 | 13 14 | 16 17 . . . 11 12 | 14 15 | 17 18
(6.45)
• ptd.d je matice o velikosti (1, pocet nodu), obsahuje ˇreˇsen´ı pole Ez v nodech ptd.p. res = 1.336 1.325 1.340 1.336 0.936 −0.011 . . . . . . −0.011 −0.936 −1.339 1.340 0.937 0 . . . . . . 0 −0.935 −1.337 −1.339 −1.324 −1.337
(6.46)
3. Promˇenn´ a fem programu Comsol: • fem.mesh.p representuje vˇsechny nody mesh s´ıtˇe −0.6 −0.4 −0.5 −0.6 −0.4 −0.2 −0.3 −0.2 sit = (6.47) 0 0 0.1 0.2 0.2 0.2 0.1 0 • fem.mesh.v ukazuje na ta m´ısta matice fem.mesh.p, na kter´ ych figuruj´ı body zadan´e uˇzivatelem. Pr´avˇe pomoc´ı t´eto matice lze z´ıskat prvn´ı pˇredstavu o tvaru frakt´alu. Druh´a ˇr´adka t´eto matice obsahuje zpravidla hodnoty NaN. umist = 1 4 6 8 (6.48)
Obr´ azek 6.5: K norm´ale v Comsolu
6.3.2
Smˇ er norm´ aly
Podaˇr´ı-li se n´ am sestavit patch, coˇz je s ohledem na uveden´a data obt´ıˇzn´ y u ´kol6 , nar´aˇz´ıme st´ ale na probl´em s norm´alou. Podle vztahu (6.42) m´ame smˇer Ez vyj´adˇren 6
V´ yˇse uveden´ y pˇr´ıklad zobrazuje pouze obd´eln´ıkov´ yu ´tvar se ˇctyˇrmi body, v praxi vˇsak zad´ av´ ame frakt´ al pomoc´ı mnoha polygon˚ u s typicky 4 a v´ıce hranami. Po sjednocen´ı na jeden patch se data nikterak neˇrad´ı. V Comsolu toto prov´ ad´ı j´ adro volan´e pomoc´ı Javy, nelze se tedy pod´ıvat jak je u ´kol ˇreˇsen tam.
73
N´ astroj pro mod´ aln´ı anal´ yzu FPA
6.3. Magnetick´ e proudy
jednoznaˇcnˇe – vˇzdy pouze ve smˇeru +z nebo -z. Norm´ala nout je z´avisl´a na orientaci hrany (spojuje body 1 a 2 na obr. 6.6) a lze si tedy pˇredstavit dvˇe moˇznosti (ˇcerven´e ˇsipky). Stanovit spr´ avn´ y smˇer norm´aly pouze s ohledem na geometrii samotn´eho patche se doposud nepodaˇrilo7 . Krok opaˇcn´ ym smˇerem, tedy z´ısk´an´ı v´ıce informac´ı o geometrii, je tak´e nemoˇzn´ y (uk´az´ano v´ yˇse).
6.3.3
Vyuˇ zit´ı hodnot NaN z Comsol gridu
Jeden z alternativn´ıch postup˚ u vyuˇz´ıv´a matici hodnot, kterou z´ısk´ame, dot´aˇzeme-li se Comsolu na hodnoty pole nad patchem. Tento n´avrh je inspirov´an nˇekter´ ymi funkcemi Matlabu, pˇresnˇeji tˇemi, kter´e pracuj´ı s NaN hodnotou. Funkce postinterp dok´ aˇze velice rychle vr´atit8 velikost elektrick´eho pole nad patchem. Zobrazeno na obr. 6.3 vpravo. Vid´ıme, ˇze vrac´ı hodnoty v gridu. V m´ıstech, kde nen´ı hodnota zn´ ama (tj. mimo plochu patche) vrac´ı Comsol hodnoty NaN. Pro jednoduch´ y patch m˚ uˇzeme dostat napˇr´ıklad takovouto matici: 5 3.5 N aN N aN N aN −5 5 3.5 N aN N aN N aN −5 (6.49) 5 3.5 1.5 N aN N aN −5 5 3.5 1.5 −1.5 −3.5 −5 Za norm´ aln´ıch podm´ınek NaN pouze indikuje – ve shodˇe s definic´ı IEEE-745 jako Not a Number – absenci ˇreˇsen´ı v t´eto oblasti. Z naˇseho pohledu jde v podstatˇe o redundantn´ı data, pro kter´ a vˇsak lze nal´ezt uplatnˇen´ı9 . Vrat’me se nyn´ı k obr. 6.6 s dvˇemi moˇzn´ ymi norm´ alami. Jedna m´ıˇr´ı pˇr´ımo do patche a druh´a ven. M´ıˇr´ı-li ven, smˇeˇruje konec norm´ aly k hodnotˇe NaN, pˇr´ıp. – s uv´aˇzen´ım pˇr. 6.49 a faktu, ˇze Comsol bere grid pouze tˇesnˇe kolem ant´eny – mimo matici gridu. Tato idea byla rozpracov´ ana kr´ atce pˇred dokonˇcen´ım diplomov´e pr´ace, proto nen´ı testov´ana. Jej´ı implementace by vˇsak nemusela b´ yt pˇr´ıliˇs sloˇzit´a a pr´ace s maticemi NaN hodnot je v Matlabu velmi rychl´ a. Tento postup lze vyuˇz´ıt i pro rekonstrukci tvaru patche, popisovan´e v ˇc´ asti 6.3.1. Po z´ısk´ an´ı tˇechto proud˚ u bychom jiˇz pouze integrovali pod´el hranice patche C : Z 0 M= M(c)ejkr cosψ dc, (6.50) C
v´ ysledek pˇrevedli do sf´erick´ ych souˇradnic (transformaˇcn´ı matice (6.40)) a normovali. Integr´ al (6.50) uv´ ad´ıme s ohledem na odvozen´ı v ˇc´asti 6.2 (vzorec (6.24)). Ot´azkou vˇsak z˚ ust´ av´ a, zda do kˇrivky C zapoˇc´ıt´av´ame i vnitˇrn´ı hranice patche (6 dˇer na obr. 6.7). Tyto hrany tak´e vyzaˇruj´ı, nev´ıme vˇsak, jak moc se pod´ıl´ı na v´ ysledn´em tvaru diagramu. 7
Tato ˇca ´st byla konzultov´ ana nez´ avisle s nˇekolika vyuˇcuj´ıc´ımi na katedˇre matematiky – bez v´ ysledku. 8 Plat´ı do poˇctu cca. 10000 element˚ u. 9 Napˇr. je zaj´ımav´e sledovat procentu´eln´ı obsah NaN˚ u v IFS frakt´ alech. Tuto hodnotu vrac´ı EvalRadPattern. Zpravidla jde o 20-45%, tj. IFS frakt´ al zab´ır´ a obvykle 55-80% plochy. Pˇr´ıklad 6.49 obsahuje 33.3% NaN hodnot. Tak m˚ uˇzeme odhadnout i obsah patche. Zjemˇ nov´ an´ım gridu nav´ıc z´ısk´ ame rychlou a velice jednoduchou metodu odhadu mˇr´ıˇzkov´e dimenze.
74
N´ astroj pro mod´ aln´ı anal´ yzu FPA
6.4. Povrchov´ e elektrick´ e proudy
Obr´ azek 6.6: Stanoven´ı norm´aly pomoc´ı NaN
6.4
Povrchov´ e elektrick´ e proudy
Obr´ azek 6.7: Povrchov´e proudy pro 3000 element˚ u, napravo rozloˇzen´ı Ez Druh´ a moˇznost, jak nal´ezt zdroje, je jist´ ym zp˚ usobem komplement´arn´ı k moˇznosti uveden´e v´ yˇse. V tomto pˇr´ıpadˇe teˇcou proudy pˇres celou plochu patche, coˇz znesnadˇ nuje v´ ypoˇcet VD, nebot’ jsme nuceni integrovat postupnˇe pˇres vˇsechny zn´am´e zdroje (tedy body plochy), a to pro vˇsechny zvolen´e body10 na kouli ve vzd´alen´e oblasti. Dalˇs´ım znepˇr´ıjemnˇen´ım je pˇr´ıtomnost zemn´ı roviny (obr. 6.9). Ta p˚ usob´ı jako zrcadlo, teˇcou po n´ı tedy tak´e proudy a mus´ıme je zahrnout do v´ ypoˇctu, coˇz lze prov´est n´ asoben´ım faktorem: GF = 2sin(khcos(θ)). 10
(6.51)
Tyto body jsou stanoveny na z´ akladˇe kroku pro u ´hly θ a φ; krok zad´ av´ a uˇzivatel, pˇri uv´ aˇzen´ı kompromisu mezi rychlost´ı a pˇresnost´ı.
75
N´ astroj pro mod´ aln´ı anal´ yzu FPA
6.5. Simulace v CST
Obr´ azek 6.8: Povrchov´e proudy, 4.m´od, v´ıce element˚ u Faktor GF je v podstatˇe roven tzv. array factoru AF (AF = 2cos(khcos(θ))). Zat´ımco GF odpov´ıd´ a konfiguraci dvou protif´azov´ ych dip´ol˚ u, faktor AF poˇc´ıt´a se souf´azovˇe um´ıstˇen´ ymi dip´ oly (zpravidla dip´oly vedle sebe). Proud se indukuje vlivem elektrick´eho pole Ez , coˇz lze postihnout n´asledovnˇe: H=
1 Z0 × gradEz , jωµ
(6.52)
J = n × H.
(6.53)
Co do velikosti je proud J ≈ gradEz a s pˇrihl´ednut´ım k vektorov´ ym souˇcin˚ um hled´ame proudy v Matlabu n´ asledovnˇe: J(x, y) = −gradEz
(6.54)
Korelace rozloˇzen´ı elektrick´eho pole a tekouc´ıch proud˚ u zobrazuje obr. 6.7. Poˇcet sloˇzek Ez lze v EvalRadPattern ovlivˇ novat, v´ ysledn´e proudy vypoˇcten´e z jemnˇejˇs´ıho gridu jsou na obr. 6.8.
76
N´ astroj pro mod´ aln´ı anal´ yzu FPA
6.5. Simulace v CST
Obr´ azek 6.9: Zahrnut´ı nekoneˇcn´e zemn´ı roviny
Obr´ azek 6.10: Vyzaˇrov´ an´ı dip´olu, d´elka
6.5
λ 2,
3D diagram z CST MWS
Simulace v CST
Pro porovn´ an´ı s v´ ysledky v Matlabu byla provedena simulace v programu CST Microwave Studio. Zat´ımco v Matlabu poˇc´ıt´ame VD obd´eln´ıhov´eho patche, v CST byl simulov´ an dr´ atov´ y dip´ ol (elektrick´a d´elka zvolena podle poˇzadovan´eho m´odu λ2 a 3 redpokl´ ad´ ame ale, ˇze velice tenk´ y dlouh´ y patch bez zemn´ı roviny vyzaˇruje ve 2 λ). Pˇ dvou rovin´ ach podobnˇe jako dip´ol. Obr´azky 6.11 a 6.10 odpov´ıdaj´ı nap´ajen´ı jednou proudovou p˚ ulvlnou, obr. 6.12 a 6.13 pak nap´ajen´ı na trojn´asobn´e frekvenci. P˚ ul vlny dlouh´ y dip´ ol m´ a HPBW 78° a smˇerovost 2.15dB. Zde vyˇsly ponˇekud odliˇsn´e hodnoty (zejm. HPBW o nˇekolik stupˇ n˚ u), to vˇsak nen´ı podstatn´e, jde n´am pˇredevˇs´ım o tvar VD. Dalˇs´ı moˇznost´ı je simulace u ´zk´eho patche (staˇc´ı upravit pˇreddefinov´ y model). Protoˇze vˇsak CST modeluje vyzaˇrovac´ı diagram pouze pro θ ∈ (0, π) a φ ∈ (0, 2π), dos´ahneme stejn´ ych v´ ysledk˚ u jako v pˇr´ıpadˇe tenk´eho dip´olu.
77
N´ astroj pro mod´ aln´ı anal´ yzu FPA
6.6. Realizace – EvalRadPattern
Obr´ azek 6.11: Vyzaˇrov´an´ı dip´olu, d´elka
λ 2,
ˇrezy CST MWS
Obr´ azek 6.12: Vyzaˇrov´ an´ı dip´olu, d´elka 23 λ, 3D diagram z CST MWS
6.6 6.6.1
Realizace – EvalRadPattern V´ ypoˇ cet proud˚ u
Nejprve je potˇreba stanovit mˇr´ıˇzku, pro jej´ıˇz uzly bude zjiˇstˇena hodnota Ez . Jej´ı velikost m˚ uˇze stanovit uˇzivatel, a to souhrnˇe nebo zvl´aˇst’ pro smˇer x i y. Import rozloˇzen´ı elektrick´eho pole z Comsolu zab´ır´a v cel´em postupu nejv´ıce ˇcasu a je silnˇe z´avisl´ y na jemnosti zadan´eho gridu, srovn´an´ı poskytuj´ı obr. 6.7 vlevo a 6.8. Z´ıskan´ a matice Ez je ˇr´ adkov´a a proto ji pomoc´ı funkce reshape pˇrevedeme na ˇctvercovou (obd´eln´ıkovou podle typu gridu). Nyn´ı stanov´ıme gradient, proudy ˇ ast tohoto postupu byla vyuˇzita i pro funkci Evaluloˇz´ıme a pˇr´ıpadnˇe vykresl´ıme. C´ InFem.
78
N´ astroj pro mod´ aln´ı anal´ yzu FPA
6.6. Realizace – EvalRadPattern
Obr´ azek 6.13: Vyzaˇrov´an´ı dip´olu, d´elka 23 λ, ˇrezy CST MWS
6.6.2
Algoritmus
Vlastn´ı integraci realizujeme pomoc´ı sumace pomocn´ ych matic. K v´ ypoˇctu pˇr´ırustk˚ u pouˇz´ıv´ ame jednoduchou obd´eln´ıkovou metodu (obr. 6.14), kter´a je v tomto pˇr´ıpadˇe dostaˇcuj´ıc´ı aproximac´ı, [24]. Postupn´ ym zjednoduˇsov´an´ım algoritm˚ u pˇrech´az´ıme z cykl˚ u for na indexaci matic, ˇc´ımˇz dramaticky zkracujeme dobu v´ ypoˇctu.
Obr´ azek 6.14: K obd´eln´ıkov´e metodˇe Naprogramovali jsme nˇekolik variant v´ ypoˇctu. Postupnˇe se podaˇrilo zkr´atit v´ ypoˇcet na cca. 5% ˇcasu. Pˇreveden´ı odvozen´ ych integr´al˚ u (6.34) a (6.35) se uk´azalo jako nejvˇetˇs´ı probl´em a tato ˇc´ ast nen´ı dokonˇcena. Zv´ yˇsen´e pozornosti je potˇreba db´at pˇri pˇrevodu proud˚ u a zpˇetn´em pˇrepoˇctu vypoˇcten´eho vyzaˇrovac´ıho diagramu. K v´ ysledk˚ um v´ıce v ˇc´ asti 6.7.
6.6.3
GUI
Grafick´e rozhran´ı je zobrazeno na obr. 6.15. Okno postr´ad´a ovl´adac´ı prvky, pouze informuje o pr˚ ubˇehu v´ ypoˇctu a nastaven´ı. V kontextu optimalizace jsou ovl´adac´ı prvky neˇz´adouc´ı. Jde o podobn´ y solver jako EvalInFem s totoˇzn´ ym zp˚ usobem pˇripojen´ı na
79
N´ astroj pro mod´ aln´ı anal´ yzu FPA
6.7. Rozbor v´ ysledk˚ u
PSO. Poˇcet operac´ı (Ops vlevo nahoˇre) ovlivˇ nuje rychlost jednoho v´ ypoˇctu. Inicializace GUIe prob´ıh´ a automaticky a v pˇr´ıpadˇe PSO optimalizace je okno i automaticky uzavˇreno.
Obr´ azek 6.15: EvalRadPattern (screenshot)
6.6.4
Optimalizace
Optimalizace VD bude plnˇe vyuˇziteln´a aˇz po dokonˇcen´ı funkce OptimRadPattern, kter´a ˇr´ıd´ı vˇsechny u ´koly spojen´e s v´ ypoˇctem VD a v´ahuje z´ıskan´e v´ ysledky. Pak bude moˇzn´e zvolit i v´ıce c´ıl˚ u s v´ ahou kaˇzd´eho z nich. Budeme schopni tak´e maximalizovat vyzaˇrov´ an´ı v urˇcit´em smˇeru, pˇr´ıpadnˇe omezit postrann´ı laloky. A to i pro vybran´ y m´od. V´ıce k optimalizaci ve zb´ yvaj´ıc´ıch kapitol´ach.
6.7
Rozbor v´ ysledk˚ u
Obr´ azek 6.16: Sloˇzky Fx a Fy v kart´ezsk´ ych souˇradnic´ıch 80
N´ astroj pro mod´ aln´ı anal´ yzu FPA
6.7. Rozbor v´ ysledk˚ u
Podle zad´ an´ı jsme analyzovali u ´zk´ y patch s rozmˇery x = 10cm, y = 0.5cm. N´asleduj´ıc´ı obr´ azky (6.16 a 6.17) zobrazuj´ı obdrˇzen´e v´ ysledky. Pro lepˇs´ı orientaci v ˇrezech je pˇriloˇzeno sch´ema 6.18. Pro modelov´ y pˇr´ıklad z´ısk´av´ame oˇcek´avan´e tvary VD. Adekv´ atn´ı normov´ an´ı v Matlabu je ve spojitosti s vyzaˇrov´an´ım ponˇekud delik´atn´ı probl´em, protoˇze jednotliv´e souˇctov´e sloˇzky (vybuzen´e element´arn´ımi proud. zdroji) se svou velikosti pohybuj´ı na hranici pˇr´ıpustn´e pˇresnosti (eps).
Obr´ azek 6.17: VD velice u ´zk´eho patche Pˇri v´ ypoˇctech VD se vyskytly jist´e nepˇresnosti (tvar nˇekter´ ych frakt´aln´ıch kˇrivek se v˚ ubec neprom´ıtne do v´ ysledn´eho ˇreˇsen´ı). Jejich zdroj se doposud nepodaˇrilo odhalit – m˚ uˇze j´ıt o implementaci v´ ypoˇctu, pˇrevod z kazt´ezsk´ ych do sf´erick´ ych souˇradnic (v nespr´ avnou chv´ıli), pˇr´ıpadnˇe o nepˇresn´e uv´aˇzen´ı v´ ychoz´ıch vztah˚ u.
Obr´ azek 6.18: Orientace diagram˚ u, barvy koresponduj´ı s obr. 6.17 Pˇres veˇskerou snahu se zat´ım nepodaˇrilo tuto ˇc´ast zcela dokonˇcit. D˚ uvodem je zejm´ena ˇcasov´ a n´ aroˇcnost (mnoho ˇcasu zabral efektivn´ı export zdrojov´ ych dat z Comsolu11 ), ale tak´e paraleln´ı pr´ace na dalˇs´ıch ˇc´astech (viz dodatek 12.3). Po odstranˇen´ı tˇechto drobnost´ı se v´ ypoˇcet VD stane uˇziteˇcn´ ym pomocn´ıkem pˇri anal´ yze i optimalizaci IFS patch ant´en. 11
P˚ uvodn´ı z´ amˇer byl v´ ypoˇcet z magnetick´ ych proud˚ u, avˇsak v cestˇe stoj´ı zmiˇ novan´e pot´ıˇze s urˇcen´ım smˇeru norm´ aly.
81
Kapitola 7
PSO optimalizace Zaprv´e: matematika je jazykem pˇr´ırody. Zadruh´e: vˇse kolem n´ as m˚ uˇze ” b´yt reprezentov´ ano a pochopeno ˇc´ısly. Zatˇret´ı: pokud zn´ azorn´ıte ˇc´ısla jak´ehokoliv syst´emu, objev´ıte vzory. Tud´ıˇz, vzory jsou vˇsude v pˇr´ırodˇe. D˚ ukaz?“ — prolog filmu Pi (Darren Aronofsky, 1998) V mnoha vˇedn´ıch oblastech je nezbytnou souˇc´ast´ı n´avrhu syst´emu jeho optimalizace. D˚ uvodem je prost´ y fakt, ˇze ne vˇse lze jednoduˇse spoˇc´ıtat. Pro funkci f : S −→ Rn hled´ ame bod xm ∈ S takov´ y, ˇze: f (xm ) ≤ f (x),
∀x ∈ S.
(7.1)
Hled´ ame-li maximum, invertujeme krit´erium funkce. Pˇredpokl´ad´ame nepr´azdnou mnoˇzinu S, funkci f naz´ yv´ ame objektivn´ı funkc´ı (objective function), v souvislosti s PSO ˇcasto t´eˇz jako fitness funkci (fitness function, d´ale jen f.f.). Obecnˇe m˚ uˇzeme optimalizaˇcn´ı techniky rozdˇelit do dvou skupin: deterministick´e a pravdˇepodobnostn´ı. PSO (Particle Swarm Optimalization) patˇr´ı do druh´e skupiny, nebot’ pozice jednotliv´ ych ˇclen˚ u hejna je spoluurˇcena n´ahodnˇe generovan´ ymi ˇc´ısly (v´ıce d´ ale). Tak lze efektivnˇe odolat konvergenci do lok´aln´ıho minima funkce1 .
7.1 7.1.1
PSO algoritmus Historie
Optimalizace vych´ az´ı z rojov´e inteligence pozorovan´e napˇr. u vˇcelstev a napodobuje jejich vzorce chov´ an´ı. V nˇekter´ ych aspektech je PSO podobn´a ACO (Ant Colony Optimization), v jin´ ych m˚ uˇzeme nal´ezt paralelu s GA (Genetic Algorithm). Ve vˇsech pˇr´ıpadech jde o samo se organizuj´ıc´ı syst´emy vykazuj´ıc´ı siln´e kolektivn´ı chov´an´ı. 1 Zat´ımco v pˇr´ıpadˇe deterministick´ ych metod mus´ıme vyuˇz´ıvat sloˇzit´ ych u ´prav trajektorie a penalizace.
82
N´ astroj pro mod´ aln´ı anal´ yzu FPA
7.1. PSO algoritmus
Z´asadn´ı rozd´ıl vˇsak spoˇc´ıv´ a v pˇr´ıstupu k ˇclenu hejna (agentovi), nad kter´ ym jsou definov´ any urˇcit´e operace a disponuje ˇc´ast´ı znalost´ı, kter´e m´a cel´ y roj. Tento princip je vysoce efektivn´ı a dosahuje skvˇel´ ych v´ ysledk˚ u. Jistˇe ne nadarmo m˚ uˇzeme stejn´e vzorce chov´ an´ı odhalit u hejna pt´ak˚ u, roje vˇcel, ryb atp. Vlastn´ı algoritmus izoloval roku 1995 Eberhart na z´akladˇe simulac´ı kter´e provedl J. Kennedy, [45]. Od t´e doby vznikla cel´a ˇrada studi´ı a v´ yzkum˚ u, kter´e PSO vyuˇz´ıvaj´ı. Jej´ı v´ yznam dokl´ ad´ a i fakt, ˇze byla zaˇrazena jako optimalizaˇcn´ı metoda do nov´e verze CST MWS. Mezi velk´e v´ yhody patˇr´ı zejm. rychlost, jednoduchost, robustnost, odolnost v˚ uˇci uv´ıznut´ı v lok´aln´ım minimu, vyuˇzitelnost na velk´ y soubor probl´em˚ u a mal´e reˇzijn´ı n´ aroky na v´ ypoˇcet2 . Nyn´ı se vˇenujme vlastn´ımu principu PSO.
7.1.2
Princip PSO
Idea vych´ az´ı z existence urˇcit´eho poˇctu agent˚ u, kteˇr´ı jsou rozm´ıstˇeni nad optimalizovanou funkc´ı. Plochu funkce, tedy na kter´e jej´ı ˇc´asti budeme minimum hledat, stanov´ı uˇzivatel. Tento prostor se naz´ yv´a solution space (d´ale jen s.s.). Situaci zobrazuje obr. 7.1. Agenti se snaˇz´ı nal´ezt minimum kdekoliv v s.s. (v pˇr´ıpadˇe obr. maximum, totiˇz m´ısto s nejv´ıce kvˇety). V mnoho aplikac´ıch nem´a ˇreˇsen´ı mimo s.s. smysl (v naˇsem pˇr´ıpadˇe by mohla b´ yt vedle definovan´e louky napˇr. ˇreka, kde sledovat hustoru kvˇet˚ u nem´ a smysl), proto se snaˇz´ıme udrˇzet agenty v urˇcen´em prostoru. Zp˚ usoby jak toho dos´ ahnout probereme pozdˇeji.
Obr´azek 7.1: Princip PSO 2
U jin´ ych metod je potˇreba nav´ıc sledovat gradientn´ı informace vlastn´ı funkce. Zde si postaˇc´ıme s pozic´ı a rychlost´ı kaˇzd´eho agenta.
83
N´ astroj pro mod´ aln´ı anal´ yzu FPA
7.1. PSO algoritmus
Kaˇzd´ y agent si pamatuje sv˚ uj dosavadn´ı nejlepˇs´ı objev (pbest, promˇenn´a pnid v rovnici (7.2)). Nejlepˇs´ı objev cel´eho hejna (gbest, pngd ) je potom t´ım nejlepˇs´ım ze vˇsech osobn´ıch objev˚ u. Chov´ an´ı jednotliv´ ych agent˚ u popisuj´ı n´asleduj´ıc´ı dva vztahy. Nejprve uved’me v´ ypoˇcet rychlosti agenta. Rychlost je stanovena v kaˇzd´e iteraci pro kaˇzd´eho agenta zvl´ aˇst’ a ovlivˇ nuje smˇer, j´ımˇz se pohybuje. Poˇcet sloˇzek tohoto vektoru je rovn´ y dimenzi (index d ) ˇreˇsen´eho probl´emu. n+1 n υid = wυid + c1 r1n (pnid − χnid ) + c2 r2n (pngd − χnid )
(7.2)
V Matlabu je potˇreba vsadit tuto rovnici do for cyklu, ˇc´ımˇz je zajiˇstˇeno proch´azen´ı cel´eho hejna (index i oznaˇcuje agenty). Zabalen´ım do dalˇs´ıho for cyklu umoˇzn´ıme iterov´ an´ı cel´eho probl´emu od n = 1 do n = N (paralela k jednotliv´ ym generac´ım u GA). D´ ale je nutno objasnit v´ yznam zbyl´ ych promˇenn´ ych a konstant. Koeficient w je ˇcasto naz´ yv´an v´ahovac´ı faktor (weighted factor ). M˚ uˇze b´ yt po celou dobu optimalizace konstantn´ı, nebo se m˚ uˇze mˇenit (potom je zad´avana dvojice parametr˚ u wmax a wmin ). Klesaj´ıc´ı koeficient zabraˇ nuje nepˇr´ıjemn´ ym oscilac´ım a z´aroveˇ n stimuluje hejno ke konvergenci nad nalezen´ ym glob´aln´ım minimem. Parametry c1 a c2 ud´ avaj´ı, nakolik bude v´ ysledn´a rychlost odvozena od osobn´ıho minima dan´eho agenta a nakolik od spoleˇcn´eho glob´aln´ıho min. Jejich optim´aln´ı velikost bude diskutov´ ana v ˇc´ asti 7.2. Bez koment´aˇre z˚ ustaly jiˇz pouze hodnoty r1n a r2n . V obou pˇr´ıpadech se jedn´ a o n´ahodnˇe generovan´a ˇc´ısla3 s norm´aln´ım rozloˇzen´ım v rozsahu (0,1), pro tyto u ´ˇcely je v Matlabu k dispozici funkce rand(). V´ıme-li jiˇz, jak´ ym smˇerem a jak rychle se pohybuj´ı agenti, m˚ uˇzeme aktualizovat jejich pozici: n+1 ∆t. (7.3) χn+1 = χnid + υid id Rovnice (7.3) odpov´ıd´ a pohybov´e rovnic´ı. Nov´e um´ıstˇen´ı agenta tedy z´ısk´av´ame jako souˇcet koordin´ at˚ u v minul´e iteraci pozmˇenˇen´e o pohyb v souˇcasn´e iteraci. Protoˇze ∆t m˚ uˇze obecnˇe nab´ yvat libovoln´ ych hodnot, lze pˇriˇradit ∆t = 1 (jednotkov´ y, diskr´etn´ı ˇcas).
7.1.3
Omezen´ı agent˚ u
Vztahy uveden´e v´ yˇse ˇz´ adn´ ym zp˚ usobem neomezuj´ı pohyb agent˚ u, mohou tedy opustit s.s. Z toho d˚ uvodu bylo navrˇzeno nˇekolik technik, kter´e zajist´ı, aby se agenti nerozbˇehli daleko za hranice s.s. Mezi nejcitovanˇejˇs´ı a nejuˇz´ıvanˇejˇs´ı patˇr´ı n´asleduj´ıc´ı, [43]: n+1 • Omezen´ı maxim´ aln´ı rychlosti agenta (υid )
• Ohraniˇcuj´ıc´ı zdi: 1. Absorbˇcn´ı zed’ (Absorbing Wall, obr. 7.2 a) 2. Odrazn´ a zed’ (Reflecting Wall, obr. 7.2 b) 3
Pr´ avˇe zde je ukryta s´ıla PSO, nebot’ do algoritmu zan´ aˇs´ı jist´ y stupeˇ n nejistoty.
84
N´ astroj pro mod´ aln´ı anal´ yzu FPA
7.2. Optim´ aln´ı parametry PSO
3. Neviditeln´ a zed’ (Invisible Wall, obr. 7.2 c) Prvn´ı uveden´ a moˇznost, tedy omezen´ı rychlosti agent˚ u, byla vyuˇzita napˇr. v [48]. Rychlost je omezena i uvnitˇr s.s., coˇz nen´ı vhodn´e. Lepˇs´ım ˇreˇsen´ım je pouˇzit´ı jedn´e ze zd´ı. Ty popisuj´ı zp˚ usob, jak´ ym je naloˇzeno s agentem, pokud pˇrekroˇc´ı povolen´e hranice. Neovlivˇ nuj´ı pr˚ ubˇeh optimalizace uvnitˇr s.s. a nav´ıc, pokud jiˇz agent opustil prohled´ avan´ y prostor, ho efektivnˇe nasmˇeruj´ı zpˇet.
Obr´ azek 7.2: Typy zd´ı pouˇz´ıvan´e v PSO V pˇr´ıpadˇe absorbˇcn´ı zdi je s.s. lemov´an pomysln´ ym mantinelem. Ta sloˇzka rychlosti, kter´ a vede ven ze s.s. je nulov´ana, agent se tedy pohybuje pouze pod´el ohraniˇcen´ı. Odrazn´ a zed’ uprostˇred obr´azku 7.2 t´eˇz obsahuje stˇenu. Nam´ısto vynulov´ an´ı je vˇsak sloˇzce rychlosti v neˇz´adnouc´ım smˇeru obr´acena orientace (znam´enko) a agent se tedy od stˇeny odraz´ı. Tyto dvˇe zdi vyuˇz´ıvaj´ı stejn´eho principu, a to u ´pravy rychlosti4 . Uˇzit´ım odrazn´e zdi umoˇzn´ıme agent˚ um vyletˇet ze s.s., ovˇsem po jeho opuˇstˇen´ı nen´ı vyhodnocov´ ana f.f. To zapˇr´ıˇc´ın´ı pozvoln´ y n´avrat5 agent˚ u zpˇet do s.s. Velkou pˇrednost´ı je v´ yrazn´ a u ´spora v´ ypoˇcetn´ıho ˇcasu, ponˇevadˇz jsou vyhodnocov´ana pouze ta sch´emata, o kter´ a se skuteˇcnˇe zaj´ım´ame. I z tohoto d˚ uvodu se jedn´a o pravdˇepodobnˇe nejlepˇs´ı ˇreˇsen´ı pro vˇetˇsinu inˇzen´ yrsk´ ych probl´em˚ u. Na z´ avˇer zrekapitujme d˚ uleˇzit´e parametry PSO optimalizace v tabulce 7.1.3.
7.2
Optim´ aln´ı parametry PSO
V´ ysledek, stejnˇe tak jako rychlost, s jakou je ˇreˇsen´ı nalezeno, lze v´ yznamn´ ym zp˚ usobem ovlivnit vhodnou volbou parametr˚ u z tabulky 7.1. Konkr´etnˇe se budeme zab´ yvat poˇctem iterac´ı a velikost´ı hejna, a tak´e koeficienty c1 a c2 . Pr˚ ubˇeh jednotliv´ ych optimalizac´ı je v podstatˇe n´ahodn´ y a jak´ekoliv u ´daje mus´ıme z´ıskat jako pr˚ umˇer velk´eho poˇctu opakov´ an´ı (zpravidla 50). Cel´a procedura se tak st´av´a ˇcasovˇe n´aroˇcnˇejˇs´ı. Proto d´ ale pracujeme pouze s analytick´ ymi funkcemi. 4
Korektn´ı je term´ın pˇr´ırustkov´ y vektor, ovˇsem zaveden´ım jednotkov´eho ˇcasu tento vektor spl´ yv´ a s aktu´ aln´ı rychlost´ı. 5 Animace zachycuj´ıc´ı chov´ an´ı hejna s touto zd´ı je na pˇriloˇzen´em nosiˇci.
85
N´ astroj pro mod´ aln´ı anal´ yzu FPA
Parametr c1 c2 wmin wmax ∆t iterace poˇcet agent˚ u pni png
7.2. Optim´ aln´ı parametry PSO
pozn´ avac´ı parametr (cognitive rate) soci´ aln´ı parametr (social rate) v´ ahovac´ı koeficient (na konci optimalizace) v´ ahovac´ı koeficient (na zaˇc´atku optimalizace) ˇcasov´ a konstanta (nejˇcastˇeji volena jednotkov´a, tj. ∆t = 1) poˇcet iterac´ı (vliv velikosti iterac´ı viz n´ıˇze) poˇcet agent˚ u nad s.s. (viz n´ıˇze) (souˇcasn´e) individi´aln´ı nalezen´e minimum agenta (fmin (xi )) (souˇcasn´e) glob´aln´ı nalezen´e minimum agenta fmin (xi ) Tabulka 7.1: Shrnut´ı parametr˚ u
Nejprve uved’me grafick´e pr˚ ubˇehy. Jejich u ´kolem nen´ı zobrazit nalezenou hodnotu, sledujeme zde pr˚ ubˇeh funkˇcn´ıch hodnot v ˇcase. Tento typ graf˚ u je v anglick´e literatuˇre oznaˇcov´ an jako cost funkce (cost function, d´ale c.f.) a d´av´a dobrou pˇredstavu o pr˚ ubˇehu optimalizace. Zaj´ımav´e jsou zejm´ena r˚ uˇzov´e a fialov´a kˇrivka. Na nich vid´ıme, ˇze v pˇr´ıpadˇe zcela nevhodnˇe nastaven´ ych parametr˚ u nekonverguje hejno dostateˇcnˇe. N´ asleduj´ıc´ı tabulky demonstruj´ı z´asadn´ı vliv parametr˚ u c1 a c2 na koneˇcn´ y ´ eˇsnost algoritmu testujeme podm´ınkou, zda je nalezen´a v´ ysledek optimalizace. Uspˇ hodnota menˇs´ı neˇz −176.1375 (Levy5, hodnota bl´ızk´a zn´am´emu glob´aln´ımu minimu6 , viz [46]). Funkce Levy5 (10x10 s.s.) 50x spuˇstˇeno, 20 agent˚ u iterace u ´spˇeˇsnost [%] chyb celkov´ y ˇcas [s] evalFun c1 = 2.0, c2 = 2.0, wmin = 0.4, wmax = 0.9 50 5% 48/50 187 1000 100 78% 11/50 378 2000 150 92% 4/50 571 3000 300 100% 0/50 1258 6000 500 100% 0/50 2308 10000 c1 = 0.5, c2 = 0.6, wmin = 0.4, wmax = 0.9 100 80% 10/50 387 2000 c1 = 1.0, c2 = 1.0, wmin = 0.4, wmax = 0.9 100 92% 4/50 387 2000 PC: HP Compaq nx6125 (Turion64 1.86GHz, 768MB 333MHz) Tabulka 7.2: Success rate funkce Levy5 (se zmˇenou iterace), 20 agent˚ u 6 V´ıce o funkci Levy5 uvedeme v kap. 8., kde bude pops´ an i PSOptimizer, v nˇemˇz byly obdrˇzeny tyto v´ ysledky.
86
N´ astroj pro mod´ aln´ı anal´ yzu FPA
7.2. Optim´ aln´ı parametry PSO
Obr´azek 7.3: Optimalizace funkce Levy5 pro r˚ uzn´a c1 a c2 (20 agent˚ u, 150 iterac´ı) Z aplikaˇcn´ıho hlediska jsou zaj´ımav´e dva u ´daje. Prvn´ı je ten, kdy je u ´spˇeˇsnost poprv´e rovna 100%, tedy chv´ıle, kdy optimalizace vˇzdy najde spr´avn´ y v´ ysledek. Tento moment lze urˇcit pouze pro jiˇz zmapovan´e funkce. Druh´ y zaj´ımav´ y v´ ysledek 7 je ten s nejvyˇsˇs´ı u ´ˇcinnost´ı v nejkratˇs´ım moˇzn´em ˇcase . Vid´ıme tedy, ˇze u ´spˇeˇsnost funkce lze v´ yznamn´ ym zp˚ usobem zv´ yˇsit u ´pravou parametr˚ u (c1 , c2 , ale i dalˇs´ımi, kter´ ymi se zde nebudeme zab´ yvat), coˇz popisuj´ı nˇekter´e studie8 . Na z´akladˇe v´ ysledk˚ u testov´ an´ı pracujeme s hodnotami c1 = c2 = 2, pˇr´ıp. c1 = 0.5, c2 = 2. Bohuˇzel optimalizovan´e funkce maj´ı r˚ uzn´ y charakter, a proto jsou tyto parame7
V pˇr´ım´e u ´mˇeˇre odpov´ıd´ a pˇr´ıpadu s nejmenˇs´ım celkov´ ym poˇctem vyhodnocen´ı fitness funkce (v tabulce evalFun). 8 Z poˇc´ atku, v roce 1998 Kennedy doporuˇcoval hodnoty c1 = 2 a c2 = 2, ovˇsem mnohdy se lepˇs´ıch v´ ysledk˚ u dosahovalo s c1 = 0.5. V souˇcasn´e dobˇe se obecnˇe respektuje podm´ınka c1 + c2 ≤ 4 (Carlisle a Dozier, 2001). V´ıce napˇr. [46].
87
N´ astroj pro mod´ aln´ı anal´ yzu FPA
7.2. Optim´ aln´ı parametry PSO
Obr´azek 7.4: Optimalizace funkce Levy5 pro r˚ uzn´a c1 a c2 (20 agent˚ u, 150 iterac´ı) Funkce Levy5 (10x10 s.s.) 50x spuˇstˇeno, 45 agent˚ u iterace u ´spˇeˇsnost [%] chyb celkov´ y ˇcas [s] evalFun c1 = 2.0, c2 = 2.0, wmin = 0.4, wmax = 0.9 50 16% 42/50 370 2250 100 98% 1/50 711 4500 150 98% 1/50 1083 6750 300 100% 0/50 2328 13500 500 100% 0/50 > 4000 22500 c1 = 0.5, c2 = 0.6, wmin = 0.4, wmax = 0.9 50 72% 14/50 362 2250 c1 = 1.0, c2 = 1.0, wmin = 0.4, wmax = 0.9 50 90% 5/50 363 2250 PC: HP Compaq nx6125 (Turion64 1.86GHz, 768MB 333MHz) Tabulka 7.3: Success rate funkce Levy5 (se zmˇenou iterace), 45 agent˚ u
try voleny zpravidla na z´ akladˇe doporuˇcen´ı v referenˇcn´ı literatuˇre. Pro u ´plnost uved’me i u ´ˇcinnost optimalizace pˇri zmˇenˇe poˇctu agent˚ u (tabulky 7.2, 7.3 a 7.4). Poˇcet agent˚ u je zpravidla pevnˇe stanoven (nejˇcastˇeji 20-25 jedinc˚ u). Zv´ yˇsit jejich poˇcet je doporuˇceno u probl´em˚ u, kter´e jsou definov´any na velmi rozlehl´em s.s., anebo (zejm´ena) pokud prohled´ avan´ y prostor obsahuje mnoho lok´aln´ıch minim. Mnohem ˇcastˇeji je v pˇr´ıpadˇe probl´em˚ u nav´ yˇsen poˇcet iterac´ı, pˇr´ıpadnˇe jsou pozmˇenˇeny parametry c1 a c2 .
88
N´ astroj pro mod´ aln´ı anal´ yzu FPA
7.2. Optim´ aln´ı parametry PSO
Funkce Levy5 (10x10 s.s.) 50x spuˇstˇeno, 150 iterac´ı agent˚ u u ´spˇeˇsnost [%] chyb celkov´ y ˇcas [s] evalFun c1 = 2.0, c2 = 2.0, wmin = 0.4, wmax = 0.9 5 44% 28/50 84 750 10 64% 18/50 121 1500 20 92% 4/50 198 3000 30 100% 0/50 276 4500 45 100% 0/50 370 6750 PC: 64bit Core2Quad 9450 (2.66GHz),12MB cache, 4GB 1333MHz Tabulka 7.4: Success rate funkce Levy5 (podle poˇctu agent˚ u), 150 agent˚ u Funkce Levy5 (10x10 s.s.) 50x spuˇstˇeno, 50 iterac´ı agent˚ u u ´spˇeˇsnost [%] chyb celkov´ y ˇcas [s] evalFun c1 = 2.0, c2 = 2.0, wmin = 0.4, wmax = 0.9 5 0% 50/50 32 250 10 0% 50/50 42 500 20 2% 49/50 65 1000 30 6% 47/50 88 1500 45 12% 44/50 118 2250 c1 = 0.5, c2 = 0.6, wmin = 0.4, wmax = 0.9 45 76% 12/50 160 2250 c1 = 1.0, c2 = 1.0, wmin = 0.4, wmax = 0.9 45 92% 4/50 154 2250 c1 = 1.5, c2 = 1.5, wmin = 0.4, wmax = 0.9 45 90% 5/50 165 2250 PC: 64bit Core2Quad 9450 (2.66GHz),12MB cache, 4GB 1333MHz Tabulka 7.5: Success rate funkce Levy5 (podle poˇctu agent˚ u), 50 iterac´ı
V omezen´em rozsahu lze pracovat i s hodnotami wmin a wmax . Pokud chceme vyuˇz´ıt maxim´ aln´ıho rozletu hejna aˇz do konce optimalizace, ponech´ame obˇe hodnoty stejnˇe vysok´e. Zpravidla vˇsak poˇzadujeme, aby po hrub´em nalezen´ı ˇreˇsen´ı roj hledal kolem tohoto m´ısta d˚ ukladnˇeji. K tomuto u ´ˇcelu je vhodn´e nastaven´ı hodnot wmin = 0.4 (nejm´enˇe vˇsak 0.1) a wmax = 0.9 (nejv´ yˇse 1.2). Tak efektivnˇe omez´ıme i ˇcast´e oscilace agent˚ u. Pro hlubˇs´ı porozumnˇen´ı mechanism˚ um PSO je vhodn´e zav´est takov´e indik´atory, kter´e by byly mˇeˇriteln´e u vˇsech optimalizovan´ ych funkc´ı. Tento poˇzadavek splˇ nuje rozptyl, zaveden´ y n´ asledovnˇe: Pag n n i=1 (kpg k − kpi k) σ= , (7.4) ag 89
N´ astroj pro mod´ aln´ı anal´ yzu FPA
7.2. Optim´ aln´ı parametry PSO
Obr´azek 7.5: Poˇcet agent˚ u mimo s.s. pro Levy5 a Rosenbrockovu funkci (20 agent˚ u, 150 iterac´ı) kde ag je celkov´ y poˇcet agent˚ u. Tak lze pro stejnˇe velk´e s.s. vz´ajemnˇe porovn´avat a sledovat rozlet hejna nez´ avisle na zkouman´e funkci. Zaj´ımav´a hodnota v kaˇzd´e iteraci je i poˇcet agent˚ u mimo s.s. Pomoc´ı n´ı m˚ uˇzeme odhadnout jak ˇreˇsen´ı konverguje a t´ım i efektivitu hejna.
Obr´azek 7.6: Rozptyl agent˚ u, Levy5 a Rosenbrockova funkce (20 agent˚ u, 150 iterac´ı) Na z´ avˇer kr´ atce okomentujme obr´azky 7.5 a 7.6. Grafy jsme z´ıskali na z´akladˇe hodnot exportovan´ ych z PSOPost, postprocessingov´eho n´astroje, kter´ y pˇredstav´ıme v n´asleduj´ıc´ı kapitole. Ten umoˇzn ˇuje vykreslit hladiny funkce s nalezen´ ym glob´aln´ım minimem a v animaci pohyb jednotliv´ ych agent˚ u. Rovnˇeˇz m˚ uˇzeme sledovat hodnoty rozptylu a poˇcet agent˚ u mimo s.s. Na prvn´ı pohled je patrn´e, ˇze – aˇc pro zcela rozd´ıln´e funkce – jsou si pr˚ ubˇehy dosti podobn´e a napov´ıdaj´ı, jak´ ym zp˚ usobem se pohybuje hejno bˇehem optimalizace. M˚ uˇze b´ yt pˇredmˇetem dalˇs´ıho v´ yzkumu, zda lze t´eto z´ avislosti vyuˇz´ıt k zefektivnˇen´ı PSO. Tuto domnˇenku jsme publikovali v [38], dosud vˇsak nebyl prostor j´ı hloubˇeji prozkoumat.
90
N´ astroj pro mod´ aln´ı anal´ yzu FPA
7.3
7.3. Stretched PSO
Stretched PSO
Klasick´e pojet´ı PSO je dostateˇcnˇe efektivn´ı, pˇresto existuj´ı funkce (Corana 4D, XOR, Freudenstein-Rothova a dalˇs´ı), kde selh´av´a. K. E. Parsopoulos a M. N. Vrahatis v [47] navrhli postup, kter´ y dosahuje i pro problematick´e funkce stoprocentn´ı u ´ˇcinnosti. Nejvˇetˇs´ım probl´emem zm´ınˇen´ ych funkc´ı je existence mnoha lok´aln´ıch minim. Ty stoj´ı v cestˇe agent˚ um pˇri hled´ an´ı glob´aln´ıho minima9 . Pro dalˇs´ı u ´ˇcely si m˚ uˇzeme lok´aln´ı minimum popsat jako nejmenˇs´ı hodnotu funkce f v okol´ı B bodu x: f (x) ≤ f (x),
∀x ∈ B.
(7.5)
A pr´ avˇe vˇsechny body x krom glob´aln´ıho minima si pˇrejeme eliminovat. Ukazuje se, ˇze stretching technika je vhodn´ ym n´astrojem na potlaˇcen´ı tˇechto (vedlejˇs´ıch) minim. V podstatˇe jde o transformaci pˇredpisu f (x), kter´a je provedena ve dvou kroc´ıch. Ihned po objeven´ı lok´ aln´ıho minima podle (7.5) pˇrevedeme funkci podle vztah˚ u: G(x) = f (x) + γ1 kx − xk sign f (x) − f (x) + 1 (7.6) a
sign f (x) − f (x) + 1 H(x) = G(x) + γ2 , tanh µ G(x) − G(x)
(7.7)
kde γ1 , γ2 a µ jsou libovolnˇe zvolen´e vysok´e konstantn´ı hodnoty a sign(x) splˇ nuje podm´ınku: 1 pro x > 0 0 pro x = 0 (7.8) sign(x) = −1 pro x < 0 Funkci (7.8) m˚ uˇzeme numericky modelovat pomoc´ı vztahu10 :
Obr´ azek 7.7: Funkce Levy5: bez transformace, s G(x) a po H(x), zdroj: [47] 9
Pochopitelnˇe lze situaci ˇreˇsit zv´ yˇsen´ım poˇctu agent˚ u a iterac´ı, ale tento postup nen´ı pˇr´ıliˇs efektivn´ı, resp. jeho efektivita strmˇe kles´ a s rostouc´ı sloˇzitost´ı funkce.
91
N´ astroj pro mod´ aln´ı anal´ yzu FPA
sign(x) ≈ log sig(x) =
7.4. GSO algoritmus
λx 2 ∼ tanh , = 2 1 + exp−λx
(7.9)
pˇr´ıpadnˇe m˚ uˇzeme volat funkci sign v Matlabu. Testy SPSO pro funkci Levy5 dopadly podle [46] o 10-20% l´epe. Jak vid´ıme na obr. 7.7 uprostˇred (po transformaci G(x), podle (7.6)) a vpravo (po transformaci G(x) i H(x), podle (7.7)), lok´ aln´ı minima jsou roztaˇzena a rozmaz´ana, zat´ımco glob´aln´ı minimum z˚ ustalo nedotˇceno. V takto upraven´e krajinˇe“ se mohou agenti ” pohybovat mnohem snadnˇeji. Princip SPSO pouze nastiˇ nujeme pro eventueln´ı budouc´ı vyuˇzit´ı. V souˇcasn´e podobˇe PSOptimizeru nen´ı stretched PSO vyuˇz´ıv´ano – vˇsechny dosavadn´ı u ´koly spojen´e s optimalizac´ı patch ant´en se uk´azaly dostateˇcnˇe ˇreˇsiteln´e i pomoc´ı klasick´eho PSO v kombinaci s neviditelnou zd´ı.
7.4
GSO algoritmus
V roce 2006 byla publikov´ ana pr´ace [50], zab´ yvaj´ıc´ı se moˇznost´ı spojit GA a PSO. Tato metoda je oznaˇcov´ ana jako GSO (Genetical Swarm Optimization).
Obr´ azek 7.8: Princip GSO optimalizace, na z´akladˇe [50] Motivac´ı bylo mj. zjiˇstˇen´ı, ˇze v pˇr´ıpadˇe mimoˇr´adnˇe sloˇzit´ ych funkc´ı (10, 20 i v´ıce rozmˇer˚ u s.s.) kles´ au ´ˇcinnost PSO i GA k nule. Jejich spojen´ı do GSO vˇsak poskytuje potˇrebnou flexibilitu a rapidnˇe zvyˇsuje u ´spˇeˇsnost nalezen´ı glob´aln´ıho minima. V kaˇzd´e iteraci jsou agenti novˇe vyb´ır´ani a upraveni pomoc´ı PSO nebo GA. GSO je vhodn´e m´ıt do budoucna na pamˇeti, nebot’ s poˇzadavkem na souˇcasnou optimalizaci rezonanˇcn´ı frekvence a vyz´ aˇrovac´ıho diagramu jsme nuceni na jedn´e stranˇe zvˇetˇsovat rozlohu s.s., na druh´e stranˇe se vzr˚ ustaj´ıc´ım poˇctem podm´ınek i poˇcet rozmˇer˚ u s.s. V d˚ usledku se tak optimalizace st´av´a o ˇr´ad obt´ıˇznˇejˇs´ı. Realizace GSO je nen´ aroˇcn´e d´ıky tomu, ˇze pouze sluˇcuje dva jiˇz zn´ame postupy, viz obr. 7.8. Jako nejvˇetˇs´ı obt´ıˇz se jev´ı vytvoˇren´ı vlastn´ıho GA optimaliz´atoru, kter´ y komunikuje s PSO a zvolen´ı vhodn´eho form´atu, s kter´ ym GA i PSO dok´aˇz´ı pracovat. 10
Rovnice (7.9) je ˇsiroce vyuˇz´ıv´ ana i v oblasti umˇel´ ych neuronov´ ych s´ıt´ı.
92
Kapitola 8
PSOptimizer Princip PSO byl vysvˇetlen v pˇredch´azej´ıc´ı kapitole, zde se zamˇeˇr´ıme na v´ yvoj optimaliz´ atoru. Mezi praktick´ ymi poˇzadavky byla na poˇc´atku prioritnˇe rychlost algoritmu, jeho univerz´ alnost, moˇznost mˇenit jednotliv´e parametry (iterace, poˇcet agent˚ u atd.), d´ ale schopnost rekurzivn´ıho vol´an´ı1 , ˇreˇsitelnost probl´em˚ u libovoln´e dimenze a v neposledn´ı ˇradˇe stabilita (zdaleka ne vˇsechny sc´en´aˇre jsou ˇreˇsiteln´e – m˚ uˇze j´ıt napˇr. o fyzik´ aln´ı omezen´ı v souvislosti s optimalizac´ı ant´eny). Vyˇzadujeme moˇznost shrnout v´ıce prvk˚ u do jedn´e podm´ınky a t´ım je ”spˇr´ahnout”, aby byly optimalizov´ any nejednou (napˇr. vˇsechna 4 ramena frakt´alu maj´ı m´ıt stejnou v´ ysledkou hodnotu). Toto se podaˇrilo zaveden´ım PsoData struktury a speci´aln´ı u ´pravou PSO algoritmu. Optimaliz´ ator tak umoˇzn ˇuje pracovat zcela univerz´alnˇe. Dokonˇcen´ y PSOptimizer respektuje vˇsechny v´ yˇse uveden´e poˇzadavky. Nyn´ı se vˇenujme jeho popisu, testov´ an´ı a uk´ azce zad´ avan´ı jednotliv´ ych u ´loh.
8.1
Implementace
Aplikace je stejn´eho typu jako ostatn´ı solvery (EvalInFem, EvalRadPattern). Obsahuje pouze minimum ovl´ adac´ıch prvk˚ u. Pro jednotliv´e ˇc´ asti jsme uˇzili lok´aln´ıch funkc´ı, fitness funkce je ˇreˇsena separ´atnˇe (definuje ji uˇzivatel pro konkr´etn´ı probl´em). V inicializaˇcn´ı ˇc´asti je ovˇeˇreno, jsouli hodnoty spr´ avnˇe zad´ any, je stanovena poˇc´ateˇcn´ı generace agent˚ u a vykresleno grafick´e rozhran´ı. Nen´ı-li zad´ an poˇcet iterac´ı a agent˚ u, jsou dosazeny hodnoty 50 resp 25. Cel´ y algoritmus pˇrehlednˇe shrnuje tab. 8.1. Poˇcet optimalizaˇcn´ıch podm´ınek2 ud´av´a rozmˇer s.s., ale i dimenzi jednotliv´ ych agent˚ u. PsoData struktura m˚ uˇze obsahovat i data, kter´a se neoptimalizuj´ı (to je pˇr´ıklad i FRC kol´ aˇze), je proto nutn´e data pˇreskupit. To je u ´kol funkce callFF v tabulce 8.1. 1
N´ avratov´ a hodnota funkce mus´ı obsahovat nejen optimalizovan´e u ´daje, ale i informace o nastaven´ı PSO, jednotliv´ ych generac´ıch, konvergenci ke glob´ aln´ımu minimu atd. 2 Spˇraˇzen´e podm´ınky se poˇc´ıtaj´ı jako jedna, nebot’ se jejich hodnota mˇen´ı spoleˇcnˇe.
93
N´ astroj pro mod´ aln´ı anal´ yzu FPA
8.2. PsoData form´ at
Obr´ azek 8.1: GUI PSOptimizeru GUI programu je navrˇzen tak, aby byl jednoduch´ y3 , ale z´aroveˇ n podrobnˇe informoval o st´ avaj´ıc´ım stavu optimalizace. Text v lev´em r´amu zobrazuje nastaven´e v´ ychoz´ı parametry, v prav´e ˇc´ asti potom aktu´aln´ı pr˚ ubˇeh. Stupnice na ose y grafu zobrazuj´ıc´ıho cost funkci je v (zde n´azornˇejˇs´ım) logaritmick´em mˇeˇr´ıtku. Tlaˇc´ıtko Exit ukonˇ cuje optimalizaci, nejdˇr´ıve vˇsak po dokonˇcen´ı dan´e iterace. I v tomto pˇr´ıpadˇe se vrac´ı v´ ysledky, kter´ ych bylo dosaˇzeno4 . Z´ akladn´ı tvar vol´ an´ı funkce je: res = PSOptimizer(PsoData,’fitnessFunction’,ag,it), kde ag je poˇcet agent˚ u, it poˇcet iterac´ı a ˇretˇezec fitnessFunction obsahuje jm´eno mfile souboru s fitness funkc´ı. Promˇenn´a PsoData popisuje co a jak´ ym zp˚ usobem se m´a optimalizovat.
8.2
PsoData form´ at
Obsahuje n´ asleduj´ıc´ı pole: PsoData.data1 = [ ] PsoData.data2 = [ ] PsoData.data3 = [ ] PsoData.type = ’psopt’ PsoData.rank PsoData.bound{} = [ ] PsoData.cond{} = [ ] 3 4
Pokud je program vol´ an opakovanˇe, nezatˇeˇzuje PC. Tak nedojde ke ztr´ atˇe v´ ysledk˚ u ani po pˇreruˇsen´ı nˇekolikahodinov´e optimalizace.
94
N´ astroj pro mod´ aln´ı anal´ yzu FPA
krok krok krok krok krok krok krok krok krok krok krok krok krok krok krok krok
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
krok 1. krok 2. krok 3.
8.2. PsoData form´ at
PSOptimizer kontrola vstupn´ıch parametr˚ u inicializace GUI tvorba hejna (n´ahodn´a pozice i rychlost vˇsech agent˚ u) vyhodnocen´ı 1. iterace for i = 1:iteraciCelkem u ´prava wactual update rychlosti agent˚ u update pozice agent˚ u for j = 1:agent˚ uCelkem if agent(j) ∈ s.s. callFF end end update pBest, gBest v´ ypis informac´ı end callFF uprav´ı PsoData podle aktu´aln´ıch agent˚ u vol´ a f.f. s aktu´aln´ımi daty (PsoData) agent˚ um je pˇriˇrazen v´ ysledek f.f. Tabulka 8.1: Principi´aln´ı sch´ema PSOptimizeru
Pˇrednˇe do funkce vstupuj´ı 3 sloty (PsoData.data1-3), ve kter´ ych se mohou um´ıstit optimalizovan´ a data. Velikost matic data1-3 je libovoln´a, vˇzdy vˇsak mus´ı b´ yt vˇsechny tˇri matice definov´ any (alespoˇ n jako pr´azdn´e). Poˇcet slot˚ u vol´ıme tak, aby byl dostateˇcn´ y pro ˇreˇsen´ı IFS ant´en (body z´akladn´ıho u ´tvaru, transformace a iteraˇcn´ı matice). Dalˇs´ım polem je PsoData.type, kter´e je fixnˇe zad´ano string ˇretˇezcem psopt. Pole je potˇreba pˇri identifikaci pˇr´ıchoz´ıch dat uvnitˇr funkce. PsoData.rank je nepovinn´ y u ´daj, jenˇz koresponduje s dimenz´ı optimalizace. Na z´avˇer zde figuruj´ı pole PsoData.bound, ve kter´em jsou uloˇzeny hranice5 definuj´ıc´ı s.s. a tak´e PsoData.cond, indexuj´ıc´ı optimalizovan´e parametry6 . Matice PsoData.cond m˚ uˇze m´ıt libovoln´ y poˇcet ˇr´adek. Protoˇze kaˇzd´a ˇr´adka oznaˇcuje jednu optimalizovanou pozici v jedn´e z matic, lze takto sv´azat do jedn´e dimenze (PsoData.cond{dim}) nˇekolik optimalizovan´ ych hodnot. Takov´e hodnoty jsou potom v r´ amci PSO povaˇzov´any za jeden u ´daj a jsou optimalizov´any spoleˇcnˇe. 5
Zp˚ usob z´ apisu: ProData.bound{dimenze}= [min max] pro danou dimenzi. a1 b1 c1 6 a ˇc´ıslu daForm´ at je n´ asleduj´ıc´ı: PsoData.cond{dimenze} = a2 b2 c2 , kde a odpov´ıd´ .. .. .. . . . tov´eho slotu 1-3, b ukazuje na ˇra ´dku dan´eho slotu, c potom znaˇc´ı pozici na ˇra ´dce (ˇc´ıslo sloupce).
95
N´ astroj pro mod´ aln´ı anal´ yzu FPA
8.3. Fitness funkce, testy
Tento postup je ide´ aln´ı v pˇr´ıpadˇe, ˇze potˇrebujeme mezi nˇekter´ ymi hodnotami zachovat fixn´ı pomˇer (jejich rovnost). Uveden´ ym postupem zajist´ıme, ˇze do funkce vstupuj´ı vˇsechna uˇzivatelsk´ a data (fitness funkce tedy m˚ uˇze s tˇemito daty komplexnˇe pracovat) a nav´ıc ucelen´ y u ´daj co a v jak´ ych mez´ıch se m´a optimalizovat. Tento pˇr´ıstup ˇsetˇr´ı ˇcas a umoˇzn ˇuje optimalizovat pravideln´e u ´tvary.
8.3
Fitness funkce, testy
Strukturu PsoData mus´ıme zohlednit pˇri n´avrhu jak´ekoliv fitness funkce. Nikoliv pouze hlaviˇcky, ale i pˇri zpracov´an´ı dat zaslan´ ych PSO algoritmem na ohodnocen´ı. Definice funkce by mˇela odpov´ıdat n´asleduj´ıc´ımu vzoru: function fitnessValue = fitnessFunction(sign, tested data) String sign m´ a vˇzdy hodnotu ’eval’, ˇcasto ho vyuˇz´ıv´ame pro oznaˇcen´ı vol´an´ı7 . Promˇenn´ a fitnessValue vrac´ı zpˇet hodnotu, podle kter´e se cel´a roj pohybuje (v pˇr´ıpadˇe EvalRadPattern rezonanˇcn´ı frekvenci dominantn´ıho m´odu). Uvnitˇr tested data nalezneme sloty .data1-3 podobnˇe jako v PsoData, v tomto pˇr´ıpadˇe obsahuj´ı aktu´ aln´ı hodnoty urˇcen´e k vyhodnocen´ı funkce (napˇr. z´akladn´ı u ´tvar, optimalizovan´e transformace a iterace). D´ıky vol´ an´ı extern´ıho mfilu, m˚ uˇzeme vyuˇz´ıvat PSOptimizer pro libovoln´e u ´ˇcely – postaˇc´ı dodrˇzet pˇredepsanou hlaviˇcku f.f. (mfile) a data zad´avat ve formˇe PsoData8 . Vzhledem k neexistenci ˇr´adn´eho PSO toolboxu v Matlabu, m˚ uˇze b´ yt vyuˇzit´ı PSOptimizeru dobrou volbou.
Testovan´ e funkce Pˇred vyuˇzit´ım k n´ avrhu patch ant´en je nutn´e ovˇeˇrit funkˇcnost PSOptimizeru na analytick´ ych funkc´ıch, u kter´ ych zn´ame v´ ysledek (tj. glob´aln´ı minima). Algoritmus byl provˇeˇren n´ asleduj´ıc´ımi funkcemi: • Kvadratick´ a funkce • Rosenbrockova funkce • Funkce Levy No.5 Funkce jsou rozd´ılnˇe ˇclenit´e (krajina, kterou se pohybuj´ı agenti) a jsou dostateˇcnˇe pops´ any v literatuˇre, lze tedy verifikovat z´ıskan´e hodnoty. Algoritmus byl vyuˇzit i pro optimalizaci jin´ ych funkc´ı (Levy No.3, Rastigrinova funkce . . . ), ve vˇsech pˇr´ıpadech PSO podalo oˇcek´ avan´e v´ ysledky. Metodika vyuˇzit´a pro hodnocen´ı v´ ysledk˚ u optimalizace respektuje obvykl´e postupy ([46] a dalˇs´ı). 7
Napˇr. EvalInFem nebo EvalRadPattern podle nˇej poznaj´ı, ˇze jde o optimalizaci a nevyp´ınaj´ı na konci grafick´ a okna, jinak nakl´ adaj´ı i s chybami. 8 Vyuˇzit´ı PSO v antenn´ı technice je obrovsk´e. Od optimalizace z´ aˇriˇc˚ u, pˇres u ´pravy ˇcoˇcek, reflektor˚ u a ohnisek, aˇz po komplexn´ı optimalizace cel´ ych syst´em˚ u.
96
N´ astroj pro mod´ aln´ı anal´ yzu FPA
8.3. Fitness funkce, testy
Funkce 1 (kvadratick´ a) fkv (x) = x2 − 10
(8.1)
Na t´eto funkci demonstrujeme vliv neviditeln´e zdi9 . Pokud s.s. zvol´ıme pouze v rozsahu h2, 5i, bude nalezen´e minimum rovno -6, a to i pˇres to, ˇze jednotliv´ı agenti mohou kr´ atkodobˇe proniknout i bl´ıˇze k 0 na ose x. Situace je zn´azornˇena na obr. 8.2.
Obr´ azek 8.2: Optimalizace kvadratick´e funkce v rozsahu x ∈ h2, 5i
Funkce 2 (Rosenbrockova) f (x) =
N X
100(xi+1 − x2i )2 + (xi − 1)2
(8.2)
i=1
fro (x, y) = 100(y − x2 )2 + (x − 1)2
(8.3)
Funkce se ˇsiroce uplatˇ nuje ve vˇetˇsinˇe optimalizaˇcn´ı test˚ u. Pro svou monotonii (obr. 8.3) lze vyuˇz´ıt i gradientn´ı metody, nebot’ nehroz´ı uv´ıznut´ı v lok´aln´ım minimu. Glob´ aln´ı mininum m˚ uˇzeme nal´ezt na souˇradnic´ıch x = 1, y = 1 a hodnota f (xmin , ymin ) = 0. Podle rovnice (8.2) je funkce definov´ana v [43], vyuˇzijeme vˇsak jednoduˇsˇs´ıho tvaru (8.3). Obr. 8.4 ukazuje, jak rychle kles´a chyba, s kterou je nalezeno glob´aln´ı minimum. Tuto rychlost lze v´ yraznˇe ovlivnit nastaven´ım parametr˚ u wmin a wmax . Pokud v´ahovac´ı koeficient s iterac´ı kles´a, kles´a tak´e pˇr´ıspˇevek novˇe vypoˇcten´e rychlosti a agent je sp´ıˇse udrˇzov´ an v souˇcasn´e pozici. Eliminujeme t´ım oscilace, pˇri kter´ ych agenti kmitaj´ı kolem nalezen´eho minima. 9
Neviditeln´ a zed’ se uplatˇ nuje nepˇr´ımo t´ım, ˇze neumoˇzn´ı vyhodnotit moˇzn´e niˇzˇs´ı minimum v rozsahu h−2, 2i. Vybran´ a pole PsoData pro tuto optimalizaci jsou rovna: PsoData.rank = 1; PsoData.cond{1} = [1 1 1]; PsoData.bound{1} = [2 5].
97
N´ astroj pro mod´ aln´ı anal´ yzu FPA
8.3. Fitness funkce, testy
Obr´ azek 8.3: Rosenbrockova funkce, s.s. ∈ h−10, 10i × h−10, 10i a cost funkce
Obr´ azek 8.4: Konvergence ke skuteˇcn´emu minimu Rosenbrockovy funkce Funkce 3 (Levy No.5) fl5 (x, y) =
5 X i=1
5 X i cos (i−1)x+i j cos (j+1)y+j +(x+1.42513)2 +(y+0.80032)2 j=1
(8.4) Na prostoru h−2, 2i × h−2, 2i m˚ uˇzeme nal´ezt 760 lok´aln´ıch a jedno glob´aln´ı minimum (souˇradnice x = −1.3068, y = −1.4248). Velikost s.s. je u ´myslnˇe zvˇetˇsena na h−10, 10i × h−10, 10i (jako u Rosenbrockovy f.). Tato funkce dobˇre testuje odol´ eˇsnost optimalizace pro r˚ nost v˚ uˇci uv´ıznut´ı agent˚ u v lok´ aln´ıch extr´emech. Uspˇ uzn´a nastaven´ı ukazuj´ı tab. 7.2 aˇz 7.5 a obr. 8.5. Z presentovan´ ych v´ ysledk˚ u je vidˇet, ˇze n´avrh PSO algoritmu byl u ´spˇeˇsn´ y a mnohdy dosahuje vyˇsˇs´ı u ´ˇcinnosti neˇz srovnateln´e publikovan´e algoritmy, viz [46] a [48]. To je d´ ano pravdˇepodobnˇe pouˇzit´ım vhodn´eho typu zdi a testov´an´ım pro 98
N´ astroj pro mod´ aln´ı anal´ yzu FPA
8.4. Zpracov´ an´ı v´ ysledk˚ u
Obr´ azek 8.5: Funkce Levy No.5, s.s. ∈ h−10, 10i × h−10, 10i a cost funkce relativnˇe (v kontextu optimalizace) jednoduch´e funkce.
8.4
Zpracov´ an´ı v´ ysledk˚ u
V souvislosti s optimalizac´ı n´ as nezaj´ım´a pouze vlastn´ı v´ ysledek, tedy geometrie kol´aˇze s nejniˇzˇs´ı rezonanˇcn´ı frekvenc´ı, poˇzadovan´ ym VD atp. Chceme zn´at i pr˚ ubˇeh optimalizace, chov´ an´ı jednotliv´ ych agent˚ u, jak vypad´a prohled´avan´a funkce a m´ıra efektivity cel´eho hejna. Pˇrirozenˇe, abychom tyto informace z´ıskali, mus´ıme zahrnout do PSO dalˇs´ı techniky. Pro pln´e vyuˇzit´ı potenci´ alu PSO definujeme v´ ystup v n´asleduj´ıc´ım tvaru: res.data1 = [ ] res.data2 = [ ] res.data3 = [ ] res.done res.score res.type = ’optim’ res.history.populPosition = [ ] res.history.iter = [ ] res.history.value = [ ] res.history.psoDta = [ ] res.options. . . . V´ ystupn´ı pole obsahuje opˇet sloty 1-3, patˇriˇcn´e hodnoty jsou ale optimalizov´any. Hodnota f.f. pro tyto hodnoty je uvedena v res.score. Pole done referuje o zd´arn´em ukonˇcen´ı PSO (res.done = 1), v opaˇcn´em pˇr´ıpadˇe je res.done = 0 (urˇceno jako n´avˇest´ı pro nadˇrazen´e programy). Res.options uv´ad´ı parametry, za kter´ ych byla optimalizace dokonˇcena a koneˇcnˇe res.history obsahuje vˇetˇsinu vnitˇrn´ıch stav˚ u PSOptimizeru v
99
N´ astroj pro mod´ aln´ı anal´ yzu FPA
8.4. Zpracov´ an´ı v´ ysledk˚ u
kaˇzd´e iteraci. Pr´ avˇe tohoto pole lze vyuˇz´ıt napˇr. pro vykreslen´ı cost funkce (obr. 8.2 vpravo pro kvadratickou funkci), nebo pro vykreslen´ı pozice jednotliv´ ych agent˚ uv dan´e iteraci (screenshot 53. iterace je vidˇet na obr. 8.6). Souvislosti mezi uveden´ ymi form´ aty jsou naznaˇceny na obr. 12.24 dodatku 12.3.
PSOPost Pro dynamick´e zobrazen´ı pr˚ ubˇehu optimalizace byl vytvoˇren program PSOPost. N´ahled ukazuje obr. 8.6. V tuto chv´ıli je prom´ıt´an´ı optimalizace omezeno na dvˇe existuj´ıc´ı podm´ınky (2D). Poˇc´ıt´ame vˇsak s rozˇs´ıˇren´ım do 3D, kdy jednotliv´e podm´ınky p˚ ujdou zvolit (neomezen´ y poˇcet podm´ınek). Do programu byl dodateˇcnˇe pˇripojen v´ ypoˇcet rozptylu agent˚ u, pozdˇeji i v´ ypoˇcet vˇsech, kteˇr´ı pˇrekroˇcili hranice s.s. Tyto hodnoty jsou i real-time vykreslov´any do graf˚ u vpravo.
Obr´ azek 8.6: Program PSOPost, vˇc. pr˚ ubˇehu funkce Levy5 a agent˚ u Ovl´ adac´ı rozhran´ı je jednoduch´e. Obsahuje tlaˇc´ıtka na spuˇstˇen´ı videa, jeho pauzu (opˇetovn´e spuˇstˇen´ı restartuje video) a tlaˇc´ıtka na reset canvasu a ukonˇcen´ı programu. Funkce m˚ uˇze b´ yt vol´ ana s celou ˇradou parametr˚ u a nastaven´ı.
100
N´ astroj pro mod´ aln´ı anal´ yzu FPA
8.4. Zpracov´ an´ı v´ ysledk˚ u
PSOPost syntaxe Program disponuje celou ˇradou moˇznost´ı, jak jej volat. Z´akladn´ı tvar PSOPost(PsoData,res,0) pouze zpracuje res a zobraz´ı pohyb roje v s.s. a patˇriˇcn´e parametry. Pˇr´ıznak ’0’ (false) zajist´ı, ˇze animace je pouze pˇripravena a start zajist´ı uˇzivatel ( Run movie ). Dalˇs´ı pˇr´ıkaz umoˇzn ˇuje vykreslit hladiny funkˇcn´ıch hodnot f.f. v dan´em s.s. Tyto hodnoty mus´ı b´ yt zpracov´ any ve formˇe dvou sloupcov´ ych matic [x],[y] a m×n matice [z] o rozmˇerech (x,y). Pak lze PSOPost volat: PSOPost(PsoData,res,0,x,y,z). Pokud nav´ıc poˇzadujeme n´ avrat vypoˇcten´ ych hodnot, vyuˇzijeme: [roz age] = PSOPost(PsoData,res,0,x,y,z). Pˇri zmˇenˇe pˇr´ıznaku ’0’ na ’1’ (true) je po spuˇstˇen´ı aplikace automaticky spuˇstˇena animace: [roz age] = PSOPost(PsoData,res,1) nebo [roz age] = PSOPost(PsoData,res,1,x,y,z). Vhodn´ ym vylepˇsen´ım, umoˇzn ˇuj´ıc´ı jeˇstˇe lepˇs´ı n´ahled na chov´an´ı hejna, je zaveden´ı vektor˚ u, kter´e by v kaˇzd´e iteraci zobrazovali smˇer a velikost pˇr´ırustkov´eho vektoru (rychlosti).
Obr´ azek 8.7: Pozice agent˚ u pro 5. a 150. iteraci (Levy5, s.s. ∈ 10 × 10) DVD obsahuje video s uk´ azkou pohybu hejna pˇri hled´an´ı minima u ´lohy H2 (oznaˇcen´ı u ´loh viz dalˇs´ı kapitoly) a dalˇs´ı sn´ımky PSO optimalizace. 101
N´ astroj pro mod´ aln´ı anal´ yzu FPA
8.5
8.5. Spojen´ı s EvalInFem
Spojen´ı s EvalInFem
Z pohledu PSOptimizeru se jedn´a o standardn´ı optimalizaci – po porovn´an´ı dat je ve funkci calFF vol´ ana f.f. EvalInFem. D´ıky parametru ’eval’ (nam´ısto ’stat’, jak bylo uvedeno v 5. kapitole) CM analyz´ator pozn´a, ˇze pˇr´ıchoz´ı data jsou optimalizov´ana a bˇeh programu je podˇr´ızen spuˇstˇen´e PSO. Cel´ y postup je netradiˇcn´ı v tom smyslu, ˇze zat´ımco v drtiv´e vˇetˇsinˇe pˇr´ıpad˚ u je optimalizov´ an analytick´ y pˇredpis, zde je to v´ ysledek cel´e sady operac´ı – generace a u ´pravy IFS, anal´ yzy CM modelu a navr´acen´ı spr´avn´e rezonanˇcn´ı frekvence.
8.6
Zrychlen´ı metody
Vzhledem k faktu, ˇze drtivou vˇetˇsinu ˇcasu trv´a vyhodnocen´ı fitness funkce (dutinov´ y model) a reˇzie PSOptimizeru je minim´aln´ı, je vhodn´e, aˇz na jeden pˇr´ıpad, mluvit sp´ıˇse o zv´ yˇsen´ı efektivity neˇz o zrychlen´ı cel´e metody. Tou jedinou vyj´ımkou je moˇznost vyuˇzit´ı distribuovan´ ych v´ ypoˇct˚ u. Matlab podporuje distribuovan´e v´ ypoˇcty ve v´ıce u ´rovn´ıch. Motivac´ı je maxim´aln´ı zrychlen´ı v´ ypoˇctu. Prvn´ı u ´roveˇ n, vyuˇz´ıvaj´ıc´ı v´ıcej´adrov´ ych procesor˚ u, je nativnˇe aktivov´ ana a zabudovan´e matematick´e knihovny Matlabu defaultnˇe pracuj´ı v´ıcej´adrovˇe. St´ ale se vˇsak jedn´ a pouze o jeden proces, kter´ y je zpracov´av´an v´ıce procesory. Druh´ y level paralelizace obsahuje Parallel Computing Toolbox. S t´ımto toolboxem lze vytv´ aˇret a ˇr´ıdit bˇeh v´ıce paraleln´ıch proces˚ u. A koneˇcnˇe posledn´ı u ´rovn´ı je spoleˇcn´e vyuˇzit´ı Parallel Computing Toolboxu a Matlab Distributed Computing Serveru. Do jednoho clusteru lze pojmout max. 256 procesor˚ u (PC jsou propojen´e v s´ıti). Pochopitelnˇe vyuˇzit´ı t´eto technologie vyˇzaduje patˇriˇcn´e licence10 . Vzhledem k ˇcasov´e n´ aroˇcnosti optimalizace je distribuovan´ y v´ ypoˇcet logick´ ym krokem k jej´ımu zkr´ acen´ı. Napˇr. pˇri moˇznosti vytvoˇrit cluster o cca. 15 PC, kdy se dost´ av´ ame na velikost jedn´e generace ˇclen˚ u hejna v PSO, zrychlujeme v´ ypoˇcet takˇrka 15x a m˚ uˇzeme si dovolit u ´vahy o z´amˇenˇe dutinov´eho modelu za nepomˇernˇe pˇresnˇejˇs´ı metodu moment˚ u, v´ıce [12], [33] a dalˇs´ı. Hotov´e rozhran´ı by se dalo vyuˇz´ıt i pro jin´e u ´lohy v souvislosti s Matlabem. Vzhledem k uveden´ ym n´arok˚ um na licence, je tato ˇc´ ast zat´ım pouze v pˇr´ıpravˇe. V´ıce k licenˇcn´ı politice, i cen´am samotn´ ym na str´ank´ ach [98]. Ostatn´ı techniky (SPSO, GSO) byly zm´ınˇeny dˇr´ıve.
10
Krom z´ akladn´ıho Matlabu tedy jeˇstˇe Parallel Computing Toolbox, Matlab Distributed Computing Server, pˇr´ıp. Matlab Compiler.
102
Kapitola 9
IFSLimiter Jak jsme uk´ azali v pˇredchoz´ıch kapitol´ach, zad´av´an´ı optimalizaˇcn´ı podm´ınek nen´ı pˇr´ıliˇs pˇrehledn´e. Zjevnˇe je to daˇ n za zobecnˇen´ y pˇr´ıstup, jenˇz uˇz´ıv´ame. Situace je u IFS frakt´ al˚ u o to sloˇzitˇejˇs´ı, ˇze optimalizovan´ y parametr m´a na kol´aˇz pouze zprostˇredkovan´ y vliv (je potˇreba nejprve IFS vypoˇc´ıtat). K pˇrehledn´emu nastaven´ı vˇsech parametr˚ u a mez´ı slouˇz´ı IFSLimiter. Je vhodn´e poznamenat, ˇze tento n´astroj neslouˇz´ı k tvorbˇe ani u ´pravˇe kol´aˇze, k tomu jsou urˇcen´e IFSMaker a AntTool.
9.1
Struktura programu
Z program´ atorsk´eho hlediska se jedn´a o samou mez, kdy lze vyuˇz´ıt strukturovan´eho programov´ an´ı. IFSLimiter obsahuje pˇres 120 funkc´ı na 3500 ˇr´adc´ıch. Aplikace se spouˇst´ı bez dalˇs´ıch argument˚ u. Screenshot je zobrazen na obr. 9.1. Frakt´al se po naˇcten´ı FRC (nebo PsoData) objev´ı uprostˇred, jeho velikost lze upravit zoomem. Vˇsimnˇeme si, ˇze body i transformace maj´ı pˇred sv´ ymi koordin´aty tag (P- nebo T-), toho vyuˇzijeme pˇri zad´av´an´ı podm´ınek. Postup je n´ asleduj´ıc´ı: 1. Naˇcten´ı kol´ aˇze FRC. Je automaticky zarovn´ana a vykreslena. 2. Vytvoˇren´ı nov´e poloˇzky s hranicemi s.s., napˇr. (0, 10). Tlaˇc´ıtko New stock . 3. V tabulce zobrazuj´ıc´ı tyto poloˇzky vybereme pr´avˇe vytvoˇrenou a tlaˇc´ıtkem Add condition otevˇreme pr˚ uvodce pro zad´av´an´ı optimalizaˇcn´ıch podm´ınek. 4. V zobrazen´em oknˇe se m˚ uˇzeme ujistit, ˇze je vybr´ana vhodn´a dimenze s.s. Zvol´ıme, zda se optimalizace bude t´ ykat bodu ˇci transformace. 5. N´ asleduj´ıc´ı krok zobraz´ı vˇsechny dostupn´e body/transformace a jejich souˇradnice. Z nich zvol´ıme tu spr´avnou hodnotu. Finish uloˇz´ı podm´ınku do pˇripraven´eho slotu. 103
N´ astroj pro mod´ aln´ı anal´ yzu FPA
9.1. Struktura programu
Obr´azek 9.1: IFSLimiter 6. Zadanou podm´ınku si nyn´ı m˚ uˇzeme vykreslit. Staˇc´ı ji vybrat v doln´ı tabulce ˇ a zvolit SHOW . Cerven´e hranice pak znaˇc´ı minimum, kter´eho kol´aˇz m˚ uˇze pˇri optimalizaci t´eto podm´ınky nab´ yt, zelen´a hranice znaˇc´ı maximum. Jedna hranice (Stock ) m˚ uˇze obsahovat i v´ıce podm´ınek, coˇz b´ yv´a v souvislosti s IFS velice ˇcast´e. V tomto pˇr´ıpadˇe lze ovlivnit, zda se budou vykreslovat vˇsechny podm´ınky z jedn´e hranice, ˇci pouze vybran´e. Protoˇze pˇri zad´av´an´ı hranic nen´ı jeˇstˇe zˇrejm´e, ˇcemu pˇripadnou (bodu, transformaci), nem˚ uˇze IFSLimiter hl´ıdat spr´avn´e zad´av´ an´ı hodnot1 . To je vyˇzadov´ano od uˇzivatele. Defaultnˇe lze vykreslit pouze jednu hranici, tak aby byla situace pˇrehledn´a, lze jich vˇsak vhodn´ ym nastaven´ım2 vykreslit i v´ıce, viz obr. 9.1. Jiˇz existuj´ıc´ı hranice i podm´ınky lze libovolnˇe editovat, mazat a znovu vytv´aˇret. Pˇri pr´ aci se sloˇzitˇejˇs´ı kol´ aˇz´ı je ˇcasto vhodn´e skr´ yt body, z´akladn´ı objekt nebo transformace. To umoˇzn ˇuje menu Show v horn´ı liˇstˇe. Lze nastavovat i grafiku jednotliv´ ych prvk˚ u. Podrobnˇeji je pr´ ace s IFSLimiterem zpracov´ana v pdf n´apovˇedˇe k programu. Narozd´ıl od IFSMakeru zmˇeny v nastaven´ı grafiky a odezva na nˇekter´e pˇr´ıkazy nen´ı automatick´ a, ale je potˇreba kliknout na Refresh . Podobnˇe jako pˇredchoz´ı 1
M´ ame zde na mysli zejm. podm´ınku kontrakce pro IFS. Pokud by v´ yˇse uveden´ a hranice (0, 10) platila pro parametr a transformaˇcn´ı matice, kter´ y spr´ avnˇe nab´ yv´ a hodnot (0, 1), nebude dodrˇzen poˇzadavek afinn´ıch transformac´ı. 2 Volby Show only one Stock a Show all Conditions.
104
N´ astroj pro mod´ aln´ı anal´ yzu FPA
9.2. Testovac´ı u ´ loha
editory, i tento obsahuje nˇekter´e dalˇs´ı funkce, usnadˇ nuj´ıc´ı vlastn´ı pr´aci. Lze nam´ıtnout, ˇze v´ yhodnˇejˇs´ı by bylo spojit IFSMaker a IFSLimiter do jednoho programu. To je vˇsak tˇeˇzce realizovateln´e hlavnˇe v souvislosti s univerzalitou obou n´astroj˚ u. Pˇrehlednˇejˇs´ı je proto rozdˇelen´ı u ´kol˚ u tak, jak je tomu v souˇcasnosti.
9.2
Testovac´ı u ´ loha
Jednotliv´e mechanismy demonstrujme na jednoduch´em pˇr´ıkladu. Pˇredpokl´adejme obd´eln´ık, jehoˇz delˇs´ı stranu bychom r´adi optimalizovali. Neuvaˇzujme nyn´ı fixn´ı d´elku hrany nastavenou v EvalInFem na 10cm. Situace je zobrazena na obr. 9.2.
Obr´ azek 9.2: Obr´ azek optimalizaˇcn´ıch mez´ı pro testovac´ı u ´lohu D´elku obd´eln´ıka ovlivˇ nuje parametr a transformaˇcn´ı matice. Pokud nastav´ıme F RC.iter rovno [1 1 1], tj. vypoˇctena bude 1. iterace a pouze tato bude pouˇzita na vlastn´ı patch, m˚ uˇzeme rozsahem parametru a ovlivˇ novat d´elku v´ ysledn´e kol´aˇze. Je-li velikost obd´eln´ıka 10 × 4 cm a koeficientu a 0.6, bude v´ ysledn´a d´elka 6cm, resp. velikost 6 × 4.
Obr´ azek 9.3: Zad´an´ı podm´ınky, vstup a v´ ystup Zvolme tedy hranice s.s. v rozsahu (0.6, 1), jak ukazuje i obr´azek 9.3. Nyn´ı k t´eto 105
N´ astroj pro mod´ aln´ı anal´ yzu FPA
9.3. Zad´ an´ı u ´ loh
hranici pˇrid´ ame podm´ınku. V prvn´ım kroku zvol´ıme transformace, pot´e klikneme vlevo na transformaci T 1 (v´ıc jich ani pro obd´eln´ık nem´ame) a zvol´ıme parametr a. Tento v´ ysledek exportujeme jako PsoData do Matlabu (na obr. 9.3 vpravo, je vidˇet i doplnˇen´ı pol´ı bound a cond) a spust´ıme optimalizaci. Rezonanˇcn´ı frekvence dominantn´ıho m´ odu je d´ ana pouze d´elkou optimalizovan´e hrany a nejmenˇs´ı vych´az´ı pro nejdelˇs´ı hranu. PSOptimizer proto vrac´ı v´ ysledek 10cm.
9.3
Zad´ an´ı u ´ loh
Stejn´ ym postupem, jak´ y byl uveden u pˇr´ıkladu v´ yˇse, ˇreˇs´ıme i sloˇzitˇejˇs´ı struktury s v´ıce body a transformacemi. Iteraci zpravidla vol´ıme 3, coˇz je vhodn´ y kompromis mezi poˇzadovanou kˇrivost´ı u ´tvaru a rychlost´ı v´ ypoˇctu. Na n´asleduj´ıc´ıch ˇr´adc´ıch popiˇsme konkr´etn´ı u ´lohy, kter´e byly optimalizov´any. V´ ysledky a jejich rozbor provedeme v n´ asleduj´ıc´ı kapitole. ´ Ulohy jsou znaˇceny podle jednoduch´eho kl´ıˇce, kter´ y n´am zajist´ı systematick´ y pˇr´ıstup ke vˇsech vstup˚ um i v´ ystup˚ um optimalizace. P´ısmeno je odvozeno od n´azvu zdrojov´e kol´ aˇze (FRC A, FRC B apod.), ˇc´ıslo znaˇc´ı poˇrad´ı optimalizace. Vˇsechny proveden´e simulace jsou uvedeny v tabulce na DVD. Ta obsahuje souˇradnice kol´aˇze, nastaven´ı, poˇc´ ateˇcn´ı podm´ınky, celkov´ y ˇcas a v´ ysledky optimalizace. Na dalˇs´ım listu tabulky je pˇrehled uˇz´ıvan´ ych FRC.
9.3.1
´ Uloha A1
Do DP byly vybr´ any vzorov´e u ´lohy se tˇremi tvarovˇe odliˇsn´ ymi z´aˇriˇci. K zad´av´an´ı podm´ınek vyuˇz´ıv´ ame IFSLimiter. Zobrazen´ı 9.4, 9.5, 9.7 a 9.8 d´avaj´ı pˇredstavu o optimalizovan´ ych parametrech.
Obr´ azek 9.4: Obr´ azek optimalizaˇcn´ıch mez´ı pro u ´lohu A1 V tomto pˇr´ıpadˇe, obr. 9.4, optimalizujeme velikost jednotliv´ ych troj´ uheln´ık˚ u. Rozmˇer s.s. je (0.5, 0.7). Minimum je limitov´ano celistvost´ı patche. Jiˇz pˇri hodnot´ach koeficient˚ u a a d 0.5 se jednotliv´e troj´ uheln´ıky dot´ ykaj´ı pouze v bodech, coˇz eliminuje tekouc´ı proudy po struktuˇre. S rezervou je tedy za minimum povaˇzov´ana hodnota 0.501.
106
N´ astroj pro mod´ aln´ı anal´ yzu FPA
9.3. Zad´ an´ı u ´ loh
Obr´ azek 9.5: Obr´ azek optimalizaˇcn´ıch mez´ı pro u ´lohu B1
9.3.2
´ Uloha B1
Pro Minkowsk´eho frakt´ al je d˚ uleˇzit´ y zejm. tvar stˇredn´ı spojky (tj. prvn´ı transformace z´ akladn´ıho objektu). Ten m˚ uˇze nab´ yvat mnoha tvar˚ u, viz obr. 9.5. Pro z´akladn´ı tvar frakt´ alu jsou hodnoty transformaˇcn´ıch koeficient˚ u stˇredov´e pˇr´ıˇcky rovny: a = 0.2, d = 0.334, b = c = e = f = 0. PSO se pokus´ı naj´ıt niˇzˇs´ı frekvenci v rozsahu a ∈ (0.1, 1) ∧ d ∈ (0.334, 1). Tento s.s. je tedy dvourozmˇern´ y. Prvn´ı dvˇe u ´lohy jsou dostateˇcnˇe jednoduch´e, abychom pˇr´ıpadn´e v´ ysledky mohli ovˇeˇrit rychlou parametrickou anal´ yzou. Z´aroveˇ n se na nich prok´aˇze, zda vˇsechny souˇc´asti funguj´ı bezchybnˇe.
9.3.3
´ Uloha B3
Jak ukazuje obr. 9.6, tato u ´loha zkoum´a vliv naklonˇen´ı ramen frakt´alu FRC B.
´ Obr´ azek 9.6: Uloha B3 v IFSLimiteru Toho lze doc´ılit pomoc´ı zmˇeny koeficient˚ u c, d. Ty zajiˇst’uj´ı rotaci a zkosen´ı objektu. Pomoc´ı IFSLimiteru lze efektivnˇe hl´ıdat, kdy je jeˇstˇe kol´aˇz souvisl´a a kdy se jiˇz rozdˇel´ı na menˇs´ı ˇc´ asti. D´ıky tomu byl stanoven optimalizovan´ y interval na 107
N´ astroj pro mod´ aln´ı anal´ yzu FPA
9.4. Rozˇ s´ıˇ ren´ e moˇ znosti IFSLimiteru
(0, 0.1).
9.3.4
´ Uloha C3
Nejvˇetˇs´ı sn´ıˇzen´ı frekvence dominantn´ıho m´odu oˇcek´av´ame v pˇr´ıpadˇe tohoto frakt´alu. Je velice ˇclenit´ y, lze tedy nal´ezt mnoho optimalizaˇcn´ıch podm´ınek. Nav´ıc m´a tenkou spojku a vysok´ a ramena, kter´ a d´ale prodluˇzuj´ı rezonanˇcn´ı d´elku.
Obr´ azek 9.7: Obr´ azek optimalizaˇcn´ıch mez´ı pro u ´lohu C3 Zaˇcneme jednoduˇsˇs´ımi podm´ınkami (C1-C3) a postupnˇe pˇrid´av´ame dalˇs´ı (C4C6). Jak naznaˇcuje obr. 9.7, budeme zkoumat optim´aln´ı pozici stˇredn´ı spojky (zda dole, uprostˇred nebo nahoˇre) a m´ıru zasunut´ı postrann´ıch ramen.
9.3.5
´ Uloha C6
K pˇredchoz´ı u ´loze C3 byly pˇrid´any dalˇs´ı dvˇe podm´ınky. Obˇe pracuj´ı s body3 , jak ukazuje obr. 9.8. Tato u ´loha je v programu IFSLimiter zobrazena na obr. 9.1 (pouze prvn´ı dvˇe podm´ınky). Pˇrestoˇze obsahuje celkem 7 nezn´am´ ych, d´ıky spˇraˇzen´ı n´am staˇc´ı ˇctyˇrrozmˇern´ y s.s.
9.4
Rozˇ s´ıˇ ren´ e moˇ znosti IFSLimiteru
IFSLimiter byl postupem ˇcasu rozˇs´ıˇren o dalˇs´ı uˇziteˇcn´e moduly. Mezi nˇe patˇr´ı parametrick´ a anal´ yza, obr. 9.9. Lze analyzovat pouze naˇcten´ y frakt´al, vˇsechny hranice (se vˇsemi podm´ınkami), vybranou hranici (s podruˇzn´ ymi podm´ınkami), vybranou podm´ınku, v z´ avislosti na stupni iterace. Krok sweepu je nastaviteln´ y a v´ ystupn´ı informace jsou voliteln´e. Po uloˇzen´ı a startu je opˇetovnˇe vol´an EvalInFem4 , kter´ y ukl´ad´a v´ ysledky do IFSLimiteru. Ty si lze prohl´ednout v Parameter sweep 7→ Show results, a t´ım z´ıskat hrub´ y pˇrehled o chov´ an´ı struktury. Z pohledu optimalizace je tak´e z´asadn´ı pro vˇsechny sc´en´aˇre uchovat pokud moˇzno celistv´ y tvar kol´ aˇze. Zda tomu tak je pro vˇsechny hranice se vˇsemi 3 4
Vˇzdy dva vrcholov´e body jsou spˇraˇzeny do jedn´e hranice/Stocku tak, aby se mˇenily najednou. Vyˇzaduje pˇripojen´ y Comsol.
108
N´ astroj pro mod´ aln´ı anal´ yzu FPA
9.4. Rozˇ s´ıˇ ren´ e moˇ znosti IFSLimiteru
Obr´ azek 9.8: Obr´ azek optimalizaˇcn´ıch mez´ı pro u ´lohu C6
Obr´ azek 9.9: IFSLimiter: parametrick´ y ˇreˇsiˇc podm´ınkami ovˇeˇruje funkce Check subdomains. Existuje-li varianta, kdy se kol´aˇz rozpadne, je tato s upozornˇen´ım zobrazena. V nezbytn´ ych pˇr´ıpadech (viz zmˇena mˇeˇr´ıtka a pevn´ y bod) je t´eˇz vhodn´e m´ıt moˇznost pˇresunout stˇred frakt´alu o urˇcitou vzd´alenost. Pak jsou upraveny odpov´ıdaj´ıc´ı koeficienty transformac´ı a IFS je znovu vygenerov´ano. Pro podobn´e u ´ˇcely lze v IFSLimiteru upravit i vybran´ y bod, pˇr´ıp. transformaci. Tyto u ´pravy jsou dosaˇziteln´e z menu Tools.
109
Kapitola 10
Optimalizace a anal´ yza FRC Optimalizaˇcn´ı proces prob´ıh´ a podle sch´ematu 10.1.
Obr´ azek 10.1: Postup optimalizace Jsou do nˇej zapojeny vˇsechny moduly, kter´e jsme doposud pˇredstavili. Po vytvoˇren´ı kol´ aˇze (IFSMaker) a nastaven´ı podm´ınek (IFSLimiter) doch´az´ı k inicializaci PSO (poˇcet agent˚ u, poˇcet iterac´ı). Po spuˇstˇen´ı PSOptimizeru je v kaˇzd´em kroku vol´ ana fitness funkce (EvalInFem) a skrze n´ı i j´adro Comsolu. K ˇreˇsiˇci EvalInFem lze pˇristoupit jiˇz dˇr´ıve, a to bud’ parametrickou anal´ yzou nebo jednor´azov´ ym ˇreˇsen´ım z Matlabu. Na z´ avˇer jsme vybrali tˇri frakt´aly, kter´e byly v minul´e kapitole pˇripraveny k optimalizaci. Jej´ı v´ ysledky nalezneme v tab. 10.1. Podm´ınky jsou bud’ bodov´e (b) nebo transformaˇcn´ı (tr), znaˇcka 3tr pak znaˇc´ı 3 podm´ınky se spoleˇcnou hranic´ı. Poˇcet agent˚ u (Ag.) i iterac´ı (it.) byl volen r˚ uzn´ y podle sloˇzitosti optimalizace a s ohledem na typ struktury. V r´ amci jedn´e struktury je potˇrebn´ y ˇcas pˇribliˇznˇe u ´mˇern´ y souˇcinu agent˚ u a iterac´ı (viz B1 a B3), v pˇr´ıpadˇe r˚ uzn´ ych struktur (B3 vs. C3) to vˇsak neplat´ı. Je to d´ ano r˚ uznou sloˇzitost´ı meshe a tedy i r˚ uznou d´elkou v´ ypoˇctu. Prvn´ı u ´loha (A1) doˇsla ke stejn´emu frakt´alu, kter´ y byl zad´an na vstupu. To 110
N´ astroj pro mod´ aln´ı anal´ yzu FPA
PsoData Podm´ınky Ag., it. fr pˇred PSO fr po PSO ∆fr Zlepˇsen´ı Doba v´ ypoˇctu
A1 3tr, 3tr 15, 100 637 MHz 637 MHz 0 0%
B1 1tr, 1tr 25, 150 684 MHz 408 MHz 276 MHz 40.3%
B3 4tr, 4tr 25, 75 684 MHz 504 MHz 180 MHz 26.2%
−(∗)
4813s
2209s
C3 1tr, 2tr 25, 75 637 MHz 543 MHz 94 MHz 14.8%
C6 1tr, 2tr, 2b, 2b 25, 80 637 MHz 310 MHz 327 MHz 51.3%
3066s 2062s (*) nezaznamen´ano
Tabulka 10.1: V´ ysledky vybran´ ych optimalizac´ı
Obr´ azek 10.2: Nˇekolik agent˚ u optimalizace A1 ukazuje, ˇze pro zadan´e podm´ınky (tedy velikost troj´ uheln´ık˚ u) je zn´am´a hodnota ta nejlepˇs´ı. Nˇekolik agent˚ u t´eto optimalizace ukazuje obr´azek 10.2. Pˇri rozboru v´ ysledk˚ u se mus´ıme vyvarovat urˇcit´ ym chyb´am. Napˇr. A1 vrac´ı jako optim´ aln´ı pro obˇe podm´ınky hodnotu 0.5, ta je vˇsak (jak bylo uvedeno v minul´e kapitole) chybn´ a, nebot’ spojuje ˇc´asti kol´aˇze jen v bodech. Z toho plyne, ˇze pro kaˇzd´ y v´ ysledek je vhodn´e zkontrolovat navrˇzenou kol´aˇz pˇr´ımo v Comsolu (CST, IE3D, TCM atd.). Po u ´pravˇe na 0.501 vych´az´ı spr´avn´e v´ ysledky. PSO algoritmus t´ımto zp˚ usobem postupuje automaticky a pro vˇsechny podm´ınky. Je proto dobr´e jiˇz pˇri jejich zad´ av´ an´ı meze spr´ avnˇe omezit. Dalˇs´ı u ´loha je lehce ovˇeˇriteln´a pomoc´ı jednoduch´e parametrick´e anal´ yzy. Hled´ ame minimum s pomoc´ı zmˇeny ˇs´ıˇrky a v´ yˇsky stˇredn´ı pˇr´ıˇcky frakt´alu FRC B. Pro vˇsechny extr´emy je hodnota rezonanˇcn´ı frekvence uvedena na obr. 10.6. Nejniˇzˇs´ı 111
N´ astroj pro mod´ aln´ı anal´ yzu FPA
Obr´ azek 10.3: Nˇekolik agent˚ u optimalizace B1
Obr´ azek 10.4: Nˇekolik agent˚ u optimalizace B2 frekvenci nal´ez´ ame pro pˇr´ıpad v doln´ı ˇradˇe uprostˇred (fr = 409 MHz, a = 0.1, b = 1). Ke stejn´emu z´ avˇeru doch´ az´ıme i s pomoc´ı PSO (fr = 408 MHz, a = 0.100009, b = 0.99998). S dobr´ ym v´ ysledkem pak skonˇcila optimalizace C3 a C6, kde bylo dosaˇzeno znaˇcn´eho poklesu rezonanˇcn´ı frekvence. Struktury nav´ıc nepotˇrebuj´ı dalˇs´ı u ´pravy. V´ yznamn´ y pokles v pˇr´ıpadˇe C6 je d´an masivn´ı u ´pravou geometrie (obr. 10.8). Na z´ akladˇe optimalizovan´ ych dat se m˚ uˇzeme pod´ıvat i na pokles frekvence s iterac´ı u optimalizovan´eho i neoptimalizovan´eho patche, obr. 10.5. Pr˚ ubˇeh je pro oba z´aˇriˇce podobn´ y, pouze v pˇr´ıpadˇe po PSO (zelen´a kˇrivka) je m´ırn´ y v´ ykyv v 2. iteraci. Pokud aproximujeme hodnotu optimalizovan´e kol´aˇze v prvn´ı iteraci na z´akladˇe ostatn´ıch hodnot, z´ısk´ ame zaj´ımav´ y poznatek. Optimalizace frakt´aln´ı struktury trend poklesu fr s rostouc´ı iterac´ı pouze posouv´a smˇerem k niˇzˇs´ı frekvenci. Smˇernice poklesu z˚ ust´ av´ a stejn´ a. Obr´ azek 10.9 ukazuje krajinu“ optimalizace u ´lohy H2. Vrstevnice naznaˇcuj´ı ” stejn´e hodnoty frekvence. Ze zn´am´ ych hodnot s.s. a zadan´ ych podm´ınek lze urˇcit 112
N´ astroj pro mod´ aln´ı anal´ yzu FPA
Obr´ azek 10.5: Z´ avislost rez. frekv. na iteraci pˇred PSO a po PSO
Obr´ azek 10.6: Parametrick´e srovn´an´ı rez. frekvenci dominantn´ıho m´ odu vˇsech odvozen´ ych z´aˇriˇc˚ u. Kontury funkce byly zjitˇeny systematick´ ym sweepem pˇres cel´ y s.s. (100 × 100 hodnot). Z uveden´ ych pˇr´ıklad˚ u je vidˇet, ˇze sniˇzov´an´ı rezonanˇcn´ı frekvence (resp. zmenˇsov´ an´ı rozmˇer˚ u patche) je v Comsolu realizov´ano zuˇzov´an´ım cest, kudy teˇce proud. Tyto spoje jsou d´ıky PSO zmenˇsov´any aˇz za mez v´ yrobn´ı tolerance. Spr´ avn´ ym nastaven´ım hranic vˇsech podm´ınek lze tomuto u ´kazu efektivnˇe pˇredch´ azet. Druh´ ym d˚ uleˇzit´ ym faktorem je prodluˇzov´an´ı dominantn´ı proudov´e cesty. Vyvst´ av´ a ot´ azka, zda jsou uveden´a zjednoduˇsen´ı platn´a obecnˇe (figuruje tento mechanismus i v TCM?). V t´eto kapitole byly shrnuty v´ ysledky cel´eho projektu. V pˇr´ıpadˇe vhodnˇe nastaven´e optimalizace m˚ uˇze pokles rezonanˇcn´ı frekvence pˇrekroˇcit i 50%. St´ale je vˇsak nutn´e fin´ aln´ı z´ aˇriˇc podrobit pokroˇcilejˇs´ı anal´ yze, ve kter´e je zpravidla rozd´ıl mezi p˚ uvodn´ım a optimalizovan´ ym tvarem menˇs´ı. Omezeni jsme i ze strany
113
N´ astroj pro mod´ aln´ı anal´ yzu FPA
Obr´ azek 10.7: Nˇekolik agent˚ u optimalizace C6 pouˇziteln´ ych kol´ aˇz´ı a v´ yrobn´ıch moˇznost´ı. Bohuˇzel, systematiˇctˇejˇs´ı pˇr´ıstup je ˇcasovˇe velmi n´ aroˇcn´ y. Neuv´ ad´ıme proto pˇr´ıklady dalˇs´ıch optimalizaˇcn´ıch u ´loh, ani jednotliv´e rezonanˇcn´ı frekvence vˇsech FRC kol´aˇz´ı. Vˇsechny toto u ´daje jsou uvedeny na DVD, je moˇzn´e je zjistit i s pomoc´ı EvalInFem a PSOptimizeru. D˚ uleˇzitost PSO se jeˇstˇe zvˇetˇs´ı s poˇzadavkem na multip´asmovou optimalizaci.
114
N´ astroj pro mod´ aln´ı anal´ yzu FPA
Obr´ azek 10.8: V´ ysledek optimalizace C6 (2. a 3. iterace)
Obr´ azek 10.9: Pohyb agent˚ u pˇri u ´loze H2, zaˇc´atek (vlevo) a z´avˇer (vpravo)
115
Kapitola 11
Z´ avˇ er Tato pr´ ace mˇela za c´ıl uk´ azat, ˇze v geometrick´e rovinˇe lze nal´ezt nov´ y typ objekt˚ u, kter´e jsou vhodn´e jako z´ aˇriˇce patch ant´en v mnoha ohledech v´ıce, neˇz bˇeˇznˇe vyuˇz´ıvan´e euklidovsk´e u ´tvary. Uk´azali jsme nˇekter´e zaj´ımav´e vlastnosti frakt´aln´ıch kˇrivek a nalezli analogie v pˇr´ırodˇe. Pro ˇcetn´a zjednoduˇsen´ı jsme zvolili generaci IFS struktur, ta byla pops´ ana vˇc. pˇr´ıklad˚ u a potˇrebn´ ych n´astroj˚ u. Vlastn´ı simulaci pˇredch´ azel v´ ybˇer vhodn´e numerick´e metody a jej´ı implementace. V´ ysledky CM anal´ yzy byly srovn´any s referenˇcn´ımi simul´atory. Pro malou v´ yˇsku nad zemn´ı rovinou je chyba minim´aln´ı. Zv´aˇzili jsme moˇznost optimalizovat tvar ant´eny pˇri fixn´ım zachov´ an´ı frakt´aln´ıho charakteru, tak jsme doˇsli k optimalizaci IFS parametr˚ u. Toho bylo dosaˇzeno d´ıky PSO; dokonˇcen´ y PSOptimizer dosahuje skvˇel´ ych v´ ysledk˚ u, doloˇziteln´ ych i na ˇradˇe testovan´ ych funkc´ı. Pops´ any byly zp˚ usoby, jak ze zn´am´ ych dat extrapolovat VD, vˇc. jeho v´ ypoˇctu. Pro zpracov´ an´ı v´ ysledk˚ u, kalibraci PSO, u ´pravu nod˚ u a ˇr´ızen´ı optimalizace je potˇreba cel´ a sada n´ astroj˚ u, kter´e byly postupnˇe pˇredstaveny. Vyjmenujme v heslech d˚ uleˇzit´e v´ ysledky diplomov´e pr´ ace: • Vznikl efektivn´ı a n´ azorn´ y gener´ator IFS frakt´al˚ u, kter´ y lze vyuˇz´ıt ve v´ yuce numerick´ ych metod, Matlabu a ant´enn´ı problematiky. • Vznikly n´ astroje na simulaci a anal´ yzu IFS ant´en, viz dodatek 12.3, vˇc. ˇreˇsiˇce EvalInFem, kter´ y m´ a mnohostrann´e vyuˇzit´ı. • Byly odvozeny a navrhnuty nov´e postupy hodnocen´ı IFS kol´aˇz´ı a nalezeny nov´e frakt´ aly (FRC J, FRC K a dalˇs´ı) • Zavedeny byly form´ aty FRC a PsoData. • Byl vytvoˇren univerz´ aln´ı a rychl´ y optimaliz´ator PSOptimizer. Ten lze vyuˇz´ıvat na rozliˇcn´e typy u ´loh. ´ eˇsnˇe jsme implementovali metodu, kter´a vypoˇcte, exportuje a zpracuje • Uspˇ proudy z Comsolu. D´ıky nim lze vypoˇc´ıtat VD.
116
N´ astroj pro mod´ aln´ı anal´ yzu FPA
• Analyzov´ any byly vybran´e IFS patche, kter´e se podaˇrilo s pomoc´ı PSO zmenˇsit (resp. nal´ezt pˇri stejn´em rozmˇeru niˇzˇs´ı fr ). Mnoho probl´em˚ u z˚ ustalo nedoˇreˇseno, nˇekter´a ˇreˇsen´ı nejsou optim´aln´ı a vyˇzaduj´ı dalˇs´ı u ´pravy. Obˇcas se (vˇzdy vˇsak s upozornˇen´ım) vyskytuje nepodloˇzen´a domnˇenka nebo myˇslenka. Zde jsou moˇznosti, jak v projektu pokraˇcovat: • Prozkoumat moˇznosti n´ avrhu IFS pomoc´ı neuronov´ ych s´ıt´ı s krit´eriem obsahu, obvodu, 1. m´ odu a mˇr´ıˇzkov´e dimenze. Pˇr´ıpadnˇe alespoˇ n nal´ezt a zkonstruovat dalˇs´ı tvary IFS kol´ aˇz´ı ruˇcnˇe. • M´ısto CM vyuˇz´ıt TCM ˇreˇsiˇc (vyˇreˇsit souvisej´ıc´ı probl´emy). • Zrychlit IFSMaker, dokonˇcit moduly na sweep, box-counting, zrychlit pr´aci s Tune n´ astrojem a spr´ avu velk´eho poˇctu objekt˚ u. • Opravit mˇeˇren´ı obsahu a poˇctu segment˚ u pro komplikovanˇejˇs´ı u ´tvary, otestovat pˇresnost NaN“ metody i pro v´ ypoˇcet mˇr´ıˇzkov´e dimenze. ” • Pokusit se extrahovat vnˇejˇs´ı norm´alu pomoc´ı NaN“ metody (rychlejˇs´ı v´ ypoˇcet ” VD). • Upravit algoritmus na v´ ypoˇcet VD a zrychlit jej, upravit jeho optimalizaci na v´ ahov´ an´ı v´ıce c´ıl˚ u. • Je moˇzn´ y dalˇs´ı rozvoj PSO – hled´an´ı v´ıce minim najedou, moˇznost vytv´aˇret v´ıce roj˚ u, SPSO pro analytick´e funkce, GSO, dalˇs´ı moˇznosti zpracov´an´ı. • Soustavn´e studium vlastnost´ı frakt´aln´ıch z´aˇriˇc˚ u s nasazen´ım vyvinut´ ych n´ astroj˚ u (velikost frakt´ aln´ı dimenze a obsahu vs. rezonanˇcn´ı kmitoˇcet, pˇr´ıpadnˇe rozloˇzen´ı m´ od˚ u). • Klasifikace m´ odu na z´ akladˇe bitmapy (vhodn´e vylepˇsen´ı i pro TCM), dodateˇcn´ a stratifikace m´ od˚ u, oznaˇcen´ı m´od˚ u se silnˇe lokalizovan´ ymi proudy. Uˇziteˇcnost cel´e pr´ ace m˚ uˇze posoudit jen a pouze jej´ı ˇcten´aˇr, kter´emu t´ımto dˇekuji, dostal-li se aˇz na z´ avˇer.
”
Kdyˇz je d´ılo dokon´ ano, necht’ se ˇclovˇek vzd´ al´ı.“ — Lao-C’, O Tau a ctnosti, IX. b´aseˇ n
117
Literatura Monografie [1] Karel Zaplat´ılek, Bohuslav Doˇ nar: MATLAB pro zaˇc´ ateˇcn´ıky. 2.vyd´an´ı, BEN, Praha, 2005. ISBN 80-7300-175-6 [2] Karel Zaplat´ılek, Bohuslav Doˇ nar: MATLAB tvorba uˇzivatelsk´ych aplikac´ı. 1.dotisk 1.vyd´ an´ı, BEN, Praha, 2005. ISBN 80-7300-133-0 ˇ [3] Ivan Zelinka, Frantiˇ sek Vˇ celaˇ r, Marek Cand´ ık: Frakt´ aln´ı geometrie: principy a aplikace. BEN, Praha, 2006. ISBN 80-7300-191-8 [4] Benoit B. Mandelbrot: The Fractal Geometry of Nature. W.H.Freeman, 1982. [5] Benoit B. Mandelbrot: Frakt´ aly: tvar, n´ ahoda a dimenze. 1.vyd´an´ı, Kolumbus, Praha, 2003. Edice Kolumbus – Svazek 163. ISBN 80-204-1009-0 [6] Peter Coveney, Roger Highfield: Mezi chaosem a ˇr´ adem. 1.vyd´an´ı, Kolumbus, Praha, 2003. Edice Kolumbus – Svazek 160. ISBN 80-204-0989-0 ˇ ad z chaosu. 1.vyd´an´ı, Kolumbus, [7] Ilya Prigogine, Isabelle Stengersov´ a: R´ Praha, 2001. Edice Kolumbus – Svazek 158. ISBN 80-204-0910-6 [8] The MathWorks: Genetic Algorithm and Direct Search Toolbox. ver. 2., User’s Guide, The MathWorks, 2006. [9] The MathWorks: Using Matlab Graphics. ver. 7., User’s Guide, The MathWorks, 2004. [10] The MathWorks: Partial Differential Equation Toolbox. ver. 1., User’s Guide, The MathWorks, 2002. ˇıˇren´ı elektromagnetick´ych vln a ant´eny. [11] Miloˇ s Maz´ anek, Pavel Pechaˇ c: S´ ˇ ˇ dotisk 2.vyd´ an´ı, CVUT, Praha, 1998. Nakladatelstv´ı CVUT, 10931. publikace. ISBN 978-80-01-03032-5
118
N´ astroj pro mod´ aln´ı anal´ yzu FPA
Literatura
ˇ [12] Jan Mach´ aˇ c, Karel Novotn´ y, Zbynˇ ek Skvor, Jaroslav Vokurka: Numeˇ rick´e metody v elektromagnetick´em poli. CVUT, Praha, 2002. Nakladatelstv´ı ˇ CVUT, ISBN 978-80-01-03753-9 [13] Ladislav Sz´ ant´ o: Maxwellovy rovnice a jejich n´ azorn´e odvozen´ı. 1.vyd´an´ı, BEN, Praha, 2003. ISBN 80-7300-096-2 [14] Zdenˇ ek Nov´ aˇ cek: Elektromagnetick´e vlny, ant´eny a veden´ı. ˇ ıma, Roman Neruda: Teoretick´e ot´ [15] Jiˇ r´ı S´ azky neuronov´ych s´ıt´ı. [16] Blanka Heringov´ a, Petr Hora: Matlab. D´ıl I. - Pr´ ace s programem. Plzeˇ n, 1995, H-S. [17] Blanka Heringov´ a, Petr Hora: MatLab. D´ıl II. - Popis funkc´ı. Plzeˇ n, 1995, H-S. [18] Andy H. Register: A Guide to Matlab Object-Oriented Programming. SciTech Publishing Inc., 2007. Atlanta, Georgia, USA. ISBN 978-1-58488-911-3 [19] The MathWorks: Classes and Object-Oriented Programming. User’s Guide, The MathWorks, 2008. [20] The MathWorks: Matlab Compiler. ver. 2., User’s Guide, The MathWorks, 1999. ˇ [21] Petr Olˇ s´ ak: Line´ arn´ı algebra. CVUT, ftp://math.feld.cvut.cz/pub/olsak/linal/.
Praha,
2002.
Tak´e
na:
[22] Felix T. S. Chan, Manoj K. Tiwari: Swarm Inteligence – Focus on Ant and Particle Swarm Optimization. I-Tech Education and Publishing, 2007. ISBN 978-3-902613-09-7 [23] Karl E. Lonngren, Sava V. Savov: Fundamentals of Electromagnetics with Matlab. Scitech Publishing Inc., 2004. ISBN 1-891121-30-8 [24] Won Y. Yang, Wenwu Cao, Tae-Sang Chung, John Morris: Applied Numerical Methods Using Matlab. John Wiley Inc., 2005. ISBN 0-471-69833-4 [25] Solving the Engineering Problem. [26] Jaan Kiusalaas: Numerical Methods in Engineering with Matlab. Cambridge University Press, 2005. ISBN 978-0-521-85288-3 [27] J. R. James, P. S. Hall: Handbook of Microstrip Antennas vol.1. London, 1989. Peter Peregrinus Ltd. ISBN 0-86341-150-9. chapter 1 − 3 [28] Constantine A. Balanis: Antenna Theory: Analysis and Design. 2nd ed., USA, 1997. John Wiley. ISBN 0-471-59268-4 119
N´ astroj pro mod´ aln´ı anal´ yzu FPA
Literatura
[29] Constantine A. Balanis: Advanced Engineering Electromagnetics. USA, 1989. John Wiley. ISBN 0-471-62194-3. Chapter 6. [30] J. R. James, P. S. Hall, C. Wood: Microstrip Antenna Theory and Design. USA, 1981. Peter Peregrinus Ltd. ISBN 0-906048-57-5. [31] Thomas A. Milligan: Modern Antenna Design. 2nd ed., USA, 2005. John Wiley. ISBN 978-0-471-45776-3. [32] S. J. Orfanidis: Electromagnetic waves & Antennas. www.ece.rutgers.edu/ orfanidi/ewa. [33] Sergey N. Makarov: Antenna and EM Modeling with Matlab. USA, 2002. John Wiley. ISBN 0-471-21876-6 [34] Kenneth Falconer: Fractal Geometry – Mathematical Foundations and Applications. USA, 2003. John Wiley. ISBN 0-470-84861-8 (HB) [35] Gerald Edgar: Measure, Topology and Fractal Geometry. 2nd ed., USA, 2008. Springer. ISBN 987-0-387-74749-1 [36] Basic methods of calculation and design of patch antennas. pgs. 71 − 87 [37] Comsol AB.: Comsol Documentation.. 1994-2008, Comsol 3.5.0.
ˇ anky a pˇ Cl´ r´ıspˇ evky ˇ [38] Miloslav Capek, Pavel Hazdra: PSO optimalizace v Matlabu. Technical Computing Prague 2008, ISBN sborn´ıku: ISBN 978-80-7080-692-0. ˇ [39] Miloslav Capek: PSO Optimization of IFS Fractal Patch Antennas. Poster 2009, CTU-FEE, Prague. ˇ [40] Pavel Hazdra, Miloslav Capek, Jan Kraˇ cek: Optimization Tool for Fractal Patches Based on the IFS Algorithm. EuCAP 2009, Berlin. ˇ [41] Pavel Hazdra, Miloslav Capek: IFS Tool for Microstrip Patch Antenna Analysis. In Proceedings of the 14th Conference on Microwave Techniques ˇ COMITE 2008 [CD-ROM]. Praha: Ceskoslovensk´ a sekce IEEE, 2008, p. 227230. ISBN 978-1-4244-2138-1. [42] Jordi Romeu, Yahya Rahmat-Samii: Fractal Elements and Their Applications to Frequency Selective Surfaces. IEEE Antennas and Wireless, 2000. [43] Jacob Robinson, Yahya Rahmat-Samii: Particle Swarm Optimization in Electromagnetics. IEEE Trans. on Antennas and Propagation, Vol. 52, No. 2, pp.397-407, February 2004. 120
N´ astroj pro mod´ aln´ı anal´ yzu FPA
Literatura
[44] Nanbo Jin, Yahya Rahmat-Samii: Advances in Particle Swarm Optimization for Antenna Designs: Real-Number, Binary, Single-Objective and Multiobjective Implementations. IEEE Trans. on Antennas and Propagation, Vol. 55, No. 3, pp.556-567, March 2007. [45] James Kennedy, Russell Eberhart: Particle Swarm Optimization. IEEE, pp.1942-1948, 1995. [46] K. E. Parsopoulos, M. N. Vrahatis: Recent approaches to global optimization problems through Particle Swarm Optimization. Natural Computing, pp.235-306, 2002. [47] K. E. Parsopoulos, V. P. Plagianakos, G. D. Magoulas, M. N. Vrahatis: Stretching Technique for Obtaining Global Minimizers Through Particle Swarm Optimization. Dostupn´e na: http://www.mat.univie.ac.at/ neum/glopt/mss/ParPM01.pdf [48] Ruˇ zica M. Golubovi´ c, Dragan I. Ol´ can: Antenna Optimization Using Particle Swarm Optimization Algorithm. Journal of Automatic Control, Vol. 16, pp.21-24, 2006. [49] Chia-Feng Juang, Yuan-Chang Liou On the Hybrid of Genetic Algorithm and Particle Swarm Optimization For Evolving Recurrent Neural Network. [50] A. Gandelli, F. Grimaccia, M. Mussetta, P. Pirinoli, R. E. Zich: Genetical Swarm Optimization: an Evolutionary Algorithm for Antenna Design. AUTOMATIKA 47 (2006) 3 − 4, str.105 − 112 [51] Sergey Makarov: MoM Antenna Simulation with Matlab: RWG Basis Functions. EM Programmer’s Notebook [52] P.W.Tang, P.F.Wahid: Hexagonal Fractal Multiband Antenna. IEEE Antennas and Wireless letters, vol.3, 2004. [53] Krzysztof Gdawiec: Fractals. 2006. [54] Carla M. Riggi: Hutchinson Operators In R3 . http:/facweb.uofs.edu/ [55] J. L´ aˇ c´ık, Z. Raida: Anal´yza plan´ arn´ıch struktur pomoc´ı metody moment˚ u a jejich optimalizace. VUT v Brnˇe, pˇr´ıspˇevek [56] M. V. Berry: Distribution of Modes in Fractal Resonators. University of Bristol, Bristol. 1986. [57] M. V. Berry: Improved Eigenvalue Sums for Inferring Quantum Billiard Geometry. University of Bristol, Bristol. 1986.
121
N´ astroj pro mod´ aln´ı anal´ yzu FPA
Literatura
[58] Sachendra N. Sinha, Manish Jain: A Self-Affine Fractal Multi-band Antenna. AWPL 0126-2006. [59] D. H. Werner, P. L. Werner, K. H. Church: Genetically Engineered Multiband Fractal Antennas. ELECTRONICS LETTERS, Vol. 37, No. 19. 2001. [60] Z. Baharav: Fractal Arrays Based on Iterated Function System. IEEE, 1999. 0-7803-5639-X/99. [61] P. Hazdra, M. Pol´ıvka, V. Sokol: Microwave Antennas and Circuits Modeling Using Electromagnetic Field Simulator. [62] Christopher Lum: Matlab Class Tutorial. Autonomous Flight Systems Laboratory, 2006. [63] Matt Aasted: Primer on Scripting Comsol with Matlab. 2007. [64] Andr´ e Waser: On the Notation of Maxwell’s Field Equations. [65] R. F. Harrington, J. R. Mautz: Theory of Characteristic Modes for Conducting Bodies. IEEE Trans. on Antennas and Propagation, Vol. AP-19, No. 5, pp. 622-628, Sept. 1971. [66] J. C. Malzahn Kampe: Matlab Programming. 1999. [67] Shardul Bhatia, Wen Eu Cheah: Matlab Documentation for OOP. Dostupn´e na: www.cc.gatech.edu/classes/AY2005/cs1371 spring/
Pr´ ace vˇ etˇ s´ıho rozsahu ˇ [68] Miloslav Capek: Moˇznosti generov´ an´ı frakt´ al˚ u pomoc´ı IFS. Semestr´aln´ı pr´ace, ˇ FEL CVUT. Praha, 2006. ˇ [69] Miloslav Capek: Mod´ aln´ı anal´yza mikrop´ askov´ych patch ant´en. Bakal´aˇrsk´a ˇ pr´ ace, FEL CVUT. Praha, 2007. ˇ [70] Miloslav Capek: Implementace vyzaˇrovac´ıho diagramu v prostˇred´ı Matlab. Inˇ dividu´ aln´ı projekt, FEL CVUT. Praha, 2009. [71] Pavel Hazdra: Compact Fractal Antenna Structures. Technical Thesis, dep. of Electromagnetic Field, CTU. Prague, 2005. [72] Pavel Tiˇ snovsk´ y: Interaktivn´ı editor afinn´ıch transformac´ı. Diplomov´a pr´ace, VUT. Brno, 1999. ˇ [73] Pavel Hazdra: Frakt´ alov´e ant´eny. Diplomov´a pr´ace, FEL CVUT. Praha, 2003.
122
N´ astroj pro mod´ aln´ı anal´ yzu FPA
Literatura
[74] Jan Rohan: N´ avrh patchov´e ant´eny pomoc´ı genetick´eho algoritmu. Bakal´aˇrsk´a pr´ ace, VUT. Brno, 1999. [75] Genetick´e algoritmy. Diplomov´a pr´ace, Praha. [76] Miroslav Janoˇ s´ık: Algoritmy pro optimalizaci s´ıt´ı GAME. Bakal´aˇrsk´a pr´ace, ˇ FEL CVUT. Praha, 2006. [77] Miloˇ s Nˇ emec: Optimalizace pomoc´ı mravenˇc´ıch koloni´ı. Diplomov´a pr´ace, ˇ CVUT. Praha, 2006. ˇ [78] Martin Stumpf: Frekvenˇcnˇe selektivn´ı struktury s frakt´ aln´ımi motivy. ´ v Brnˇe. Bakal´ aˇrsk´ a pr´ ace, VUT [79] Vlastimil Koudelka: Neuronov´ a s´ıt’ pro n´ avrh ˇsirokop´ asmov´e ant´eny. ´ Bakal´ aˇrsk´ a pr´ ace, VUT v Brnˇe. Brno, 2007. [80] Aleˇ s Marˇ s´ alek: Multifrekvenˇcn´ı ozaˇrovaˇc mal´e parabolick´e ant´eny s kruhovou ´ v Brnˇe. polarizac´ı. Diplomov´ a pr´ ace, VUT [81] Pavel Hamouz: Anal´yza ant´en metodou charakteristick´ych m´ od˚ u. Diplomov´a ˇ pr´ ace, FEL CVUT v Praze. Praha, 2007. [82] Robert Z´ aleˇ s´ ak: L-syst´emy a syst´emy iterovan´ych funkc´ı – Popis a realizace v prostˇred´ı Matlab. Bakal´ aˇrsk´a pr´ace, VUT. Brno, 2007. [83] Robert Wiesner: Uˇzit´ı a zneuˇzit´ı frakt´ al˚ u. Diplomov´a pr´ace, Masarykova Univerzita. Brno, 2006. [84] Petr Pauˇ s: Poˇc´ıtaˇcov´e metody anal´yzy frakt´ aln´ıch mnoˇzin. Diplomov´a pr´ace, ˇ FjFi CVUT v Praze. Praha, 2005. [85] Marta Cabedo Fabr´ es: Systematic Design of Antennas Using the Theory of Characteristic Modes. Ph. D. dizertace, Universidad Polit´ecnica de Valencia, 2007.
Internetov´ e zdroje [86] Frakt´ aly v poˇc´ıtaˇcov´e grafice, na serveru: www.root.cz. Seri´al. I.–IV. 2006. [87] Galleries and Resources: www.fractalus.com. Otevˇren´a galerie frakt´al˚ u. [88] Genetic Algorithms in Plain English: www.ai-junkie.com/ga/intro/gat1.html, ... [89] Matlab tutorial1: http://artax.karlin.mff.cuni.cz/ beda/cz/matlab/primercz/.
123
N´ astroj pro mod´ aln´ı anal´ yzu FPA
Literatura
[90] Matlab tutorial2: http://uprt.vscht.cz/majerova/matlab/lekce2.html, ... [91] Simulace elektromagnetick´eho pole. Presentace dostupn´a na: www.elmag.org nebo www.rfprop.com. [92] Numerick´ a simulace elektromagnetick´eho pole – Simul´ atory elmag. pole. Presentace k pˇredmˇetu na: www.elmag.org. [93] Rojov´ a inteligence, mravenˇcn´ı kolonie. Osobn´ı str´anky zab´ıvaj´ıc´ı se mj. rojovou optimalizac´ı, na: www.milosnemec.cz. [94] Objekty a objektov´e paradigma. http://objekty.vse.cz [95] Metoda koneˇcn´ych prvk˚ u. http://www.345.vsb.cz/jirihruby/Vmt/ [96] Poˇc´ıtaˇcov´e generov´ an´ı frakt´ aln´ıch mnoˇzin. http://kmlinux.fjfi.cvut.cz/∼pauspetr/html/skola/fraktaly/ reserse.htm] Toc73066108 [97] Vybran´e frakt´ aly a jejich dimenze. http://www.kitnarf.cz/publications [98] Humusoft. Str´ anky v´ yhradn´ıho prodejce Matlabu, Comsolu a HeavyHorse ˇ Dostupn´e na: http://www.humusoft.cz stanic v CR. [99] Matlab. http://www.mathworks.com/ [100] Comsol Multiphysics. http://www.comsol.com/ [101] Computer Simulation Technology. http://www.cst.com/ [102] EM Software & Systems-S.A.. http://www.feko.info/ [103] Benoit B. Mandelbrot: Fractals in Science, Engineering and Finance. Video pˇredn´ aˇska na MIT, http://mitworld.mit.edu/video/52.
124
Rejstˇ r´ık σ-algebra, 11 ˇs´ıˇrka p´ asma, 40
funcion´al, 46 funkce (Matlab), 22
absorbˇcn´ı zed’, 84 afinn´ı transformace, 8 agent, 83 apertura, 71
Galerkinova metoda, 43, 46
b´azov´e funkce, 42, 47 Banach,Stefan, 7 Banachova vˇeta, 7 Barnsley, M. F., 3 Besicovitch, Abram S., 3 Borelovsk´ a mnoˇzina, 13 C++, 19 callback funkce, 20 Carath´eodory, Constantin, 14 charakteristick´e proudy, 50 charakteristick´ yu ´hel, 51 Comsol Multiphysics, 49 cost funkce, 86 CST-MWS, 62 datov´ y typ, 21 Demko, S., 3 Dirac˚ uv impuls, 43 diskretizace, viz mesh dokonal´ a elektrick´ a stˇena, 44, 49 dokonal´ a magnetick´ a stˇena, 44
H¨olderova funkce, 13 handle, 20 harmonick´ y ust´alen´ y stav, 44 Hausdorff, Felix, 3 Hausdorffova dimenze, 13 Helmholtzova vlnov´a rovnice, 45 Hutchinson, John E., 5 Hutchinson˚ uv oper´ator, 5 IFS, 3 Java, 19 kolektivn´ı chov´an´ı, 82 kontrakce, 6 Kroneckerovo delta, 51 Lagrange˚ uv variaˇcn´ı princip, 49 line´arn´ı oper´ator, 41 Lipschitzova funkce, 13
Eulerova rovnice, 50 excitaˇcn´ı koeficient, 52
m´ıra, 11 mˇr´ıˇzkov´a dimenze, 15 Makarov, Sergey N., 52 Mandelbrot, Benoit B., 3 Matlab, 19 mesh, 47, 56 metrika, 6 Moler, Cleve, 19
FEKO, 56 frakt´ al, 3 Fredholmova teorie, 44
nap´ajen´ı ant´eny, 39 nesmysln´e m´ody, 57 Neumannova podm´ınka, 44 125
N´ astroj pro mod´ aln´ı anal´ yzu FPA
Rejstˇ r´ık
neviditeln´ a zed’, 85 odrazn´ a zed’, 84 pevn´ y bod, 6 postupn´ a proudov´ a vlna, 39 princip ekvivalence, 71 proudov´ a hustota, 67 Register, Andy H, 21 rezonance, 46, 50 Richardson˚ uv efekt, 4 Ritzova metoda, 46 rojov´ a optimalizace, 82 RWG b´ azov´e funkce, 52 Scierpinsk´eho troj´ uheln´ık, 17, 127 skal´arn´ı potenci´ al, 50, 66 skal´arn´ı souˇcin, 42 skript (Matlab), 22 sobˇepˇr´ıbuznost, 4 sobˇepodobnost, 4 solution space, 83 stojat´ a proudov´ a vlna, 39 Thomson˚ uv princip, 46 topologick´ a dimenze, 11 transformaˇcn´ı matice, 70 troj´ uheln´ıkovou nerovnost, 6 vektorov´ y potenci´ al, 50, 66 vlastn´ı ˇc´ısla, 45 vnˇejˇs´ı norm´ ala, 72
126
Kapitola 12
Pˇ r´ılohy 12.1
Dodatek A: V´ ybˇ er IFS frakt´ al˚ u
Obr´ azek 12.1: Frakt´al FRC A v prvn´ı, druh´e a tˇret´ı iteraci
Obr´ azek 12.2: Frakt´ al FRC A inicializaˇcn´ı objekt a transformace Parametry IFS:
0 0 FRC A.base = 100 √ 0 50 5000 127
N´ astroj pro mod´ aln´ı anal´ yzu FPA
12.1. Dodatek A: V´ ybˇ er IFS frakt´ al˚ u
0.5001 0 0 0.5001 0 0 FRC A.tran = 0.5001 0 0 0.5001 50 √ 0 1250 0.5001 0 0 0.5001 25 FRC A.iter = 3 3 3
Poˇcet nod˚ u a polygon˚ u: 1.iterace 2.iterace Nod˚ u 9 27 Polygon˚ u 3 9
3.iterace 81 27
Tabulka 12.1: Parametry kol´aˇze FRC A
Obr´ azek 12.3: Frakt´al FRC B v prvn´ı, druh´e a tˇret´ı iteraci
Obr´ azek 12.4: Frakt´ al FRC B inicializaˇcn´ı objekt a transformace Parametry IFS:
−50 −30 50 −30 FRC B.base = 50 30 −50 30
128
N´ astroj pro mod´ aln´ı anal´ yzu FPA
0.2 0.45 0.45 0.45 0.45
12.1. Dodatek A: V´ ybˇ er IFS frakt´ al˚ u
0 0 0 0 0
0 0.334 0 0 0 0.45 27.5 17.5 0 0.45 27.5 −17.5 FRC B.tran = 0 0.45 −27.5 17.5 0 0.45 −27.5 −17.5 FRC B.iter = 3 3 3
Poˇcet nod˚ u a polygon˚ u: 1.iterace 2.iterace Nod˚ u 20 100 Polygon˚ u 5 25
3.iterace 500 125
Tabulka 12.2: Parametry kol´aˇze FRC B
Obr´ azek 12.5: Frakt´al FRC C v prvn´ı, druh´e a tˇret´ı iteraci Parametry IFS: FRC C.base = FRC C.tran =
0.334 0.334 0.334 0.334 0.334
0 44.4 44.4 29.6 29.6 14.8 14.8 0
0 0 0 0 0 129
0 0 0 0 0
0 0 45.46 45.46 22.73 22.73 45.46 45.46
0.5 0 0 0.5 14.8 0 0.5 29.6 0 0.5 0 22.73 0.5 29.6 22.73
N´ astroj pro mod´ aln´ı anal´ yzu FPA
12.1. Dodatek A: V´ ybˇ er IFS frakt´ al˚ u
Obr´ azek 12.6: Frakt´ al FRC C inicializaˇcn´ı objekt a transformace FRC C.iter =
3 3 3
Poˇcet nod˚ u a polygon˚ u: 1.iterace 2.iterace Nod˚ u 40 200 Polygon˚ u 5 25
3.iterace 1000 125
Tabulka 12.3: Parametry kol´aˇze FRC C
Parametry IFS: FRC D.base =
0.3350 0.3350 0.3350 0.3350 0.3350 0.3350
103.9236 0 207.8460 60 207.8460 180 103.9236 240 0 180 0 60
0 0 0 0 0 0
0 0 0 FRC D.tran = 0 0 0 FRC D.iter =
130
0.3350 0 0 0.3350 66.7 0 0.3350 −33.5 57.8 0.3350 100 57.8 0.3350 0 115.5 0.3350 66.7 115.5 3 3 3
N´ astroj pro mod´ aln´ı anal´ yzu FPA
12.1. Dodatek A: V´ ybˇ er IFS frakt´ al˚ u
Obr´ azek 12.7: Frakt´al FRC D v prvn´ı, druh´e a tˇret´ı iteraci
Obr´ azek 12.8: Frakt´ al FRC D inicializaˇcn´ı objekt a transformace Parametry IFS: FRC E.base =
1 0 0.5 0.886 −0.5 0.886 −1 0 −0.5 −0.886 0.5 −0.886
0.5 0 0 0.5 FRC E.tran = 0.5 0 0 0.5 0.5 0 0 0.5 FRC E.iter = 3 3
131
−0.5 0 0.25 0.443 0.25 −0.443 3
N´ astroj pro mod´ aln´ı anal´ yzu FPA
12.1. Dodatek A: V´ ybˇ er IFS frakt´ al˚ u
Poˇcet nod˚ u a polygon˚ u: 1.iterace 2.iterace Nod˚ u 36 216 Polygon˚ u 6 36
3.iterace 1296 216
Tabulka 12.4: Parametry kol´aˇze FRC D
Obr´ azek 12.9: Frakt´al FRC E v prvn´ı, druh´e a tˇret´ı iteraci
Poˇcet nod˚ u a polygon˚ u: 1.iterace 2.iterace Nod˚ u 18 54 Polygon˚ u 3 9
3.iterace 162 27
Tabulka 12.5: Parametry kol´aˇze FRC E
Parametry IFS:
−50 −30 −50 30 FRC F.base = 50 30 50 −30 0.15 0 0 0.3 0 0 0.5 0 0 0.35 30 18 FRC F.tran = 0.5 0 0 0.35 30 −18 0.5 0 0 0.35 −30 18 0.5 0 0 0.35 −30 −18 FRC F.iter = 3 3 3
132
N´ astroj pro mod´ aln´ı anal´ yzu FPA
12.1. Dodatek A: V´ ybˇ er IFS frakt´ al˚ u
Obr´ azek 12.10: Frakt´ al FRC E inicializaˇcn´ı objekt a transformace
Obr´ azek 12.11: Frakt´al FRC F v prvn´ı, druh´e a tˇret´ı iteraci Parametry IFS: FRC H.base =
FRC H.tran = FRC
0.3333 0.3333 0.3333 0.3333 0.3333
4.6194 1.9134 −1.9134 −4.6194 −4.6194 −1.9134 1.9134 4.6194 0 0 0 0 0
0.3333 3 0 0.3333 0 3 0.3333 −3 0 0.3333 0 −3 0.3333 0 0 H.iter = 3 3 3
133
0 0 0 0 0
1.9134 4.6194 4.6194 1.9134 −1.9134 −4.6194 −4.6194 −1.9134
N´ astroj pro mod´ aln´ı anal´ yzu FPA
12.1. Dodatek A: V´ ybˇ er IFS frakt´ al˚ u
Obr´ azek 12.12: Frakt´ al FRC F inicializaˇcn´ı objekt a transformace Poˇcet nod˚ u a polygon˚ u: 1.iterace 2.iterace Nod˚ u 20 100 Polygon˚ u 5 25
3.iterace 500 125
Tabulka 12.6: Parametry kol´aˇze FRC F
Parametry IFS: −1 −1 −1 1 FRC J.base = 1 1 1 −1 0.5 0 0 0.5 0 0 0.3 0 0 0.3 0.7 0.7 0.3 0 0 0.3 −0.7 0.7 FRC J.tran = 0.3 0 0 0.3 −0.7 −0.7 0.3 0 0 0.3 0.7 −0.7 FRC J.iter = 3 3 3
134
N´ astroj pro mod´ aln´ı anal´ yzu FPA
12.1. Dodatek A: V´ ybˇ er IFS frakt´ al˚ u
Obr´ azek 12.13: Frakt´al FRC H v prvn´ı, druh´e a tˇret´ı iteraci
Obr´ azek 12.14: Frakt´ al FRC H inicializaˇcn´ı objekt a transformace Parametry IFS: FRC K.base =
−0.75 −0.75 −0.25 −0.25 0.25 0.25 0.75 0.75 0.25 0.25 −0.25 −0.25
135
0.75 −0.75 −0.75 −0.25 −0.25 −0.75 −0.75 0.75 0.75 0.25 0.25 0.75
N´ astroj pro mod´ aln´ı anal´ yzu FPA
12.1. Dodatek A: V´ ybˇ er IFS frakt´ al˚ u
Poˇcet nod˚ u a polygon˚ u: 1.iterace 2.iterace Nod˚ u 40 200 Polygon˚ u 5 25
3.iterace 1000 125
Tabulka 12.7: Parametry kol´aˇze FRC H
Obr´ azek 12.15: Frakt´al FRC J v prvn´ı, druh´e a tˇret´ı iteraci
0.334 0.334 0.334 0.334 0.334
0 0 0 0 0
0 0 0 FRC K.tran = 0 0 FRC K.iter =
136
0.334 0 0 0.334 0.5 0.375 0.334 0.5 −0.375 0.334 0.5 0.375 0.334 −0.5 −0.375 3 3 3
N´ astroj pro mod´ aln´ı anal´ yzu FPA
12.1. Dodatek A: V´ ybˇ er IFS frakt´ al˚ u
Obr´ azek 12.16: Frakt´ al FRC J inicializaˇcn´ı objekt a transformace Poˇcet nod˚ u a polygon˚ u: 1.iterace 2.iterace Nod˚ u 20 100 Polygon˚ u 5 25
3.iterace 500 125
Tabulka 12.8: Parametry kol´aˇze FRC J
Obr´ azek 12.17: Frakt´al FRC K v prvn´ı, druh´e a tˇret´ı iteraci Poˇcet nod˚ u a polygon˚ u: 1.iterace 2.iterace Nod˚ u 60 300 Polygon˚ u 5 25
3.iterace 1500 125
Tabulka 12.9: Parametry kol´aˇze FRC K
137
N´ astroj pro mod´ aln´ı anal´ yzu FPA
12.1. Dodatek A: V´ ybˇ er IFS frakt´ al˚ u
Obr´ azek 12.18: Frakt´ al FRC K inicializaˇcn´ı objekt a transformace
138
N´ astroj pro mod´ aln´ı anal´ yzu FPA 12.2. Dodatek B: Simulace vybran´ ych FRC
12.2
Dodatek B: Simulace vybran´ ych FRC
Obr´ azek 12.19: VD pro 1. m´od kol´aˇze FRC F (CST-MWS)
139
N´ astroj pro mod´ aln´ı anal´ yzu FPA 12.2. Dodatek B: Simulace vybran´ ych FRC
Obr´ azek 12.20: VD pro 2. m´od kol´aˇze FRC F (CST-MWS)
140
N´ astroj pro mod´ aln´ı anal´ yzu FPA 12.2. Dodatek B: Simulace vybran´ ych FRC
Obr´ azek 12.21: M´ ody struktury FRC C (CM, 1-8 zleva doprava)
Obr´ azek 12.22: M´ ody struktury FRC J (CM, 1-4 zleva doprava)
141
N´ astroj pro mod´ aln´ı anal´ yzu FPA 12.2. Dodatek B: Simulace vybran´ ych FRC
Obr´ azek 12.23: Proudov´e rozloˇzen´ı dominantn´ıch mod˚ u 142
N´ astroj pro mod´ aln´ı anal´ yzu FPA
12.3
12.3. Dodatek C: Pˇ rehled aplikac´ı
Dodatek C: Pˇ rehled aplikac´ı
Obr´ azek 12.24: Sch´ema cel´eho projektu N´ azev AntTool IFSMaker IFSLimiter PSOptimizer PSOPost EvalInFem EvalRadPattern OptimRadPattern DBT
Status 09/08 nedokonˇceno 11/08 1/09 2/09 10/08 03/09 ne ne
Koment´ aˇ r pozastaveno +sweep, FEM, poly a dalˇs´ı +multiple-min, DBT, GSO / SPSO volba dimenz´ı, dalˇs´ı u ´daje max fr podle meshe upravit algoritmus podle licence
Tabulka 12.10: Pˇrehled vˇsech vyvinut´ ych n´astroj˚ u
143
N´ astroj pro mod´ aln´ı anal´ yzu FPA
12.4
12.4. Dodatek D: Pˇ r´ıkazy AntTool
Dodatek D: Pˇ r´ıkazy AntTool
Pˇ r´ıkaz add pt x,y add tr a,b,c,d,e,f add it x save pt X save pt save tr / tr X save ifs X save ifs x,y,z save pc load pt X load pt load tr / tr X cor pt x cor tr x del pt x,y,z,. . . del tr x,y,z,. . . del pt/tr 0 sw pt sw tr sw ifs sw ifs y,z solve ifs sc txt about ant
Operace uloˇz´ı bod [x, y] uloˇz´ı transf. podle [a, b, c, d, e, f ] uloˇz´ı poˇcet iterac´ı, v rozsahu (1, 15) uloˇz´ı vˇsechny body do souboru points arrayX.mat otevˇre dialog, ukl´ad´a do zadan´eho txt souboru ukl´ ad´ an´ı transformac´ı, podobnˇe jako u bod˚ u uloˇz´ı polygony (cell) do extern´ıho souboru jako v´ yˇse, ale od iterace y do iterace z screenshot obr´azk˚ u, otevˇre v´ ybˇer moˇznost´ı naˇcte slot X s body otevˇre dialog pro v´ ybˇer txt souboru naˇc´ıt´ an´ı transformac´ı, jako u bod˚ u umoˇzn´ı opravit bod ˇc.x lze opravit transformaci x smaˇze body ˇc.x,y,z,. . . smaˇze transformace ˇc.x,y,z,. . . maˇze vˇsechny body/transformace vykresl´ı zadan´e body vykresl´ı zadan´e transformace vykresl´ı celou kol´aˇz vykresl´ı IFS od iterace y do z vypoˇcte IFS frakt´al naˇcte a vyˇreˇs´ı skript z B program source/script data1.txt otevˇre info okno
Tabulka 12.11: Pˇrehled1 dostupn´ ych pˇr´ıkaz˚ u programu AntTool (Matlab) Vˇetˇsina uveden´ ych pˇr´ıkaz˚ u m´a v´ıce tvar˚ u, rozˇsiˇruj´ıc´ı jejich moˇznosti. Tento pˇrehled je z´ akladn´ı a mˇel by umoˇznit vytvoˇrit a vykreslit kol´aˇz. I kdyˇz funkci AntToolu pˇrevzal IFSMaker, je vhodn´e tyto pˇr´ıklady uv´est, nebot’ dokladuj´ı, ˇze i v Matlabu lze vytvoˇrit funguj´ıc´ı konzoly zaloˇzenou na pˇresn´em tokenizeru a rychl´e interpretaci rozdˇelen´ ych pˇr´ıkaz˚ u.
12.5
Dodatek E: Srovn´ an´ı program˚ u
Tato pˇr´ıloha dokladuje v´ yvoj vybran´ ych aplikac´ı od BP k DP.
144
N´ astroj pro mod´ aln´ı anal´ yzu FPA
12.5. Dodatek E: Srovn´ an´ı program˚ u
Vyˇ zaduje pˇ ripojen´ y Comsol Multiphysics conv ifs pˇrevede IFS na FEM geometrii conv ifs y,z pˇrevede IFS na FEM geometrii od it. y do z conv poly pˇrevede polygony na FEM geometrii sw geom vykresl´ı FEM geometrii siz ifs xk,yk body kol´ aˇze jsou n´asobeny xk,yk dim ifs slot najde max. rozmˇer kol´aˇze a ten vyp´ıˇse mesh geo Y,Z diskretizuje FEM geometrii, Y je multiplik., Z ∼ Qmin a dalˇs´ı . . . Tabulka 12.12: Pˇrehled2 dostupn´ ych pˇr´ıkaz˚ u programu AntTool (Comsol)
Obr´ azek 12.25: CM solver z BP (vlevo) a z DP (vpravo)
145
N´ astroj pro mod´ aln´ı anal´ yzu FPA
12.5. Dodatek E: Srovn´ an´ı program˚ u
Obr´ azek 12.26: IFS editor z BP (dole) a DP (nahoˇre)
146
N´ astroj pro mod´ aln´ı anal´ yzu FPA
12.6
12.6. Dodatek F: Obsah DVD
Dodatek F: Obsah DVD
DVD pˇriloˇzen´e k hotov´e pr´ aci obsahuje: • Zdrojov´ y k´ od vˇsech program˚ u v Matlabu, sloˇzka mfiles • Vzory FRC promˇen´ ych, PsoData, v´ ysledky a hladiny funkc´ı, vars • Pˇres 250 obr´ azk˚ u1 (z DP, v´ ysledky, frakt´aly a dalˇs´ı), doc • Excel tabulku s frakt´ aly, optimalizaˇcn´ımi u ´lohami a jejich v´ ysledky, doc • Publikovan´e ˇcl´ anky, Artics • Vybran´e ˇcl´ anky z Literatury, Liter • Sch´emata, data a mfile soubory k norm´ale v Matlabu, Norm • CST model FRC F ma 10mm, CST • Videa (Video): – CST animace rozloˇzen´ı proudu na FRC – Anal´ yza pomoc´ı EvalInFem, vˇc. chybn´eho zad´an´ı – Uk´ azka tvorby IFS v IFSMakeru – Tutori´ al na IFSLimiter – Z´ aznam optimalizace IFS pomoc´ı PSO a CM (cel´ y projekt) – Pohyb roje nad FRC, u ´loha H2, 100 iterac´ı
1
Pozn.: Nen´ı-li uvedeno jinak, jsou vˇsechny obr. d´ılem autora (Corel, Visio, Photoshop . . . ).
147