首页> 中国专利> 获取磁性材料的磁学性质的方法

获取磁性材料的磁学性质的方法

摘要

一种以内存为暂存媒介、专用于PPMS的批量获取磁性材料的M-T曲线、ΔS-T曲线的方法,建议分类号为G01N 27/72。本发明既不是对现有热力学理论的改进,也不是对现有磁熵变的计算机计算方法作出的算法改进,而是以内存为暂存媒介,专门针对利用PPMS系统进行磁性材料的测量得到磁矩—磁场—温度测试数据进行技术处理而得到测量磁性材料的磁熵变的技术方案,解决了现有技术中根据PPMS测量得到的数据难以获得磁性材料的M-T曲线、ΔS-T曲线的难题。

著录项

  • 公开/公告号CN105701353A

    专利类型发明专利

  • 公开/公告日2016-06-22

    原文格式PDF

  • 申请/专利权人 华东师范大学;

    申请/专利号CN201610032616.6

  • 申请日2016-01-19

  • 分类号G06F19/00;G01R33/12;G01R33/14;

  • 代理机构上海蓝迪专利商标事务所(普通合伙);

  • 代理人徐筱梅

  • 地址 200241 上海市闵行区东川路500号

  • 入库时间 2023-12-18 15:45:39

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-24

    授权

    授权

  • 2016-07-20

    实质审查的生效 IPC(主分类):G06F19/00 申请日:20160119

    实质审查的生效

  • 2016-06-22

    公开

    公开

说明书

技术领域

本发明涉及一种获取磁性材料的磁学性质的方法,具体地说是一种以内存为暂存 媒介、专用于PPMS的批量获取磁性材料的M-T曲线、ΔS-T曲线的方法。

背景技术

本发明的建议分类号为G01N27/72。

本发明既不是对现有热力学理论的改进,也不是对现有磁熵变的计算机计算方法 作出的算法改进,而是专门针对利用PPMS系统进行磁性材料的测量得到磁矩—磁场—温度 测试数据并进行技术处理而得到测量磁性材料的磁熵变-温度特性的技术方案。

本发明所要求保护的并非是一种具体的计算机程序,而是一种利用计算机来获取 磁性材料的磁学性质的方法,特定的计算机程序只是为实现该技术方案而编写出的实施本 发明的具体实施方式。

为便于理解本发明,以下对现有技术及现有技术作简单介绍。

在1907年郎杰斐(P.Langevin)注意到:顺磁体绝热去磁过程中,其温度会降低。从 机理上说,固体磁性物质在受磁场作用磁化时,系统的磁有序度加强(磁熵减小),对外放出 热量;再将其去磁,则磁有序度下降(磁熵增大),又要从外界吸收热量。这种磁性系统在磁 场施加与除去过程中所出现的热现象称为磁热效应,又称为磁卡效应。1927年德贝(Debye) 和杰克(Giauque)预言了可以利用此效应制冷。1933年杰克实现了绝热去磁制冷。从此,在 极低温领域(mK级至16K范围)磁制冷发挥了很大作用。利用磁卡效应可制成固态磁制冷器。

磁熵是磁矩混乱程度的量度,以Sm表示。磁熵Sm是温度T和外加磁场H的函数。磁矩 排列愈混乱即无序度愈大,磁熵就愈大。为了研制高效率的磁制冷器,必须研究各种铁磁性 材料的磁熵变。

为便捷、可靠地、自动化地完成相关测试,本领域技术人员常常采用PPMS来完成测 量过程。PPMS——PhysicalPropertyMeasurementSystem(综合物性测量系统)是美国 QuantumDesign公司开发的一款材料的各种物理性质进行基础研究的仪器。PPMS系统的设 计理念是在一个完美控制的极低温(50mK)和强磁场(±16T)平台上,集成全自动的磁学、电 学、热学和形貌,甚至铁电和介电等各种物性测量手段。一个PPMS系统由基本系统和各种测 量和拓展功能选件构成:基本系统提供低温和强磁场的环境,以及整个系统的软硬件控制 中心。

根据热力学中Maxwell方程可很容易地得到:当外加磁场从H0变化到H1时,磁性材 料在这一过程中的磁熵变计算公式为:

ΔS=S(H1,T)-S(H0,T)=H0H1(M(H,T)T)HdH---(1)

上式中,S为磁性材料的熵,H为外加磁场,T为热力学温度,M为磁化强度,下标0、1 分别代表磁场变化前、后的状态。

通常可以通过如下途径测量得到磁性材料的磁熵变:

(A)在给定温度下给磁性材料施加一随时间变化的外磁场H,H以等步长增加或减 小,测量在所述温度下的第一条M-H曲线(也可以称为M-H磁滞回线);上述测试完成后,使温 度增加或减少一固定值,即温度等步长地增大或减小,重复进行测量步骤(A),得到若干条 在不同温度下的M-H曲线;在每次测量过程中温度保持恒定不变;通过上述测量步骤,可以 得到所测磁性材料的M(H,T)的三维数组;上述过程可以概括为:测试不同温度下的M-H曲 线,即固定温度扫描磁场,每个温度设置的外磁场的序列要一致,这样才比较容易得到M(H, T)的三维数组;

(B)根据公式ΔS=S(H1,T)-S(H0,T)=H0H1(M(H,T)T)HdH---(2)

计算得到磁熵变。

而在测试过程中得到的是一系列离散的测试数据,进行具体数值计算时,通常采 用如下两种步骤来计算:

(一)按照如下步骤来进行计算:

(1)将测试得到的按温度组合(M-H)T(每列数据T相等)的实测数据转换为按磁场 强度重新组合的数据(M-T)H(每列数据H相等);

(2)对上一步重组的每列数据M对温度T求偏导;

(3)然后先微分再积分运算得到所测材料的磁熵变。

由于数据量巨大,上述步骤通常利用软件来完成,例如Matlab、Origin、Excel等商 业软件;

为了减小计算过程中的误差,通常将外磁场变化的步长、温度变化的步长设置小 一些,使得数据点足够密集,M-H曲线足够平滑。

(二)根据在测试过程中得到的是一系列离散的测试数据,进行具体计算时,公式 (1)改写为采用如下公式来进行计算:

