背景技术
本发明的建议分类号为G01N 27/72。
本发明既不是对现有热力学理论的改进,也不是对现有磁熵变的计算机计算方法作出的算法改进,而是专门针对利用PPMS系统进行磁性材料的测量得到磁矩—磁场—温度测试数据并进行技术处理而得到测量磁性材料的磁熵变-温度特性的技术方案。
为便于理解本发明,以下对现有技术及现有技术作扼要的介绍。
磁熵是磁矩混乱程度的量度,以Sm表示。磁熵Sm是温度T和外加磁场H的函数。磁矩排列愈混乱即无序度愈大,磁熵就愈大。铁磁性物质在外磁场的作用下,磁矩由杂乱变为有序,原子磁矩之间及与外磁场之间的相互作用能降低,它的磁熵减小,这一过程也就是放热的过程。反之,在取消磁场的过程中,磁性物质的磁矩由有序而变为杂乱,从外界吸收能量,磁熵增加,在系统绝热的情况下则磁性物质本身降温。这种由外磁场变化而引起磁性物质放热或吸热的现象称为磁卡效应。利用磁卡效应可制成固态磁制冷器。为了研制高效率的磁制冷器,必须研究各种铁磁性材料的磁熵变。
根据热力学中Maxwell方程可很容易地得到:当外加磁场从H0变化到H1时,磁性材料在这一过程中的磁熵变计算公式为:
上式中,S为磁性材料的熵,H为外加磁场,T为热力学温度,M为磁化强度,下标0、1分别代表磁场变化前、后的状态。
通常可以通过如下途径测量得到磁性材料的磁熵变:
(A)在给定温度下,例如2K,给磁性材料施加一随时间变化的外磁场H,H由0到正最大值再到负最大值再回到0,并且H随时间t成等间隔设置,即H等步长地增大或减小,例如:0Oe,500Oe,1000Oe,1500Oe,……99500Oe,100000Oe,99500Oe,99000Oe,……,500Oe,0Oe,-500Oe,……,-99500Oe,-100000Oe,-99500Oe,-99000Oe,……-1000Oe,-500Oe,0Oe,测量在所述温度下的第一条M-H曲线(也可以称为M-H磁滞回线);
(B)保持上述步骤中的除温度外的其他参数不变,使温度逐渐增加或减少一固定值,即温度等步长地增大或减小,例如:4K,6K,8K,……96K,98K,100K,重复进行测量步骤(A),得到若干条不同温度下的M-H曲线;在每次测量过程中温度保持恒定不变;
通过上述测量步骤,可以得到所测磁性材料的M(H,T)的三维数组;
(C)根据公式
计算得到磁熵变。
而在测试过程中得到的是一系列离散的测试数据,进行具体计算时,上述公式(2)通常改写为采用如下公式来进行计算:
在上式中,i表示测试过程中第i次测试;
上述过程可以概括为:测试不同温度下的M-H曲线,即固定温度扫描磁场,每个温度设置的外磁场的序列要一致,这样才比较容易得到M(H,T)的三维数组,然后先微分再积分运算得到所测材料的磁熵变。
如果上述外磁场的序列不一致,则根本无法得到M(H,T)的三维数组,也就无从根据公式(3)来计算磁熵变。
为了减小计算过程中的误差,通常将外磁场变化的步长、温度变化的步长设置小一些,使得数据点足够密集,M-H曲线足够平滑。
为便捷、可靠地、自动化地完成相关测试,本领域技术人员常常采用PPMS来完成测量过程。PPMS——Physical Property Measurement System(综合物性测量系统)是美国Quantum Design公司开发的一款材料的各种物理性质进行基础研究的仪器。PPMS系统的设计理念是在一个完美控制的极低温(50mK)和强磁场(±16T)平台上,集成全自动的磁学、电学、热学和形貌,甚至铁电和介电等各种物性测量手段。一个PPMS系统由基本系统和各种测量和拓展功能选件构成:基本系统提供低温和强磁场的环境,以及整个系统的软硬件控制中心。
然而,在利用PPMS完成相关测量并导出测量数据时,通常得到的数据,每一条M-H曲线中,①:M的变化步长并不是固定值,而是具有一定随机性的值,且②:每一条M-H曲线中的数据点数量也是变化不定的,而且,③:由于所导出的记录数值中,温度值也是由温度传感器所测量得到的实测值,是带有轻微波动的温度值,而不是测量前程序设定的温度序列(确定值),例如某次测量得到的部分数据为:
Temperature(K),Magnetic Field(Oe),Moment(emu)
10.0140295,8825.666,4.77920531340975
10.0114298,9997.748,5.35753168743939
10.0107646,11606.298,6.1806593824613
10.0132561,12855.3375,6.70499790975278
10.0138836,14229.436,7.28985680798535
10.0148754,15733.7685,7.84489277322694
……
9.967885,5850.0365,3.42836713837576
9.9699335,4077.1785,2.44207219325932
9.9713125,2630.387,1.65372870264995
9.9733744,1016.959,0.723627311124255
9.9704399,0.755,-0.00864372197307902
9.9774046,0.1585,-0.00996698484365236
……
12.0178871,8729.4175,0.546468356803494
12.0119467,10598.8385,4.62828899150997
12.0118856,12381.02,5.66277344040436
12.01580285,13867.541,6.20699922729138
12.0179548,15319.633,6.73146549718685
12.0184851,16914.2265,7.37517267319028
12.0164843,18331.799,7.85191918811077
12.02048015,19784.925,8.30491020454019
12.022336,21185.993,8.73689132536205
……
此外,④:而在不同的设定温度值下测量得到的M-H数据点的数量则为3340,3268,3421,3319,3486,3511,3403,……
由此可见,根本无法得到所测磁性材料的M(H,T)的三维数组。
由于上述几点原因,导致无法使用前述计算公式(3)来根据PPMS系统测得的实验数据来得到所测材料的磁熵变。目前可通过人工辅助以其他数据处理程序如Excel、Origin等来完成数据的三维数组,然而,即使借助于这些计算机程序,处理过程往往也需要几个星期甚至几个月的时间,工作繁杂、枯燥且极易出错。
发明内容
为了解决现有技术问题,本发明的目的在于提供一种专门适用于PPMS的铁磁性材料的磁熵变测量方法。
实现本发明目的具体技术方案是:
A)按照符合PPMS操作规范的流程,将待测试的磁性材料装入PPMS测量系统中;
B)在PPMS的控制计算机上设定测试的温度序列值,如T1、T2、T3、T4、……各个测试温度成等间距序列(间隔为ΔT),ΔT可以取1K、2K、3K、4K、5K;设定测试的磁场强度,这里所述的磁场强度是指磁滞回线中的磁场强度的绝对值的最大值,磁场从0增加到正向最大值,再逐渐变化到负向最大值,然后再逐渐回到正向最大值;在每一个设定的测试温度下,磁性材料均历经同样的所述磁场扫描;
C)开始测试:系统温度在控温系统的作用下达到设定的第一温度值并稳定后,测量第一M-H曲线;然后,系统温度在控温系统的作用下达到设定的第二温度值并稳定后,测量第二M-H曲线;然后,系统温度在控温系统的作用下达到设定的第三温度值并稳定后,测量第三M-H曲线;……重复这一过程,依次逐次测量磁性材料的M-H曲线,直至完成所设定的所有温度序列下的M-H曲线;
所述H指PPMS系统导出的数据文件中的物理量Magnetic Field,所述M指PPMS系统导出的数据文件中的物理量Moment,所述T指PPMS系统导出的数据文件中的物理量Temperature;
D)依照PPMS操作规范的流程,导出所测试材料的所有数据,除标题行外,每一行数据中由温度值、所施加的外磁场强度、所测磁性材料的磁矩构成,还可以包括误差值;不同的物理量之间以特定的分隔符间隔开,例如:逗号,分号,制表符,或其他任意等非数字、非小数点的ASCII符号,所述分隔符也可以采用PPMS系统的默认符号;根据测量数据量的多少,导出的测试数据文件可能是一个或多个文件;
E)逐行读取所导出的测试数据,利用计算机按照测试温度进行数据分割,将在每个测试温度下测量得到的(M-H)T数据分别存储在各自独立的(M-H)T文件中,这些分割得到的(M-H)T文件存储在外存储器中;在每个独立的(M-H)T文件中,只存储在测量得到的从正向最大H值扫描到负向最大H值的过程的数据;当步骤D)中得到多个数据文件时,则对多个数据文件轮次进行逐行读取;具体步骤为:
E-a)从外部存储器(如磁盘等存储器,出于读写效率的考虑,不包括磁带)中逐行读取所导出的测试数据到计算机内存(RAM)或CPU的高速缓存(Cache)中;当步骤D)中得到多个数据文件时,对多个数据文件轮次进行逐行读取;当读取第一行(即标题行)时,暂存第一行(即标题行)的文本内容;
E-b)当逐行读取测试数据文件的第二行至最后一行时,以PPMS数据导出时所采用的数据分隔符为不同物理量的分隔判别标志,以步骤D)中所设定的分隔符来区分开不同物理量(Temperature、Magnetic Field、Moment等),将每一行的原始数据存储于一个临时数组中;将所读取到的温度实测值取为测试前设定的温度序列中最接近的设定温度值,并在外部存储器中建立一个包含有该设定温度值为文件名的数据文件,其扩展名可以任意设定,如.txt,.dat,.bin等等;在所建立的数据文件中,以追加的方式写入步骤E-a)中暂存的第一行即标题行的内容;
举例而言:若设定的温度值为10K,12K,14K,……,实际测量得到的数据为:
Temperature(K),Magnetic Field(Oe),Moment(emu)————第1行
10.0140295,8825.666,4.77920531340975————第2行
……
9.9774046,0.1585,-0.00996698484365236
……
12.0178871,8729.4175,0.546468356803494————第203行
……
则,读取到第2行时,实测温度值10.0140295K记为10K,在外部存储器中建立一个以10K.dat为文件名的数据文件;在所建立的数据文件10K.dat中,以追加的方式写入步骤a)中暂存的第一行即标题行的内容“Temperature(K),Magnetic Field(Oe),Moment(emu)”;
读取到第203行时,实测温度值12.0178871K记为12K,在外部存储器中建立一个以12K.dat为文件名的数据文件;在所建立的数据文件12K.dat中,以追加的方式写入步骤a)中暂存的第一行即标题行的内容“Temperature(K),Magnetic Field(Oe),Moment(emu)”;
依次类推,直至遍历全部的导出的测量数据文件;
在上述步骤E-b)中,还包括:
逐行读取第三行、第四行……时,每一次读取到的H(Magnetic Field)值均与上一次读取到的H(Magnetic Field)值进行比较,以获取在整个测试过程中所施加的外磁场H(Magnetic Field)的最大值;当读取到的H(Magnetic Field)值比上一次读取到的H(Magnetic Field)值小时,即将上一次读取到的H(Magnetic Field)值记为H最大值,以一个指定的变量来表示这一最大值;
当读取到外磁场H(Magnetic Field)的最大值的一行测量数据时,开始向位于外存储器中的、在步骤E-b)中建立的数据文件中以追加的方式逐行记入测量数据,直至读取到下一不同设定温度值或导出数据文件的结尾为止;
当读取到的温度值所对应的设定温度值与上一行的设定温度值不同时,在外存储器中建立新的包含有该新的设定温度值为文件名的数据文件,文件命名规则前后保持一致;
在上述步骤E-b)关于写入数据文件的操作中,温度值既可以以温度实测值即原始记录数据写入,也可以以前述所取的测试前设定的温度序列中最接近的设定温度值写入;每一个物理量的数据均以自定义的分隔符进行隔离;
E-c)在步骤D)中导出的测试数据文件为多个时,继续遍历其他所有导出的测试数据文件,重复执行步骤E-b);
E-d)关闭上述过程中所有打开的数据文件;
F)获得指定等间距H序列下的一系列的(M-T)H数据文件,构成了(H,M,T)三维数组:根据步骤E)分割得的代表不同温度下测量得到的(M-H)T数据文件,利用计算机按照指定的H变化步长ΔH(即对指定H序列)进行数据采样,获得指定H序列下的一系列的(M-T)H数据文件,所述指定H序列,例如:50000Oe,49800Oe,49600Oe,……200Oe,0Oe,-200Oe,……-49600Oe,49800Oe,-50000Oe;通常来说,H变化步长可以取100Oe,200Oe,300Oe,400Oe,500Oe,H变化步长过大会导致后续计算过程中误差较大,而H变化步长过小则会导致计算效率低下且并不能切实提高计算精确度;
在步骤F)中,之所以称“对指定H序列进行数据采样”,而不表述为“对指定H序列进行数据重组”,是由于所述指定H序列,通常并不与实际测量过程中的得到的H系列值对应,甚至于全部的指定H序列,在实际测量得到的H值中都不存在对应值;
步骤F)具体步骤如下:
F-a)指定一系列的H序列值,所述H序列值以恒定步长ΔH递增,ΔH依据所需计算精度而定,通常可选择100Oe-1000Oe;以包含指定H序列的H值为文件名,在外部存储器中建立一系列代表各自H值的独立的数据文件,其扩展名可以任意设定,如.txt,.dat,.bin等等,例如:0Oe.dat,200Oe.dat,400Oe.dat,600Oe.dat,……;
在外部存储器所建立的数据文件中,以追加的方式写入标题行,标题行包含M、T两个物理量,如“Temperature(K),Moment(emu)”;
F-b)获取指定H序列中第一个指定H值下的(M-T)H测试数据序列,并将所述(M-T)H测试数据序列以追加的方式写入在步骤F-a)中所建立的对应H值的数据文件中,该操作可选择如下两种并列技术方案:
F-b1)依照温度从低到高或从高到低的次序,遍历读取步骤E)中存储在外存储器中的、代表在每个测试温度下测量得到的、各自独立的(M-H)T数据文件;每个文件的读取方式均为逐行读取;
在逐行读取每一个文件时,均比较所读取的每一行的H值,并将所读取到的H值与所指定的H值求差值后取绝对值,当所得到的绝对值最小时,取该行所在的M值作为指定H值下所对应的M值,将所读取的数据文件所代表的温度值、该M值作为一行数据以追加写入的方式写入在步骤F-a)中所建立的对应H值的数据文件中;
F-b2)依照温度从低到高或从高到低的次序,遍历读取步骤E)中存储在外存储器中的、代表在每个测试温度下测量得到的、各自独立的(M-H)T数据文件;每个文件的读取方式均为逐行读取;
在逐行读取每一个文件时,均比较所读取的每一行的H值,并将所读取到的H值与所指定的H值求差值后取绝对值,当所得到的绝对值最小时,选取该行的最邻近的上、下行各自的M值,以线性插值或抛物线插值的公式计算指定H值下所对应的M值,将所读取的数据文件所代表的温度值、计算得到的M值作为一行数据以追加写入的方式写入在步骤F-a)中所建立的对应H值的数据文件中;例如,指定H值下所对应的M值采用如下公式进行计算:
为了进一步消除测量过程中的偶然误差,使结果更精确可靠,还可以采用下面的计算方式:
或
或
在上述各式中,i表示所读取到的第i个数据点,即某个数据文件除去标题行后的第i行,第i行满足条件:第i行的实测H值小于指定的H值,第i-1行的实测H值大于指定的H值,式中H、M分别代表物理量Magnetic Field(单位:Oe)和Moment(单位:emu);
在F-b1)或F-b2)之后,当遍历读取完所有的遍历读取步骤E)中存储在外存储器中的、代表在每个测试温度下测量得到的、各自独立的(M-H)T数据文件后,关闭步骤F-b1)中所有读、写过的文件,获得指定H序列中第一个指定H值下的(M-T)H测试数据文件;
F-c)更改指定H值为步骤F-a)中指定的H序列的第二、第三、……直至最后一个H值,重复步骤F-b),分别获取指定的H序列的第二、第三、……直至最后一个H值下的(M-T)H测试数据文件;
这样便得到了获得指定等间距H序列下的一系列的(M-T)H数据文件,构成了(H,M,T)三维数组;
G)根据公式计算指定条件下的待测磁性材料的磁熵变,在上式中,i表示第i个数据点。
在步骤F-b1)中,所采取的M取值的依据在于:由于在一条M-H曲线中通常都包含有成千上万个数据点,所指定的H值与最邻近的实际测量H值之间的差值与整条M-H曲线中的H变化范围相比是微不足道的,因此,即使取该行所在的M值作为指定H值下所对应的M值,所导致的误差也是很小的,通常,由此带来的误差小于0.07%。
当计算精度要求较高时,可采取步骤F-b2)中所述的差值的方法来获得更为准确的M值。
H)选择不同的测试温度,利用步骤E)—步骤G)所述的方法得到不同测试温度下的指定条件下的磁性材料的磁熵变,即得到磁性材料的磁熵变-温度特性。
为了加快处理速度,上述方法还可进一步改进为:
在步骤E-b)中,在外部存储器中建立一个包含有该设定温度值为文件名的数据文件的操作替换为:在计算机内存(RAM)或计算机CPU内的高速缓存(Cache)中建立一个代表该设定温度值为的二维动态数组;写入文件的操作替换为:向所述二维动态数组的尾部写入数据;
在步骤F-a)中,在外部存储器中建立一系列代表各自H值的独立的数据文件替换为:在计算机内存(RAM)或计算机CPU内的高速缓存(Cache)中建立一系列代表各自H值的独立的二维动态数组;
在步骤E-c)、F-b1)、F-b2)中,所有的遍历在外部存储器中建立的数据文件的操作替换为:遍历各自之前步骤中所有的在计算机内存(RAM)或计算机CPU内的高速缓存(Cache)中建立一系列二维动态数组。
进一步地,上述各步骤中所述的二维动态数组也可以以链表来代替,即采用链表的数据结构来存储数据。
本发明的有益效果:
通过采用本发明的方法,可以彻底解决现有技术在利用PPMS测量磁性材料过程中获取磁熵变的难题,利用计算机来完成相关操作,方便、快捷。
具体实施方式
为便于理解本发明,下面结合实例来具体介绍本发明的技术方案。
A)按照符合PPMS操作规范的流程,称量5g的某种磁性材料粉末,严格按照PPMS操作规范将待测试的磁性材料装入PPMS测量系统中;
以下所有操作步骤均利用计算机来完成:
B)在PPMS的控制计算机上设定测试的温度序列值:2K,4K,6K,8K,10K,……48K,50K,52K,54K,……96K,98K,100K,各个测试温度成等间距序列,间隔为2K;设定测试的磁场强度为70000Oe,磁场从0Oe增加到70000Oe,再逐渐减小到-70000Oe,然后回到70000Oe;在每一个设定的测试温度下,磁性材料均历经同样的所述磁场扫描;
C)开始测试:系统温度在控温系统的作用下达到设定的第一温度值2K并稳定后,测量第一M-H曲线;然后,系统温度在控温系统的作用下达到设定的第二温度值4K并稳定后,测量第二M-H曲线;然后,系统温度在控温系统的作用下达到设定的第三温度值6K并稳定后,测量第三M-H曲线;……重复这一过程,逐次测量磁性材料的M-H曲线,直至完成100K温度下的M-H曲线;
D)依照PPMS操作规范的流程,导出所测试材料的所有数据,除标题行外,每一行数据中由温度值、所施加的外磁场强度、所测磁性材料的磁矩构成,不包括误差值;得到的数据文件有7个,分别保存为MCE1.dat,MCE2.dat,MCE3.dat,MCE4.dat,MCE5.dat,MCE6.dat,MCE7.dat;
E)在硬盘中建立文件夹C:\Data\M-H\,分别逐行读取所导出的测试数据MCE1.dat,MCE2.dat,MCE3.dat,MCE4.dat,MCE5.dat,MCE6.dat,MCE7.dat,利用计算机按照测试温度进行数据分割,将在每个测试温度(2K,4K,6K,……,98K,100K)下测量得到的(M-H)T数据分别存储在各自独立的(M-H)T文件中,这些分割得到的(M-H)T文件(分别命名为2K.dat,4K.dat,6K.dat,……50K.dat,52K.dat,……98K.dat,100K.dat)存储在硬盘建立文件夹C:\Data\M-H\文件夹中;在每个独立的(M-H)T文件(2K.dat,4K.dat,6K.dat,……,98K.dat,100K.dat)中,只存储在测量得到的从正向最大H值扫描到负向最大H值的过程的数据,即从70000Oe到-70000Oe的测试数据;具体步骤为:
E-a)从硬盘中逐行读取所导出的测试数据MCE1.dat到计算机内存(RAM)中;当读取第一行(即标题行)时,暂存第一行(即标题行)的文本内容,内容为“Temperature(K),Magnetic Field(Oe),Moment(emu)”;
E-b)当逐行读取测试数据文件的第二行至最后一行时,以PPMS数据导出时所采用的数据分隔符为不同物理量的分隔判别标志,以步骤D)中所设定的分隔符来区分开不同物理量(Temperature、Magnetic Field、Moment等),将每一行的原始数据存储于一个临时数组中;
MCE1.dat的部分内容如下:
Temperature(K),Magnetic Field(Oe),Moment(emu),M.Std.Err.(emu)——第1行
2.00786255,-0.062,-0.0018420076453778,4.68147230612165E-6——第2行
2.0080564,54.536,-0.00160844591554442,0.000247550499783577——第3行
2.0114515,455.301,0.0390593777601995,0.000711834956395969——第4行
2.0107373,525.147,0.054575639945636,0.000707314880304041
2.01013325,643.76,0.0699908666254729,0.000700355705591364
2.0099548,762.4715,0.0852845765830705,0.000694930050706897
2.0094968,891.817,0.100431437809785,0.000691586807257692
2.0088098,1035.1515,0.115400953689561,0.00068140220226271
2.00849115,1162.775,0.130234228395757,0.000673690201895222
2.00874615,1263.1835,0.144902554721851,0.000664242728502225
……
1.99570285,69982.0585,6.47701266154109,0.000910002725693407
1.9964498,70000.418,6.47737046047771,0.00100083032970079——第741行
1.997007,69974.453,6.47764781770063,0.000882885617488435——第742行
1.99819445,69895.484,6.47590669194502,0.00112676914363876——第743行
……
1.9975571,-70014.594,-6.47646090206977,0.0010909447795878
1.9979685,-70045.5355,-6.47722052937364,0.00110168935393343
1.9983413,-70056.3205,-6.47672913871526,0.00117970710047581——第2121行
1.99813915,-70000.57,-6.47673318183019,0.00101478431642557——第2122行
1.9984763,-69949.7855,-6.47683668464876,0.00104135098506153
……
4.0043831,-0.335,0.00401174413532849,4.68827127114532E-5——第3474行
4.003768,65.656,0.00376830558528498,0.000854753231569799——第3475行
4.0111647,446.867,0.0442976647184307,0.000574437113725152——第3476行
4.0035796,920.939,0.108339487673647,0.000711857730897711
4.00412775,993.0845,0.123853303763718,0.000705167335263082
4.00524405,1110.071,0.139273263828744,0.000705910455217505
4.00522045,1210.5775,0.154591409474921,0.000703423510718862
4.004051,1325.4535,0.16976336326451,0.000689500239741493
4.0041368,1454.0315,0.184904992382575,0.000693296538700884
4.00412225,1577.531,0.199936441375344,0.000688937041088548
4.003361,1700.839,0.214808299881983,0.000681304686754516
4.00367215,1823.7655,0.229638867059882,0.000671341384018587
4.00299145,2260.854,0.273674767571859,0.000663858971864902
……
10.0039368,-0.193,-0.00126743023287644,4.67445883867269E-6——第13906行
10.002696,64.1845,-0.00128526790687863,4.56030727999837E-6——第13907行
10.0027289,92.4845,0.00617136531883082,0.00121020852470981——第13908行
10.0064507,631.5895,0.0848930971419456,0.00088703653307265
10.00640635,693.3865,0.104340095631526,0.000884500313919431
10.00629905,799.9285,0.123644325266753,0.000877777808707441
10.0061498,928.0285,0.142794671249241,0.000874610713522662
10.00592045,1056.32,0.161861059302663,0.000871550237515841
10.0056553,1183.941,0.180684210640686,0.000858980501435077
……
则,读取到第2行时,实测温度值2.00786255K,与设定的温度序列(2K,4K,6K,……,98K,100K)中最为接近的是2K,因此温度值记为2K,在硬盘上文件夹C:\Data\M-H\文件夹中建立一个以2K.dat为文件名的数据文件;在所建立的数据文件2K.dat中,以追加的方式写入步骤a)中暂存的第一行即标题行的内容“Temperature(K),Magnetic Field(Oe),Moment(emu)”(不储存误差项);在一临时数组中记录H、M的实测值分别为-0.062Oe和-0.0018420076453778emu;分隔符为逗号“,”;
读取到第3行时,实测温度值2.0080564K,与设定的温度序列(2K,4K,6K,……,98K,100K)中最为接近的还是2K,即设定的温度值没有改变,在一临时数组中记录H、M的实测值分别为54.536Oe和-0.00160844591554442emu;将本次读取到的H值与上一次读取到的H值进行比较,本次读取到的H值的绝对值大于上一次读取到的H值的绝对值,不作任何操作,继续读取下一行;
读取到第4行时,实测温度值2.0114515K,与设定的温度序列(2K,4K,6K,……,98K,100K)中最为接近的还是2K,即设定的温度值没有改变,在一临时数组中记录H、M的实测值分别为455.301Oe和0.0390593777601995emu;将本次读取到的H值与上一次读取到的H值进行比较,本次读取到的H值的绝对值大于上一次读取到的H值的绝对值,不作任何操作,继续读取下一行;
……
读取到第741行时,实测温度值1.9964498K,与设定的温度序列(2K,4K,6K,……,98K,100K)中最为接近的还是2K,即设定的温度值没有改变,在一临时数组中记录H、M的实测值分别为70000.418Oe和6.47737046047771emu;将本次读取到的H值与上一次读取到的H值进行比较,本次读取到的H值的绝对值大于上一次读取到的H值的绝对值,不作任何操作,继续读取下一行;
读取到第742行时,实测温度值1.997007K,与设定的温度序列(2K,4K,6K,……,98K,100K)中最为接近的还是2K,即设定的温度值没有改变,在一临时数组中记录H、M的实测值分别为69974.453Oe和6.47764781770063emu;将本次读取到的H值与上一次读取到的H值进行比较,本次读取到的H值的绝对值小于上一次读取到的H值的绝对值,即意味着上一行读取到的H值为2K温度下测量M-H曲线中的正向最大值,在C:\Data\M-H\2K.dat文件中以追加的方式写入上一行读取到的H、M数值70000.418Oe和6.47737046047771emu;H、M数值之间的分隔符为逗号“,”;
读取到第743行时,实测温度值1.99819445K,与设定的温度序列(2K,4K,6K,……,98K,100K)中最为接近的还是2K,即设定的温度值没有改变,在一临时数组中记录H、M的实测值分别为69895.484Oe和6.47590669194502emu;将本次读取到的H值与上一次读取到的H值进行比较,本次读取到的H值的绝对值小于上一次读取到的H值的绝对值,在C:\Data\M-H\2K.dat文件中以追加的方式写入上一行读取到的H、M数值69974.453Oe和6.47764781770063emu;H、M数值之间的分隔符为逗号“,”;
……
读取到第2121行时,实测温度值1.9983413K,与设定的温度序列(2K,4K,6K,……,98K,100K)中最为接近的还是2K,即设定的温度值没有改变,在一临时数组中记录H、M的实测值分别为-70056.3205Oe和-6.47672913871526emu;将本次读取到的H值与上一次读取到的H值进行比较,本次读取到的H值的绝对值大于上一次读取到的H值的绝对值,即意味着上一行读取到的H值为2K温度下测量M-H曲线中的负向最大值,在C:\Data\M-H\2K.dat文件中以追加的方式写入上一行读取到的H、M数值-70045.5355Oe和-6.47722052937364emu;H、M数值之间的分隔符为逗号“,”;
读取到第2122行时,实测温度值1.99813915K,与设定的温度序列(2K,4K,6K,……,98K,100K)中最为接近的还是2K,即设定的温度值没有改变,在一临时数组中记录H、M的实测值分别为-70000.57Oe和-6.47673318183019emu;将本次读取到的H值与上一次读取到的H值进行比较,本次读取到的H值的绝对值小于上一次读取到的H值的绝对值,在C:\Data\M-H\2K.dat文件中以追加的方式写入上一行读取到的H、M数值-70056.3205Oe和-6.47672913871526emu;H、M数值之间的分隔符为逗号“,”;
读取到第2123行时,实测温度值1.9984763K,与设定的温度序列(2K,4K,6K,……,98K,100K)中最为接近的还是2K,即设定的温度值没有改变,不作任何操作;
……
读取到第3474行时,实测温度值4.0043831K,与设定的温度序列(2K,4K,6K,……,98K,100K)中最为接近的是4K,即设定的温度值发生了改变,因此温度值记为4K,在硬盘上文件夹C:\Data\M-H\文件夹中建立一个以4K.dat为文件名的数据文件;以追加的方式写入步骤a)中暂存的第一行即标题行的内容“Temperature(K),Magnetic Field(Oe),Moment(emu)”(不储存误差项);
其后操作与上面的类似;
……
读取到第13906行时,实测温度值10.0039368K,与设定的温度序列(2K,4K,6K,……,98K,100K)中最为接近的是10K,即设定的温度值发生了改变,因此温度值记为10K,在硬盘上文件夹C:\Data\M-H\文件夹中建立一个以10K.dat为文件名的数据文件;以追加的方式写入步骤a)中暂存的第一行即标题行的内容“Temperature(K),MagneticField(Oe),Moment(emu)”(不储存误差项);
其后操作与上面的类似;
……
直至MCE1.dat的最后一行结束;
E-c)依次类推,重复执行步骤E-b),直至遍历完其余的导出的测量数据文件MCE2.dat,MCE3.dat,MCE4.dat,MCE5.dat,MCE6.dat,MCE7.dat;
E-d)关闭上述过程中所有打开的数据文件MCE1.dat,MCE2.dat,MCE3.dat,MCE4.dat,MCE5.dat,MCE6.dat,MCE7.dat,以及2K.dat,4K.dat,6K.dat,……50K.dat,52K.dat,……98K.dat,100K.dat;
F)获得指定等间距H序列(70000Oe,69800Oe,69600Oe,69400Oe,……0Oe,……-69600Oe,-69800Oe,-70000Oe,即H间隔为200Oe)下的一系列的(M-T)H数据文件,构成了(H,M,T)三维数组:根据步骤E)分割得的代表不同温度下测量得到的(M-H)T数据文件2K.dat,4K.dat,6K.dat,……50K.dat,52K.dat,……98K.dat,100K.dat,利用计算机按照指定的H变化步长(即对指定H序列)进行数据采样,获得指定H序列下的一系列的(M-T)H数据文件;
步骤F)具体步骤如下:
F-a)指定一系列的H序列值:70000Oe,69800Oe,69600Oe,69400Oe,……0Oe,……-69600Oe,-69800Oe,-70000Oe,所述H序列值以恒定步长ΔH=200Oe递增;以包含指定H序列的H值为文件名,在硬盘中建立文件夹C:\Data\M-T\,在该文件夹中建立一系列代表各自H值下测量得到的独立的数据文件:70000Oe.dat,69800Oe.dat,69600Oe.dat,69400Oe.dat,……0Oe.dat,……-69600Oe.dat,-69800Oe.dat,-70000Oe.dat;
在70000Oe.dat,69800Oe.dat,69600Oe.dat,69400Oe.dat,……0Oe.dat,……-69600Oe.dat,-69800Oe.dat,-70000Oe.dat数据文件中,以追加的方式写入标题行,标题行包含M、T两个物理量,如“Temperature(K),Moment(emu)”;
F-b)获取指定H序列中第一个指定H值70000Oe下的(M-T)H测试数据序列,并将所述(M-T)H测试数据序列以追加的方式写入在步骤F-a)中所建立的对应H值的数据文件中70000Oe.dat:
依照温度从低到高的次序,遍历读取步骤E)中存储在硬盘文件夹C:\Data\M-H\中、代表在每个测试温度下测量得到的、各自独立的(M-H)T数据文件:2K.dat,4K.dat,6K.dat,……50K.dat,52K.dat,……98K.dat,100K.dat;每个文件的读取方式均为逐行读取;
在逐行读取每一个文件时,均比较所读取的每一行的H值,并将所读取到的H值与所指定的H值求差值后取绝对值,当所得到的绝对值最小时,取该行所在的M值作为指定H值下所对应的M值,将所读取的数据文件所代表的温度值、该M值作为一行数据以追加写入的方式写入在步骤F-a)中所建立的对应H值的数据文件中;
例如:2K.dat的部分数据如下:
Magnetic Field(Oe),Moment(emu)——第1行
70000.418,6.47737046047771——第2行
69974.453,6.47764781770063——第3行
69895.484,6.47590669194502——第4行
69792.5035,6.4736558963573——第5行
69694.109,6.47083457293903——第6行
69577.418,6.46978183022505——第7行
69474.805,6.46605271136606——第8行
69365.7735,6.4648762127737——第9行
69258.1835,6.4626036312054——第10行
69151.3595,6.4609293819902——第11行
69055.266,6.45822662541325——第12行
68960.801,6.45632540543144——第13行
68854.2615,6.4553284188999——第14行
68750.8825,6.4529345096850——第15行
……
4K.dat的部分数据如下:
Magnetic Field(Oe),Moment(emu)——第1行
70000.6285,6.45364032917115——第2行
69947.031,6.451612849781050——第3行
69891.5625,6.45188523236246——第4行
69789.1485,6.44881227197867——第5行
69680.2185,6.44725088629155——第6行
69584.316,6.44350190352285,——第7行
69481.5115,6.44309404080617——第8行
69342.7815,6.44011894070729——第9行
69254.352,6.438656685704360——第10行
69176.844,6.435399066070250——第11行
69052.965,6.433575860754200——第12行
68948.1525,6.43176163955381——第13行
68862.5,6.43122044221395000——第14行
……
当逐行读取2K.dat并记录每一行中的H值,将所读取到的H值与指定H值70000Oe进行比较,得出2K.dat中第2行即数据记录的第1行中实际测量得到的H值70000.418Oe与指定值70000Oe最接近,因此以实际测量得到的H值70000.418Oe所对应的M值6.47737046047771emu作为指定H值70000Oe下所对应的M值,并将对应的温度值2K、M值6.47737046047771emu以追加的方式写入数据文件70000Oe.dat中;
继续逐行读取4K.dat并记录每一行中的H值,将所读取到的H值与指定H值70000Oe进行比较,得出4K.dat中第2行即数据记录的第1行中实际测量得到的H值70000.6285Oe与指定值70000Oe最接近,因此以实际测量得到的H值70000.6285Oe所对应的M值6.45364032917115emu作为指定H值70000Oe下所对应的M值,并将对应的温度值4K、M值6.45364032917115emu以追加的方式写入数据文件70000Oe.dat中;
依照上述操作方式,遍历所有其余的数据文件6K.dat,……50K.dat,52K.dat,……98K.dat,100K.dat,便得到70000Oe下的(M-T)H数据文件70000Oe.dat;
F-c)接着获取指定H序列中第二个指定H值69800Oe下的(M-T)H测试数据序列,并将所述(M-T)H测试数据序列以追加的方式写入在步骤F-a)中所建立的对应H值的数据文件中69800Oe.dat:
当逐行读取2K.dat并记录每一行中的H值,将所读取到的H值与指定H值69800Oe进行比较,得出2K.dat中第5行即数据记录的第4行中实际测量得到的H值69792.5035Oe与指定值69800Oe最接近,因此以实际测量得到的H值69792.5035Oe所对应的M值6.4736558963573emu作为指定H值69800Oe下所对应的M值,并将对应的温度值2K、M值6.4736558963573emu以追加的方式写入数据文件69800Oe.dat中;
继续逐行读取4K.dat并记录每一行中的H值,将所读取到的H值与指定H值69800Oe进行比较,得出4K.dat中第5行即数据记录的第4行中实际测量得到的H值69789.1485Oe与指定值69800Oe最接近,因此以实际测量得到的H值69789.1485Oe所对应的M值6.44881227197867emu作为指定H值70000Oe下所对应的M值,并将对应的温度值4K、M值6.44881227197867emu以追加的方式写入数据文件69800Oe.dat中;
依照上述操作方式,遍历所有其余的数据文件6K.dat,……50K.dat,52K.dat,……98K.dat,100K.dat,便得到70000Oe下的(M-T)H数据文件69800Oe.dat;
依照同样的方法,获取指定H序列中69600Oe、69400Oe、……0Oe、……、-69600Oe、-69800Oe、-70000Oe下的(M-T)H测试数据序列69600Oe.dat,69400Oe.dat,……0Oe.dat,……-69600Oe.dat,-69800Oe.dat,-70000Oe.dat;
关闭步骤F-b)中所有读、写过的文件,获得指定H序列中第一个指定H值下的(M-T)H测试数据文件;
这样便得到了获得指定等间距H序列下的一系列的(M-T)H数据文件,构成了(H,M,T)三维数组;
G)根据公式计算指定条件下的待测磁性材料的磁熵变,在上式中,i表示第i个数据点;
H)选择不同的测试温度,利用步骤E)—步骤G)所述的方法得到不同测试温度10K、20K、30K、40K、50K、60K、70K、80K、90K、100K下的指定H变化范围0—70000Oe条件下的磁性材料的磁熵变,即得到磁性材料的磁熵变-温度特性,对所得到的磁熵变-温度数据进行作图分析,研究其物理性质。
本发明的处理方法,在Intel Core2Duo P8700、2GB DDR21333、7200转500GB硬盘+Windows 7professional软硬件平台上处理上述实施例的数据时,以硬盘暂存中间数据文件的技术方案,整个过程耗时2min31s;而以在计算机内存RAM中以数组的形式暂存中间数据文件的技术方案,整个过程耗时约4s。由此可见,本发明的技术方案,不仅解决了现有技术中PPMS测量得到的数据难以评估磁性材料的磁熵变—温度特性的难题,且其效率大大提升,极大地降低了科研人员的人力成本。