基于相场法的CALPHAD自由能提取方法和装置与流程

文档序号:18625751发布日期:2019-09-06 23:00阅读:1304来源:国知局
基于相场法的CALPHAD自由能提取方法和装置与流程

本发明属于材料科学技术领域,具体涉及一种基于相场法的calphad自由能提取方法和装置。



背景技术:

在材料的理论计算领域,相场法作为介观尺度的模拟方法,不必追踪界面就能模拟材料多晶多相的组织结构演化现象,在金属和陶瓷等各类材料的微观组织演化研究方面有着广泛应用。然而,为了将相场法应用到各类材料中,一个关键的前提输入数据是材料各相的热力学自由能及其化学势信息。对于热力学自由能数据而言,最常用的方式是calphad法,这种方法能够在满足相图的基础上给出各相的自由能方程。

常用的calphad软件是著名的热力学计算软件thermo-calc,其存储文件格式为*.tdb。传统的相场计算,只能手动输入各相的自由能形式,其效率低下,容错性和可移植性差。为了实现高通量的相场模拟计算,需要从大量tdb中提取所需的各相自由能和化学势信息。



技术实现要素:

本发明一实施例提供一种基于相场法的calphad自由能提取方法,用于解决现有技术中calphad软件只能手动输入各相的自由能形式,效率低下,容错性和可移植性差,不适合高通量相场模拟计算的问题,包括:

读取tdb文件以生成关键词类,所述关键词类包括元素类、函数类、参数类、以及相定义类;

根据设定的相场模拟温度和所述关键词类,计算tdb文件中各相在所述模拟温度下的定义函数;

根据设定的相场模拟的相名称和所述关键词类,在所述各相中提取匹配相的所述定义函数;

根据接收的相场模拟的相组分以及所述匹配的相的定义函数,计算所述匹配相的自由能。

一实施例中,所述方法还包括:

计算所述匹配相的自由能对所述相组分的一阶导数,获得所述匹配相的化学势;和/或,

读取tdb文件以生成关键词类,具体包括:

根据所述tdb文件中的语法格式和语法结构生成关键词类。

一实施例中,根据所述tdb文件中的语法格式和语法结构生成关键词类,具体包括:

根据所述tdb文件中的关键词确定语法格式,所述关键词包括element、和/或function、和/或phase、和/或constituent、和/或parameter;以及,

根据所述tdb文件中注释符、和/或连续符、和/或不连续符、和/或结束符确定语法结构。

一实施例中,所述方法还包括:

识别所述tdb文件中类fortran语法的数学表达式,并转换成c/c++语法格式,所述数学表达式包括所述函数类。

一实施例中,所述方法具体包括:

将所述tdb文件中连乘符号转换为pow函数、和/或ln函数转换为log函数、和/或exp函数转换为exp函数。

一实施例中,根据设定的相场模拟温度和所述关键词类,计算tdb文件中各相在所述模拟温度下的定义函数,具体包括:

采用中缀表达式的运算规则对所述转换成c/c++语法格式的数学表达式进行求值运算。

一实施例中,所述匹配相的自由能和/或化学势随所述相组分变化的结果以离散的方式进行存储;

所述方法还包括:

生成插值类,对所述匹配相的自由能和/或化学势进行插值,以获得所述匹配相随相场模拟的相组分变化的自由能模型曲线和/或化学势模型曲线。

一实施例中,所述tdb文件中各相在所述模拟温度下的定义函数包括亚点阵模型和/或正规溶体近似模型。

本发明一实施例还提供一种基于相场法的calphad自由能提取装置,包括:

解析模块,用于读取tdb文件以生成关键词类,所述关键词类包括元素类、函数类、参数类、以及相定义类;

计算模块,用于根据设定的相场模拟温度和所述关键词类,计算tdb文件中各相在所述模拟温度下的定义函数;

匹配模块,用于根据设定的相场模拟的相名称和所述关键词类,在所述各相中提取匹配相的所述定义函数;

所述计算模块还用于根据接收的相场模拟的相组分以及所述匹配的相的定义函数,计算所述匹配相的自由能。

本发明一实施例还提供一种电子设备,包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述处理器通过运行所述可执行指令以实现如上所述的基于相场法的calphad自由能提取方法。

与现有技术相比,本发明通过将tdb文件中的关键词类进行提取归类,在需要进行相场模拟时,直接寻找对应的相的定义函数进行计算,可移植性好,同时,通过将tdb文件中类似fortran语法格式的表达式转换为c/c++语法的形式,计算效率高,且能通过插值方式获取指定相在任意组分下的自由能和化学势,适合高通量相场模拟计算。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一实施方式中基于相场法的calphad自由能提取方法的流程图;