-ΔS=Σi1Ti+1-Ti(Mi-Mi+1)ΔHi---(3)

在上式中,i表示测试过程中第i次测试;利用公式(3)也可直接计算得到指定参数 条件下的磁性材料的磁熵变。

如果上述外磁场的序列不一致,则根本无法得到M(H,T)的三维数组,也就无从根 据上述方法(一)和(二)来计算磁熵变。

在利用PPMS完成相关测量并导出测量数据时,通常得到的数据,每一条M-H曲线 中,①:M的变化步长并不是固定值,而是具有一定随机性的值,且②:每一条M-H曲线中的数 据点数量也是变化不定的,而且,③:由于所导出的记录数值中,温度值也是由温度传感器 所测量得到的实测值,是带有轻微波动的温度值,而不是测量前程序设定的温度序列(确定 值),例如某次测量得到的部分数据为:

Temperature(K),MagneticField(Oe),Moment(emu)

10.0140295,8825.666,4.77920531340975

10.0114298,9997.748,5.35753168743939

10.0107646,11606.298,6.1806593824613

……

9.967885,5850.0365,3.42836713837576

9.9699335,4077.1785,2.44207219325932

9.9713125,2630.387,1.65372870264995

……

12.0178871,8729.4175,0.546468356803494

12.0119467,10598.8385,4.62828899150997

12.0118856,12381.02,5.66277344040436

……

此外,④:而在不同的设定温度值下测量得到的M-H数据点的数量则为3340,3268, 3421,3319,3486,3511,3403,……

由此可见,根据PPMS测试导出的实验数据根本无法得到为了计算磁熵变所需的所 测磁性材料的M(H,T)的三维数组。

由于上述几点原因,导致无法使用前述计算方法来根据PPMS系统测得的实验数据 来得到所测材料的磁熵变。目前可通过人工辅助以其他数据处理程序如Excel、Origin等来 完成数据的三维数组,然而,即使借助于这些计算机程序,处理过程往往也需要几个星期甚 至几个月的时间,工作繁杂、枯燥且极易出错。

利用方法(一)进行处理时,涉及的变量有T、H、M、ΔS,在计算机数 值处理时这些变量构成了一个五维数组,通常测试得到T的数量、计算的ΔS在100左右,H、 M、的数量通常在10000-100000之间,因此这样的一个五维数组的数据量通常 在1016-1020之间,若每个数值采用为双精度存储、运算,那么该五维数值所需要的内存 (RAM)空间大约在1010-1017MB之间,即使降低测量过程中H的数量,即增大H的间隔,使H、M、 的数量控制在100-1000之间,该五维数组所需要的内存(RAM)空间也大约在 104-1011MB之间,再进一步降低H的数量,尽管可以再降低内存的需求量,但其计算精确度也 会大大降低,将导致结果严重不可信。由此可见,利用方法(一)进行数据处理时,其内存需 求量极大,通常需要大型计算机来进行处理。这就严重制约了其应用场合。

另外,在研究磁性材料的磁卡效应时,除了分析磁性材料的M-H曲线,科研人员往 往还需要分析材料的M-T曲线、曲线、ΔS-T曲线,参见说明书附图1、2;利用方法 (二)只能计算得到指定参数条件下的磁性材料的磁熵变,而不能得到M-T曲线、曲线、ΔS-T曲线,使得对磁性材料的分析研究大打折扣。

综上所述,现有技术中各种方法都存在着重大缺点,且无法应用于PPMS测量的磁 性材料的数据处理。

发明内容

为了解决现有技术问题,本发明的目的在于提供一种专门适用于PPMS的铁磁性材 料的磁学性质测量方法,可批量获得M-T特性曲线、特性曲线、ΔS-T特性曲线。

实现本发明目的具体技术方案是:

在测量之前,首先利用虚拟硬盘软件在用于数据处理的计算机的内存中划分出部 分容量以虚拟成一个虚拟硬盘,所述虚拟硬盘软件包括但不限于:Ramdisk、FacnyCache、 VSuiteRamdisk、PrimoRamdisk、DataramRAMDisk、BuffaloRamdisk、AMDRadeon RAMDisk等;在所述计算机的内存中划分出的用于虚拟硬盘的容量不低于10MB,所述计算机 可以是单独用于测试数据处理的计算机,也可以是PPMS系统的控制计算机;

然后开始测量及数据处理步骤:

A)按照符合PPMS操作规范的流程,称取一定质量的将待测试的磁性材料,记录下 该质量值,将待测试的磁性材料装入PPMS测量系统中;

B)在PPMS的控制计算机上设定测试的温度序列值,各个测试温度成等间距序列 (间隔为ΔT),ΔT可以取1K、2K、3K、4K、5K、……、10K;设定测试的磁场强度,这里所述的磁 场强度是指磁滞回线中的磁场强度的绝对值的最大值,磁场从0增加到正向最大值,再逐渐 变化到负向最大值,然后再逐渐回到正向最大值;在每一个设定的测试温度下,磁性材料均 历经同样的所述磁场扫描,所述T指PPMS系统导出的数据文件中的物理量Temperature;

C)在给定温度下给磁性材料施加一随时间变化的外磁场H,测量在所述温度下的 第一条M-H曲线(也可以称为M-H磁滞回线、磁化曲线);上述测试完成后,使温度增加或减少 一固定值,即温度等步长地增大或减小,重复进行上述测量步骤;在每次测量过程中温度保 持恒定不变;依次逐次测量磁性材料的M-H曲线,直至完成所设定的所有温度序列下的M-H 曲线;所述H指PPMS系统导出的数据文件中的物理量MagneticField,所述M指PPMS系统导 出的数据文件中的物理量Moment;

依照PPMS操作规范的流程,导出所测试材料的所有数据,除标题行外,每一行数据 中由温度值、所施加的外磁场强度、所测磁性材料的磁矩构成;根据测量数据量的多少,导 出的测试数据文件可能是一个或多个数据文件,不同的温度、不同的H值下的测试数据合并 存储在所述一个或多个数据文件中,即使导出的数据文件为多个,在每个单独的数据文件 中,也包含有不同的温度、不同的H值下的测试数据,且这些H值的间隔(ΔH)是不均匀的;

