固体物理小论文选编.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
固体物理小论文选编

固体物理小论文 引言……………………………………………………………………………………2 晶体结构分析…………………………………………………………………….3 结合能计算………………………………………………………………………..4 振动谱……………………………………………………………………………..…7 能带结构…………………………………………………………………………….8 输运性质…………………………………………………………………………….8 参考文献………………………………………………………………………….10 引言 在本学期学习了固体物理之后,我学会了分析晶体结构性质的一些通用的基本的方法。但当我想用这些方法分析一些晶体时,都发现很多的晶体结构都较为复杂,我们所学到的知识可能尚不足以处理这些晶体,因此我最终决定选择NaCl这种我们生活中最为常见的晶体,一是因为NaCl晶体是简立方式的结构(此处简立方不对钠离子和氯离子作分辨),结构简单,适于练习,二是因为NaCl是我们生活中最为常见的一种物质,分析其性质颇有一种用物理学的眼光审视生活的感觉,三是因为NaCl作为一种简单结构的晶体,历史上已有很多人研究过并研究的较为透彻,很容易找到相关的资料,容易将计算的结果与他们的结果进行比较,并分析原因。 晶体结构 X射线衍射是研究晶体结构性质的有力手段,利用x射线衍射图谱可以很好的分析晶体的结构类型,而利用布拉维定律可以分析对应晶面的间距,我们就利用NaCl的衍射图样来分析NaCl晶体的结构: (原计划想找到关于NaCl晶体X射线衍射的实验数据,计算得到NaCl晶格常数等数据,并与通用数据相比较,但是由于各种原因,在网上找到的大部分资料都只有NaCl衍射图样,而没有给出具体的波长,没法进行计算。)仅能做简单分析: 确定晶体类型: NaCl的衍射图样为: 由于fcc晶体有:Fhkl=(1+cosπ(h+k) +cosπ(h+l) +cosπ(l+k)),hkl 全奇全偶出现衍射峰,因此NaCl为面心立方结构晶体,另外还可以通过假设原胞结构,由此计算出衍射因子,并与实验结果相比较,直至拟合出相符合的结果,从而推断出NaCl原胞内部的结构,由于实验数据及能力的限制,这里不做推导,而按照相关资料所说的。NaCl原胞由一个Na离子和一个Cl离子构成,且Na离子,Cl离子交错形成简单立方式的结构。 2)确定晶格常数:由布拉维公式: 2dsinθ=nλ,由于包含参数n仅仅通过衍射角和波长λ,不足以得到准确晶面间距d,而是包含正整数因子n,为得到准确晶格常数,我觉得可行的方法有以下两种:1.实验条件允许的情况下,连续的变化波长λ,增大λ,设当λ增大到λ2时再次出现衍射图案,从而有方程2dλ1sinθ-2dλ2sinθ=1,由此解得准确晶面间距d. 2.取两次不同的λ,则d=nλ12sinθ=kλ22sinθ,找到符合条件的(n,k)即可确定晶面间距。显然,此时λ1,λ2应互质。 在已知NaCl晶体的结构的情况下,可以根据NaCl的密度求得其晶格常数: ρ=4MCl+4MNaa3, 取MNa=23gNA, MCl=35.5gNA,查阅资料知ρ=2.217g/cm3,从而可求得,NaCl惯用晶胞的晶格常数a=5.6埃,即离子的最近邻间距为2.8埃,与通用结果一致。 晶体结合能计算 NaCl晶体是离子晶体,因此库仑是物质之间的主要相互作用,尝试由此计算NaCl晶体的结合能,为此需要计算马德隆常数,这里采用数值计算的方法。 计算马德隆常数的代码如下: #includestdio.h #includemath.h int main(){ int K,i,j,k ; double a=0,t,l; FILE*fp=fopen(参数收敛情况.dat,w); for(K=0;K25;K++){ a=0; for(i=0;i=2*K;i++) for(j=0;j=2*K;j++) for(k=0;k=2*K;k++) { t=sqrt((i-K)*(i-K)+(k-K)*(k-K)+(j-K)*(j-K)); if((i-K+k-K+j-K)%2(t0.5)) { l=1.0/t; a=a-l; } else if(

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档