首页 / 专利库 / 物理 / 磁滞回线 / 一种获取铁磁性材料的磁学性质中降低内存需求方法

一种获取磁性材料的磁学性质中降低内存需求方法

阅读:200发布:2020-10-31

专利汇可以提供一种获取磁性材料的磁学性质中降低内存需求方法专利检索,专利查询,专利分析的服务。并且一种低内存需求的批量获取 磁性 材料的M‑T曲线、ΔS‑T曲线的方法,建议分类号为G01N 27/72。本 发明 既不是对现有热 力 学理论的改进,也不是对现有磁熵变的计算机计算方法作出的 算法 改进,而是专 门 针对利用PPMS系统进行磁性材料的测量得到磁矩— 磁场 — 温度 测试数据并进行技术处理而得到测量磁性材料的磁熵变‑温度特性的技术方案,不仅解决了 现有技术 中PPMS测量得到的数据难以获取磁性材料的磁熵变的难题,其效率大大提升,极大地降低了对计算机内存的需求。,下面是一种获取磁性材料的磁学性质中降低内存需求方法专利的具体信息内容。

1.一种低内存需求的批量获取磁性材料的M-T曲线、ΔS-T曲线的方法,其特征在于:
该方法仅用于以美国Quantum Design公司的PPMS(Physical Property Measurement System,综合物性测量系统)进行磁性材料的磁学性质测量;且,
包括如下步骤:
A)按照符合PPMS操作规范的流程,称量将待测试的磁性材料的质量,记录下该质量值,将待测试的磁性材料装入PPMS测量系统中;
以下所有操作步骤均通过计算机来完成:
B)在PPMS的控制计算机上设定测试的温度序列值,各个测试温度成等间距序列,间隔为ΔT;设定测试的磁场强度,这里所述的磁场强度是指磁滞回线中的磁场强度的绝对值的最大值,磁场从0增加到正向最大值,再逐渐变化到负向最大值,然后再逐渐回到正向最大值;在每一个设定的测试温度下,磁性材料均历经同样的所述磁场扫描;
C)在给定温度下给磁性材料施加一随时间变化的外磁场H,测量在所述温度下的第一条M-H曲线;上述测试完成后,使温度增加或减少一固定值,即温度等步长地增大或减小,重复进行上述测量步骤;在每次测量过程中温度保持恒定不变;依次逐次测量磁性材料的M-H曲线,直至完成所设定的所有温度序列下的M-H曲线;
依照PPMS操作规范的流程,导出所测试材料的所有数据,除标题行外,每一行数据中由温度值、所施加的外磁场强度、所测磁性材料的磁矩构成;根据测量数据量的多少,导出的测试数据文件可能是一个或多个数据文件,不同的温度、不同的H值下的测试数据合并存储在所述一个或多个数据文件中,即使导出的数据文件为多个,在每个单独的数据文件中,也包含有不同的温度、不同的H值下的测试数据,且这些H值的间隔(ΔH)是不均匀的;
D)将步骤C)测试得到的实测数据分割为按温度组合(M-H)T的实测数据,所述温度组合(M-H)T每列数据T相等,但H间隔不均匀:逐行读取所导出的测试数据,利用计算机按照设定的测试温度进行数据分割,将步骤C)中导出的数据文件分割成各个按照设定测量温度值来独立存储M-H数据的文件,将在每个测试温度下测量得到的(M-H)T数据分别存储在各自独立的(M-H)T文件中,这些分割得到的(M-H)T文件存储在外存储器中;在每个独立的(M-H)T文件中,只存储在测量得到的从正向最大H值扫描到负向最大H值的过程的数据;当步骤D)中得到多个数据文件时,则对多个数据文件轮次进行逐行读取;具体步骤为:
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序列下的一系列的(M-T)H数据文件,所述指定H序列;H变化步长过大会导致后续计算过程中误差较大,而H变化步长过小则会导致计算效率低下且并不能切实提高计算精确度;
步骤E)具体步骤如下:
E-a)在外部存储器中建立一个用于存储按指定磁场强度H序列、且H值间隔均匀的(M-H)T数据文件的文件夹;
指定一系列的H序列值,所述H序列值以恒定步长ΔH递增;以包含指定H序列的H值为文件名,在外部存储器的上述新建的文件夹中建立一系列代表各自H值的独立的数据文件;
在外部存储器所建立的数据文件中,以追加的方式写入标题行,标题行包含M、T两个物理量;
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和Moment;
当遍历读取完所有的遍历读取步骤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值为
文件名的数据文件;在所建立的数据文件中,以追加的方式写入标题行的内容,标题行包括磁场强度H和偏导数两个物理量及分隔符;
从每个(M-H)T数据文件的第三行起,将读取到的该行的M值减去上一行读取到的M值,记为ΔM;将读取到的该行的H值减去上一行读取到的H值,记为ΔT;利用下面的公式来计算每一个指定H值下的M对温度T的偏导数:
将T值及相应的偏导数 以逐行追加的方式写入步骤F)建立的文件夹下的
数据文件中;
重复上述过程,遍历其余所有的(M-H)T数据文件,获得全部指定H序列下的数据文件;
G)指定T序列,T序列可以是步骤B)中所设定的T序列,或者是步骤B)中所设定的T序列的子集;设定积分公式 中的积分下限和上限;依次逐行读取步骤
F)中建立的 数据文件,对步骤F)中得到的一系列 数据曲线
在指定条件下求积分,得到指定T序列下的一系列的ΔS-T数据,具体步骤如下:
在外部存储器中建立一个用于存储的ΔS-T数据文件的文件夹;
依此遍历并逐行读取步骤F得到的 数据文件,除去第一行标题行外,将
读取到的每一行的数据存储于一个临时数组中;
在外部存储器的用于存储的ΔS-T数据的文件夹中建立一个包含有步骤G)所设定的该积分上限H值为文件名的数据文件;在所建立的数据文件中,以追加的方式写入标题行的内容,标题行包括温度T和磁熵变两个物理量及分隔符,例如:“TemperatureΔS”;
逐行读取步骤F得到的 数据文件,从第二行开始,将读取到的每一行的
数据存储于一个临时数组中,当读取到T值等于步骤G)中指定T序列中的T值时,以一临时变量来存储该行的 值;终止继续读取该 数据文件,继续读取下
一个 数据文件,重复本段所述的操作,将所有读取到的指定T值所对应的
进行累加,直至遍历完全部的 数据文件,得到其累加值
将上述累加值乘以H步长,即 其乘积即为指定T值、积分下限、上
限条件下的磁熵变ΔS,其中ΔH是一个固定不变的值;
将所得到的温度T、磁熵变ΔS以及分隔符,以逐行追加的方式写入步骤G所建立的文件下的ΔS-T数据文件中;
重复上述步骤G所述过程,遍历其余所有指定T序列下的一系列的 数据
文件,获得全部指定条件下的一系列的ΔS-T数据;
保持积分下限不变,更改积分上限,重复G步骤)中上述步骤,获得新的指定磁场变化条件下的全部指定T序列下的一系列的ΔS-T数据;
H)关闭上述所有步骤中读、写过的数据文件;
所述H指PPMS系统导出的数据文件中的物理量Magnetic Field,即外加磁场强度;所述M指PPMS系统导出的数据文件中的物理量Moment,即磁性材料的磁矩;所述T指PPMS系统导出的数据文件中的物理量Temperature,即测试温度;所述S指磁性材料的磁熵;
2.一种如权利要求1所述的批量获取磁性材料的M-T曲线、ΔS-T曲线的方法,其特征在于:
步骤D)为:将步骤C)测试得到的实测数据分割为按温度组合(M-H)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)中所设定的分隔符来区分开不同物理量,将每一行的原始数据存储于一个临时数组中;将所读取到的温度实测值取为测试前设定的温度序列中最接近的设定温度值,并在外部存储器中建立一个包含有该设定温度值为文件名的数据文件;在所建立的数据文件中,以追加的方式写入步骤D-a)中暂存的第一行即标题行的内容;
在上述步骤D-b)中,还包括:
逐行读取第三行、第四行……时,每一次读取到的H(Magnetic Field)值均与上一次读取到的H(Magnetic Field)值进行比较,以获取在整个测试过程中所施加的外磁场H(Magnetic Field)的最大值;当读取到的H(Magnetic Field)值比上一次读取到的H(Magnetic Field)值小时,即将上一次读取到的H(Magnetic Field)值记为H最大值,以一个指定的变量来表示这一最大值;
当读取到外磁场H(Magnetic Field)的最大值的一行测量数据时,开始向位于外存储器中的、在步骤D-b)中建立的数据文件中以追加的方式逐行记入测量数据,直至读取到下一不同设定温度值或导出数据文件的结尾为止;
当读取到的温度值所对应的设定温度值与上一行的设定温度值不同时,在外存储器中建立新的包含有该新的设定温度值为文件名的数据文件,文件命名规则前后保持一致;
在上述步骤D-b)关于写入数据文件的操作中,温度值既可以以温度实测值即原始记录数据写入,也可以以前述所取的测试前设定的温度序列中最接近的设定温度值写入;每一个物理量的数据均以自定义的分隔符进行隔离;
D-c)在步骤C)中导出的测试数据文件为多个时,继续遍历其他所有导出的测试数据文件,重复执行步骤D-b);
D-d)关闭上述过程中所有打开的数据文件。
3.一种如权利要求1或2所述的批量获取磁性材料的M-T曲线、ΔS-T曲线的方法,其特征在于:
在步骤D)中,所读取到的M值除以将待测试的磁性材料的质量,其结果替代原实测的M值,写入步骤D)建立的数据文件中。
4.一种如权利要求1或2所述的批量获取磁性材料的M-T曲线、ΔS-T曲线的方法,其特征在于:
在步骤D中将M、H的数值统一截取为固定的5位或6位或7位或8位长度的数值。
5.一种如权利要求1或2所述的批量获取磁性材料的M-T曲线、ΔS-T曲线的方法,其特征在于:
ΔH取值范围为100Oe-1000Oe。

