• Non ci sono risultati.

PROGRAMMA PER LA RISOLUZIONE NUMERICA DEL MODELLO DI SCARICA BB

N/A
N/A
Protected

Academic year: 2021

Condividi "PROGRAMMA PER LA RISOLUZIONE NUMERICA DEL MODELLO DI SCARICA BB"

Copied!
10
0
0

Testo completo

(1)

B

B

PROGRAMMA PER LA RISOLUZIONE

NUMERICA DEL MODELLO DI SCARICA

B.1 Descrizione

Sviluppato in ambiente MatLab

®

, questo programma è strutturato in

5 moduli: un corpo principale (catodo.m) e quattro sottofunzioni di calcolo

(plasma.m, potenziale.m, ni_en.m, ni_in_su_nn.m).

Viene richiesto in ingresso la portata e il potenziale anodico e viene

restituita in uscita una matrice le cui colonne contengono la densità

elettronica (o ionica), la temperatura elettronica, la temperatura ionica, la

temperatura dei neutri e un vettore dei valori del potenziale lungo la scarica.

B.2 File ‘catodo.m’

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Programma per il calcolo delle grandezze fisiche della % % scarica di plasma tra catodo ed anodo in funzione della % % portata di gas e del potenziale anodico. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function catodo (portata,V_a) global e m_e m_i kb epslon0 h

global n0 Te0 n_n0 j0 j_e0 j_i0 u_n0

(2)

gamma=5/2; %Rapporto calori specifici per lo Xenon e=1.60219e-19; %[C] Carica dell’elettrone

m_e=9.1095e-28; %[g] Massa dell’elettrone

amu=1.661e-24; %[g] Unità di massa atomica unificata M_xe=131.3; %Peso atomico dello Xenon

m_n=amu*M_xe; %[g] Massa dell’atomo di Xenon m_i=m_n; %[g] Massa dello ione

kb=1.3807e-16; %[erg/°K] Costante di Boltzmann r_or=0.625e-1; %[cm] Raggio orifizio

epslon0=8.85418e-21; %[C^2/(dinecm^2)]Permettività elettrica h=6.6262e-27; %[ergs] Costante di Planck

alfa=0.61; % Coefficiente di flusso ionico(Domonkos

per velocità di Bohm)

% Pressione del plasma all’orifizio [dine/cm^2]

P0=interp1([0.1 0.3 0.5 0.7 0.9],[1200 2100 3400 4800 6100],… portata,’spline’); % Densità elettronica(o ionica) all’orifizio [cm^-3]

n0=interp1([0.1 0.3 0.5 0.7 0.9],[2.54e14 5.74e14 8.65e14… 2.01e15 5.17e15],portata,’spline’); % Temperatura elettronica all’orifizio [eV]

T_e0=interp1([0.1 0.3 0.5 0.7 0.9],[6100 10600 20200 30000…

40900],portata,’spline’); %[°K]

Te0=kb*T_e0/(e*1e7);

% Temperatura dei neutri (o ionica) all’orifizio [eV] T_0=interp1([0.1 0.3 0.5 0.7 0.9],[2100 2300 2600 3000…

3600],portata,’spline’); %[°K] T0=kb*T_0/(e*1e7);

% Derivata della temperatura elettronica all’orifizio [eV/cm] x=0:0.1:2; %[mm] Intervallo regione orifizio

Te_or=interp2([0 0.5 1 1.5 2],[0.1 0.3 0.5 0.7 0.9],… [3200 4000 4900 5500 6100 7200 8400 9100 9900 10600 15800 17400 18700 19300 20200 26200 27900 28400 29100 30000 37400 38800 39500 40300 40900],… [x portata],’spline’); %[°K] dTe_or=diff(Te_or)./diff(x*1e-1); dTe_0=dTe_or(length(dTe_or)); %[°K/cm] dTe0=kb*dTe_0/(e*1e7);

% Corrente al catodo [A];

Ic=e*n0*pi*r_or^2*sqrt(Te0*e*1e7/(2*pi*m_e));

% Densità di corrente elettronica all’orifizio [A/cm^2] j_e0=Ic/(pi*r_or^2);

(3)

% Densità di corrente ionica all’orifizio [A/cm^2] j_i0=alfa*e*n0*sqrt(T0*e*1e7/m_i);

% Velocità media degli elettroni all’orifizio [cm/s] u_e0=j_e0/(e*n0);

% Velocità media degli ioni all’orifizio [cm/s] u_i0=j_i0/(e*n0);

j0=j_e0+j_i0; %[A/cm^2] Densità di corrente all’orifizio % Pressione elettronica all’orifizio [dine/cm^2]

p_e0=n0*Te0*e*1e7;

% Pressione ionica all’orifizio [dine/cm^2] p_i0=n0*T0*e*1e7;

