欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2018113319738
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2023-12-11
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于产品族脚本的推导规则自动生成方法,其特征在于利用FEA建模知识构建FEA本体,同时收集产品族内各个产品的FEA脚本,建立产品族FEA脚本库,将产品族FEA脚本库中的所有FEA脚本输入FEA本体,以FEA本体为根据,从产品族FEA脚本中将有限元分析过程转化为FEA文法,即自动生成推导规则。

2.根据权利要求1所述的一种基于产品族脚本的推导规则自动生成方法,其特征在于包括如下步骤:

1)构建FEA本体

利用FEA本体来描述FEA过程,所述FEA本体是对特定领域之中某套实体及其相互之间关系的形式化表达,FEA本体为三元组,表示为O={C,R,is-a},其中,C={c1,c2,…,cn}是FEA过程各个实体的实体集,每个实体cn都有唯一明确的定义;R是实体间的约束关系集,包含或、和;is-a是实体之间的从属关系集,is-a定义的关系只能从上级实体指向下级实体;

所述FEA本体构建过程如下:1)将FEA过程拆分为前处理、加载求解和后处理三个阶段,将三个阶段分别向下进一步拆分成FEA阶段、功能设置,FEA阶段继续拆分为功能设置;2)将拆分后的FEA阶段、功能设置等定义为实体C;3)将各FEA阶段之间、FEA阶段与功能设置之间的包含结构定义为从属关系is-a;4)实体间的约束关系定义为R:如果同属于一个上层实体的下层FEA阶段或功能设置能够同时出现,则将它们的关系定义为“和”,如不能同时出现,则将它们的关系定义为“或”;5)将步骤2)、步骤3)及步骤4)的定义生成FEA本体;

2)建立产品族FEA脚本库

收集产品族的FEA脚本,形成产品族FEA脚本库;

3)生成产品族FEA文法

以FEA本体为根据,从步骤2)的产品族FEA脚本库中提取实体及实体之间的关系,然后将提取得到的实体、实体关系等转化成推导规则,并用正则文法来描述推导规则,转化产品族FEA文法。

3.根据权利要求2所述的一种基于产品族脚本的推导规则自动生成方法,其特征在于步骤3)的生成产品族FEA文法具体包括如下步骤:

3.1)文法

文法G为描述了给定语言的句子集合,该正则文法定义为四元组,即G={Vn,Vt,P,S},其中,Vn表示非终结符集;Vt表示终结符集;P是产生式集合,包含了A→α的产生式,A→α表示A用α进行替换,并且A属于Vn中的一个元素,α包括了Vt或Vn中的若干元素,Vt中的元素是语言中句子的组成要素,S为开始符号,所有脚本的推导均从S开始进行;将产品族FEA脚本库中所有FEA脚本定义为语言L,一个脚本为语言L中的一个句子,将FEA过程中的前处理、加载求解和后处理等FEA阶段定义为非终结符,将前处理中的单元类型、材料参数、实常数定义等功能设置定义为终结符,FEA阶段之间、FEA阶段与功能设置之间的从属关系为产生式;

3.2)构建算法

算法执行过程如下:1)读取FEA脚本并提取其中的关键字,其中每个关键字对应一个功能设置;2)在FEA本体中寻找与1)中关键字对应的实体,作为下层实体;3)从步骤2)得到的下层实体开始,依次寻找与该下层实体存在从属关系的上层实体;4)将步骤3)中得到的上层实体及下层实体关系转换成文法;

3.3)程序实现

用python编程语言实现步骤3.2)的算法,利用python语言中的数据可视化工具pydot来绘制文法的结构图,实现推导规则自动生成。

4.根据权利要求2所述的一种基于产品族脚本的推导规则自动生成方法,其特征在于步骤3.3)程序实现的具体过程如下:

3.3.1)数据准备

FEA脚本为有限元软件对于每个FEA过程的记录,每个功能设置都有其对应的关键字,提取关键字即为提取了该FEA脚本的所有功能设置;

将整理好的产品族FEA脚本放在同一个文件夹下,在程序中建立列表list0来存储实体,list0中元素形式如下:[0,实体]或[1,实体],其中,0代表该实体与同级实体间的关系为“和”,1则代表该实体与同级实体间的关系为“或”,建立字典dict1来存储FEA本体,dict1中的键值对记录实体及实体之间的is-a关系;建立字典dict2来存储关键字和实体的对应关系;

3.3.2)读取文件获得关键字

利用python中的os工具包依次读取文件夹中的FEA脚本,将FEA脚本逐行读入,去除空格、换行符,按照逗号来分割FEA脚本的每行,得到关键字,建立列表list1来存储关键字;

3.3.3)利用关键字得到实体及实体关系

将list1去掉重复项后得列表list2,以list2为输入,从dict2中获取关键字对应的实体,将获取的实体存储在列表list3中,以list3为输入,从dict1中依次查找各下层实体及上层实体,将得到的所有实体记录在双层列表list4中,list4中的元素形式如下:[c1,c2,c3,…,ck-1,ck,…,cn],其中ck-1从属于ck;

3.3.4)将list4转化成文法、绘制文法树

a.利用Python语言编写程序实现数据转化;遍历list4,依次按照终结符cn、cn-1…c2将元素分类、存储,统计具有共同上级的实体,最终将实体数据整理成一个嵌套结构的字典,具体形式如下:Dict_fina={S:[{cn:{cn-1:{…c2:[…]}}},{…},,,[…],]},其中,S代表最上层实体,中括号[]里的内容为从属于S的所有子实体;

b.利用python语言编写程序将Dict_fina转换成文法,利用python语言中的数据可视化工具pydot来绘制文法的结构图,实现推导规则自动生成。