Modelování a vizualizace elektromagnetických polí v MATLABu

Slides:



Advertisements
Podobné prezentace
Téma 5 Metody řešení desek, metoda sítí.
Advertisements

ŘEŠENÍ ÚLOH V EXCELU.
Počítačové modelování dynamických systémů
Fakulta životního prostředí Katedra informatiky a geoinformatiky
TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM
MATLAB® ( speciální 2D grafy polar, compass, feather,
Program na výpočet parametrů vlhkého vzduchu
MATHCAD Jiří Petržela icq
Práce s vektory a maticemi
( Vyhledání nulových hodnot funkcí )
Mechanika s Inventorem
Softwarový systém DYNAST
Aplikační počítačové prostředky X15APP MATLAB - SIMULINK
Koncepce rozvoje a řízení vědy a výzkumu
MATLAB.
Příklady z Matlabu (6) Příklady na 2D-grafy.
Téma 3 ODM, analýza prutové soustavy, řešení nosníků
Lineární regresní analýza Úvod od problému
Přednáška 12 Diferenciální rovnice
Algoritmy I Cvičení č. 4.
Modelování v Matlabu procvičení katedra elektrotechniky a automatizace
Lineární programování Simplexový algoritmus
Ing. Rudolf Drga, Ph.D. Zlín 2014 Měření směrových charakteristik detektorů narušení Univerzita Tomáše Bati ve Zlíně Fakulta aplikované informatiky Ústav.
3 Elektromagnetické pole
směr kinematických veličin - rychlosti a zrychlení,
T.A. Edison Tajemství úspěchu v životě není v tom, že děláme, co se nám líbí, ale, že nacházíme zalíbení v tom, co děláme.
LINEÁRNÍ OPTIMALIZAČNÍ MODEL
Křivočarý pohyb bodu. křivočarý pohyb bodu,
Plošné konstrukce, nosné stěny
Jazyk vývojových diagramů
Základy teorie řízení Frekvenční charakteristika
Diferenciální rovnice – řešené příklady
Radiální elektrostatické pole Coulombův zákon
vlastnost elementárních částic
EKO/GISO – Kartografická zobrazení
TMF045 letní semestr 2005/2006 II Časová propagace vlnové funkce na mřížce I. (práce s momentovou reprezentací) (Lekce II)
SVĚTELNÉ POLE = část prostoru, ve které probíhá přenos světelné energie Prokazatelně, tj. výpočtem nebo měřením některé světelně technické veličiny,
TYPY MODELŮ FYZIKÁLNÍ MATEMATICKÉ ANALYTICKÉ NUMERICKÉ.
Popis časového vývoje Pohyb hmotného bodu je plně popsán závislostí polohy na čase. Otázkou je, jak zjistit vektorovou funkci času ~r (t), která pohyb.
1 Mechanika s Inventorem 4. Prostředí aplikace Petr SCHILLING, autor přednášky Ing. Kateřina VLČKOVÁ, obsahová korekce Tomáš MATOVIČ, publikace FEM výpočty.
Homogenní elektrostatické pole
MATLAB LEKCE 6.
Diferenciální rovnice
Změny v SOILINu ve SCIA Engineer oproti Nexis32
OPAKOVÁNÍ VYPOČÍTEJTE IMPEDANCI SERIOVÉHO SPOJENÍ REZISTORU O ODPORU R= 10 Ω, INDUKTORU O VLASTNÍ INDUKČNOSTI L= 200 mh A KAPACITORU O KAPACITĚ C=220.
MATLAB® ( část 6).
Aplikační počítačové prostředky X15APP MATLAB Katedra elektroenergetiky, Fakulta elektrotechniky ČVUT, Technická 2, Praha 6 Ing. Zbyněk Brettschneider.
MATLAB® ( část 3 – 2D grafy).
Diferenciální počet funkcí více proměnných
Soustavy souřadnic – přehled
Vedení tepla Viktor Sláma SI – I 23. Zadání Vhodné uložení vyhořelého jaderného paliva je úkol pro současnou generaci. Zaměřme se na jednu nepatrnou část.
Počítače a programování 2 pro obor EST KPC2E TUTORIÁL 4
Matematika pro počítačovou grafiku
Derivace funkce Derivací funkce f je funkce f ´ která udává sklon (strmost) funkce f v každém jejím bodě Kladná hodnota derivace  rostoucí funkce Záporná.
Aplikační počítačové prostředky X15APP MATLAB cvičení 3 Ing. Ladislav Prskavec
14. června 2004Michal Ševčenko Architektura softwarového systému DYNAST Michal Ševčenko VIC ČVUT.
Počítače a programování 2 pro obor EST BPC2E PŘEDNÁŠKA 8
VEKTORY.
Grafické možnosti MATLABu © Leonard Walletzký, 2003
Než začneme programovat Co lze v MALATBu dělat, aniž musíme napsat program. © Leonard Walletzký, ESF MU, 2000.
BU51 CAD systémy RNDr. Helena Novotná. Obsah přednášek  Co potřebujeme z teorie  Ovládání a přizpůsobení AutoCADu (profily, šablony, pracovní prostory,
směr kinematických veličin - rychlosti a zrychlení,
Moderní poznatky ve fyzice
Ing. Milan Houška KOSA PEF ČZU v Praze
4. cvičení
1. přednáška Úvod, vektorový počet, funkce více proměnných
Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. Upravila R.Baštářová.
INTENZITA ELEKTRICKÉHO POLE.
Fyzikální veličiny Míry fyzikálních vlastností: X = x [X]
Simulace oběhu družice kolem Země
Transkript prezentace:

Modelování a vizualizace elektromagnetických polí v MATLABu Tomáš Mikolanda Ústav mechatroniky a technické informatiky Oddělení elektrotechniky a elektroniky BETA verze

Obsah přednášky Úvod do problematiky. Význam a podstata základních. matematických vektorových operátorů. Numerický výpočet, interpretace, chyby a vizualizace. MATLAB Základní grafické prostředky. Nástroje pro vizualizaci skalárních polí. Nástroje pro vizualizaci vektorových polí. Praktické ukázky. Elektrostatické pole. Magnetostatické pole. BONUS na konec Ukázka příkladů ze zápočtových prací z loňského roku. Vaše otázka na závěr? „Co budeme řešit za semestrální práci?“ Obsah přednášky

Úvod do problematiky Otázky a co si musíme uvědomit. Co se počítá? Jak se to počítá? V čem se to spočítá? Jak zobrazit výsledky? Jak výsledky interpretovat? PROČ se to počítá??? Úvod do problematiky

Úvod do problematiky Co se počítá? Komplikované prostorové nebo rovinné technické úlohy. Šíření nebo rozložení EM pole v anizotropním, nehomogenním, nelineárním či tvrdém prostředí. Vysokofrekvenční EM pole. Dynamické úlohy. Sdružené úlohy (termo-EM, EM-mech) Příklady: Rozložení EM pole v elektrickém motoru. Magnetické projevy hvězd. Úvod do problematiky

Úvod do problematiky Jak se to počítá? Jednoduché úlohy analyticky – ručně. Elektrické pole soustavy bodových nábojů. Elektrické a magnetické pole jednoduchých a symetrických úloh (koule, vodič, polorovina, rovina). Vyjadřujeme v kartézských, cylindrických nebo sférických souřadnicích; mezi všema existují vzájemné převody. Jednoduché příklady obvodů s rozprostřenými parametry – homogenní vedení, hloubka vniku.. Úvod do problematiky

Úvod do problematiky Jak se to počítá? Komplikované úlohy numericky Numerická aproximace (Runge-Kutta, ODE, …) Metoda konečných diferencí Metoda konečných prvků (FEM) Dle typu úlohy lze použít buďto některý ze specializovaných numerických řešičů nebo si vytvořit svůj vlastní. Úvod do problematiky

Úvod do problematiky V čem se to spočítá? ANSYS COMSOL MATLAB MATHEMATICA MATHCAD Následují ukázky výstupů z jednotlivých programů. Úvod do problematiky

ANSYS Úvod do problematiky

COMSOL Úvod do problematiky

MATLAB Úvod do problematiky

MATHEMATICA Úvod do problematiky

MATHCAD Úvod do problematiky

Úvod do problematiky Jak zobrazit výsledky? Přímo ve výpočetním systému, pokud to umožňuje. Pomocí některého z grafických postprocessorů. Jak výsledky interpretovat? Velmi opatrně, proč? Modely se realizují za určitých zjednodušujících předpokladů (nulová tloušťka, nekonečná rychlost šíření,…) Moderní je se spoléhat se na výsledky numerických modelů aniž bychom rozuměli fyzikální podstatě problému!!! PROČ se to počítá? … Úvod do problematiky

Význam a podstata základních. matematických vektorových operátorů Význam a podstata základních. matematických vektorových operátorů. Numerický výpočet, interpretace, chyby a vizualizace. grad div (Div) rot (Rot) laplace

Operátorový počet Operátor grad Významy operátoru Skalární funkci převádí na funkci vektorovou. Určuje směr největšího spádu funkce. MATLAB: gradient Operátorový počet

Operátorový počet Operátor div (Div) Významy operátoru Vektorovou funkci převádí na funkci skalární. Udává zřídlovost vektorového pole. Div – plošná divergence Velký význam v teorii EM pole při zkoumání podmínek na rozhraní dvou prostředí. MATLAB: divergence Operátorový počet

Operátorový počet Operátor rot (Rot) Významy operátoru Zachovává vektorovou funkci. Udává v každém bodě lokální míru rotace (otáčení) definované tímto polem. Rot – plošná rotace Velký význam v teorii EM pole při zkoumání podmínek na rozhraní dvou prostředí. MATLAB: curl Operátorový počet

Operátorový počet Operátor Laplace Významy operátoru Je-li operátor aplikován na skalární pole je výsledkem opět skalární pole. Pokud je aplikován na tenzorové pole je výsledkem tenzorové pole stejného řádu. MATLAB: --- Operátorový počet

Operátorový počet MATLAB a problémy numerického řešení MATLAB nepracuje s jednotkami -> rozměrová analýza je pouze na nás. Výsledky včetně chyb závisejí charakteru řešené úlohy a hustotě sítě s kterou počítáme => je bezpodmínečně nutné rozumět fyzikální podstatě řešeného problému! Pozor na výsledky integrací a zejména derivací! MATLAB nezobrazí nedefinované hodnoty, viz ukázka. Malá změna zadání způsobí velké změny na výstupu! Ukázka na funkci: Phi = 2 / sqrt(x^2 + y^2) Operátorový počet

Operátorový počet Zobrazení a význam divergence pole Stejná funkce jako u ukázky gradientu. Otázka: Proč je tentokráte vrchol záporný?? Funkce: Phi = 2 / sqrt(x^2 + y^2 + 0.2) Operátorový počet

Operátorový počet Zobrazení a význam rotace pole První dva obrázky, funkce: A = (-y; x) Druhá dvojice, funkce: A = (-y/R^2; x/R), kde R=sqrt(X^2 + Y^2) Operátorový počet

MATLAB je koncipován jako nástroj pro počítání s vektory => lineární algebra. MATLAB je interpreter, nikoli kompilátor! Maximálního výkonu při výpočtech dosáhnete při vektorovém zápisu operací. Pouze v těch nejnutnějších situacích používat cykly! MATLAB - základy

MATLAB je postaven na principu toolboxů (zásuvných modulů). Toolboxy se dají dokupovat (licencovat) zvlášť podle potřeby. Průměrná cena jednoho toolboxu je pro školství 7.980,- Kč, standardní licence je pak v intervalu <16; 80> tis. Kč. Informace o instalaci: ver Nápověda: help doc MATLAB - základy

MATLAB - základy Pozor na zápis a typ operandů! B = magic(3); // např. [8 1 6; 3 5 7; 4 9 2] C1 = A * B; // =[26 38 26; 31 34 25; 41 36 43] C2 = A .* B;// =[8 2 18; 6 5 21; 12 27 4] C1 != C2 MATLAB - základy

MATLAB – základní grafické prostředky Funkce pro kreslení čárových grafů Odlišují se pouze v tom jaké nastavují měřítko osám grafu. Pro všechny funkce je vstupem vektor nebo matice. Funkce automaticky upraví měřítko os podle vstupních dat. Změnu měřítka lze provést funkcemi: xlim Ylim zlim MATLAB – základní grafické prostředky

MATLAB – základní grafické prostředky plot - 2D graf s lineárním měřítkem na obou osách plot3 – 3D graf s lineárním měřítkem na všech osách loglog – Graf s logaritmickým měřítkem pro všechny osy semilogx – Graf s logaritmickým měřítkem pro osu X a lineárním měřítkem pro osu Y. semilogy – Graf s logaritmickým měřítkem pro osu Y a lineárním měřítkem pro osu X. plotyy – Graf se dvěma osami Y, na levé a pravé straně s odlišným měřítkem. MATLAB – základní grafické prostředky

MATLAB – základní grafické prostředky plot(Y) plot(X1,Y1,...) plot(X1,Y1,LineSpec,...) plot(...,'PropertyName',PropertyValue,...) plot(axes_handle,...) Př: x = -pi : .1 : pi; y = sin(x); plot(x, y) set(gca,'XTick',-pi:pi/2:pi) set(gca,'XTickLabel',{'-pi','-i/2','0','pi/2','pi'}) MATLAB – základní grafické prostředky

MATLAB – základní grafické prostředky plot3(X1,Y1,Z1,...) plot3(X1,Y1,Z1,LineSpec,...) plot3(...,'PropertyName',PropertyValue,...) plot3(X1,Y1,Z1,X2,Y2,Z2,LineSpec,X3,Y3,Z3) Př: Lorenzův attractor MATLAB – základní grafické prostředky

MATLAB – základní grafické prostředky loglog(Y) loglog(X1,Y1,...) loglog(X1,Y1,LineSpec,...) loglog(...,'PropertyName',PropertyValue,...) Př: x = logspace(-1,2); loglog(x,exp(x),'-s') ; grid on; MATLAB – základní grafické prostředky

MATLAB – základní grafické prostředky semilogx(Y) semilogy(...) semilogx(X1,Y1,...) semilogx(X1,Y1,LineSpec,...) semilogx(...,'PropertyName',PropertyValue,...) Př: x = 0 : .1 : 10; semilogy(x, 10.^x); MATLAB – základní grafické prostředky

MATLAB – základní grafické prostředky plotyy(X1,Y1,X2,Y2) plotyy(X1,Y1,X2,Y2,function) plotyy(X1,Y1,X2,Y2,'function1','function2') [AX,H1,H2] = plotyy(...) Př: x = 0:0.01:20; y1 = 200*exp(-0.05*x).*sin(x); y2 = 0.8*exp(-0.5*x).*sin(10*x); [AX,H1,H2] = plotyy(x,y1,x,y2,'plot'); set(get(AX(1),'Ylabel'),'String','Slow Decay'); set(get(AX(2),'Ylabel'),'String','Fast Decay'); xlabel('Time (\musec)'); title('Multiple Decay Rates'); set(H1,'LineStyle','--'); set(H2,'LineStyle',':'); MATLAB – základní grafické prostředky

MATLAB – vizualizace skalárních polí Skalární funkce Skalární funkce je funkce, které každému bodu v prostoru přiřazuje jedno číslo - skalár. Příklady skalárních polí Teplota atmosféry Země v blízkosti povrchu. Absolutní hodnoty vektorových polí (absolutní hodnota magnetické indukce, intenzity el. pole) Jak zobrazit skalární funkci? Otázka do pléna.. MATLAB – vizualizace skalárních polí

MATLAB – vizualizace skalárních polí surface – low-level funkce, nedoporučuji používat, lze nadělat hodně chyb mesh# vs surf# ??? mesh# – drátový model surf# – povrchový model (vyplněný) contour – vrstevnicový graf (zobrazuje ekvipotenciály - izokřivky) pcolor – hodnota funkce odpovídá barevné složce, z = 0 -> jedná se o rovinu, hodnota funkce je vyjádřena barvou. MATLAB – vizualizace skalárních polí

MATLAB – vizualizace skalárních polí Jak funkce používat? 1) meshgrid – generuje pole pro X a Y souřadnice pro 3D grafy [X,Y] = meshgrid(x,y) x, y ~ 1D vektory, rozsah vst. hodnot pro „x“ resp. „y“ X, Y ~ matice (2D) pole složená z kopií vektorů „x“ a „y“ Pozn.: Veškeré výpočty se musejí realizovat s „novými“ proměnnými „X“ a „Y“ !!! 2) Výpočet: MATLAB – vizualizace skalárních polí