说明书全文

一种获取磁性材料的磁学性质中降低内存需求方法

技术领域

[0001] 本发明涉及一种磁熵变测量方法,具体地说是一种专适用于PPMS的铁磁性材料的磁熵变测量方法。

背景技术

[0002] 本发明的建议分类号为G01N 27/72。
[0003] 本发明既不是对现有热学理论的改进,也不是对现有磁熵变的计算机计算方法作出的算法改进,而是专门针对利用PPMS系统进行磁性材料的测量得到磁矩—磁场温度测试数据并进行技术处理而得到测量磁性材料的磁熵变-温度特性的技术方案。
[0004] 为便于理解本发明,以下对现有技术及现有技术作扼要的介绍。
[0005] 早在1907年郎杰斐(P.Langevin)就注意到:顺磁体绝热去磁过程中,其温度会降低。从机理上说,固体磁性物质在受磁场作用磁化时,系统的磁有序度加强(磁熵减小),对外放出热量;再将其去磁,则磁有序度下降(磁熵增大),又要从外界吸收热量。这种磁性系统在磁场施加与除去过程中所出现的热现象称为磁热效应,又称为磁卡效应。1927年德贝(Debye)和杰克(Giauque)预言了可以利用此效应制冷。1933年杰克实现了绝热去磁制冷。从此,在极低温领域(mK级至16K范围)磁制冷发挥了很大作用。利用磁卡效应可制成固态磁制冷器。
[0006] 磁熵是磁矩混乱程度的量度,以Sm表示。磁熵Sm是温度T和外加磁场H的函数。磁矩排列愈混乱即无序度愈大,磁熵就愈大。为了研制高效率的磁制冷器,必须研究各种铁磁性材料的磁熵变。
[0007] 为便捷、可靠地、自动化地完成相关测试,本领域技术人员常常采用PPMS来完成测量过程。PPMS——Physical Property Measurement System(综合物性测量系统)是美国Quantum Design公司开发的一款材料的各种物理性质进行基础研究的仪器。PPMS系统的设计理念是在一个完美控制的极低温(50mK)和强磁场(±16T)平台上,集成全自动的磁学、电学、热学和形貌,甚至铁电和介电等各种物性测量手段。一个PPMS系统由基本系统和各种测量和拓展功能选件构成:基本系统提供低温和强磁场的环境,以及整个系统的软硬件控制中心。
[0008] 根据热力学中Maxwell方程可很容易地得到:当外加磁场从H0变化到H1时,磁性材料在这一过程中的磁熵变计算公式为:
[0009]
[0010] 上式中,S为磁性材料的熵,H为外加磁场,T为热力学温度,M为磁化强度,下标0、1分别代表磁场变化前、后的状态。
[0011] 通常可以通过如下途径测量得到磁性材料的磁熵变:
[0012] (A)在给定温度下给磁性材料施加一随时间变化的外磁场H,H以等步长增加或减小,测量在所述温度下的第一条M-H曲线(也可以称为M-H磁滞回线);上述测试完成后,使温度增加或减少一固定值,即温度等步长地增大或减小,重复进行测量步骤(A),得到若干条在不同温度下的M-H曲线;在每次测量过程中温度保持恒定不变;通过上述测量步骤,可以得到所测磁性材料的M(H,T)的三维数组;上述过程可以概括为:测试不同温度下的M-H曲线,即固定温度扫描磁场,每个温度设置的外磁场的序列要一致,这样才比较容易得到M(H,T)的三维数组;
[0013] (B)根据公式
[0014] 计算得到磁熵变。
[0015] 而在测试过程中得到的是一系列离散的测试数据,进行具体数值计算时,通常采用如下两种步骤来计算:
[0016] (一)按照如下步骤来进行计算:
[0017] (1)将测试得到的按温度组合(M-H)T(每列数据T相等)的实测数据转换为按磁场强度重新组合的数据(M-T)H(每列数据H相等);
[0018] (2)对上一步重组的每列数据M对温度T求偏导;
[0019] (3)然后先微分再积分运算得到所测材料的磁熵变。
[0020] 由于数据量巨大,上述步骤通常利用软件来完成,例如Matlab、Origin、Excel等商业软件;
[0021] 为了减小计算过程中的误差,通常将外磁场变化的步长、温度变化的步长设置小一些,使得数据点足够密集,M-H曲线足够平滑。
[0022] (二)根据在测试过程中得到的是一系列离散的测试数据,进行具体计算时,公式(1)改写为采用如下公式来进行计算:
[0023]
[0024] 在上式中,i表示测试过程中第i次测试;利用公式(3)也可直接计算得到指定参数条件下的磁性材料的磁熵变。
[0025] 如果上述外磁场的序列不一致,则根本无法得到M(H,T)的三维数组,也就无从根据上述方法(一)和(二)来计算磁熵变。
[0026] 在利用PPMS完成相关测量并导出测量数据时,通常得到的数据,每一条M-H曲线中,①:M的变化步长并不是固定值,而是具有一定随机性的值,且②:每一条M-H曲线中的数据点数量也是变化不定的,而且,③:由于所导出的记录数值中,温度值也是由温度传感器所测量得到的实测值,是带有轻微波动的温度值,而不是测量前程序设定的温度序列(确定值),例如某次测量得到的部分数据为:
[0027] Temperature(K),Magnetic Field(Oe),Moment(emu)
[0028] 10.0140295,8825.666,4.77920531340975
[0029] 10.0114298,9997.748,5.35753168743939
[0030] 10.0107646,11606.298,6.1806593824613
[0031] ……
[0032] 9.967885,5850.0365,3.42836713837576
[0033] 9.9699335,4077.1785,2.44207219325932
[0034] 9.9713125,2630.387,1.65372870264995
[0035] ……
[0036] 12.0178871,8729.4175,0.546468356803494
[0037] 12.0119467,10598.8385,4.62828899150997
[0038] 12.0118856,12381.02,5.66277344040436
[0039] ……
[0040] 此外,④:而在不同的设定温度值下测量得到的M-H数据点的数量则为3340,3268,3421,3319,3486,3511,3403,……
[0041] 由此可见,根据PPMS测试导出的实验数据根本无法得到为了计算磁熵变所需的所测磁性材料的M(H,T)的三维数组。
[0042] 由于上述几点原因,导致无法使用前述计算方法来根据PPMS系统测得的实验数据来得到所测材料的磁熵变。目前可通过人工辅助以其他数据处理程序如Excel、Origin等来完成数据的三维数组,然而,即使借助于这些计算机程序,处理过程往往也需要几个星期甚至几个月的时间,工作繁杂、枯燥且极易出错。
[0043] 利用方法(一)进行处理时,涉及的变量有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的数量,尽管可以再降低内存的需求量,但其计算精确度也会大大降低,将导致结果严重不可信。由此可见,利用方法(一)进行数据处理时,其内存需求量极大,通常需要大型计算机来进行处理。这就严重制约了其应用场合。
[0044] 另外,在研究磁性材料的磁卡效应时,除了分析磁性材料的M-H曲线,科研人员往往还需要分析材料的M-T曲线、 曲线、ΔS-T曲线,参见说明书附图1、2;利用方法(二)只能计算得到指定参数条件下的磁性材料的磁熵变,而不能得到M-T曲线、曲线、ΔS-T曲线,使得对磁性材料的分析研究大打折扣。
[0045] 综上所述,现有技术中各种方法都存在着重大缺点,且无法应用于PPMS测量的磁性材料的数据处理。