D)将步骤C)测试得到的数据文件复制入虚拟硬盘中;然后将步骤C)测试得到的实 测数据分割为按温度组合(M-H)T(每列数据T相等,但H间隔不均匀)的实测数据:逐行读取 所导出的测试数据,利用计算机按照设定的测试温度进行数据分割,将步骤C)中导出的数 据文件分割成各个按照设定测量温度值来独立存储M-H数据的文件,将在每个测试温度下 测量得到的(M-H)T数据分别存储在各自独立的(M-H)T文件中,这些分割得到的(M-H)T文件 存储在虚拟硬盘中;在每个独立的(M-H)T文件中,只存储在测量得到的从正向最大H值扫描 到负向最大H值的过程的数据;当步骤D)中得到多个数据文件时,则对多个数据文件轮次进 行逐行读取;具体步骤为:

D-a)从虚拟硬盘中逐行读取所导出的测试数据到计算机内存(RAM)或CPU的高速 缓存(Cache)中;当步骤C)中得到多个数据文件时,对多个数据文件轮次进行逐行读取;当 读取第一行(即标题行)时,暂存第一行(即标题行)的文本内容;

D-b)当逐行读取测试数据文件的第二行至最后一行时,以PPMS数据导出时所采用 的数据分隔符为不同物理量的分隔判别标志,以步骤C)中所设定的分隔符来区分开不同物 理量(Temperature、MagneticField、Moment等),将每一行的原始数据存储于一个临时数 组中;将所读取到的温度实测值取为测试前设定的温度序列中最接近的设定温度值,并在 虚拟硬盘中建立一个包含有该设定温度值为文件名的数据文件,其扩展名可以任意设定, 如.txt,.dat,.bin等等;在所建立的数据文件中,以追加的方式写入步骤D-a)中暂存的第 一行即标题行的内容;

在上述步骤D-b)中,还包括:

逐行读取第三行、第四行……时,每一次读取到的H(MagneticField)值均与上一 次读取到的H(MagneticField)值进行比较,以获取在整个测试过程中所施加的外磁场H (MagneticField)的最大值;当读取到的H(MagneticField)值比上一次读取到的H (MagneticField)值小时,即将上一次读取到的H(MagneticField)值记为H最大值,以一 个指定的变量来表示这一最大值;

当读取到外磁场H(MagneticField)的最大值的一行测量数据时,开始向位于虚 拟硬盘中的、在步骤D-b)中建立的数据文件中以追加的方式逐行记入测量数据,直至读取 到下一不同设定温度值或导出数据文件的结尾为止;

当读取到的温度值所对应的设定温度值与上一行的设定温度值不同时,在虚拟硬 盘中建立新的包含有该新的设定温度值为文件名的数据文件,文件命名规则前后保持一 致;

在上述步骤D-b)关于写入数据文件的操作中,温度值既可以以温度实测值即原始 记录数据写入,也可以以前述所取的测试前设定的温度序列中最接近的设定温度值写入; 每一个物理量的数据均以自定义的分隔符进行隔离;

D-c)在步骤C)中导出的测试数据文件为多个时,继续遍历其他所有导出的测试数 据文件,重复执行步骤D-b);

D-d)关闭上述过程中所有打开的数据文件;

为了避免多次获取磁性性质操作带来不同文件夹冲突的问题,在将步骤C)测试得 到的数据文件复制入虚拟硬盘中之后,还可以以步骤D-a)执行时的时间“年-月-日-时-分- 秒”作为当次技术处理时数据暂存的文件夹名称,来建立一用来存储数据文件的文件夹,后 续步骤中存储数据文件时均存储在该文件夹下;例如:“Z:\DATA\20141021093031”;

E)以虚拟硬盘为数据暂存介质,将步骤D得到的按各个温度T单独存储、且磁场强 度H间隔不均匀的(M-H)T实测数据转换、存储为按指定磁场强度H序列单独存储、且H值间隔 均匀的(M-H)T数据文件:

获得指定等间距H序列下的一系列的(M-T)H数据文件,构成了(H,M,T)三维数组: 根据步骤E)分割得的代表不同温度下测量得到的(M-H)T数据文件,利用计算机按照指定的 H变化步长ΔH(即对指定H序列)进行数据采样,获得指定H序列下的一系列的(M-T)H数据文 件,所述指定H序列;H变化步长过大会导致后续计算过程中误差较大,而H变化步长过小则 会导致计算效率低下且并不能切实提高计算精确度;

步骤E)具体步骤如下:

E-a)在虚拟硬盘中建立一个用于存储按指定磁场强度H序列、且H值间隔均匀的 (M-H)T数据文件的文件夹;

指定一系列的H序列值,所述H序列值以恒定步长ΔH递增,ΔH依据所需计算精度 而定,通常可选择100Oe-1000Oe;以包含指定H序列的H值为文件名,在虚拟硬盘的上述新建 的文件夹中建立一系列代表各自H值的独立的数据文件,其扩展名可以任意设定;

在虚拟硬盘所建立的数据文件中,以追加的方式写入标题行,标题行包含M、T两个 物理量,如“Temperature(K),Moment(emu)”;

E-b)获取指定H序列中第一个指定H值下的(M-T)H测试数据序列,并将所述(M-T)H测试数据序列以追加的方式写入在步骤E-a)中所建立的对应H值的数据文件中,该操作具 体步骤如下:

依照温度从低到高或从高到低的次序,遍历读取步骤E)中存储在虚拟硬盘中的、 代表在每个测试温度下测量得到的、各自独立的(M-H)T数据文件;每个文件的读取方式均 为逐行读取;

在逐行读取每一个文件时,均比较所读取的每一行的H值,并将所读取到的H值与 所指定的H值求差值后取绝对值,当所得到的绝对值最小时,选取该行的最邻近的上、下行 各自的M值,以线性插值的公式计算指定H值下所对应的M值,将所读取的数据文件所代表的 温度值、计算得到的M值作为一行数据以追加写入的方式写入在步骤E-a)中所建立的对应H 值的数据文件中;例如,指定H值下所对应的M值采用如下公式进行计算:

当读取到的第i行位于所读取的数据文件的开头 前2行或结尾最后2行时,不采用该公式进行计算,而以其最邻近的数据点的M值作为所指定 的H值所对应的M值;

为了进一步消除测量过程中的偶然误差,使结果更精确可靠,还可以采用下面的 计算式:

当读取到的第i行位于所读取的数据文件的开 头前3行或结尾最后3行时,不采用该公式进行计算,而以其最邻近的数据点的M值作为所指 定的H值所对应的M值;

当读取到的第i行位于所读取的数据文件的 开头前4行或结尾最后4行时,不采用该公式进行计算,而以其最邻近的数据点的M值作为所 指定的H值所对应的M值;

当读取到的第i行位于所读取的数据文件的 开头前5行或结尾最后5行时,不采用该公式进行计算,而以其最邻近的数据点的M值作为所 指定的H值所对应的M值;

在上述各式中,i表示所读取到的第i个数据点,依此类推,i-3、i-2、i-1、i+1、i+2、 i+3、i+4分别表示表示所读取到的第i-3、i-2、i-1、i+1、i+2、i+3、i+4个数据点,即某个数据 文件除去标题行后的第i-3、i-2、i-1、i+1、i+2、i+3、i+4行,第i行满足条件:第i行的实测H 值小于指定的H值,第i-1行的实测H值大于指定的H值,式中H、M分别代表物理量Magnetic Field(单位:Oe)和Moment(单位:emu);

当遍历读取完所有的遍历读取步骤E)中存储在虚拟硬盘中的、代表在每个测试温 度下测量得到的、各自独立的(M-H)T数据文件后,关闭步骤E-b1)中所有读、写过的文件,获 得指定H序列中第一个指定H值下的(M-T)H测试数据文件;

当遍历读取完所有的遍历读取步骤E)中存储在虚拟硬盘中的、代表在每个测试温 度下测量得到的、各自独立的(M-H)T数据文件后,关闭步骤E-b1)中所有读、写过的文件,获 得指定H序列中第一个指定H值下的(M-T)H测试数据文件;

E-c)更改指定H值为步骤E-a)中指定的H序列的第二、第三、……直至最后一个H 值,重复步骤E-b),分别获取指定的H序列的第二、第三、……直至最后一个H值下的(M-T)H测试数据文件;

这样便得到了按指定磁场强度H序列单独存储、且H值间隔均匀的(M-H)T数据文 件,可以构成(H,M,T)三维数组;

F)依次逐行读取步骤E)得到的H值间隔均匀的(M-H)T数据文件,求解每一个H值下 的M对温度T的偏导数具体步骤为:

在虚拟硬盘中建立一个用于存储的数据的文件夹;

逐行读取步骤E)得到的H值间隔均匀的(M-H)T数据文件,除去第一行标题行外,将 读取到的每一行的数据存储于一个临时数组中;

在虚拟硬盘的用于存储的数据的文件夹中建立一个包含有该H值 为文件名的数据文件,其扩展名可以任意设定,如.txt,.dat,.bin等等;在所建立的数据文 件中,以追加的方式写入标题行的内容,标题行包括磁场强度H和偏导数两个物理量及分隔 符;

从每个(M-H)T数据文件的第三行起,将读取到的该行的M值减去上一行读取到的M 值,记为ΔM;将读取到的该行的H值减去上一行读取到的H值,记为ΔT;利用下面的公式来 计算每一个指定H值下的M对温度T的偏导数:

(M(H,T)T)H=ΔMΔT;

将T值及相应的偏导数以逐行追加的方式写入步骤F)建立的文件夹 下的数据文件中;

重复上述过程,遍历其余所有的(M-H)T数据文件,获得全部指定H序列下的 (M(H,T)T)H-T数据文件;

G)指定T序列,T序列可以是步骤B)中所设定的T序列,或者是步骤B)中所设定的T 序列的子集;设定积分公式中的积分下限和上限;依次逐行读取 步骤F)中建立的数据文件,对步骤F)中得到的一系列数据 曲线在指定条件下求积分,得到指定T序列下的一系列的ΔS-T数据,具体步骤如下:

在虚拟硬盘中建立一个用于存储的ΔS-T数据文件的文件夹;

依此遍历并逐行读取步骤F)得到的数据文件,除去第一行标题行 外,将读取到的每一行的数据存储于一个临时数组中;

在虚拟硬盘的用于存储的ΔS-T数据的文件夹中建立一个包含有步骤G)所设定的 该积分上限H值为文件名的数据文件,其扩展名可以任意设定,如.txt, .dat,.bin等等;在所建立的数据文件中,以追加的方式写入标题行的内容,标题行包括温 度T和磁熵变两个物理量及分隔符,例如:“TemperatureΔS”;

逐行读取步骤F)得到的数据文件,从第二行开始,将读取到的每 一行的数据存储于一个临时数组中,当读取到T值等于步骤G)中指定T序列中的T值时,以一 临时变量来存储该行的值;终止继续读取该数据文件,继续 读取下一个数据文件,重复本段所述的操作,将所有读取到的指定T值所对 应的进行累加,直至遍历完全部的数据文件,得到其累加值 Σ(M(H,T)T)H;

将上述累加值乘以H步长,即其乘积即为指定T值、积分下 限、上限条件下的磁熵变ΔS,其中ΔH为相邻两行的H值的差值,因为在步骤E)中已经指定H 序列为等间隔的序列,因此ΔH是一个固定不变的值;

将所得到的温度T、磁熵变ΔS以及分隔符,以逐行追加的方式写入步骤G)所建立 的文件下的ΔS-T数据文件中;

重复上述步骤G)所述过程,遍历其余所有指定T序列下的一系列的 数据文件,获得全部指定条件下的一系列的ΔS-T数据;

保持积分下限不变,更改积分上限,重复G步骤)中上述步骤,获得新的指定磁场变 化条件下的全部指定T序列下的一系列的ΔS-T数据;

H)关闭上述所有步骤中读、写过的数据文件;

I)将虚拟硬盘中的所有数据文件转存到计算机外存储器中;