图2是本申请一实施方式中基于相场法的calphad自由能提取方法的原理图;

图3是本申请实施例1中tdb文件中存储u3si5的相信息区块图;

图4是本申请实施例1中u3(si,al)5相随al掺杂的自由能及化学势变化曲线;

图5是本申请实施例1中不同温度下u3(si,al)5相随al掺杂的自由能变化曲线;

图6是本申请实施例2中(nd,ce)2fe14b相随ce掺杂的自由能及化学势变化曲线;

图7是本申请实施例2中(nd,ce)2fe14b自由能对应的调幅分解图像;

图8是本申请实施例3中fe-cu的fcc相自由能及化学势变化曲线;

图9是本申请一实施方式提供的设备结构示意图;

图10是本申请一实施方式中基于相场法的calphad自由能提取装置的模块示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

参图1和2,介绍本申请基于相场法的calphad自由能提取方法的一实施方式。在本实施方式中,该方法包括:

s11、读取tdb文件以生成关键词类。

关键词类包括元素类(tdbelements)、函数类(tdbfunctions)、参数类(tdbparamters)、以及相定义类(tdbtypedefs)等,这里读取tdb文件中关键词类可以是根据tdb文件中的语法格式和语法结构实现。具体地,可以是根据tdb文件中的关键词,例如element、function、phase、constituent、以及parameter等识别tdb的语法格式,以及根据tdb文件中的注释符($)、连续符(y)、不连续符(n)、以及结束符(!)等确定语法结构。

s12、根据设定的相场模拟温度和所述关键词类,计算tdb文件中各相在所述模拟温度下的定义函数。

具体地,首先识别tdb文件中类fortran语法的数学表达式,并将其转换成c/c++语法格式,以方便后续计算和维护。这里主要包括对一些特定计算符的转换,例如将tdb文件中连乘符号(二元作用符**)转换为pow函数、ln函数转换为log函数、exp函数转换为exp函数等。这里的数学表达式包括上述的函数类。

将设定的相场模拟温度代入上述关键词类中的函数类,得到tdb文件中各相在模拟温度下的定义函数。由于相场模拟大多是基于恒定温度,因此给出相场所需模拟温度下的所有相信息,能够避免重复计算和信息冗余。相应地,这里是采用中缀表达式的运算规则对转换成c/c++语法格式的数学表达式进行的求值运算。

示范性地,这里的函数类主要包括以下热力学模型公式:

①单组分自由能公式

其主要与其温度有关,其吉布斯自由能公式如下式(a)所示:

其中,为标准元素参考态(298k和标准大气压)下的焓值,t为温度,而a-h则为拟合参数,具体可以参考atdinsdale等人在“sgtedataforpureelements”中的工作,这里不做赘述。

②溶体相的吉布斯自由能公式

依据正规溶体近似模型,该模型认为摩尔自由能为理想溶体的摩尔自由能与过剩自由能之和,如下式(b)所示:

其中,分别为纯组元a、b的摩尔自由能,具体可由上述式(a)计算获得,为纯组元a、b对应的质量百分数,r·t(xa·lnxa+xblnxb)为混合熵项,eg则为过剩自由能项,其公式如下式(c),其中a0,b0等为需要拟合的参数,可以通过查询tdb文件获得。

其中,式(c):

eg=xa·xb[a0+b0·t+(xa-xb)(a1+b2·t)+(xa-xb)2·(a2+b2·t)+…]

③固溶体相的吉布斯自由能公式

对于固溶体化合物来说,其吉布斯自由能由双亚点阵模型得出,双亚点阵模型的特点在于,一方面两个双亚点阵的结点数目可以相同,也可以不同;另一方面,每一个组元只能进入一种亚点阵,而不能进入另一种亚点阵。该模型在间隙性固溶体以及线性化合物的相平衡计算方面发挥了明显的优势,以u-si-al为例,其模型其公式如下式(d)所示:

其中,代表u进入a点阵,代表al、si进入b点阵的双亚点阵自由能,为需优化参数。

基于上述热力学模型公式,在将设定的相场模拟温度代入后,得到该模拟温度下单组元的吉布斯自由能,以及与组分相关的多组元的吉布斯自由能定义函数。

s13、根据设定的相场模拟的相名称和所述关键词类,在所述各相中提取匹配相的所述定义函数。

由于已经通过识别语法格式和语法结构生成了关键词类,这里进一步可以通过比对相名称和组分名称,确定唯一一个相,也即确定匹配相的定义函数。具体地,例如可以是遍历关键词phase,从而定位到tdb文件中具体相的组成。并且,由于相场模拟中往往不止涉及单相,在上述步骤中,已经优选地获取所有相信息,避免每次计算相能量都要从原始tdb文件中进行读取,优化了运行效率,为实现高通量计算奠定基础。