发明内容

[0046] 为了解决现有技术问题,本发明的目的在于提供一种专门适用于PPMS的铁磁性材料的磁学性质测量方法,可批量获得M-T特性曲线、 特性曲线、ΔS-T特性曲线。
[0047] 实现本发明目的具体技术方案是:
[0048] A)按照符合PPMS操作规范的流程,称取一定质量的将待测试的磁性材料,记录下该质量值,将待测试的磁性材料装入PPMS测量系统中;
[0049] B)在PPMS的控制计算机上设定测试的温度序列值,各个测试温度成等间距序列(间隔为ΔT),ΔT可以取1K、2K、3K、4K、5K、……、10K;设定测试的磁场强度,这里所述的磁场强度是指磁滞回线中的磁场强度的绝对值的最大值,磁场从0增加到正向最大值,再逐渐变化到负向最大值,然后再逐渐回到正向最大值;在每一个设定的测试温度下,磁性材料均历经同样的所述磁场扫描,所述T指PPMS系统导出的数据文件中的物理量Temperature;
[0050] C)在给定温度下给磁性材料施加一随时间变化的外磁场H,测量在所述温度下的第一条M-H曲线(也可以称为M-H磁滞回线、磁化曲线);上述测试完成后,使温度增加或减少一固定值,即温度等步长地增大或减小,重复进行上述测量步骤;在每次测量过程中温度保持恒定不变;依次逐次测量磁性材料的M-H曲线,直至完成所设定的所有温度序列下的M-H曲线;所述H指PPMS系统导出的数据文件中的物理量Magnetic Field,所述M指PPMS系统导出的数据文件中的物理量Moment;
[0051] 依照PPMS操作规范的流程,导出所测试材料的所有数据,除标题行外,每一行数据中由温度值、所施加的外磁场强度、所测磁性材料的磁矩构成;根据测量数据量的多少,导出的测试数据文件可能是一个或多个数据文件,不同的温度、不同的H值下的测试数据合并存储在所述一个或多个数据文件中,即使导出的数据文件为多个,在每个单独的数据文件中,也包含有不同的温度、不同的H值下的测试数据,且这些H值的间隔(ΔH)是不均匀的;
[0052] D)将步骤C)测试得到的实测数据分割为按温度组合(M-H)T(每列数据T相等,但H间隔不均匀)的实测数据:逐行读取所导出的测试数据,利用计算机按照设定的测试温度进行数据分割,将步骤C)中导出的数据文件分割成各个按照设定测量温度值来独立存储M-H数据的文件,将在每个测试温度下测量得到的(M-H)T数据分别存储在各自独立的(M-H)T文件中,这些分割得到的(M-H)T文件存储在外存储器中;在每个独立的(M-H)T文件中,只存储在测量得到的从正向最大H值扫描到负向最大H值的过程的数据;当步骤D)中得到多个数据文件时,则对多个数据文件轮次进行逐行读取;具体步骤为:
[0053] D-a)从外部存储器(如磁盘等存储器,出于读写效率的考虑,不包括磁带)中逐行读取所导出的测试数据到计算机内存(RAM)或CPU的高速缓存(Cache)中;当步骤C)中得到多个数据文件时,对多个数据文件轮次进行逐行读取;当读取第一行(即标题行)时,暂存第一行(即标题行)的文本内容;
[0054] D-b)当逐行读取测试数据文件的第二行至最后一行时,以PPMS数据导出时所采用的数据分隔符为不同物理量的分隔判别标志,以步骤C)中所设定的分隔符来区分开不同物理量(Temperature、Magnetic Field、Moment等),将每一行的原始数据存储于一个临时数组中;将所读取到的温度实测值取为测试前设定的温度序列中最接近的设定温度值,并在外部存储器中建立一个包含有该设定温度值为文件名的数据文件,其扩展名可以任意设定,如.txt,.dat,.bin等等;在所建立的数据文件中,以追加的方式写入步骤D-a)中暂存的第一行即标题行的内容;
[0055] 在上述步骤D-b)中,还包括:
[0056] 逐行读取第三行、第四行……时,每一次读取到的H(Magnetic Field)值均与上一次读取到的H(Magnetic Field)值进行比较,以获取在整个测试过程中所施加的外磁场H(Magnetic Field)的最大值;当读取到的H(Magnetic Field)值比上一次读取到的H(Magnetic Field)值小时,即将上一次读取到的H(Magnetic Field)值记为H最大值,以一个指定的变量来表示这一最大值;
[0057] 当读取到外磁场H(Magnetic Field)的最大值的一行测量数据时,开始向位于外存储器中的、在步骤D-b)中建立的数据文件中以追加的方式逐行记入测量数据,直至读取到下一不同设定温度值或导出数据文件的结尾为止;
[0058] 当读取到的温度值所对应的设定温度值与上一行的设定温度值不同时,在外存储器中建立新的包含有该新的设定温度值为文件名的数据文件,文件命名规则前后保持一致;
[0059] 在上述步骤D-b)关于写入数据文件的操作中,温度值既可以以温度实测值即原始记录数据写入,也可以以前述所取的测试前设定的温度序列中最接近的设定温度值写入;每一个物理量的数据均以自定义的分隔符进行隔离;
[0060] D-c)在步骤C)中导出的测试数据文件为多个时,继续遍历其他所有导出的测试数据文件,重复执行步骤D-b);
[0061] D-d)关闭上述过程中所有打开的数据文件;
[0062] E)以计算机外存储器为数据暂存介质,将步骤D得到的按各个温度T单独存储、且磁场强度H间隔不均匀的(M-H)T实测数据转换、存储为按指定磁场强度H序列单独存储、且H值间隔均匀的(M-H)T数据文件:
[0063] 获得指定等间距H序列下的一系列的(M-T)H数据文件,构成了(H,M,T)三维数组:根据步骤E)分割得的代表不同温度下测量得到的(M-H)T数据文件,利用计算机按照指定的H变化步长ΔH(即对指定H序列)进行数据采样,获得指定H序列下的一系列的(M-T)H数据文件,所述指定H序列;H变化步长过大会导致后续计算过程中误差较大,而H变化步长过小则会导致计算效率低下且并不能切实提高计算精确度;
[0064] 步骤E)具体步骤如下:
[0065] E-a)在外部存储器中建立一个用于存储按指定磁场强度H序列、且H值间隔均匀的(M-H)T数据文件的文件夹;
[0066] 指定一系列的H序列值,所述H序列值以恒定步长ΔH递增,ΔH依据所需计算精度而定,通常可选择100Oe-1000Oe;以包含指定H序列的H值为文件名,在外部存储器的上述新建的文件夹中建立一系列代表各自H值的独立的数据文件,其扩展名可以任意设定;
[0067] 在外部存储器所建立的数据文件中,以追加的方式写入标题行,标题行包含M、T两个物理量,如“Temperature(K),Moment(emu)”;
[0068] E-b)获取指定H序列中第一个指定H值下的(M-T)H测试数据序列,并将所述(M-T)H测试数据序列以追加的方式写入在步骤E-a)中所建立的对应H值的数据文件中,该操作具体步骤如下:
[0069] 依照温度从低到高或从高到低的次序,遍历读取步骤E)中存储在外存储器中的、代表在每个测试温度下测量得到的、各自独立的(M-H)T数据文件;每个文件的读取方式均为逐行读取;
[0070] 在逐行读取每一个文件时,均比较所读取的每一行的H值,并将所读取到的H值与所指定的H值求差值后取绝对值,当所得到的绝对值最小时,选取该行的最邻近的上、下行各自的M值,以线性插值的公式计算指定H值下所对应的M值,将所读取的数据文件所代表的温度值、计算得到的M值作为一行数据以追加写入的方式写入在步骤E-a)中所建立的对应H值的数据文件中;例如,指定H值下所对应的M值采用如下公式进行计算:
[0071] 当读取到的第i行位于所读取的数据文件的开头前2行或结尾最后2行时,不采用该公式进行计算,而以其最邻近的数据点的M值作为所指定的H值所对应的M值;
[0072] 为了进一步消除测量过程中的偶然误差,使结果更精确可靠,还可以采用下面的计算式:
[0073] 当读取到的第i行位于所读取的数据文件的开头前3行或结尾最后3行时,不采用该公式进行计算,而以其最邻近的数据点的M值作为所指定的H值所对应的M值;
[0074] 或
[0075] 当读取到的第i行位于所读取的数据文件的开头前4行或结尾最后4行时,不采用该公式进行计算,而以其最邻近的数据点的M值作为所指定的H值所对应的M值;
[0076] 或
[0077] 当读取到的第i行位于所读取的数据文件的开头前5行或结尾最后5行时,不采用该公式进行计算,而以其最邻近的数据点的M值作为所指定的H值所对应的M值;
[0078] 在上述各式中,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);
[0079] 当遍历读取完所有的遍历读取步骤E)中存储在外存储器中的、代表在每个测试温度下测量得到的、各自独立的(M-H)T数据文件后,关闭步骤E-b1)中所有读、写过的文件,获得指定H序列中第一个指定H值下的(M-T)H测试数据文件;
[0080] 当遍历读取完所有的遍历读取步骤E)中存储在外存储器中的、代表在每个测试温度下测量得到的、各自独立的(M-H)T数据文件后,关闭步骤E-b1)中所有读、写过的文件,获得指定H序列中第一个指定H值下的(M-T)H测试数据文件;
[0081] E-c)更改指定H值为步骤E-a)中指定的H序列的第二、第三、……直至最后一个H值,重复步骤E-b),分别获取指定的H序列的第二、第三、……直至最后一个H值下的(M-T)H测试数据文件;
[0082] 这样便得到了按指定磁场强度H序列单独存储、且H值间隔均匀的(M-H)T数据文件,可以构成(H,M,T)三维数组;
[0083] F)依次逐行读取步骤E)得到的H值间隔均匀的(M-H)T数据文件,求解每一个H值下的M对温度T的偏导数 具体步骤为:
[0084] 在外部存储器中建立一个用于存储的 数据的文件夹;
[0085] 逐行读取步骤E)得到的H值间隔均匀的(M-H)T数据文件,除去第一行标题行外,将读取到的每一行的数据存储于一个临时数组中;
[0086] 在外部存储器的用于存储的 数据的文件夹中建立一个包含有该H值为文件名的数据文件,其扩展名可以任意设定,如.txt,.dat,.bin等等;在所建立的数据文件中,以追加的方式写入标题行的内容,标题行包括磁场强度H和偏导数两个物理量及分隔符;
[0087] 从每个(M-H)T数据文件的第三行起,将读取到的该行的M值减去上一行读取到的M值,记为ΔM;将读取到的该行的H值减去上一行读取到的H值,记为ΔT;利用下面的公式来计算每一个指定H值下的M对温度T的偏导数:
[0088]
[0089] 将T值及相应的偏导数 以逐行追加的方式写入步骤F)建立的文件夹下的数据文件中;
[0090] 重复上述过程,遍历其余所有的(M-H)T数据文件,获得全部指定H序列下的数据文件;
[0091] G)指定T序列,T序列可以是步骤B)中所设定的T序列,或者是步骤B)中所设定的T序列的子集;设定积分公式 中的积分下限和上限;依次逐行读取步骤F)中建立的 数据文件,对步骤F)中得到的一系列 数
据曲线在指定条件下求积分,得到指定T序列下的一系列的ΔS-T数据,具体步骤如下:
[0092] 在外部存储器中建立一个用于存储的ΔS-T数据文件的文件夹;
[0093] 依此遍历并逐行读取步骤F)得到的 数据文件,除去第一行标题行外,将读取到的每一行的数据存储于一个临时数组中;
[0094] 在外部存储器的用于存储的ΔS-T数据的文件夹中建立一个包含有步骤G)所设定的该 积分上限H值为文件名的数据文件,其扩展名可以任意设定,如.txt,.dat,.bin等等;在所建立的数据文件中,以追加的方式写入标题行的内容,标题行包括温度T和磁熵变两个物理量及分隔符,例如:“TemperatureΔS”;
[0095] 逐行读取步骤F)得到的 数据文件,从第二行开始,将读取到的每一行的数据存储于一个临时数组中,当读取到T值等于步骤G)中指定T序列中的T值时,以一临时变量来存储该行的 值;终止继续读取该 数据文件,继续
读取下一个 数据文件,重复本段所述的操作,将所有读取到的指定T值所
对应的 进行累加,直至遍历完全部的 数据文件,得到其累加