所述外存储器包括内置硬盘、移动硬盘、U盘、数据存储卡等;

在步骤E-b1)中,所采取的M取值的依据在于:由于在一条M-H曲线中通常都包含有 成千上万个数据点,所指定的H值与最邻近的实际测量H值之间的差值与整条M-H曲线中的H 变化范围相比是微不足道的,因此,即使取该行所在的M值作为指定H值下所对应的M值,所 导致的误差也是很小的,通常,由此带来的误差小于0.07%。

当计算精度要求较高时,可采取步骤E-b2)中所述的差值的方法来获得更为准确 的M值。

为了加快处理速度,上述方法还可进一步改进为:

在步骤E-b)中,在虚拟硬盘中建立一个包含有该设定温度值为文件名的数据文件 的操作替换为:在计算机内存(RAM)或计算机CPU内的高速缓存(Cache)中建立一个代表该 设定温度值为的二维动态数组;写入文件的操作替换为:向所述二维动态数组的尾部写入 数据;

在步骤E-a)中,在虚拟硬盘中建立一系列代表各自H值的独立的数据文件替换为: 在计算机内存(RAM)或计算机CPU内的高速缓存(Cache)中建立一系列代表各自H值的独立 的二维动态数组;

在步骤E-c)、E-b1)、E-b2)中,所有的遍历在虚拟硬盘中建立的数据文件的操作替 换为:遍历各自之前步骤中所有的在计算机内存(RAM)或计算机CPU内的高速缓存(Cache) 中建立一系列二维动态数组。

进一步地,上述各步骤中所述的二维动态数组也可以以链表来代替,即采用链表 的数据结构来存储数据。

优选地,在步骤D)中,所读取到的M值除以将待测试的磁性材料的质量,其结果替 代原实测的M值,写入步骤D)建立的数据文件中。

优选地,步骤C)中得到的数据中,过长位数的数据并不能带来计算结果准确度的 提高,为了为了减小数据量和运算资源消耗,在步骤D中将M、H的数值统一截取为固定长度 的数值,例如小数点后取6位、7位或8位。

本发明的有益效果:

通过采用本发明的方法,可以彻底解决现有技术在利用PPMS测量磁性材料过程中 获取的M-T曲线、ΔS-T曲线难题,利用计算机来完成相关操作,方便、快捷。

附图说明:

图1:某种磁性材料的M-T曲线;

图2:某种磁性材料的ΔS-T曲线;

图3:具体实施例的步骤E)-步骤G)中相关设定参数;图中涂抹了一些无关紧要的 信息;该图仅为具体实施例的界面的局部(并非完整截图)。

具体实施方式

为实施本发明的技术方案,本领域技术人员可按照发明内容所述的方法编写具体 的计算机程序来实现之,本发明未对为实现该技术方案而采用何种计算机语言、计算机程 序作出任何限制。

本发明所要求保护的并非是一种具体的计算机程序,而是一种利用计算机来获取 磁性材料的磁学性质的方法,特定的计算机程序只是为实现该技术方案而编写出的实施本 发明的具体实施方式。

为便于理解本发明,下面结合实例来具体介绍本发明的技术方案。

在测量之前利用虚拟硬盘软件BuffaloRamdisk在用于数据处理的计算机的内存 中划分出32MB容量以虚拟成一个虚拟硬盘,盘符为Z;

然后开始测量及数据处理步骤:

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;在 每一个设定的测试温度下,磁性材料均历经同样的所述磁场扫描;所述T指PPMS系统导出的 数据文件中的物理量Temperature;

C)开始测试:系统温度在控温系统的作用下达到设定的第一温度值2K并稳定后, 测量第一M-H曲线;然后,系统温度在控温系统的作用下达到设定的第二温度值4K并稳定 后,测量第二M-H曲线;然后,系统温度在控温系统的作用下达到设定的第三温度值6K并稳 定后,测量第三M-H曲线;……重复这一过程,逐次测量磁性材料的M-H曲线,直至完成100K 温度下的M-H曲线;在每次测量过程中温度保持恒定不变;依次逐次测量磁性材料的M-H曲 线,直至完成所设定的所有温度序列下的M-H曲线;所述H指PPMS系统导出的数据文件中的 物理量MagneticField,所述M指PPMS系统导出的数据文件中的物理量Moment;

依照PPMS操作规范的流程,导出所测试材料的所有数据,除标题行外,每一行数据 中由温度值、所施加的外磁场强度、所测磁性材料的磁矩、误差项构成;根据测量数据量的 多少,导出的测试数据文件得到的数据文件有7个,分别保存为MCE1.dat,MCE2.dat, MCE3.dat,MCE4.dat,MCE5.dat,MCE6.dat,MCE7.dat;不同的温度、不同的H值下的测试数据 合并存储在所述一个或多个数据文件中,即使导出的数据文件为多个,在每个单独的数据 文件中,也包含有不同的温度、不同的H值下的测试数据,且这些H值的间隔(ΔH)是不均匀 的;

例如:MCE4.dat的文件部分内容如下:

Temperature(K),MagneticField(Oe),Moment(emu),M.Std.Err.(emu)

32.00202755,-0.118,-0.00126688856058318,4.51899702302814E-6

32.0013313,7.0295,-0.00127597555348906,4.86920603808076E-6

32.00174335,565.58,0.0422035493506414,0.000402803915835685

32.0015945,1025.09,0.0729658843502942,0.000458270810619051

32.001915,1255.996,0.0928575299552316,0.000451647444187443

32.0020218,1451.7385,0.112409561976028,0.000444269277498134

……

31.99976255,61045.3245,4.15532584682656,0.000495170438107461

31.9995384,60795.461,4.14521563817148,0.000600448386830866

31.999567,60635.5585,4.13403371695014,0.000654675443479942

31.9996605,60448.9255,4.12348915203937,0.000595515738766516

31.9995708,60272.258,4.11842844701878,0.000676258986960682

31.9993477,60103.1605,4.10819758191176,0.000710948878591925

……

34.0042763,7076.996,0.527432757413177,0.000347193892695242

34.0044746,7269.762,0.542291854429929,0.000342030768021547

34.0042934,7361.835,0.557095205406481,0.000343129104902078