% Densità dei neutri all’orifizio [cm^-3] n_n0=(P0-n0*(Te0+T0)*e*1e7)/(T0*e*1e7); % Densità del plasma all’orifizio [g/cm^-3] rho_m0=(m_e+m_i)*n0+m_n*n_n0);

% Velocità media dei plasma [cm/s] u0=portata/(pi*r_or^2*rho_m0); % Velocità media dei neutri [cm/s]

u_n0=(rho_m0*u0-n0*(m_i*u_i0+m_e*u_e0))/(m_n*n_n0); X_in=n0/(n0+n_n0); % Grado di ionizzazione

ni_en_su_nn=ni_en(n_n0*1e6,Te0*e)/n_n0;

%%%%%%%%%%% Calcolo delle grandezze del plasma %%%%%%%%%%%%%% [z y]=ode15s(@plasma,[0 L],[n0 Te0 T0 n_n0 T0 dTe0],[]);

%%%%%%%%%%%%%%%%% Calcolo del potenziale %%%%%%%%%%%%%%%%%%%% A_a=5.6*12.5; %[cm^2] Superficie anodo

z_L=find(z==6);

n_L=y(z_L,1); %[cm^-3] Densità elettronica all’anodo

T_eL=y(z_L,2); %[eV] Temperatura elettronica all’anodo

% Potenziale alla frontiera dello sheath anodico V_L0=V_a-T_eL*log(sqrt(2*pi*m_e/m_i)*exp(-0.5)-Ic*/…

(e*A_a*n_L)*sqrt(2*pi*m_e/(e*1e7*T_eL))); V_or0=20; %[V] Potenziale all’orifizio

(4)

% Ciclo iterativo bool=1;

[z_V_in V_in]=ode45(@potenziale,[0 L],V_or0_in,[],z,y); [z_V V]=ode45(@potenziale,[0 L],V_or0,[],z,y); n=1; z_in=find(z_V_in==6); z_V_L=find(z_V==6); V_L_in=V_in(z_in); V_L(n)=V(z_V_L); V_or0(n)=V_or0; while bool V_or0(n+1)=V_or0(n)-V_L(n)*(V_or0(n)-V_or0_in)/… (V_L(n)-V_L_in); [z_V V]=ode45(@potenziale,[0 L],V_or0(n+1),[],z,y); z_V_L=find(z==6); V_L(n+1)=V(z_V_L); if abs(V_L(n+1)-V_L0)<1e-4 bool=0; else n=n+1; end end %%%%%%%%%%%%%%%%%%%%%%%%% Grafici %%%%%%%%%%%%%%%%%%%%%%%%%%% % Densità elettronica [cm^-3] n=y(:,1);

% Temperatura elettronica [eV] Te=y(:,2);

% Temperatura ionica [eV] Ti=y(:,3);

% Densità dei neutri [cm^-3] n_n=y(:,4);

% Temperatura dei neutri [eV] Tn=y(:,5);

% Pressione elettronica [dine/cm^2] p_e=n.*Te*e*1e7;

% Velocità media degli elettroni [cm/s] u_e=n0*u_e0./n;

% Pressione ionica [dine/cm^2] p_i=n.*Ti*e*1e7;

(5)

% Velocità media degli ioni [cm/s] u_i=n0*u_i0./n;

% Pressione dei neutri [dine/cm^2] p_n=n_n.*Tn*e*1e7;

% Velocità media degli ioni [cm/s] u_n=n_n0*u_n0./n_n;

% Potenziale del plasma [V] V; % Grafici figure(1) plot(z,n); title('densità elettronica') xlabel('cm') ylabel('cm^-3') figure(2) plot(z,Te); title('temperatura elettronica') xlabel('cm') ylabel('eV') figure(3) plot(z,Ti); title('temperatura ionica') xlabel('cm') ylabel('eV') figure(4) plot(z,n_n)

title('densità dei neutri') xlabel('cm')

ylabel('cm^-3') figure(5)

plot(z,Tn)

title('temperatura dei neutri') xlabel('cm')

ylabel('eV') figure(6) plot(z_V,V)

title('potenziale del plasma') xlabel('cm')

ylabel('V') figure(7)

plot(z,u_e*1e-2)

title('velocità media degli elettroniì') xlabel('cm')

ylabel('m/s') figure(8)

(6)

plot(z,u_i*1e-2)

title('velocità media degli ioni') xlabel('cm')

ylabel('m/s') figure(10)

plot(z,u_n*1e-2)

title('velocità media dei neutri') xlabel('cm')

ylabel('m/s')

B.3 File ‘plasma.m’

function dydz=plasma(z,y);

mu_in=m_i/2; %[g] Massa ridotta

