Механизмы имплантации в металлы и сплавы ионов азота с энергией 1-10 кэВ
psi_S=pow(Temp2,-3.885);//psi of Sommerfeld
//Аппроксимация Гаспара
Temp1=-0.1837*f_psi_arg;
Temp2=1+1.05*f_psi_arg;
psi_G=exp(Temp1)/Temp2;//psi of Gaspar
//Аппроксимация Тейтца
Temp=1+f_psi_arg*pow(PI/double(8),double(2)/double(3));
psi_T=pow(Temp,-2);//psi of Teitz
//Аппроксимация Видефола
Temp=-6.62*pow(f_psi_arg,0.25);
psi_W=317*f_psi_arg*exp(Temp);/
/psi of Wedephol
//Функция экранирования Томаса-Фарми-Фирсова
psi=psi_T;
return psi;
}
fastcall TIonImpl::TIonImpl(TComponent* Owner)
: TForm(Owner)
{
}
void fastcall TIonImpl::About1Click(TObject *Sender)
{
AboutBox->ShowModal();
}
void fastcall TIonImpl::ResultClick(TObject *Sender)
{
if (EndInf) {ENum=0;VInf_N=0;}
//Get data
//Element Information
Elem_Info->SelectAll(); InfoTemp=Elem_Info->SelText; EInf=InfoTemp;
SubInf[ENum][0]=EInf;
Elem1_Name->Caption=SubInf[0][0];
Elem2_Name->Caption=SubInf[1][0];
Elem3_Name->Caption=SubInf[2][0];
Elem4_Name->Caption=SubInf[3][0];
Elem5_Name->Caption=SubInf[4][0];
Elem6_Name->Caption=SubInf[5][0];
Elem7_Name->Caption=SubInf[6][0];
Elem8_Name->Caption=SubInf[7][0];
Elem9_Name->Caption=SubInf[8][0];
Elem10_Name->Caption=SubInf[9][0];
Elem11_Name->Caption=SubInf[10][0];
Elem12_Name->Caption=SubInf[11][0];
Elem13_Name->Caption=SubInf[12][0];
Elem14_Name->Caption=SubInf[13][0];
//Lattice Parameter 1
LatParam1->SelectAll(); InfoTemp=LatParam1->SelText; LP=InfoTemp.ToDouble();
//Lattice Parameter 2
LatParam2->SelectAll(); InfoTemp=LatParam2->SelText; LP_gpu=InfoTemp.ToDouble();
//Atom Charge
AtomCharge->SelectAll(); InfoTemp=AtomCharge->SelText; AC=InfoTemp.ToDouble();
//Atom Mass
AtomMass->SelectAll(); InfoTemp=AtomMass->SelText; AM=InfoTemp.ToDouble();
//Atom Radius
AtomRadius->SelectAll(); InfoTemp=AtomRadius->SelText; AR=InfoTemp.ToDouble();
//Atoms In Low Level Cell
AILLCell->SelectAll(); InfoTemp=AILLCell->SelText; Density=InfoTemp.ToDouble();
//Ion Energy
IonEnergy->SelectAll(); InfoTemp=IonEnergy->SelText; IE=InfoTemp.ToDouble();
//Ion Charge
IonCharge->SelectAll(); InfoTemp=IonCharge->SelText; IC=InfoTemp.ToDouble();
//Ion Mass
IonMass->SelectAll(); InfoTemp=IonMass->SelText; IM=InfoTemp.ToDouble();
//Ion Radius
IonRadius->SelectAll(); InfoTemp=IonRadius->SelText; IR=InfoTemp.ToDouble();
//Ion Number
IonNum->SelectAll(); InfoTemp=IonNum->SelText; INum=InfoTemp.ToDouble();
//Ion Beam Density
IonBeamDensity->SelectAll(); InfoTemp=IonBeamDensity->SelText; IBD=InfoTemp.ToDouble();
//Processing data
if ((IE<10)&&(IE>0)) VInf_N=IE/1000;
LP*=ET.A; AR*=ET.A; IR*=ET.A;//To Angstrems
AM*=ET.AMU; IM*=ET.AMU;//To Atomic Mass Unit
IE*=ET.EV;//To Electron-Volt
SAD=Density/AM;//Substrate Atoms Density
V_atom=4/3*PI*pow(AR,3);
R=0;Rp=0;delta_R=0;delta_Rp=0;En=0;
ResultData->Lines->Append(InfoField6->Caption);
ResultData->Lines->Append(IE);
//Ion implantation task solution
//Общие константы
lambda=1.309;
ksi_e=pow(IC,double(1)/double(6));
//Рассчёт параметра экранирования
Temp=pow(IC,double(2)/double(3))+pow(AC,double(2)/double(3));
ShldPrm_tf=0.8853*ShldPrm0/pow(Temp,double(1)/double(2));//Параметр экранирования Томаса-Ферми
Temp=pow(IC,double(1)/double(2))+pow(AC,double(1)/double(2));
ShldPrm_f=0.8853*ShldPrm0/pow(Temp,double(2)/double(3));//Параметр экранирования Фирсова
randomize();//Инициализация счётчика случайных чисел
TPPrc=11;//Target Parameter Precision
//Вычисление минимального значения прицельного параметра
TgtPrmMIN=0;
//Вычисление максимального значения прицельного параметра
TgtPrmMAX=LP/2;
//Интервал значений прицельного параметра
TgtPrmRange=TgtPrmMAX-TgtPrmMIN;
for (k=1;k<=INum;k++)
{
//Начало цикла по энергии.
//Потери энергии вычисляются в соответствии с типом модели.
E_ND=100;//Число разбиений (Number of Divisions)
E_Cntr=IE;//Счётчик (Counter)
E_Step=IE/E_ND;//Приращение (Step)
E_Int=0;
for (i=E_ND;i>=1;i--)
{
Energy=E_Cntr-E_Step/2;//Ion Energy
Rm_IL=0;//Rmin First Value
Rm_SL=LP/2;//Rmin Last Value
Rm_Range=Rm_SL-Rm_IL;
Rm_ND=100; DifferTemp=1;
Rm_Step=Rm_Range/Rm_ND;
Rm_Cntr=Rm_IL+Rm_Step;
for (j=1;j<=Rm_ND;j++)
{
Rm=Rm_Cntr-Rm_Step/2;
Temp=1-(IC*AC*pow(EC,2)*fTFF(Rm)*(IM+AM))/(4*PI*eps*eps0*Rm*Energy*AM);
Differ = (Temp<0) ? -Temp : Temp;
if (Differ<DifferTemp)
{DifferTemp=Differ; Rmin_0=Rm;}
Rm_Cntr+=Rm_Step;
}
IV=sqrt(2*Energy/IM);
Temp=pow(IC,double(2)/double(3))+pow(AC,double(2)/double(3));
NE_EW=(8*PI*ShldPrm0*SAD*ksi_e*IC*AC*pow(EC,2)*IV)/(V0*4*PI*eps*eps0*pow(Temp,double(3)/double(2)));//Неупругие потери E_NE=0.525*pow(Temp,2)*pow(IM,2)*EC*1E3/(pow(ksi_e,2)*pow(IM+AM,2));
E_EW=0;En_Temp=0;
if (Energy<E_NE)
{
//Потери энергии при столкновениях (модель Томаса-Ферми-Фирсова)
ro_ND=100;//Число разбиений (Number of Divisions)
ro_IL=0; ro_SL=LP/2-Rmin_0;//Пределы интегрирования: Inferior Limit - нижний, Superrior Limit - верхний
ro_Range=ro_SL-ro_IL; //Длина интервала
ro_Cntr=ro_IL+ro_Range/ro_ND; ro_Step=ro_Range/ro_ND;//Счётчик и приращение
E_EW_Int=0;
for (l=1;l<=ro_ND;l++)
{
ro=ro_Cntr-ro_Step/2;//Переменная цикла
//Вычисление расстояния максимального сближения частиц
Rm_IL=0;//Rmin First Value
Rm_SL=LP/2;//Rmin Last Value
Rm_Range=Rm_SL-Rm_IL;
Rm_ND=100; DifferTemp=1;
Rm_Step=Rm_Range/Rm_ND;
Rm_Cntr=Rm_IL+Rm_Step;
for (j=1;j<=Rm_ND;j++)
{
Rm=Rm_Cntr-Rm_Step/2;
Temp=1-pow(ro/Rm,2)-(IC*AC*pow(EC,2)*fTFF(Rm)*(IM+AM))/(4*PI*eps*eps0*Rm*Energy*AM);
Differ = (Temp<0) ? -Temp : Temp;
if (Differ<DifferTemp)
{DifferTemp=Differ; Rmin=Rm;}
Rm_Cntr+=Rm_Step;
}
//Потенциал Томаса-Ферми-Фирсова
U=IC*AC*pow(EC,2)*fTFF(Rmin)/(4*PI*eps*eps0*Rmin);
fi_ND=100;//Число разбиений (Number of Divisions)
fi_IL=Rmin; fi_SL=1E-9;//Пределы интегрирования: Inferior Limit - нижний, Superrior Limit - верхний
fi_Range=fi_SL-fi_IL; //Длина интервала
fi_Cntr=fi_IL+fi_Range/fi_ND; fi_Step=fi_Range/fi_ND;//Счётчик и приращение
fi_Int=0;
for (p=1;p<=fi_ND;p++)
{
fi=fi_Cntr-fi_Step/2;//Переменная цикла
Temp=1-pow(ro/fi,2)-IC*AC*pow(EC,2)*fTFF(fi)*(IM+AM)/(4*PI*eps*eps0*Energy*AM*fi);
Temp = (Temp<0) ? -Temp : Temp;
fi_Int+=(ro/pow(fi,2))*fi_Step/sqrt(Temp);
fi_Cntr+=fi_Step;//Приращение переменной цикла
}
alpha=PI-2*fi_Int;
alpha = (alpha<0) ? -alpha : alpha;
Temp=sin(alpha/2);
En_Temp+=4*Energy*IM*AM*pow(Temp,2)/pow(IM+AM,2);
E_EW_Int+=pow(Temp,2)*ro*ro_Step;
Другие рефераты на тему «Производство и технологии»:
Поиск рефератов
Последние рефераты раздела
- Технологическая революция в современном мире и социальные последствия
- Поверочная установка. Проблемы при разработке и эксплуатации
- Пружинные стали
- Процесс создания IDEFO-модели
- Получение биметаллических заготовок центробежным способом
- Получение и исследование биоактивных композиций на основе полиэтилена высокой плотности и крахмала
- Получение титана из руды