34.0041885,7575.8715,0.564461725900955,0.000331726538447699

34.00409885,7648.111,0.579335477010551,0.000345789072590493

34.0038986,7906.3135,0.594013092437098,0.000347164011560761

34.0036354,8121.3095,0.608767264647458,0.000339320358035022

……

36.0040131,24387.041,1.71385973148928,0.000361950939258065

36.0034981,24582.1975,1.72698549024281,0.000356809845964897

36.003273,24802.459,1.74071538042355,0.000372159199191297

36.0034294,24997.042,1.75377960350089,0.0003968064715188

36.0033073,25199.7705,1.76690363483609,0.000361884393402058

36.0032425,25385.827,1.7807557086519,0.000414432388799402

36.003231,25607.715,1.79401333551337,0.000398482166958347

36.0033607,25800.865,1.80709933818233,0.000397470439631694

36.0035381,26074.1085,1.82711095863772,0.000376102430731429

……

38.00268745,36812.916,2.42817117789424,0.000443950779835792

38.0027237,37032.891,2.43384123902899,0.000430941893335765

38.0025177,37227.664,2.44604049048833,0.00043964961855296

38.0028267,37413.3395,2.45793496722591,0.000523089852077352

38.00296595,37488.2615,2.47011950372595,0.000507111775134114

38.00333215,37628.906,2.47642474163063,0.00043463581691392

38.00377655,37756.8065,2.48184218842265,0.000441226548974584

38.00416185,37977.6405,2.49401960102861,0.000448238522768833

……

40.0026207,69337.508,4.04897113030786,0.000630537000910383

40.0025177,69412.051,4.05820400138428,0.000568074112521435

40.0022697,69635.313,4.06209889195388,0.000543928762905382

40.00183485,69789.746,4.07179846876265,0.00071221520587325

40.0017433,69901.8945,4.07808757914927,0.000505949420696191

40.0022182,69999.922,4.08278275651664,0.000600963729794102

很明显地,单个MCE4.dat文件中合并存储了32K、34K、36K、38K、40K等五个温度下 测试得到的M-H数据,并且这些H值的间隔(ΔH)是不均匀的;

D)将步骤C)测试得到的数据文件复制入虚拟硬盘中;然后在虚拟硬盘中建立文件 夹Z:\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)存储在虚拟硬盘建立文件夹Z:\Data\M-H\文件 夹中;在每个独立的(M-H)T文件(2K.dat,4K.dat,6K.dat,……,98K.dat,100K.dat)中,只 存储在测量得到的从正向最大H值扫描到负向最大H值的过程的数据,即从70000Oe到- 70000Oe的测试数据;具体步骤为:

D-a)从虚拟硬盘中逐行读取所导出的测试数据MCE1.dat到计算机内存(RAM)中; 当读取第一行(即标题行)时,暂存第一行(即标题行)的文本内容,内容为“Temperature (K),MagneticField(Oe),Moment(emu)”;

D-b)当逐行读取测试数据文件的第二行至最后一行时,以PPMS数据导出时所采用 的数据分隔符为不同物理量的分隔判别标志,以步骤C)中所设定的分隔符来区分开不同物 理量(Temperature、MagneticField、Moment等),将每一行的原始数据存储于一个临时数 组中;

MCE1.dat的部分内容如下:

Temperature(K),MagneticField(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,在虚拟硬盘上文件夹Z:\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曲线中的正向最大值,在Z:\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值的绝对值,在Z:\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曲线中的负向最大值,在Z:\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值的绝对值,在 Z:\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,在虚拟硬 盘上文件夹Z:\Data\M-H\文件夹中建立一个以4K.dat为文件名的数据文件;以追加的方式 写入步骤a)中暂存的第一行即标题行的内容“Temperature(K),MagneticField(Oe), Moment(emu)”(不储存误差项);

其后操作与上面的类似;

……

读取到第13906行时,实测温度值10.0039368K,与设定的温度序列(2K,4K, 6K,……,98K,100K)中最为接近的是10K,即设定的温度值发生了改变,因此温度值记为 10K,在虚拟硬盘上文件夹Z:\Data\M-H\文件夹中建立一个以10K.dat为文件名的数据文 件;以追加的方式写入步骤a)中暂存的第一行即标题行的内容“Temperature(K),Magnetic Field(Oe),Moment(emu)”(不储存误差项);

其后操作与上面的类似;

……

直至MCE1.dat的最后一行结束;

D-c)依次类推,重复执行步骤E-b),直至遍历完其余的导出的测量数据文件 MCE2.dat,MCE3.dat,MCE4.dat,MCE5.dat,MCE6.dat,MCE7.dat;

D-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;

E)获得指定等间距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数据文件; 步骤E)具体步骤如下:

E-a)指定一系列的H序列值:70000Oe,69800Oe,69600Oe,69400Oe,……0Oe,……- 69600Oe,-69800Oe,-70000Oe,所述H序列值以恒定步长ΔH=200Oe递增;以包含指定H序列 的H值为文件名,在虚拟硬盘中建立文件夹Z:\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)”;

E-b)获取指定H序列中第一个指定H值70000Oe下的(M-T)H测试数据序列,并将所 述(M-T)H测试数据序列以追加的方式写入在步骤F-a)中所建立的对应H值的数据文件中 70000Oe.dat:

依照温度从低到高的次序,遍历读取步骤D)中存储在虚拟硬盘文件夹Z:\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值作为一行数据以追加写入的方式写入在步骤E-a)中所建立的对应H 值的数据文件中;指定H值下所对应的M值采用如下公式进行计算:

当读取到的第i行位于所读取的数据文件的开头 前2行或结尾最后2行时,不采用该公式进行计算,而以其最邻近的数据点的M值作为所指定 的H值所对应的M值;式中H、M分别代表物理量MagneticField(单位:Oe)和Moment(单位: emu);

当遍历读取完所有的遍历读取步骤E)中存储在虚拟硬盘中的、代表在每个测试温 度下测量得到的、各自独立的(M-H)T数据文件后,关闭步骤E-b1)中所有读、写过的文件,获 得指定H序列中第一个指定H值下的(M-T)H测试数据文件;

