Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

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

Podobné prezentace


Prezentace na téma: "Modelování a vizualizace elektromagnetických polí v MATLABu Tomáš Mikolanda Ústav mechatroniky a technické informatiky Oddělení elektrotechniky a elektroniky."— Transkript prezentace:

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

2 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?“

3 Ú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á???

4 Ú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.

5 Ú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..

6 Ú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í.

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

8 Úvod do problematiky  ANSYS

9 Úvod do problematiky  COMSOL

10 Úvod do problematiky  MATLAB

11 Úvod do problematiky  MATHEMATICA

12 Úvod do problematiky  MATHCAD

13 Ú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á? ◦…

14 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

15 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

16 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

17 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

18 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: ---

19 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)

20 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^ )

21 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)

22 MATLAB - základy  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!

23 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 tis. Kč. ◦Informace o instalaci: ver ◦Nápověda: help doc

24 MATLAB - základy  Pozor na zápis a typ operandů! ◦A = [1 2 3; 2 1 3; 3 3 2]; ◦B = magic(3); // např. [8 1 6; 3 5 7; 4 9 2] ◦C1 = A * B; // =[ ; ; ] ◦C2 = A.* B;// =[8 2 18; ; ] ◦C1 != C2

25 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

26 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.

27 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'})

28 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

29 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;

30 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);

31 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',':');

32 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..

33 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.

34 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:

35 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);

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

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

38 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);

39 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.

40 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);

41 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);

42 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);

43 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);

44 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;

45 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 ([ ]) hold off

46 Pokročilé metody vizualizace

47  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.

48 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);

49 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..

50 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));

51 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);

52 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]);

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

54 Pole osamoceného vodiče

55 Pole závitu

56 Pole cívky

57 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


Stáhnout ppt "Modelování a vizualizace elektromagnetických polí v MATLABu Tomáš Mikolanda Ústav mechatroniky a technické informatiky Oddělení elektrotechniky a elektroniky."

Podobné prezentace


Reklamy Google