[0096] 将上述累加值乘以H步长,即 其乘积即为指定T值、积分下限、上限条件下的磁熵变ΔS,其中ΔH为相邻两行的H值的差值,因为在步骤E)中已经指定H序列为等间隔的序列,因此ΔH是一个固定不变的值;
[0097] 将所得到的温度T、磁熵变ΔS以及分隔符,以逐行追加的方式写入步骤G)所建立的文件下的ΔS-T数据文件中;
[0098] 重复上述步骤G)所述过程,遍历其余所有指定T序列下的一系列的数据文件,获得全部指定条件下的一系列的ΔS-T数据;
[0099] 保持积分下限不变,更改积分上限,重复G步骤)中上述步骤,获得新的指定磁场变化条件下的全部指定T序列下的一系列的ΔS-T数据;
[0100] H)关闭上述所有步骤中读、写过的数据文件。
[0101] 在步骤E-b1)中,所采取的M取值的依据在于:由于在一条M-H曲线中通常都包含有成千上万个数据点,所指定的H值与最邻近的实际测量H值之间的差值与整条M-H曲线中的H变化范围相比是微不足道的,因此,即使取该行所在的M值作为指定H值下所对应的M值,所导致的误差也是很小的,通常,由此带来的误差小于0.07%。
[0102] 当计算精度要求较高时,可采取步骤E-b2)中所述的差值的方法来获得更为准确的M值。
[0103] 为了加快处理速度,上述方法还可进一步改进为:
[0104] 在步骤E-b)中,在外部存储器中建立一个包含有该设定温度值为文件名的数据文件的操作替换为:在计算机内存(RAM)或计算机CPU内的高速缓存(Cache)中建立一个代表该设定温度值为的二维动态数组;写入文件的操作替换为:向所述二维动态数组的尾部写入数据;
[0105] 在步骤E-a)中,在外部存储器中建立一系列代表各自H值的独立的数据文件替换为:在计算机内存(RAM)或计算机CPU内的高速缓存(Cache)中建立一系列代表各自H值的独立的二维动态数组;
[0106] 在步骤E-c)、E-b1)、E-b2)中,所有的遍历在外部存储器中建立的数据文件的操作替换为:遍历各自之前步骤中所有的在计算机内存(RAM)或计算机CPU内的高速缓存(Cache)中建立一系列二维动态数组。
[0107] 进一步地,上述各步骤中所述的二维动态数组也可以以链表来代替,即采用链表的数据结构来存储数据。
[0108] 优选地,在步骤D)中,所读取到的M值除以将待测试的磁性材料的质量,其结果替代原实测的M值,写入步骤D)建立的数据文件中。
[0109] 优选地,步骤C)中得到的数据中,过长位数的数据并不能带来计算结果准确度的提高,为了减小数据量和运算资源消耗,在步骤D中将M、H的数值统一截取为固定长度的数值,例如小数点后取6位、7位或8位。
[0110] 本发明的有益效果:
[0111] 通过采用本发明的方法,可以彻底解决现有技术在利用PPMS测量磁性材料过程中获取的M-T曲线、ΔS-T曲线难题,利用计算机来完成相关操作,方便、快捷。附图说明:
[0112] 图1:某种磁性材料的M-T曲线;
[0113] 图2:某种磁性材料的ΔS-T曲线;
[0114] 图3:具体实施例的步骤E)-步骤G)中相关设定参数;图中涂抹了一些无关紧要的信息;
[0115] 图4:为实现本发明的技术方案的一种具体实施方式的程序对内存的需求。

