Matlab Pdetool Lezione 3 Magnetostatica Ing. Flavio Calvano
Modello magnetostatica; Utilizzo del pdetool in modalità grafica; Esercitazione di laboratorio Calcolo auto-induttanza; Calcolo mutua-induttanza; Confronto dati numerici-sperimentali.
Magnetostatica Equazioni integrali magnetostatica
Formulazione differenziale B B 0B 0 S ' 0 gauge di coulomb 0 S B ' Il potenziale vettore è univocamente determinato dalla gauge di coulomb
Caso d assial-simmetrico B(,z) e B z B z 0 e 0 e
Caso d assial-simmetrico L incognita nel caso assial-simmetrico diventa uno scalare ) z ( z ) ( 0 e e 0 con ) (
Pdetool
Creazione geometria xmin=0; xmax=.*0^-; dh=0.04; dr=0.005 pderect([xmax-dr xmax -dh dh],'r'); pderect([xmin 0*xmax 0*(-dh) 0*dh],'R');
Condizioni al contorno pdesetbd(8,... 'dir',...,... '',... '0') pdesetbd(5,... 'dir',...,... '',... '0') pdesetbd(4,... 'dir',...,... '',... '0') pdesetbd(3,... 'dir',...,... '',... '0')
Mesh set(findobj(get(pde_fig,'children'),'tag','pdeeval'),'string','r+r'); gd=get(findobj(get(pde_fig,'children'),'flat,'tag','pdemeshmenu'),'userdata'); dl=decsg(gd); [p,e,t]=initmesh(dl,'hmax',5e-,'init','off'); [p,e,t]=refinemesh(dl,p,e,t,'regular'); h=findobj(get(pde_fig,'children'),'flat','tag','pdeboundmenu'); bl=get(findobj(get(h,'children'),'flat','tag','pdeboundmode'),'userdata'); 0.5 0. 0.5 0. 0.05 0-0.05-0. -0.5-0. R=box aria ->t(4,:)= R=sonda ->t(4,:)= Dall indice della quarta riga della matrice t è possibile riconoscere i domini e imporre il termine noto -0.5 0 0.05 0. 0.5 0. 0.5
Definizione del forzamento Nspire=500; dr=0.00; dh=0.08; I=; 0=Nspire*I/(dh*dr); %nell area occupata dalla bobina ( ) ( ) 0 z z
Calcolo Soluzione for n=:size(t,) end ni=t(,n); % indici dei nodi del triangolo n-mo nj=t(,n); nk=t(3,n); xi=p(,ni); % coordinate dei vertici del tr. n-mo xj=p(,nj); xk=p(,nk); rc(n)=(xi+xj+xk)/3; % baricentro del tr. n-mo if t(4,n)== (n)=0; else (n)=0; end -div c(grad())+a=f Con: c=rc f= rc.*(4e-7*pi).*; = assempde(bl,p,e,t,c,'0',f); definita solo in R (t(4,:)=) corrispondente all area della bobina, nulla all esterno
Calcolo del Campo magnetico Br=-d(phi)/dz Bz=(d(phi*r)/dr)/r r=p(,:); z=p(,:); u=.*r'; [g,ddz]=pdegrad(p,t,); Br=-ddz; [drdr,g]=pdegrad(p,t,u); Bz=(./rc).*drdr;
Plot linee di Campo figure pdegplot(dl) hold on xm=min(p(,t)); xma=max(p(,t)); ym=min(p(,t)); yma=max(p(,t)); na=00; x=linspace(xm,xma,na); y=linspace(ym,yma,na); flowdata=pdeprtni(p,t,br); flowdata=pdeprtni(p,t,bz); uu=trigrid(p,t,flowdata,x,y); vv=trigrid(p,t,flowdata,x,y); [msg,x,y]=xyzchk(x,y,uu,vv); scale=; oks=find(~isnan(uu)); quiver(x(oks),y(oks),-uu(oks),-vv(oks),scale,'r-'); 0. 0.05 0-0.05-0. Campo Magnetico 0 0.005 0.0 0.05 0.0 0.05
Plot linee di flusso 0.08 0.06 S 0.04 0.0 0-0.0-0.04-0.06-0.08-0.05 0 0.05 0. 0.5 Φ S BndV S ndv dl r pdecont(p,t,.*p(,:)**pi,0)
Esempio xmax=*0^-; dh=0.00; dr=0.00; ymax=0.0; h=0.003; pderect([xmax-dr xmax ymax-dh ymax],'r'); pderect([xmax-dr xmax ymax-*dh-h ymax-*dh-h],'r'); pderect([xmax-dr xmax ymax-3*dh-*h ymax-*dh-*h],'r3'); pderect([xmax-dr xmax ymax-4*dh-3*h ymax-3*dh-3*h],'r4'); pderect([xmax-dr xmax ymax-5*dh-4*h ymax-4*dh-4*h],'r5'); pderect([xmax-dr xmax ymax-6*dh-5*h ymax-5*dh-5*h],'r6'); pderect([xmax-dr xmax ymax-7*dh-6*h ymax-6*dh-6*h],'r7'); pderect([xmax-dr xmax ymax-8*dh-7*h ymax-7*dh-7*h],'r8'); pderect([xmax-dr xmax ymax-9*dh-8*h ymax-8*dh-8*h],'r9'); pderect([xmax-dr xmax ymax-0*dh-9*h ymax-9*dh-9*h],'r0'); pderect([0 0*xmax -5*xmax 5*xmax],'R');
Condizioni al contorno pdetool('changemode',0) pdesetbd(5,... 'dir',...,... '',... '0') pdesetbd(6,... 'dir',...,... '',... '0') pdesetbd(3,... 'dir',...,... '',... '0') pdesetbd(,... 'dir',...,... '',... '0')
ssemblaggio termine noto for n=:size(t,) ni=t(,n); % indici dei nodi del triangolo n-mo nj=t(,n); nk=t(3,n); ni=t(,n); % indici dei nodi del triangolo n-mo nj=t(,n); nk=t(3,n); xi=p(,ni); % coordinate dei vertici del tr. n-mo xj=p(,nj); xk=p(,nk); = assempde(bl,p,e,t,c,'0',f); Con: c=rc f= rc.*(4*pi*e-7).*; rc(n)=(xi+xj+xk)/3; % baricentro del tr. n-mo end I=; if t(4,n)== (n)=0; else (n)=i/(dh*dr); end uguale a zero in R (t(4,:)=) corrispondente al box aria, mentre è diversa da zero negli avvolgimenti che hanno tutte la stessa corrente
Campo magnetico e flusso Campo Magnetico 0.0 0.04 0.0 0.09 0.08 0.03 0.0 0.0 0 0.07 0.06 0.05-0.0-0.0-0.03-0.04 5 6 7 8 9 0 3 x 0-3 0 0.0 0.0 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0. Campo e Flusso tra le spire
Esercitazione laboratorio
Definizione Geometria xmin=0; xmax=0.08; dh=0.044; dr=0.00; xmax=0.05; pderect([xmax-dr/ xmax+dr/ -dh/ dh/],'r'); pderect([xmax-dr/ xmax+dr/ -dh/ dh/],'r'); t(4,:)= t(4,:)= t(4,:)=3 pderect([0*xmin 0*xmax 0*(-xmax) 0*xmax],'R3'); set(findobj(get(pde_fig,'children'),'tag','pdeeval'),'string', R3+R+R');
Definizione forzamento Nspire=500; I=0.00; %dati laboratorio I=0.003; =zeros(,size(t,)); =zeros(,size(t,)); for n=:size(t,) ni=t(,n); % indici dei nodi del triangolo n-mo nj=t(,n); nk=t(3,n); xi=p(,ni); % coordinate dei vertici del tr. n-mo xj=p(,nj); xk=p(,nk); rc(n)=(xi+xj+xk)/3; % baricentro del tr. n-mo if t(4,n)== (n)=nspire*i/(dh*dr); elseif t(4,n)==3 (n)= Nspire*I/(dh*dr); end %endif end %endfor = assempde(bl,p,e,t,rc.*(/(4*pi*e-7)),'0',rc.*,'0'); = assempde(bl,p,e,t,rc.*(/(4*pi*e-7)),'0',rc.*,'0');
Calcolo flusso e induttanza m V V V V V V V m Vsol m Mi i i L i L W dv. dv dv dv )dv ( )dv ( ) ( dv W dv W
Calcolo UTO-INDUTTNZ L dv d dz i i V S = assempde(bl,p,e,t,rc.*(/(4*pi*e-7)),'0',rc.*,'0'); T=pdeintrp(p,t,); n=find(t(4,:)==); for n=n ni=t(,n); % indici dei nodi del triangolo n-mo nj=t(,n); nk=t(3,n); xi=p(,ni); % coordinate dei vertici del tr. n-mo xj=p(,nj); xk=p(,nk); rc(n)=(xi+xj+xk)/3; % baricentro del tr. n-mo D=[ zi zi; zj zj; zk zk]; area=det(d)/; aa=((n)*t(n)); ce(n)=(rc)*(aa)*area; end Lenergia=(/I^)*sum(ce)**pi
Calcolo MUTU-INDUTTNZ M dv ddz ii i V i S T=pdeintrp(p,t,); % calcolato imponendo in assempde n=find(t(4,:)==3);% trova i triangoli del dominio della seconda bobina for n=n ni=t(,n); % indici dei nodi del triangolo n-mo nj=t(,n); nk=t(3,n); xi=p(,ni); % coordinate dei vertici del tr. n-mo xj=p(,nj); xk=p(,nk); rc(n)=(xi+xj+xk)/3; % baricentro del tr. n-mo D=[ zi zi; zj zj; zk zk]; area=det(d)/; aa=((n)*t(n)); ce(n)=(rc)*(aa)*area; end Menergia=(/(I*I))*sum(ce)**pi
Confronto dati numerici-sperimentali L energia = 0.6 mh L misurata=0.6 mh L energia= 6.4 mh L misurata= 6.0 mh M energia = 4.6 mh M misurata=4.6 mh M energia = 4.6 mh M misurata=4.8 mh