s14、根据接收的相场模拟的相组分以及所述匹配的相的定义函数,计算所述匹配相的自由能。

在选定了匹配相的定义函数,也即对应的calphad热力学自由能公式后,直接代入相场模拟的相组分,进行自由能的求解。这里,还可以进一步计算匹配的相的自由能对相组分的一阶导数,以获得所述匹配相的化学势。

为了在相场模拟中使用tdb文件中材料各相的自由能数据,本申请中匹配相的自由能和/或化学势随所述相组分变化的结果以离散的方式进行存储。相对应的,本方法还包括对匹配相的自由能和/或化学势进行插值,以获得匹配相随相场模拟的相组分变化的自由能模型曲线和/或化学势模型曲线。这样,实质上就可以获取任意组分下该相的自由能和化学势,有效提高相场建模和求解效率。

以下提供一些具体的实施例,对本申请实施方式做进一步的说明:

实施例1

针对u3si5相进行自由能计算,获取u-si-al的tdb文件,通过调用解析模块,对该tdb文件进行解读,获得函数值。通过绘制不同温度下的u3si5相,可以看出其自由能曲线只有一个最低点,即当al掺杂为0.2时能量最稳定。具体流程如下:

首先进行tdb文件预处理,对u-si-al的tdb文件进行遍历,获取相关的关键词类(elements、function、parameter、phase),并生成对应的储存空间进行储存。

再获取tdb文件中的数学表达式,并自动将tdb文件中类似fortran编程语言的表达式转为符合c/c++语法的表达式。

接着,输入相场模拟温度300k,计算tdb文件中函数类(function类)中表达式的数值,根据要求寻找u3si5相对应的亚点阵分布以及对应的自由能表达式,如图3,点阵比5:3,其中al、si占据一个点阵,u占据一个点阵,得到不同温度区间u3(si,al)5的自由能表达式,根据al组分的变化可绘制出图4中自由能和化学势的曲线,重复输入不同的相场模拟温度,可得不同温度下u3(si,al)5相随al掺杂的自由能变化曲线如图5。

实施例2

针对(nd,ce)2fe14b相进行自由能计算,获取nd-ce-fe-b的tdb文件,通过调用解析模块,对文件进行解读,获得函数值。这里的计算过程与实施例1类似,因此不做赘述。

参图6,最终获得的(nd,ce)2fe14b自由能和化学势互为导数,说明计算结果是自洽的。另一方面,对于该相,可以看出其自由能曲线呈现双势阱的特征,显示其有可能出现调幅分解的相分离现象。通过引入该自由能进入到经典的相场模型中,可以得到调幅分解的组织形貌。如图7所示,初始ce组分浓度为0.4。之后演化出来的形貌满足自由能曲线的预期。

实施例3

针对fe-cu的二元混合物进行自由能计算,获取fe-cu的tdb文件,通过调用解析模块,对文件进行解读,获得函数方程,并绘制了不同温度不同二元混合物相(即fe-cu的液相混合物,fcc混合物,bcc混合物)。参图8,发现在1400-1600k下fe-cu的fcc混合物自由能曲线出现双势阱的特征,显示其有可能出现调幅分解的相分离现象,其中1550k下调幅分解现象最明显。通过引入该自由能进入到经典的相场模型中,可以得到调幅分解的组织形貌。

图9是一示例性实施例提供的一种设备的示意结构图。请参考图9,在硬件层面,该设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成基于相场法的calphad自由能提取装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

请参考图10,在软件实施方式中,该基于相场法的calphad自由能提取装置,包括解析模块、计算模块和匹配模块。

解析模块用于读取tdb文件以生成关键词类,所述关键词类包括元素类、函数类、参数类、以及相定义类。计算模块用于根据设定的相场模拟温度和所述关键词类,计算tdb文件中各相在所述模拟温度下的定义函数。匹配模块用于根据设定的相场模拟的相名称和所述关键词类,在所述各相中提取匹配相的所述定义函数。其中,计算模块还用于根据接收的相场模拟的相组分以及所述匹配的相的定义函数,计算所述匹配相的自由能。

本申请通过上述实施方式,具有以下有益效果:

通过将tdb文件中的关键词类进行提取归类,在需要进行相场模拟时,直接寻找对应的相的定义函数进行计算,可移植性好,同时,通过将tdb文件中类似fortran语法格式的表达式转换为c/c++语法的形式,计算效率高,且能通过插值方式获取指定相在任意组分下的自由能和化学势,适合高通量相场模拟计算。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

在一个典型的配置中,计算机包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1