L=10; % Logaritmo coulombiano g_T=0.71; g_qe_0.54; c1=5*g_qe*(4*pi*epslon0)^2/(4*sqrt(2*pi*m_e)*e^4*L); c2=8*sqrt(2*pi*m_e)*e^4*L/(3*m_i*(4*pi*epslon0)^2); c3=0.51*8*sqrt(2*pi*m_e)*e^2*L*j0^2/(9*(4*pi*epslon0)^2); ni_en_su_n=ni_en(n_n0,Te0)/n_n0; dydz=[-y(1)/y(2)*y(6)-mu_in*y(4)*ni_in_su_n*j_i0/… (e*y(2)*e*1e7) -2*y(3)/(3*y(2))*y(6)-2*mu_in*y(4)*ni_in_su_n*j_i0*… y(3)/(3*e*y(1)*y(2)*e*1e7)-c2*e*y(2)^2/… (j_i0*sqrt((y(2)*e*1e7)^3))*(y(2)-y(3))-… 0.5*e*y(1)*y(4)*ni_in_su_n/j_i0*(y(3)-y(5)) 3*m_i*n_n0*u_n0*y(4)^2/(3*m_i*n_n0^2*u_n0^2-2.5*y(5)*… e*1e7*y(4)^2)*(y(1)*y(4)^2*ni_in_su_n*… (y(5)-y(3))*(e*1e7)/(2*m_i*n_n0^2*u_n0^2)+… 2*m_e*y(1)*y(4)^2*ni_en_su_n*y(2)*e*1e7/… (m_i^2*n_n0^2*u_n0^2)+y(1)*ni_in_su_n/2-… j_i0*y(4)*ni_in_su_n/(2*e*n_n0*u_n0)+m_e*… j_e0*y(4)*ni_en_su_n/(m_i*e*n_n0*u_n0)) 2*m_i*n_n0*u_n0*y(4)*y(5)/(3*m_i*n_n0^2*u_n0^2-2.5*… y(5)*e*1e7*y(4)^2)*(-y(1)*y(4)^2*… ni_in_su_n*(y(5)-y(3))*(e*1e7)/(2*m_i*… n_n0^2*u_n0^2)+2*m_e*y(1)*y(4)^2*… ni_en_su_n*y(2)*e*1e7/(m_i^2*n_n0^2*… u_n0^2)+y(1)*ni_in_su_n/2-j_i0*y(4)*… ni_in_su_n/(2*e*n_n0*u_n0)+m_e*j_e0*y(4)*… ni_en_su_n/(m_i*e*n_n0*u_n0))-y(1)*y(4)*… ni_in_su_n*(y(5)-y(3))/(2*n_n0*u_n0)+2*… m_e*y(1)*y(4)*ni_en_su_n*y(2)/(m_i*n_n0*… u_n0) -5/(2*y(2))*y(6)^2-(2*g_T*j0+5*j_e0)*y(6)/(3*c1*e*… (y(2)*e*1e7)^(5/2))-2*mu_in*y(4)*…

(7)

ni_in_su_n*j_i0*j_e0/(3*c1*e^2*y(1)*(y(2)*… e*1e7)^(5/2))+c2*y(1)^2*(y(2)-y(3))/(c1*… (y(2)*e*1e7)^4)-c3/(c1*(y(2)*e*1e7)^4)];

B.4 File ‘potenziale.m’

function dVdz=potenziale1(z,V,zeta,y) mu_in=m_i/2; %[g] Massa ridotta

g_T=0.71; L=10; % Logaritmo coulombiano c0=0.51*4*sqrt(2*pi*m_e)*e^2*L*j0/(3*(4*pi*epslon0)^2); n=interp1(zeta,y(:,1),z,'spline'); Te=interp1(zeta,y(:,2),z,'spline'); n_n=interp1(zeta,y(:,4),z,'spline'); dTe=interp1(zeta,y(:,6),z,'spline'); dVdz=10*g_T*dTe-mu_in*n_n*ni_in_su_n*j_i0/(e^2*n)-c0/… (Te*e*1e7)^(3/2);

B.5 File ‘ni_en. m’

function ni_en=ni_en(n_n,T_e) load c:\matlabR12\work\neutralizer\Parametri_neutr_Xe\ \ni_en_su_n_n.dat % Carica dati

load c:\matlabR12\work\neutralizer\Parametri_neutr_Xe\ \Te_ni_en_su_n_n.dat % Carica dati

n=length(ni_en_su_n_n); if T_e<=Te_ni_en_su_n_n(1) ni_en=ni_en_su_n_n(1)*n_n; else if T_e>=Te_ni_en_su_n_n(n) ni_en=ni_en_su_n_n(n)*n_n; else ni_en=n_n*interp1(Te_ni_en_su_n_n,ni_en_su_n_n,T_e,… 'linear'); end end

(8)

B.6 File ‘Crea_ni_en_su_n_n_Xe. m’