具体实施方式

[0116] 为便于理解本发明,下面结合实例来具体介绍本发明的技术方案。
[0117] A)按照符合PPMS操作规范的流程,称量5g的某种磁性材料粉末,严格按照PPMS操作规范将待测试的磁性材料装入PPMS测量系统中;
[0118] 以下所有操作步骤均利用计算机来完成:
[0119] B)在PPMS的控制计算机上设定测试的温度序列值:2K,4K,6K,8K,10K,……48K,50K,52K,54K,……96K,98K,100K,各个测试温度成等间距序列,间隔为2K;设定测试的磁场强度为70000Oe,磁场从0Oe增加到70000Oe,再逐渐减小到-70000Oe,然后回到70000Oe;在每一个设定的测试温度下,磁性材料均历经同样的所述磁场扫描;所述T指PPMS系统导出的数据文件中的物理量Temperature;
[0120] C)开始测试:系统温度在控温系统的作用下达到设定的第一温度值2K并稳定后,测量第一M-H曲线;然后,系统温度在控温系统的作用下达到设定的第二温度值4K并稳定后,测量第二M-H曲线;然后,系统温度在控温系统的作用下达到设定的第三温度值6K并稳定后,测量第三M-H曲线;……重复这一过程,逐次测量磁性材料的M-H曲线,直至完成100K温度下的M-H曲线;在每次测量过程中温度保持恒定不变;依次逐次测量磁性材料的M-H曲线,直至完成所设定的所有温度序列下的M-H曲线;所述H指PPMS系统导出的数据文件中的物理量Magnetic Field,所述M指PPMS系统导出的数据文件中的物理量Moment;
[0121] 依照PPMS操作规范的流程,导出所测试材料的所有数据,除标题行外,每一行数据中由温度值、所施加的外磁场强度、所测磁性材料的磁矩、误差项构成;根据测量数据量的多少,导出的测试数据文件得到的数据文件有7个,分别保存为MCE1.dat,MCE2.dat,MCE3.dat,MCE4.dat,MCE5.dat,MCE6.dat,MCE7.dat;不同的温度、不同的H值下的测试数据合并存储在所述一个或多个数据文件中,即使导出的数据文件为多个,在每个单独的数据文件中,也包含有不同的温度、不同的H值下的测试数据,且这些H值的间隔(ΔH)是不均匀的;
[0122] 例如:MCE4.dat的文件部分内容如下:
[0123] Temperature(K),Magnetic Field(Oe),Moment(emu),M.Std.Err.(emu)
[0124] 32.00202755,-0.118,-0.00126688856058318,4.51899702302814E-6
[0125] 32.0013313,7.0295,-0.00127597555348906,4.86920603808076E-6
[0126] 32.00174335,565.58,0.0422035493506414,0.000402803915835685
[0127] 32.0015945,1025.09,0.0729658843502942,0.000458270810619051
[0128] 32.001915,1255.996,0.0928575299552316,0.000451647444187443
[0129] 32.0020218,1451.7385,0.112409561976028,0.000444269277498134
[0130] ……
[0131] 31.99976255,61045.3245,4.15532584682656,0.000495170438107461
[0132] 31.9995384,60795.461,4.14521563817148,0.000600448386830866
[0133] 31.999567,60635.5585,4.13403371695014,0.000654675443479942
[0134] 31.9996605,60448.9255,4.12348915203937,0.000595515738766516
[0135] 31.9995708,60272.258,4.11842844701878,0.000676258986960682
[0136] 31.9993477,60103.1605,4.10819758191176,0.000710948878591925
[0137] ……
[0138] 34.0042763,7076.996,0.527432757413177,0.000347193892695242
[0139] 34.0044746,7269.762,0.542291854429929,0.000342030768021547
[0140] 34.0042934,7361.835,0.557095205406481,0.000343129104902078
[0141] 34.0041885,7575.8715,0.564461725900955,0.000331726538447699
[0142] 34.00409885,7648.111,0.579335477010551,0.000345789072590493
[0143] 34.0038986,7906.3135,0.594013092437098,0.000347164011560761
[0144] 34.0036354,8121.3095,0.608767264647458,0.000339320358035022
[0145] ……
[0146] 36.0040131,24387.041,1.71385973148928,0.000361950939258065
[0147] 36.0034981,24582.1975,1.72698549024281,0.000356809845964897
[0148] 36.003273,24802.459,1.74071538042355,0.000372159199191297
[0149] 36.0034294,24997.042,1.75377960350089,0.0003968064715188
[0150] 36.0033073,25199.7705,1.76690363483609,0.000361884393402058
[0151] 36.0032425,25385.827,1.7807557086519,0.000414432388799402
[0152] 36.003231,25607.715,1.79401333551337,0.000398482166958347
[0153] 36.0033607,25800.865,1.80709933818233,0.000397470439631694
[0154] 36.0035381,26074.1085,1.82711095863772,0.000376102430731429
[0155] ……
[0156] 38.00268745,36812.916,2.42817117789424,0.000443950779835792
[0157] 38.0027237,37032.891,2.43384123902899,0.000430941893335765
[0158] 38.0025177,37227.664,2.44604049048833,0.00043964961855296
[0159] 38.0028267,37413.3395,2.45793496722591,0.000523089852077352
[0160] 38.00296595,37488.2615,2.47011950372595,0.000507111775134114
[0161] 38.00333215,37628.906,2.47642474163063,0.00043463581691392
[0162] 38.00377655,37756.8065,2.48184218842265,0.000441226548974584
[0163] 38.00416185,37977.6405,2.49401960102861,0.000448238522768833
[0164] ……
[0165] 40.0026207,69337.508,4.04897113030786,0.000630537000910383
[0166] 40.0025177,69412.051,4.05820400138428,0.000568074112521435
[0167] 40.0022697,69635.313,4.06209889195388,0.000543928762905382
[0168] 40.00183485,69789.746,4.07179846876265,0.00071221520587325
[0169] 40.0017433,69901.8945,4.07808757914927,0.000505949420696191
[0170] 40.0022182,69999.922,4.08278275651664,0.000600963729794102
[0171] 很明显地,单个MCE4.dat文件中合并存储了32K、34K、36K、38K、40K等五个温度下测试得到的M-H数据,并且这些H值的间隔(ΔH)是不均匀的;
[0172] D)在硬盘中建立文件夹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的测试数据;具体步骤为:
[0173] D-a)从硬盘中逐行读取所导出的测试数据MCE1.dat到计算机内存(RAM)中;当读取第一行(即标题行)时,暂存第一行(即标题行)的文本内容,内容为“Temperature(K),Magnetic Field(Oe),Moment(emu)”;
[0174] D-b)当逐行读取测试数据文件的第二行至最后一行时,以PPMS数据导出时所采用的数据分隔符为不同物理量的分隔判别标志,以步骤C)中所设定的分隔符来区分开不同物理量(Temperature、Magnetic Field、Moment等),将每一行的原始数据存储于一个临时数组中;
[0175] MCE1.dat的部分内容如下:
[0176] Temperature(K),Magnetic Field(Oe),Moment(emu),M.Std.Err.(emu) ——第1行[0177] 2.00786255,-0.062,-0.0018420076453778,4.68147230612165E-6     ——第2行[0178] 2.0080564,54.536,-0.00160844591554442,0.000247550499783577    ——第3行[0179] 2.0114515,455.301,0.0390593777601995,0.000711834956395969     ——第4行[0180] 2.0107373,525.147,0.054575639945636,0.000707314880304041
[0181] 2.01013325,643.76,0.0699908666254729,0.000700355705591364
[0182] 2.0099548,762.4715,0.0852845765830705,0.000694930050706897
[0183] 2.0094968,891.817,0.100431437809785,0.000691586807257692
[0184] 2.0088098,1035.1515,0.115400953689561,0.00068140220226271
[0185] 2.00849115,1162.775,0.130234228395757,0.000673690201895222
[0186] 2.00874615,1263.1835,0.144902554721851,0.000664242728502225
[0187] ……
[0188] 1.99570285,69982.0585,6.47701266154109,0.000910002725693407
[0189] 1.9964498,70000.418,6.47737046047771,0.00100083032970079      ——第741行[0190] 1.997007,69974.453,6.47764781770063,0.000882885617488435      ——第742行[0191] 1.99819445,69895.484,6.47590669194502,0.00112676914363876     ——第743行[0192] ……
[0193] 1.9975571,-70014.594,-6.47646090206977,0.0010909447795878
[0194] 1.9979685,-70045.5355,-6.47722052937364,0.00110168935393343
[0195] 1.9983413,-70056.3205,-6.47672913871526,0.00117970710047581   ——第2121行[0196] 1.99813915,-70000.57,-6.47673318183019,0.00101478431642557    ——第2122行[0197] 1.9984763,-69949.7855,-6.47683668464876,0.00104135098506153
[0198] ……
[0199] 4.0043831,-0.335,0.00401174413532849,4.68827127114532E-5      ——第3474行[0200] 4.003768,65.656,0.00376830558528498,0.000854753231569799      ——第3475行[0201] 4.0111647,446.867,0.0442976647184307,0.000574437113725152     ——第3476行[0202] 4.0035796,920.939,0.108339487673647,0.000711857730897711
[0203] 4.00412775,993.0845,0.123853303763718,0.000705167335263082
[0204] 4.00524405,1110.071,0.139273263828744,0.000705910455217505
[0205] 4.00522045,1210.5775,0.154591409474921,0.000703423510718862
[0206] 4.004051,1325.4535,0.16976336326451,0.000689500239741493
[0207] 4.0041368,1454.0315,0.184904992382575,0.000693296538700884
[0208] 4.00412225,1577.531,0.199936441375344,0.000688937041088548
[0209] 4.003361,1700.839,0.214808299881983,0.000681304686754516
[0210] 4.00367215,1823.7655,0.229638867059882,0.000671341384018587
[0211] 4.00299145,2260.854,0.273674767571859,0.000663858971864902
[0212] ……
[0213] 10.0039368,-0.193,-0.00126743023287644,4.67445883867269E-6    ——第13906行[0214] 10.002696,64.1845,-0.00128526790687863,4.56030727999837E-6    ——第13907行[0215] 10.0027289,92.4845,0.00617136531883082,0.00121020852470981    ——第13908行[0216] 10.0064507,631.5895,0.0848930971419456,0.00088703653307265
[0217] 10.00640635,693.3865,0.104340095631526,0.000884500313919431
[0218] 10.00629905,799.9285,0.123644325266753,0.000877777808707441
[0219] 10.0061498,928.0285,0.142794671249241,0.000874610713522662
[0220] 10.00592045,1056.32,0.161861059302663,0.000871550237515841
[0221] 10.0056553,1183.941,0.180684210640686,0.000858980501435077
[0222] ……
[0223] 则,读取到第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;分隔符为逗号“,”;
[0224] 读取到第3行时,实测温度值2.0080564K,与设定的温度序列(2K,4K,6K,……,98K,100K)中最为接近的还是2K,即设定的温度值没有改变,在一临时数组中记录H、M的实测值分别为54.536Oe和-0.00160844591554442emu;将本次读取到的H值与上一次读取到的H值进行比较,本次读取到的H值的绝对值大于上一次读取到的H值的绝对值,不作任何操作,继续读取下一行;
[0225] 读取到第4行时,实测温度值2.0114515K,与设定的温度序列(2K,4K,6K,……,98K,100K)中最为接近的还是2K,即设定的温度值没有改变,在一临时数组中记录H、M的实测值分别为455.301Oe和0.0390593777601995emu;将本次读取到的H值与上一次读取到的H值进行比较,本次读取到的H值的绝对值大于上一次读取到的H值的绝对值,不作任何操作,继续读取下一行;
[0226] ……
[0227] 读取到第741行时,实测温度值1.9964498K,与设定的温度序列(2K,4K,6K,……,98K,100K)中最为接近的还是2K,即设定的温度值没有改变,在一临时数组中记录H、M的实测值分别为70000.418Oe和6.47737046047771emu;将本次读取到的H值与上一次读取到的H值进行比较,本次读取到的H值的绝对值大于上一次读取到的H值的绝对值,不作任何操作,继续读取下一行;
[0228] 读取到第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数值之间的分隔符为逗号“,”;
[0229] 读取到第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数值之间的分隔符为逗号“,”;
[0230] ……
[0231] 读取到第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数值之间的分隔符为逗号“,”;
[0232] 读取到第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数值之间的分隔符为逗号“,”;
[0233] 读取到第2123行时,实测温度值1.9984763K,与设定的温度序列(2K,4K,6K,……,98K,100K)中最为接近的还是2K,即设定的温度值没有改变,不作任何操作;
[0234] ……
[0235] 读取到第3474行时,实测温度值4.0043831K,与设定的温度序列(2K,4K,6K,……,98K,100K)中最为接近的是4K,即设定的温度值发生了改变,因此温度值记为4K,在硬盘上文件夹C:\Data\M-H\文件夹中建立一个以4K.dat为文件名的数据文件;以追加的方式写入步骤a)中暂存的第一行即标题行的内容“Temperature(K),Magnetic Field(Oe),Moment(emu)”(不储存误差项);
[0236] 其后操作与上面的类似;
[0237] ……
[0238] 读取到第13906行时,实测温度值10.0039368K,与设定的温度序列(2K,4K,6K,……,98K,100K)中最为接近的是10K,即设定的温度值发生了改变,因此温度值记为
10K,在硬盘上文件夹C:\Data\M-H\文件夹中建立一个以10K.dat为文件名的数据文件;以追加的方式写入步骤a)中暂存的第一行即标题行的内容“Temperature(K),Magnetic Field(Oe),Moment(emu)”(不储存误差项);
[0239] 其后操作与上面的类似;
[0240] ……
[0241] 直至MCE1.dat的最后一行结束;
[0242] D-c)依次类推,重复执行步骤E-b),直至遍历完其余的导出的测量数据文件MCE2.dat,MCE3.dat,MCE4.dat,MCE5.dat,MCE6.dat,MCE7.dat;
[0243] 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;
[0244] 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)具体步骤如下:
[0245] E-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;
[0246] 在70000Oe.dat,69800Oe.dat,69600Oe.dat,69400Oe.dat,……0Oe.dat,……-69600Oe.dat,-69800Oe.dat,-70000Oe.dat数据文件中,以追加的方式写入标题行,标题行包含M、T两个物理量,如“Temperature(K),Moment(emu)”;
[0247] E-b)获取指定H序列中第一个指定H值70000Oe下的(M-T)H测试数据序列,并将所述(M-T)H测试数据序列以追加的方式写入在步骤F-a)中所建立的对应H值的数据文件中70000Oe.dat:
[0248] 依照温度从低到高的次序,遍历读取步骤D)中存储在硬盘文件夹C:\Data\M-H\中、代表在每个测试温度下测量得到的、各自独立的(M-H)T数据文件:2K.dat,4K.dat,6K.dat,……50K.dat,52K.dat,……98K.dat,100K.dat;每个文件的读取方式均为逐行读取;
[0249] 在逐行读取每一个文件时,均比较所读取的每一行的H值,并将所读取到的H值与所指定的H值求差值后取绝对值,当所得到的绝对值最小时,选取该行的最邻近的上、下行各自的M值,以线性插值的公式计算指定H值下所对应的M值,将所读取的数据文件所代表的温度值、计算得到的M值作为一行数据以追加写入的方式写入在步骤E-a)中所建立的对应H值的数据文件中;指定H值下所对应的M值采用如下公式进行计算:
[0250] 当读取到的第i行位于所读取的数据文件的开头前2行或结尾最后2行时,不采用该公式进行计算,而以其最邻近的数据点的M值作为所指定的H值所对应的M值;式中H、M分别代表物理量Magnetic Field(单位:Oe)和Moment(单位:
emu);
[0251] 当遍历读取完所有的遍历读取步骤E)中存储在外存储器中的、代表在每个测试温度下测量得到的、各自独立的(M-H)T数据文件后,关闭步骤E-b1)中所有读、写过的文件,获得指定H序列中第一个指定H值下的(M-T)H测试数据文件;
[0252] 依照上述操作方式,遍历所有其余的数据文件6K.dat,……50K.dat,52K.dat,……98K.dat,100K.dat,便得到70000Oe下的(M-T)H数据文件70000Oe.dat;
[0253] E-c)获取指定H序列中第二个指定H值69800Oe下的(M-T)H测试数据序列,并将所述(M-T)H测试数据序列以逐行追加的方式写入在步骤E-a)中所建立的对应H值的数据文件中69800Oe.dat:
[0254] 当逐行读取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中;
[0255] 继续逐行读取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中;
[0256] 依照上述操作方式,遍历所有其余的数据文件6K.dat,……50K.dat,52K.dat,……98K.dat,100K.dat,便得到70000Oe下的(M-T)H数据文件69800Oe.dat;
[0257] 依照同样的方法,获取指定H序列中69600Oe、69400Oe、……0Oe、……、-69600Oe、-69800Oe、-70000Oe下的(M-T)H测试数据序列69600Oe.dat,69400Oe.dat,……
0Oe.dat,……-69600Oe.dat,-69800Oe.dat,-70000Oe.dat;
[0258] 关闭步骤E-b)中所有读、写过的文件,获得指定H序列中第一个指定H值下的(M-T)H测试数据文件;
[0259] 这样便得到了获得指定等间距H序列下的一系列的(M-T)H数据文件,构成了(H,M,T)三维数组;
[0260] F)依次逐行读取步骤E)得到的(M-H)T数据文件,求解每一个H值下的M对温度T的偏导数 具体步骤为:
[0261] 在硬盘上建立一个用于存储的 数据的文件夹C:\Data\dM-dT\;
[0262] 逐行读取步骤E)得到的H值间隔均匀的(M-H)T数据文件,除去第一行标题行外,将读取到的每一行的数据存储于一个临时数组中;
[0263] 在外部存储器的用于存储的 数据的文件夹中建立一个包含有该H值为文件名的数据文件200Oe.txt等等;在所建立的数据文件200Oe.txt中,以追加的方式写入标题行的内容,标题行为“Temperature(K)Slope(emu/(g*K))”;
[0264] 从每个(M-H)T数据文件的第三行起,将读取到的该行的M值减去上一行读取到的M值,记为ΔM;将读取到的该行的H值减去上一行读取到的H值,记为ΔT;利用下面的公式来计算每一个指定H值下的M对温度T的偏导数:
[0265]
[0266] 例如,在步骤E)得到的200Oe下的M-T文件内容如下:
[0267]
[0268]
[0269] 第3行的M值减去第2行读取到的M值,ΔM=-0.129453536emu;
[0270] 第3行的T值减去第2行读取到的T值,ΔT=2K;
[0271] 则
[0272] 将T值及相应的偏导数 以逐行追加的方式写入步骤F)建立的文件夹下的数据文件中;
[0273] 重复上述过程,遍历其余所有的(M-H)T数据文件,获得全部指定H序列下的数据文件:0Oe.txt、200Oe.txt、400Oe.txt、600Oe.txt、……、69400Oe.txt、69600Oe.txt、69800Oe.txt、70000Oe.txt;
[0274] 举例而言,得到的36000Oe下的 数据结果如下:
[0275]
[0276]
[0277] 特别指出的是,这里所获得的各个数据文件的名称与步骤E)所获得的各个数据文件的名称分别相同,但并不会造成混淆,因为这两个步骤中产生的数据文件存放于各自的文件夹中;
[0278] G)指定T序列:4K、6K、8K、10K、……、46K、48K、50K、……94K、96K、98K、100K,设定积分公式 中的积分下限和上限分别为0Oe、600Oe;依次逐行读取步骤F)中建立的 数据文件,对步骤F)中得到的一系列 数据
曲线在指定条件下求积分,得到指定T序列下的一系列的ΔS-T数据,具体步骤如下:
[0279] 在外部存储器中建立一个用于存储的ΔS-T数据文件的文件夹C:\Data\ΔS-T\;
[0280] 依此遍历并逐行读取步骤F)得到的 数据文件:0Oe.txt、200Oe.txt、400Oe.txt、600Oe.txt、……、69400Oe.txt、69600Oe.txt、69800Oe.txt、
70000Oe.txt,除去第一行标题行外,将读取到的每一行的数据存储于一个临时数组中;
[0281] 在外部存储器的用于存储的ΔS-T数据的文件夹中建立一个包含有步骤G)所设定的该 积分上限H值为文件名的数据文件:0Oe.txt、200Oe.txt、400Oe.txt、600Oe.txt、……、69400Oe.txt、69600Oe.txt、69800Oe.txt、70000Oe.txt;在所建立的数据文件中,以追加的方式写入标题行的内容,标题行包括温度T和磁熵变两个物理量及分隔符,例如:“TemperatureΔS”;
[0282] 逐行读取步骤F)得到的 数据文件,从第二行开始,将读取到的每一行的数据存储于一个临时数组中,当读取到T值等于步骤G)中指定T序列中的T值时,以一临时变量来存储该行的 值;终止继续读取该 数据文件,继续
读取下一个 数据文件,重复本段所述的操作,将所有读取到的指定T值所对
应的 进行累加,直至遍历完全部的 数据文件,得到其累加值
[0283] 将上述累加值乘以H步长,即 其乘积即为指定T值、积分下限、上限条件下的磁熵变ΔS,其中ΔH为相邻两行的H值的差值,因为在步骤E)中已经指定H序列为等间隔的序列,因此ΔH是一个固定不变的值;
[0284] 将所得到的温度T、磁熵变ΔS以及分隔符,以逐行追加的方式写入步骤G)所建立的文件下的ΔS-T数据文件中;
[0285] 例如:计算10K温度下,该材料在0Oe至600Oe之间的磁熵变:
[0286] 步骤F)得到的0Oe.txt、200Oe.txt、400Oe.txt、600Oe.txt、800Oe部分内容如下:
[0287] 0Oe.txt部分内容:
[0288]
[0289] 200Oe.txt部分内容:
[0290]
[0291] 400Oe.txt部分内容:
[0292]
[0293] 600Oe.txt部分内容:
[0294]
[0295]
[0296] 800Oe.txt部分内容:
[0297]
[0298] 逐行读取上述数据文件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之间的磁熵变为:
[0299]
[0300] 重复上述步骤G)所述过程,遍历其余所有指定T序列(6K、8K、10K、12K、……、96K、98K、100K)下的一系列的 数据文件,获得全部指定条件下的一系列的ΔS-T
数据;
[0301] 保持积分下限不变,更改积分上限为12000Oe、16000Oe、20000Oe、24000Oe、28000Oe、35000Oe、45000Oe、55000Oe、65000Oe、70000Oe,重复G步骤)中上述步骤,获得新的指定磁场变化条件下的全部指定T序列下的一系列的ΔS-T数据:ΔS-T 12000Oe.txt、ΔS-T16000Oe.txt、ΔS-T 20000Oe.txt、ΔS-T 24000Oe.txt、ΔS-T 28000Oe.txt、ΔS-T 
35000Oe.txt、ΔS-T 45000Oe.txt、ΔS-T 55000Oe.txt、ΔS-T 65000Oe.txt、ΔS-T 
70000Oe.txt;
[0302] 举例而言,ΔS-T 55000Oe.txt的内容如下:
[0303]
[0304]
[0305] 可以将上述数据导入Origin等数据分析软件中进行处理、分析;
[0306] H)关闭上述所有步骤中读、写过的数据文件。
[0307] 图3显示了具体实施例的步骤E)-步骤G)中相关设定参数。该界面为发明人为利用计算机实现本发明的技术方案而创作的一个具体的程序的界面。
[0308] 本发明的处理方法,在Intel Core2Duo P8700、2GB DDR21333、7200转500GB硬盘+Windows 7professional软硬件平台上处理上述实施例的数据时,以硬盘暂存中间数据文件的技术方案,整个过程耗时2min37s。由此可见,本发明的技术方案,不仅解决了现有技术中PPMS测量得到的数据难以评估磁性材料的磁熵变—温度特性的难题,且其效率大大提升,极大地降低了科研人员的人力成本。
[0309] 由于本发明的方法在步骤D)-步骤G)中需要多次地对硬盘读写零碎的数据,每次读写的数据只有一行,仅约数十字节,而数据运算则极为简单,因此整个过程中的耗时基本取决于硬盘读写操作。相对于现有技术中将全部数据导入计算机内存、现有技术中以多维数组进行处理的方法,本发明的方法耗时大于现有技术。
[0310] 然而,本发明的技术方案对计算机内存的需求则远远小于现有技术,经实际测量,在数据处理的过程中,数据+代码运行所占据的全部内存不到4MB,参见附图4。而现有技术中若达到同样的计算精度,则五维数组所需要的内存(RAM)空间大约在1010-1017MB之间,即使将测量过程中各个物理量的数量均降低1~2个数量级,五维数组所需要的内存(RAM)空4 11
间也仍然在10-10 MB之间,且结果精确度也会大大降低,将导致结果严重不可信。
[0311] 因此即便本发明耗时较长,也仅仅在1-3min而已,这一缺点在科研过程中是微不足道的。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