MATLAB – vizualizace skalárních polí [X,Y] = meshgrid(-8 : .5 : 8); R = sqrt(X.^2 + Y.^2) + eps; Z = sin(R)./R; surfc(X,Y,Z); MATLAB – vizualizace skalárních polí

MATLAB – vizualizace skalárních polí Další možnosti Stínování: shading [###] flat faceted interp Default nastavení: faceted MATLAB – vizualizace skalárních polí

MATLAB – vizualizace skalárních polí Barevné mapy: Jet HSV Hot Cool Spring Summer Autumn Winter Gray Bone Copper Pink Lines Změna: colormap ### MATLAB – vizualizace skalárních polí

MATLAB – vizualizace skalárních polí Výpočet a zobrazení normálových vektorů surfnorm(Z) surfnorm(X,Y,Z) [Nx,Ny,Nz] = surfnorm(...) Normálové vektory nejsou normalizované! Nezobrazuje ty, které směřují od pozorovatele. Příklad: [X,Y] = meshgrid(-8 : .5 : 8); R = sqrt(X.^2 + Y.^2) + eps; Z = sin(R)./R; surfc(X,Y,Z); hold on; surfnorm(X, Y, Z); MATLAB – vizualizace skalárních polí

MATLAB – vizualizace vektorových polí comet - 2-D comet plot. comet3 - 3-D comet plot. compass – Vektory vycházející z počátku (dobré pro fázorový diagram). feather – Vektory, které jsou rovnoměrně rozloženy podél horizontální osy. quiver – Zobrazí vektor o hodnotách (u,v) v bodě (x,y). quiver3 - 3-D varianta předchozí funkce. MATLAB – vizualizace vektorových polí

MATLAB – vizualizace vektorových polí comet(y) comet(x,y) comet(x,y,p) comet(axes_handle,...) Příklad: t = 0:.01:2*pi; x = cos(2*t).*(cos(t).^2); y = sin(2*t).*(sin(t).^2); comet(x,y); MATLAB – vizualizace vektorových polí

MATLAB – vizualizace vektorových polí comet3(z) comet3(x,y,z) comet3(x,y,z,p) comet3(axes_handle,...) Příklad: t = -10*pi:pi/250:10*pi; comet3((cos(2*t).^2).*sin(t), (sin(2*t).^2).*cos(t),t); MATLAB – vizualizace vektorových polí

MATLAB – vizualizace vektorových polí compass(U,V) compass(Z) compass(...,LineSpec) compass(axes_handle,...) h = compass(...) Příklad: t = -10*pi:pi/250:10*pi; comet3((cos(2*t).^2).*sin(t), (sin(2*t).^2).*cos(t),t); MATLAB – vizualizace vektorových polí

MATLAB – vizualizace vektorových polí feather(U,V) feather(Z) feather(...,LineSpec) feather(axes_handle,...) h = feather(...) Příklad: theta = (-90:10:90)*pi/180; r = 2*ones(size(theta)); [u,v] = pol2cart(theta,r); feather(u,v); MATLAB – vizualizace vektorových polí

MATLAB – vizualizace vektorových polí quiver(x,y,u,v) quiver(u,v) quiver(...,scale) quiver(...,LineSpec) quiver(...,LineSpec,'filled') quiver(axes_handle,...) h = quiver(...) hlines = quiver('v6',...) Příklad: [X,Y] = meshgrid(-2:.2:2); Z = X.*exp(-X.^2 - Y.^2); [DX,DY] = gradient(Z,.2,.2); contour(X,Y,Z) hold on; quiver(X,Y,DX,DY); colormap hsv; hold off; MATLAB – vizualizace vektorových polí

MATLAB – vizualizace vektorových polí quiver3(x,y,z,u,v,w) quiver3(z,u,v,w) quiver3(...,scale) quiver3(...,LineSpec) quiver3(...,LineSpec,'filled') quiver3(axes_handle,...) h = quiver3(...) Příklad: [X,Y] = meshgrid(-2:0.25:2,-1:0.2:1); Z = X.* exp(-X.^2 - Y.^2); [U,V,W] = surfnorm(X,Y,Z); quiver3(X,Y,Z,U,V,W,0.5); hold on surf(X,Y,Z); colormap hsv view(-35,45) axis ([-2 2 -1 1 -.6 .6]) hold off MATLAB – vizualizace vektorových polí

Pokročilé metody vizualizace

Pokročilé metody vizualizace streamline – zobrazuje proudnice. coneplot – zobrazí vektory rychlosti jako kužele. stream2 – vypočte proudnice – rovinná úloha. stream3 – vypočte proudnice – prostorová úloha. streamslice – zobrazí rozložené proudnice. Pokročilé metody vizualizace

Pokročilé metody vizualizace streamline(X,Y,U,V,startx,starty) streamline(U,V,startx,starty) streamline(XY) streamline(...,options) streamline(axes_handle,...) h = streamline(...) Příklad: load wind [sx,sy,sz] = meshgrid(80,20:10:50,0:5:15); h = streamline(x,y,z,u,v,w,sx,sy,sz); set(h,'Color','red') ; view(3); Pokročilé metody vizualizace

Pokročilé metody vizualizace coneplot(X,Y,Z,U,V,W,Cx,Cy,Cz) coneplot(U,V,W,Cx,Cy,Cz) coneplot(...,s) coneplot(...,color) coneplot(...,'quiver') coneplot(...,'method') coneplot(X,Y,Z,U,V,W,'nointerp') coneplot(axes_handle,...) h = coneplot(...) Příklad: viz nápověda k příkazu.. Pokročilé metody vizualizace

Pokročilé metody vizualizace XY = stream2(x,y,u,v,startx,starty) XY = stream2(u,v,startx,starty) XY = stream2(...,options) Příklad: load wind; [sx,sy] = meshgrid(80,20:10:50); streamline(stream2(x(:,:,5),y(:,:,5),u(:,:,5),v(:, :,5),sx,sy)); Pokročilé metody vizualizace

Pokročilé metody vizualizace XYZ = stream3(X,Y,Z,U,V,W,startx,starty,startz) XYZ = stream3(U,V,W,startx,starty,startz) XYZ = stream3(...,options) Příklad: load wind; [sx sy sz] = meshgrid(80,20:10:50,0:5:15); streamline(stream3(x,y,z,u,v,w,sx,sy,sz)) view(3); Pokročilé metody vizualizace

Pokročilé metody vizualizace streamslice(X,Y,Z,U,V,W,startx,starty,startz) streamslice(U,V,W,startx,starty,startz) streamslice(X,Y,U,V) streamslice(U,V) streamslice(...,density) streamslice(...,'arrowsmode') streamslice(...,'method') streamslice(axes_handle,...) h = streamslice(...) [vertices arrowvertices] = streamslice(...) Příklad: load wind; daspect([1 1 1]); [verts averts] = streamslice(u,v,w,10,10,10); streamline([verts averts]); spd = sqrt(u.^2 + v.^2 + w.^2); hold on; slice(spd,10,10,10); colormap(hot); shading interp; view(30,50); axis(volumebounds(spd)); camlight; material([.5 1 0]); Pokročilé metody vizualizace

Praktické ukázky Magnetostatické pole Pole osamoceného vodiče Pole závitu Pole cívky (solenoidu) Praktické ukázky

Pole osamoceného vodiče

Pole závitu

Pole cívky

Modelování a vizualizace elektromagnetických polí v MATLABu Tomáš Mikolanda Ústav mechatroniky a technické informatiky Oddělení elektrotechniky a elektroniky Děkuji za pozornost