依照上述操作方式,遍历所有其余的数据文件6K.dat,……50K.dat, 52K.dat,……98K.dat,100K.dat,便得到70000Oe下的(M-T)H数据文件70000Oe.dat;

E-c)获取指定H序列中第二个指定H值69800Oe下的(M-T)H测试数据序列,并将所 述(M-T)H测试数据序列以逐行追加的方式写入在步骤E-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;

关闭步骤E-b)中所有读、写过的文件,获得指定H序列中第一个指定H值下的(M- T)H测试数据文件;

这样便得到了获得指定等间距H序列下的一系列的(M-T)H数据文件,构成了(H,M, T)三维数组;

F)依次逐行读取步骤E)得到的(M-H)T数据文件,求解每一个H值下的M对温度T的 偏导数具体步骤为:

在虚拟硬盘上建立一个用于存储的数据的文件夹Z:\Data\dM- dT\;

逐行读取步骤E)得到的H值间隔均匀的(M-H)T数据文件,除去第一行标题行外,将 读取到的每一行的数据存储于一个临时数组中;

在虚拟硬盘的用于存储的数据的文件夹中建立一个包含有该H值 为文件名的数据文件200Oe.txt等等;在所建立的数据文件200Oe.txt中,以追加的方式写 入标题行的内容,标题行为“Temperature(K)Slope(emu/(g*K))”;

从每个(M-H)T数据文件的第三行起,将读取到的该行的M值减去上一行读取到的M 值,记为ΔM;将读取到的该行的H值减去上一行读取到的H值,记为ΔT;利用下面的公式来 计算每一个指定H值下的M对温度T的偏导数:

(M(H,T)T)H=ΔMΔT;

例如,在步骤E)得到的200Oe下的M-T文件内容如下:

Temperature(K)Moment(emu)M.Std.Err.(emu)

25.05231864850.000912099112341484

44.92286511290.000848345823308769

64.70764960220.000951939432121166

84.43557178510.00104602122157555

104.15401647070.000756497790415489

123.90869667600.000759289863431564

143.65791397450.00065282260535558

163.43580357220.000712153496413619

183.23363921520.000641743252684032

203.05421860570.000711178731830154

222.88750547400.000633583014363018

242.73639440390.000612027386979506

262.60672229680.000582255503098482

282.48583058500.00052096015783399

302.37073827870.000531041995268534

322.27086963940.000527704246626589

342.17221313490.000468627209191499

362.08564902320.000424715399090915

382.00703910060.000444781136608427

401.93469572990.00036176508505969

421.86875007680.000374445379170067

441.80827090580.00032804006324117

461.74592611050.000339148252897741

481.69603536590.000326136824685095

501.64605452530.000354802492701038

551.53583709770.000322637398867676

601.44111776090.000280788103370659

651.36024897930.000271314849759564

701.28718586370.000256295679790413

751.22053431490.000230965052151243

801.16399353990.000242077424031515

851.10902789770.00023282699142299

901.05917765310.000240851206211287

951.01551616480.000161831296804004

1000.97332717680.000194509617496906

第3行的M值减去第2行读取到的M值,ΔM=-0.129453536emu;

第3行的T值减去第2行读取到的T值,ΔT=2K;

(M(H,T)T)H=ΔMΔT=-0.064726768emu/K

将T值及相应的偏导数以逐行追加的方式写入步骤F)建立的文件夹 下的数据文件中;

重复上述过程,遍历其余所有的(M-H)T数据文件,获得全部指定H序列下的 数据文件:0Oe.txt、200Oe.txt、400Oe.txt、600Oe.txt、……、 69400Oe.txt、69600Oe.txt、69800Oe.txt、70000Oe.txt;

举例而言,得到的36000Oe下的数据结果如下:

Temperature(K)PartialDerivative(emu/(g*K))

4-0.0655024472

6-0.1003210984

8-0.1221701159

10-0.1236801023

12-0.1196835623

14-0.1221636892

16-0.1158554408

18-0.1031784337

20-0.0940045455

22-0.0852988782

24-0.0791938393

26-0.0729467498

28-0.0657919604

30-0.0608403727

32-0.0555074351

34-0.0511001996

36-0.0477874164

38-0.0443303011

40-0.0407991128

42-0.0380759010

44-0.0336589478

46-0.0308700606

48-0.0293266307

50-0.0260036567

55-0.0240959068

60-0.0212309865

65-0.0182615201

70-0.0165310821

75-0.0151322573

80-0.0133145686

85-0.0120863879

90-0.0110094887

95-0.0098515785

特别指出的是,这里所获得的各个数据文件的名称与步骤E)所获得的各个数据文 件的名称分别相同,但并不会造成混淆,因为这两个步骤中产生的数据文件存放于各自的 文件夹中;

G)指定T序列:4K、6K、8K、10K、……、46K、48K、50K、……94K、96K、98K、100K,设定积 分公式中的积分下限和上限分别为0Oe、600Oe;依次逐行读取步 骤F)中建立的数据文件,对步骤F)中得到的一系列数据 曲线在指定条件下求积分,得到指定T序列下的一系列的ΔS-T数据,具体步骤如下:

在虚拟硬盘中建立一个用于存储的ΔS-T数据文件的文件夹Z:\Data\ΔS-T\;

依此遍历并逐行读取步骤F)得到的数据文件:0Oe.txt、 200Oe.txt、400Oe.txt、600Oe.txt、……、69400Oe.txt、69600Oe.txt、69800Oe.txt、 70000Oe.txt,除去第一行标题行外,将读取到的每一行的数据存储于一个临时数组中;

在虚拟硬盘的用于存储的ΔS-T数据的文件夹中建立一个包含有步骤G)所设定的 该积分上限H值为文件名的数据文件:0Oe.txt、200Oe.txt、400Oe.txt、 600Oe.txt、……、69400Oe.txt、69600Oe.txt、69800Oe.txt、70000Oe.txt;在所建立的数据 文件中,以追加的方式写入标题行的内容,标题行包括温度T和磁熵变两个物理量及分隔 符,例如:“TemperatureΔS”;