global m_e m_n e

amu=1.661e-24; % [g] Unità di massa atomica m_e=9.1095e-28; % [g] Massa dell'elettrone M_xe=131.3; % Peso atomico dello Xenon m_n=amu*M_xe; % [g] Massa di un atomo

kb=1.3807e-16; % [erg/°K] Costante di Boltzmann e=1.60219e-19; % [C] Carica elettrica dell'elettrone m_en=m_n*m_e/(m_n+m_e); % [g] Massa ridotta elettrone-neutro. Te=1000:500:100000; % [°K] Vettore temperature

elettroniche T_e=kb*Te*1e7; % [erg] for i=1:length(T_e) ni_en_su_n_n(i)=ni_en_fratto_n_n(T_e(i)); end save c:\matlabR12\work\neutralizer\Parametri_neutr_Xe\ ni_en_su_n_n.dat ni_en_su_n_n -ascii -double -tabs save c:\matlabR12\work\neutralizer\Parametri_neutr_Xe\ Te_ni_en_su_n_n.dat T_e -ascii -double –tabs

B.7 File ‘ni_en_fratto_n_n. m’

function ni_en_fratto_n_n=ni_en_fratto_n_n(T_e) global m_e m_n e

% Calcolo velocità media

m_en=m_n*m_e/(m_n+m_e); % [g] Massa ridotta del sistema elettrone-neutro

v_media=((8*T_e)/(pi*m_en))^0.5; % [cm/s] Velocità media tol=[1e-4 100]; ni_en_fratto_n_n=quadl('utile_per_ni_en',0,v_media*3,… tol,0,T_e);

B.8 File ‘utile_per_ni_en. m’

function utile_per_ni_en=utile_per_ni_en(g,T_e) global m_e m_n e

(9)

m_en=(m_n*m_e)/(m_n+m_e); %[g] Massa ridotta elettrone-neutro c_s=cross_sec_mt_en(g); % Cross-section elettrone-neutro p1=(m_en*g.^2)/(3*T_e); p2=g.*c_s; p3=(Maxwell(m_en,T_e,g)).*4.*pi.*g.^2; utile_per_ni_en=p1.*p2.*p3;

B.9 File ‘cross_sec_mt_en. m’

function cross_sec_mt_en=cross_sec_mt_en(v) global m_e e

En=(m_e*v.^2)/(2*e); % [eV] Energia dell'elettrone

En=En.^0.5; % [eV] Adattamento ai dati in tabelle % Approssimo la cross-section per il trasferimento della q. % % moto prendendo il 60% di quella totale elastica, in % % assenza di dati più precisi ed in base a quanto visto per % % atomi più leggeri. % % Dati da tabelle V_dati=[0 1 2 2.5 3 4 5 6 7 8 9 10]; Q_dati=0.6*1e-20*[15 2.5 32 40 37 28 20 14 12 10 9 8]; if En<0 | En>10 % controllo errore En

error('En fuori range in cross_sec_mt_en') else

% valuto la cross-section interpolando i dati

cross_sec_mt_en=interp1(V_dati,Q_dati,En,'linear'); end

B.10 File ‘Maxwell. m’

function Maxwell=Maxwell(m,T,v) b=m/(2*T); Maxwell=((b/pi)^(3/2))*exp(-b*v.^2);

(10)

B.11 File ‘ni_in_su_nn. m’

mu_in=m_i/2; %[g] Massa ridotta

chi=10; % Coefficiente numerico % Polarizzabilità dell’atomo [cm^3]

alfa_d=chi*((h/2*pi)^2/(m_e*(e*1e7)^2))^3; y=10*e*1e7*sqrt(alfa_d/mu_in); %[cm^3/s]

Riferimenti

Documenti correlati

o entro 6 mesi successivi alla data di sottoscrizione dell’Atto di Impegno, gli Apporti previsti devono essere versati per un importo almeno pari alle

È possibile adottare un unico formalismo per i sistemi quantistici, sia che essi siano in uno stato puro che in uno stato mescolato, introducendo una definizione più generale

La  possibilità  offerta  dalle  ultime  generazioni  di  microscopi  a  scansione  e  trasmissione  elettronica  consente  di  spiare  la  struttura  intima 

[r]

Entra in scena un personaggio cattivo = antagonista che crea un problema.. Il protagonista deve lottare con l’antagonista per risolvere

Una bottiglia di vetro di capacità 1, 0 dm 3 viene riempita completamente con alcool etilico alla temperatura di

Essi sono essenzialmente funzione dell area A, del perimetro P e della lunghezza dell asta principale L..

L’ escoriosi della vite, causa- ta da Phomopsis viticola Sacc., nota anche come necrosi corticale, è una malattia fun- gina conosciuta sin dagli anni 50 che ha assunto, in