Matlab Pdetool Lezione 4 - unina.it · 2 2 22 00 2 2 2 2. 1 11 11 11 11 ( ) ( ) a aa z aa a j a aj zz a a a aa aa a a j zz. ϕ ϕϕ ϕ ϕ ϕ ϕϕ ϕ. ρ ρρ ρ µ ρ ρ µ ρ ρρ
Post on 10-Jul-2020
8 Views
Preview:
Transcript
Matlab PdetoolLezione 4
Induttanze con ferro
Ing. Flavio Calvano
Argomenti trattati
• Calcolo auto e mutua in presenza di ferro;Caso assialsimmetrico;Caso piano
Nucleo magnetico assialsimmetrico
J
x
y
Formulazione
( )
2
2
22 2 2 2
2
1 1cos ( )
10
2 2ˆ ˆ ˆ
1ˆ ˆ
z z
con t
con
A A A AA A A
AJ A A J
ρ ρ ϕ ρρ ρ ϕ
ϕϕ ϕ
µµ µ
µ
ρ ρ ϕ ρ ρ ϕ
µ ρ
Φ
Φ Φ Φ Φ
= →∇× ∇× = −∇ +∇ ∇ ⋅
∇ ⋅ = → ∇ = −
∂ ∂ ∇ = ∆ − − + ∆ − − + ∆ ∂ ∂
= ⇒ = ⇒ −∆ + =
A A A
A A J
A i i i
J i A i
Equazione risolvente
( )
( )
2
2
0 02 2
2
2 2 2
1 ( )
1 1( )
1 1
1 1 ( )
1 1( ) ( )
A A Az
A AA J A A J
z zAA A
A AA A A
A
Jz z
ϕ
ϕ ϕϕ ϕ ϕ
ϕ ϕ
ϕ
ρρ ρ ρ
µ ρ ρ µρ ρ ρ ρ ρ ρ
ρρρ ρ ρ ρ ρ ρ ρ ρ
ρρ ρ ρ ρ ρ ρ ρ ρ
ρ
ρ µρ ρ µρ
Φ Φ
Φ Φ
ΦΦ Φ
Φ ΦΦ
Φ
∂ ∂ ∂∆ = +
∂ ∂ ∂
∂ ∂ ∂ ∂−∆ + = ⇒ − + − =
∂ ∂ ∂ ∂∂ ∂ ∂ ∂ ∂
− = − − =∂ ∂ ∂ ∂ ∂
∂ ∂ ∂ ∂− − = − +
∂ ∂ ∂ ∂
⇓Ψ =∂ ∂ ∂ ∂
− Ψ − Ψ =∂ ∂ ∂ ∂
Geometria[pde_fig,ax]=pdeinit;pdetool('appl_cb',1);set(ax,'DataAspectRatio',[1 1 1]);set(ax,'PlotBoxAspectRatio',[1 1 1]);set(ax,'XLim',[-0.1 0.8]);set(ax,'YLim',[-0.4 0.4]);set(ax,'XTickMode','auto');set(ax,'YTickMode','auto');ymin=-1.e-2;ymax=1.e-2;xmin=0;xmax=0.018;xmax2=0.028;xmax3=0.032;dh=0.04;dh2=0.1;dr=0.002;dr2=0.01;l=0.001;pderect([xmax2-dr/2 xmax2+dr/2 -dh/2 dh/2],'R1');pderect([xmax3-dr/2 xmax3+dr/2 -dh/2 dh/2],'R2');pderect([xmin xmax -dh2/2 dh2/2],'R3');pderect([xmin xmax+dh2 dh2/2 dh2/2-xmax],'R4');pderect([xmin xmax+dh2 -dh2/2 -dh2/2+xmax],'R5');pderect([xmax+dh2-(xmax) xmax+dh2 -dh2/2 -l/2],'R6');pderect([xmax+dh2-(xmax) xmax+dh2 l/2 dh2/2],'R7');pderect([0 8*dh2 4*(-dh2) 4*dh2],'R8');
Esportazione geometria e meshset(findobj(get(pde_fig,'Children'),'Tag','PDEEval'),'String','R1+R2+R3+R4+R5
+R6+R7+R8');gd=get(findobj(get(pde_fig,'Children'),'flat','Tag','PDEMeshMenu'),'UserData');dl=decsg(gd);
[p,e,t]=initmesh(dl,'Hmax',5e-1,'init','off');[p,e,t]=refinemesh(dl,p,e,t,'regular');
box=find(t(4,:)==1);ferro1=find(t(4,:)==2);ferro2=find(t(4,:)==3);ferro3=find(t(4,:)==4);ferro4=find(t(4,:)==5);ferro5=find(t(4,:)==8 );ferro=[ferro1 ferro2 ferro3 ferro4 ferro5];spira1=find(t(4,:)==6);spira2=find(t(4,:)==7);
pdeplot(p,e,t(:,ferro))
Plot della mesh relativa alla regione ferro
Condizioni al contorno
h=findobj(get(pde_fig,'Children'),'flat','Tag','PDEBoundMenu');bl=get(findobj(get(h,'Children'),'flat','Tag','PDEBoundMode'),'UserData');
pdetool('changemode',0)pdesetbd(4,...'dir',...1,...'1',...'0')pdesetbd(5,...'dir',...1,...'1',...'0')pdesetbd(6,...'dir',...1,...'1',...'0')pdesetbd(16,...'dir',...1,...'1',...'0')pdesetbd(17,...'dir',...1,...'1',...'0')pdesetbd(15,...'dir',...1,...'1',...'0')pdesetbd(13,...'dir',...1,...'1',...'0')pdesetbd(14,...'dir',...1,...'1',...'0‘)
Nspire=1;I1=1;I2=I1;J1=zeros(size(t,2),1);J2=zeros(size(t,2),1);mu0=4.e-7*pi;mur=4000;mu(box)=mu0;mu(ferro)=mur*mu0;mu(spira1)=mu0;mu(spira2)=mu0;J01=Nspire*I1/(dh*dr);J02=Nspire*I2/(dh*dr);J1(spira1)=J01;J2(spira2)=J02;
%coordinata ρ del baricentro dei triangolirc=pdeintrp(p,t,p(1,:)');
area=abs(pdetrg(p,t));%area di ogni triangolo
Phi1 = assempde(bl,p,e,t,1./(rc.*mu),'0',J1','0');PhiT1=pdeintrp(p,t,Phi1);
figure;pdegplot(dl)hold on,pdecont(p,t,Phi1,20),axis equal
Energia12=2*pi*sum(J2(spira2)’.*PhiT1(spira2).*area(spira2));
M12energia=Energia12/(I1*I2)
S=pi*((0.118)^2)-pi*((0.1)^2);R1=l/(mu0*S);Manalitica=1/(R1)
2 2
21 2 1 2 2 1 2 2 2 2 21 2 1 2
1 2 ( , )V S
M dV J A z d dzi i i i
π ρ ρ ρ= ⋅ =∫ ∫J A
Calcolo Mutua
-0.05 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
-0.1 -0.05 0 0.05 0.1 0.15 0.2 0.25 0.3
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
RisultatiIn presenza di ferro
M-analitica = 1.549e-005 H con mur->inf nel ferro
-0.05 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
M = 1.517e-07 H-0.05 0 0.05 0.1 0.15 0.2 0.25 0.3
-0.15
-0.1
-0.05
0
0.05
0.1
M = 1.103e-06 H
M = 1.630e-05 HM = 7.097e-06 H
µr=10 µr=100
µr=1000 µr=10000
Nucleo magnetico 2D
Formulazione
2
2
1cos ( )
ˆ ˆJ A10 A J
z z
z z
con t
con
µµ
µ
= →∇× ∇× = −∇ +∇ ∇⋅
= ⇒ =
∇⋅ = → ∇ = −
z z
A A A
J i A i
A
XZ
Y
Geometria[pde_fig,ax]=pdeinit;pdetool('appl_cb',1);set(ax,'DataAspectRatio',[1 1 1]);set(ax,'PlotBoxAspectRatio',[1 1 1]);set(ax,'XLim',[-0.8 0.8]);set(ax,'YLim',[-0.4 0.4]);set(ax,'XTickMode','auto');set(ax,'YTickMode','auto');ymin=-1.e-2;ymax=1.e-2;xmin=0;dh=0.02;dh2=0.1;dr=0.002;dr2=0.01;l=0.001;xmax=0.008;xmax2=dh2-0.002;xmax3=xmax+dh2+0.002;pderect([xmax2-dr/2 xmax2+dr/2 -dh/2 dh/2],'R1');pderect([xmax3-dr/2 xmax3+dr/2 -dh/2 dh/2],'R2');pderect([xmin xmax/2 -dh2/2 dh2/2],'R3');pderect([xmax/2 xmax+dh2 dh2/2 dh2/2-xmax],'R4');pderect([xmax/2 xmax+dh2 -dh2/2 -dh2/2+xmax],'R5');pderect([dh2 xmax+dh2 -dh2/2+xmax+l dh2/2-xmax-l],'R6');pderect([-xmax2+dr/2 -xmax2-dr/2 -dh/2 dh/2],'R7');pderect([-xmax3+dr/2 -xmax3-dr/2 -dh/2 dh/2],'R8');pderect([-xmin -xmax/2 -dh2/2 dh2/2],'R9');pderect([-xmax/2 -xmax-dh2 dh2/2 dh2/2-xmax],'R10');pderect([-xmax/2 -xmax-dh2 -dh2/2 -dh2/2+xmax],'R11');pderect([-dh2 -xmax-dh2 -dh2/2+xmax+l dh2/2-xmax-l],'R12');pderect([-8*dh2 8*dh2 4*(-dh2) 4*dh2],'R13');
Esportazione geometria e meshset(findobj(get(pde_fig,'Children'),'Tag','PDEEval'),'String','R1+R2+R3+R4+R5+R6+R7+R8+R9+R10+R11+R12+R13');gd=get(findobj(get(pde_fig,'Children'),'flat',...
'Tag','PDEMeshMenu'),'UserData');dl=decsg(gd);[p,e,t]=initmesh(dl,'Hmax',5e-1,'init','off');[p,e,t]=refinemesh(dl,p,e,t,'regular');box=find(t(4,:)==1);ferro1=find(t(4,:)==2);ferro2=find(t(4,:)==5);ferro3=find(t(4,:)==4);ferro4=find(t(4,:)==3);ferro5=find(t(4,:)==6);ferro6=find(t(4,:)==13);ferro7=find(t(4,:)==16 );ferro8=find(t(4,:)==11);ferro9=find(t(4,:)==12 );ferro=[ferro1 ferro2 ferro3 ferro4 ferro5 ferro6 ferro7 ferro8 ferro9];spira21=find(t(4,:)==8);spira22=find(t(4,:)==7);spira11=find(t(4,:)==9);spira12=find(t(4,:)==10);spira2=[spira21 spira22];spira1=[spira11 spira12];pdeplot(p,e,t(:,ferro)); axis equal
Plot della mesh relativa alla regione ferro
Condizioni al contorno% Boundary conditions:pdetool('changemode',0)pdesetbd(2,...'dir',...1,...'1',...'0')pdesetbd(3,...'dir',...1,...'1',...'0')pdesetbd(15,...'dir',...1,...'1',...'0')pdesetbd(16,...'dir',...1,...'1',...'0')% PDE coefficients:h=findobj(get(pde_fig,'Children'),'flat','Tag','PDEBoundMenu');bl=get(findobj(get(h,'Children'),'flat','Tag','PDEBoundMode'),'UserData');
Calcolo Autoinduttanza
Nspire1=1;Nspire2=1;I1=1;I2=1;J1=zeros(size(t,2),1);J2=zeros(size(t,2),1);J01=Nspire1*I1/(dh*dr);J02=Nspire2*I1/(dh*dr);
spira11=find(t(4,:)==9);spira12=find(t(4,:)==10);spira21=find(t(4,:)==8);spira22=find(t(4,:)==7);spira2=[spira21 spira22];spira1=[spira11 spira12];J1(spira11)=J01;J1(spira12)=-J01;J2(spira21)=J02;J2(spira22)=-J02;mu0=4.E-7*pi;mur=1000;
mu(box)=mu0;mu(ferro)=mur*mu0;mu(spira1)=mu0;mu(spira2)=mu0;area=abs(pdetrg(p,t));%area di ogni triangoloA1 = assempde(bl,p,e,t,1./mu,'0',J1','0');Figure,pdegplot(dl),hold on, pdecont(p,t,A1,20), axis equalA1T=pdeintrp(p,t,A1);
Energia11=sum(J1(spira1)’.*AT1(spira1).*area(spira1));Energia12=sum(J2(spira2)'.*AT1(spira2).*area(spira2));
L1energia=Energia11/(I1*I1)M12energia=Energia12/(I1*I2)
lz=1; % spessore unitarioS=xmax*lz;R1=2*l/(mu0*S); Lanalitica=1/(R1)
111121
11121
11
11
1 dydxJAil
dVJAi
LS
z
V∫∫ ==
Risultati
L1-numerica = 7.22e-06 H, M=2.77e-07 H
L1-analitica = 5.03e-006 H con mur->inf nel ferro
mur=1000
top related