Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica....

25
Matlab Pdetool Lezione 3 Magnetostatica Ing. Flavio Calvano

Transcript of Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica....

Page 1: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Matlab Pdetool

Lezione 3Magnetostatica

Ing. Flavio Calvano

Page 2: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

• Modello magnetostatica;

• Utilizzo del pdetool in modalità grafica;

• Esercitazione di laboratorio

Calcolo auto-induttanza;

Calcolo mutua-induttanza;

Confronto dati numerici-sperimentali.

Page 3: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Magnetostatica

Equazioni integrali magnetostatica

Page 4: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Formulazione differenziale

coulombdigauge0

''

0

S0S0

A

AABAA

JAJB

ABB

Il potenziale vettore A è univocamente

determinato dalla gauge di coulomb

Page 5: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Caso 2d assial-simmetrico

JeB

z

Be

Je)z,(

0z

0B

Page 6: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

JA

A

AJ

zAAA

AAA

A

con

z

02

2222

2

02

2

ˆˆ2ˆ

2

0)(

AJ

A

JA

AAAA

J

Formulazione

Page 7: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Equazione risolvente

JPsizz

Psi

APsi

AA

AAAAAA

JAzz

AA

Azz

AA

0

22

2

2

02

)1

()1

(

)(1111

)(1

)(1

)(1

)(1

Page 8: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Pdetool

Page 9: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Creazione geometria

xmin=0;

xmax=2.2*10^-2;

dh=0.04;

dr=0.0025

pderect([xmax-dr xmax -dh dh],'R1');

pderect([xmin 10*xmax 10*(-dh) 10*dh],'R2');

Page 10: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Condizioni al contornopdesetbd(8,...

'dir',...

1,...

'1',...

'0')

pdesetbd(5,...

'dir',...

1,...

'1',...

'0')

pdesetbd(4,...

'dir',...

1,...

'1',...

'0')

pdesetbd(3,...

'dir',...

1,...

'1',...

'0')

Page 11: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Mesh

R2=box aria ->t(4,:)=1R1=sonda ->t(4,:)=2

Dall’indice della

quarta riga della

matrice t è possibile

riconoscere i domini

e imporre il termine

noto J

0 0.05 0.1 0.15 0.2 0.25-0.25

-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

0.25

set(findobj(get(pde_fig,'Children'),'Tag','PDEEval'),'String','R2+R1');

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

h=findobj(get(pde_fig,'Children'),'flat','Tag','PDEBoundMenu');

bl=get(findobj(get(h,'Children'),'flat','Tag','PDEBoundMode'),'UserData');

Page 12: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Definizione del forzamento

Nspire=500;

dr=0.002;

dh=0.08;

I=1;

J0=Nspire*I/(dh*dr);

%nell’area occupata dalla bobina

Page 13: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Calcolo Soluzione

for n=1:size(t,2)

ni=t(1,n); % indici dei nodi del triangolo n-mo

nj=t(2,n);

nk=t(3,n);

xi=p(1,ni); % coordinate dei vertici del tr. n-mo

xj=p(1,nj);

xk=p(1,nk);

rc(n)=(xi+xj+xk)/3; % baricentro del tr. n-mo

if t(4,n)==1

J(n)=0;

else

J(n)=J0;

end

end J definita solo in R2 (t(4,:)=2)

corrispondente all’area della

bobina, nulla all’esterno

Psi = assempde(bl,p,e,t,c,'0',f);

-div∙c(grad(Psi))+aPsi=f

Con:c= (1/(rc.*4*pi*1e-7))

f= J;

Page 14: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Plot linee di flusso

-0.05 0 0.05 0.1 0.15

-0.08

-0.06

-0.04

-0.02

0

0.02

0.04

0.06

0.08

rA2dlndVdV

SS

AAnBΦ pdecont(p,t,Psi*2*pi,10)

S

Page 15: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Esempio 2

pderect([xmax-dr xmax ymax-dh ymax],'R1');

pderect([xmax-dr xmax ymax-2*dh-h ymax-1*dh-h],'R2');

pderect([xmax-dr xmax ymax-3*dh-2*h ymax-2*dh-2*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-10*dh-9*h ymax-9*dh-9*h],'R10');

pderect([0 10*xmax -5*xmax 5*xmax],'R11');

xmax=1*10^-2;

dh=0.001;

dr=0.001;

ymax=0.02;

h=0.003;

Page 16: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Condizioni al contornopdetool('changemode',0)

pdesetbd(5,...

'dir',...

1,...

'1',...

'0')

pdesetbd(6,...

'dir',...

1,...

'1',...

'0')

pdesetbd(3,...

'dir',...

1,...

'1',...

'0')

pdesetbd(2,...

'dir',...

1,...

'1',...

'0')

Page 17: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Assemblaggio termine notofor n=1:size(t,2)

ni=t(1,n); % indici dei nodi del triangolo n-mo

nj=t(2,n);

nk=t(3,n);

ni=t(1,n); % indici dei nodi del triangolo n-mo

nj=t(2,n);

nk=t(3,n);

xi=p(1,ni); % coordinate dei vertici del tr. n-mo

xj=p(1,nj);

xk=p(1,nk);

rc(n)=(xi+xj+xk)/3; % baricentro del tr. n-mo

I1=1;

if t(4,n)==1

J(n)=0;

else

J(n)=I1/(dh*dr);

end

end

J uguale a zero in R11 (t(4,:)=1)

corrispondente al box aria ,

mentre è diversa da zero negli

avvolgimenti che hanno tutte la

stessa corrente

Psi= assempde(bl,p,e,t,c,'0',f);

Con:c= (1/(rc.*4*pi*1e-7))

f= J;

Page 18: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Flusso

Flusso tra le spire

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1

-0.04

-0.03

-0.02

-0.01

0

0.01

0.02

0.03

0.04figure

pdegplot(dl)

hold on

pdecont(p,t,Psi,20)

axis equal

Page 19: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Esercitazione laboratorio

Page 20: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Definizione Geometria

ymin=-10*10^-3;

ymax=10*10^-3;

ymin=-10*10^-3;

ymax=10*10^-3;

xmin=0;

xmax=0.03;

dh=0.044;

dr=0.001;

xmax2=0.032;

pderect([xmax-dr/2 xmax+dr/2 -dh/2 dh/2],'R1');

pderect([xmax2-dr/2 xmax2+dr/2 -dh/2 dh/2],'R2');

pderect([20*xmin 20*xmax 10*(-xmax) 10*xmax],'R3');

set(findobj(get(pde_fig,'Children'),'Tag','PDEEval'),'String',‘R3+R1+R2');

t(4,:)=1 t(4,:)=2 t(4,:)=3

Page 21: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Nspire=500;

I1=0.0023; %dati laboratorio

I2=0.0014;

J1=zeros(1,size(t,2));

J2=zeros(1,size(t,2));

for n=1:size(t,2)

ni=t(1,n); % indici dei nodi del triangolo n-mo

nj=t(2,n);

nk=t(3,n);

xi=p(1,ni); % coordinate dei vertici del tr. n-mo

xj=p(1,nj);

xk=p(1,nk);

rc(n)=(xi+xj+xk)/3; % baricentro del tr. n-mo

if t(4,n)==2

J1(n)=Nspire*I1/(dh*dr);

elseif t(4,n)==3

J2(n)= Nspire*I2/(dh*dr);

end %endif

end %endfor

Psi1 = assempde(bl,p,e,t,(1/(rc.*4*pi*1e-7)),'0‘,J1,'0');

Psi2= assempde(bl,p,e,t,(1/(rc.*4*pi*1e-7)),'0‘,J2,'0');

Definizione forzamento

Page 22: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Calcolo flusso e induttanza

21222

211m

V V

22

V

2211

V

12111

V

22211211

V

2121

V

m

Vsol

m

MiiiL2

1iL

2

1W

.dVJA2

1dVJA

2

1dVJA

2

1dVJA

2

1

dV)JAJAJAJA(2

1

dV)JJ()AA(2

1JdVA

2

1W

AdVJ2

1W

1 221

Page 23: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Calcolo AUTO-INDUTTANZA11

S

11121

1

V

1121

1 dzdJAi

2dVJA

i

1L

11

Psi1 = assempde(bl,p,e,t,(1/(rc.*4*pi*1e-7)),'0‘,J1,'0');

PsiT1=pdeintrp(p,t,Psi1);

n1=find(t(4,:)==2);

for n=n1

ni=t(1,n); % indici dei nodi del triangolo n-mo

nj=t(2,n);

nk=t(3,n);

xi=p(1,ni); % coordinate dei vertici del tr. n-mo

xj=p(1,nj);

xk=p(1,nk);

rc(n)=(xi+xj+xk)/3; % baricentro del tr. n-mo

D=[1 z1i z2i; 1 z1j z2j; 1 z1k z2k];

area=det(D)/2;

aa=(J1(n)*PsiT1(n));

ce(n)=(aa)*area;

end

Lenergia=(1/I1^2)*sum(ce)*2*pi

Page 24: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Calcolo MUTUA-INDUTTANZA

222

S

21

21

2

V

21

21

21 dzdJAii

2dVJA

ii

1M

22

Psi = assempde(bl,p,e,t,rc.*(1/(rc.*4*pi*1e-7)),'0‘,J1,'0');

PsiT1=pdeintrp(p,t,Psi);

n2=find(t(4,:)==3);% trova i triangoli del dominio della seconda bobina

for n=n2

ni=t(1,n); % indici dei nodi del triangolo n-mo

nj=t(2,n);

nk=t(3,n);

xi=p(1,ni); % coordinate dei vertici del tr. n-mo

xj=p(1,nj);

xk=p(1,nk);

rc(n)=(xi+xj+xk)/3; % baricentro del tr. n-mo

D=[1 z1i z2i; 1 z1j z2j; 1 z1k z2k];

area=det(D)/2;

aa=(J2(n)*PsiT1(n));

ce(n)=(aa)*area;

end

Menergia=(1/(I1*I2))*sum(ce)*2*pi

Page 25: Matlab Pdetool Lezione 3 Magnetostatica - unina.it · Equazioni integrali magnetostatica. Formulazione differenziale 0 gauge di coulomb ' ' 0 0 S 0 S p M u u u P u u P u A A A B A

Confronto dati numerici-sperimentali

M21energia = 11.8 mHM21misurata=14.8 mH

L11energia = 12 .2 mHL11misurata=13.5 mH

L22energia= 13.4 mHL22misurata= 16 .0 mH

M12energia = 11.8 mHM12misurata=14.6 mH