逐行读取步骤F)得到的数据文件,从第二行开始,将读取到的每 一行的数据存储于一个临时数组中,当读取到T值等于步骤G)中指定T序列中的T值时,以一 临时变量来存储该行的值;终止继续读取该数据文件,继续 读取下一个数据文件,重复本段所述的操作,将所有读取到的指定T值所对 应的进行累加,直至遍历完全部的数据文件,得到其累加值 Σ(M(H,T)T)H;

将上述累加值乘以H步长,即其乘积即为指定T值、积分下 限、上限条件下的磁熵变ΔS,其中ΔH为相邻两行的H值的差值,因为在步骤E)中已经指定H 序列为等间隔的序列,因此ΔH是一个固定不变的值;

将所得到的温度T、磁熵变ΔS以及分隔符,以逐行追加的方式写入步骤G)所建立 的文件下的ΔS-T数据文件中;

例如:计算10K温度下,该材料在0Oe至600Oe之间的磁熵变:

步骤F)得到的0Oe.txt、200Oe.txt、400Oe.txt、600Oe.txt、800Oe部分内容如下:

0Oe.txt部分内容:

Temperature(K)Slope(emu/(g*K))

4-0.0040352674——第2行

6-0.0020341544——第3行

8-0.0003398646——第4行

10-0.0008626960——第5行

120.0001786028

……

200Oe.txt部分内容:

Temperature(K)Slope(emu/(g*K))

40.0030047162——第2行

60.0023498100——第3行

80.0004700273——第4行

10-0.007406361——第5行

12-0.0080658803

……

400Oe.txt部分内容:

Temperature(K)Slope(emu/(g*K))

4-0.0015049657——第2行

60.0008345383——第3行

8-0.0009918612——第4行

10-0.0017225218——第5行

12-0.0010413388

……

600Oe.txt部分内容:

Temperature(K)Slope(emu/(g*K))

4-0.0011649709——第2行

60.0019778708——第3行

8-0.0006583236——第4行

10-0.0008542947——第5行

12-0.0013106532

……

800Oe.txt部分内容:

Temperature(K)Slope(emu/(g*K))

40.0001960065——第2行

60.0043273019——第3行

8-0.0009248119——第4行

10-0.0020094518——第5行

12-0.0020280588

……

逐行读取上述数据文件0Oe.txt、200Oe.txt、400Oe.txt、600Oe.txt,由于数据文 件600Oe.txt所代表的测试H值已经达到所指定的积分上限,因此800Oe.txt、1000Oe.txt、 1200Oe.txt、……、69800Oe.txt、70000Oe.txt等数据文件则不再读取;对应于10K温度的数 据均位于各自数据文件的第5行,将这些文件的第5行中记录的偏导数的值进行累加,得 而H的步长ΔH在步骤E)中已经设定为200Oe, 因此,在10K温度下,该材料在0Oe至600Oe之间的磁熵变为:

ΔS=Σ(M(H,T)T)H×ΔH=-2.1691747(emu*Oe/(g*K)

重复上述步骤G)所述过程,遍历其余所有指定T序列(6K、8K、10K、12K、……、96K、 98K、100K)下的一系列的数据文件,获得全部指定条件下的一系列的ΔS- T数据;

保持积分下限不变,更改积分上限为12000Oe、16000Oe、20000Oe、24000Oe、 28000Oe、35000Oe、45000Oe、55000Oe、65000Oe、70000Oe,重复G步骤)中上述步骤,获得新的 指定磁场变化条件下的全部指定T序列下的一系列的ΔS-T数据:ΔS-T12000Oe.txt、ΔS- T16000Oe.txt、ΔS-T20000Oe.txt、ΔS-T24000Oe.txt、ΔS-T28000Oe.txt、ΔS-T 35000Oe.txt、ΔS-T45000Oe.txt、ΔS-T55000Oe.txt、ΔS-T65000Oe.txt、ΔS-T 70000Oe.txt;

举例而言,ΔS-T55000Oe.txt的内容如下:

Temperature(K)ΔS(J/kgK)

4-0.2467038758

6-0.3696258054

8-0.4703001883

10-0.4802541481

12-0.4824572476

14-0.4888180513

16-0.4544233692

18-0.4184906003

20-0.3841392399

22-0.3540794608

24-0.3222721539

26-0.2936000779

28-0.2698646268

30-0.2503259984

32-0.2309927611

34-0.2140408844

36-0.1997334306

38-0.1833204023

40-0.1670496952

42-0.1545068372

44-0.1416488434

46-0.1309885549

48-0.1239820804

50-0.1098914411

55-0.1000167777

60-0.0879078722

65-0.0773784541

70-0.0692550325

75-0.0619101999

80-0.0560074570

85-0.0510289580

90-0.0462624511

95-0.0426979831

可以将上述数据导入Origin等数据分析软件中进行处理、分析;

H)关闭上述所有步骤中读、写过的数据文件;

I)将虚拟硬盘中Z:\Data\的所有数据文件转存到物理硬盘中;

图3显示了具体实施例的步骤E)-步骤G)中相关设定参数。该界面为发明人为利用 计算机实现本发明的技术方案而创作的一个具体的程序的界面。

本发明的处理方法,在IntelCore2DuoP8700、2GBDDR21333、7200转500GB虚 拟硬盘+Windows7professional软硬件平台上处理上述实施例的数据时,以虚拟硬盘暂 存中间数据文件的技术方案,整个过程耗时4s。由此可见,本发明的技术方案,不仅解决了 现有技术中PPMS测量得到的数据难以评估磁性材料的磁熵变—温度特性的难题,且其时间 效率大大提升,极大地降低了科研人员的人力成本。

本发明的技术方案对计算机内存的需求则远远小于现有技术,经实际测量,在数 据处理的过程中,除去虚拟硬盘部分,数据+代码运行所占据的全部内存不到4MB。而现有技 术中若达到同样的计算精度,则五维数组所需要的内存(RAM)空间大约在1010-1017MB之间, 即使将测量过程中各个物理量的数量均降低1~2个数量级,五维数组所需要的内存(RAM) 空间也仍然在104-1011MB之间,且结果精确度也会大大降低,将导致结果严重不可信。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号