二元相图.docx
- 文档编号:11299613
- 上传时间:2023-02-26
- 格式:DOCX
- 页数:9
- 大小:135.89KB
二元相图.docx
《二元相图.docx》由会员分享,可在线阅读,更多相关《二元相图.docx(9页珍藏版)》请在冰豆网上搜索。
二元相图
实验报告
课程名称:
计算机在材料科学中的应用
一.实验目的
1.了解相图在材料科学和工程中的意义及理想溶液二元匀晶相图计算方法
2.学会使用C语言或其它语言编程计算理想溶液的二元匀晶相图。
3.了解当前国内外相图计算软件的现状。
二.实验原理
1.理想溶液相图计算理论
理想液态混合物中任意一组分B的化学势为:
=
+RTln
对于1mol理想液态混合物来说,结合化学势的定义,上式可以写成:
=
+RTln
(1)
设指定的温度、压力下,B物质有α、β两相存在,达到平衡时,则有:
=
(2)
在我们研究的系统中,有A、B两组分存在,对于组分A,将式
(1)代入
(2)式得:
多项整理得:
(3)
同理可得:
(4)
利用(3)和(4)式即可计算理想溶液平衡两相的组成。
2.相图计算软件简介
目前集成热化学数据库和相图计算软件的系统主要包括瑞典皇家工学院材料科学与工程系为主开发的Thermo-Calc系统和加拿大蒙特利尔多学科性工业大学计算热力学中心为主开发的FACT(FacilityfortheAnalysisofChemicalThermodynamics)系统。
这些软件的共同特点是集成了具有自洽性的热化学数据库和先进的计算软件。
Pandat合金相图软件与热力学计算软件是美国CompuThermLLC公司开发的用于计算多元合金相图和热力学性能的软件包。
可用于计算多种合金的标准平衡相图和热力学性能,用户也可使用自己的热力学数据进行相图与热力学计算。
三.问题描述
NiO-MgO为液、固相连续互溶二元体系。
已知NiO和MgO的熔点分别为1960℃和800℃,熔化热分别为52.3kJ/mol和77.4kJ/mol,以纯液态NiO作为NiO的标准态,纯固态MgO作为MgO的标准态,用C语言或其它高级语言编程计算该二元体系相图。
四.问题分析
1.计算模型
在上述问题中分别以纯液态NiO作为NiO的标准态,纯固态MgO作为MgO的标准态,则
和
近似计算式为:
将(3)和(4)式用于NiO-MgO系,设液相(l)为β,固相(s)为α,则有:
(5)
同理可得:
(6)
又因为
,
,则(6)式可写成:
(7)
联立(5)和式(7)得:
(8)
(9)
由(8)和式(9)即可计算得到NiO-MgO的完全固溶体相图。
五.实验内容
1.程序流程图
2.源程序代码
#include"process.h"
#include"stdio.h"
#include"stdlib.h"
#include"conio.h"
#include"dos.h"
#include"math.h"
#include"graphics.h"
intTN=1960+273,TM=2800+273;
#defineT_CH2
#defineNUM(int)((TM-TN)/T_CH)+5
floatR=8.3145,H_chN=52300.0,H_chM=77400;
intn,X1,X2,Y1,Y2;
floate_x(floatH_ch,intt,intt_fus)
{
if(TN<=t&&t<=TM)returnexp(H_ch*(t_fus-t)/(t_fus*R*t));
elseprintf("Thetemperatureisoutofrange\n");
return0;
}
floatx_L(intt)
{
floatexN,exM,x_L;
exM=e_x(H_chM,t,TM);
exN=e_x(H_chN,t,TN);
x_L=(1-exN)/(exM-exN);
returnx_L;
}
floatx_S(intt)
{
floatx_S;
x_S=x_L(t)*e_x(H_chM,t,TM);
returnx_S;
}
coord_sys()
{
inti,dx,dy;
chary_interval[5],x_interval[5];
X1=getmaxx()/2-150;X2=getmaxx()/2+150;
Y1=getmaxy()/2-200;Y2=getmaxy()/2+150;
dx=(X2-X1)/10;dy=(Y2-Y1)/10;
setbkcolor(WHITE);
setcolor(LIGHTBLUE);
setlinestyle(0,1,3);
rectangle(X1,Y1,X2,Y2);
setlinestyle(0,1,1);
for(i=1;i<=9;i++)
{
line(X1+i*dx,Y1,X1+i*dx,Y2);
line(X1,Y1+i*dy,X2,Y1+i*dy);
}
for(i=1;i<6;i++)
{
gcvt((3.0-0.2*i)*1000,4,y_interval);
gcvt(0.2*i,2,x_interval);
outtextxy(X1-40,Y1+2*i*dy-40,y_interval);
outtextxy(X1+2*i*dx-10,Y2+10,x_interval);
}
settextstyle(1,1,1);
outtextxy(X1-70,80,"T(Centigrade)");
settextstyle(1,0,2);
outtextxy(210,Y2+40,"BinaryPhaseDiagram");
outtextxy(X1-25,Y2+10,"NiO");
outtextxy(X1+300,Y2+10,"MgO");
}
makecurve(float*sol_x,float*liq_x,int*t)
{
inti,u,v,w;
coord_sys();
for(i=1;i<=n+1;++i)
{
t[i]=t[i]-273;
u=((t[i]-1900))/1000.0*(Y2-Y1);
v=(int)(sol_x[i]*(X2-X1));
w=(int)(liq_x[i]*(X2-X1));
putpixel(X1+w,Y2-u,BLUE);
putpixel(X1+v,Y2-u,BLUE);
delay(20);
}
outtextxy(220,220,"LL+SS");
while(!
kbhit());
}
voidmain()
{
floatsol_x[500],liq_x[500];
inti,t[500],gdriver=DETECT,graphmode;
initgraph(&gdriver,&graphmode,"c:
\\tc\\bgi");
n=abs((TM-TN)/T_CH);
printf("\n\nCalculating,Pleasewait...");
for(i=1;i<=n+1;i++)
{
if(TM>TN)t[i]=(TN-T_CH)+(i*T_CH);
elset[i]=(TN+T_CH)-(i*T_CH);
sol_x[i]=x_L(t[i]);
liq_x[i]=x_S(t[i]);
}
clrscr();
makecurve(sol_x,liq_x,t);
closegraph();
}
3.程序说明及运行图片
(1)将写好的源代码.txt文件拖至TC图标上,在Options|Linker|设置加载图形库:
点击Options→Linker→Libraries→在Graphicslibrary前的方框中勾选。
(2)在当前工作目录中生成一个可执行文件(*.exe),并指定生成的目标文件和可执行文件到指定的输出目录:
点击Compile|Make|,再选择Options|Directories|Outputdirectory|,然后设定输出目录为“D:
\”
(3)完成以上步骤后,按下RUN键后便可以得图。
六、问题讨论
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二元 相图