一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于XML的CFD工作流建模方法、装置、计算机及存储介质

2022-07-16 18:23:59 来源:中国专利 TAG:

一种基于xml的cfd工作流建模方法、装置、计算机及存储介质
技术领域
1.本发明涉及的流体力学技术领域中的流体仿真技术领域。


背景技术:

2.科学计算工作流提供了流程定义与控制、任务管理、作业调度与执行、容错处理等功能,屏蔽底层资源,帮助科学研究人员减少对流程的部署操作等时间花费,提高求解问题的效率。kepler(开普勒)等典型科学工作流系统在应用上需要花费大量的时间去熟悉各类活动节点的含义,而其他集成方法如hswap(适用于高性能计算环境的数值模拟工作流管理平台)针对cfd(计算流体力学)领域没有分析总结其数据耦合方式,而基于step(产品模型数据交互规范)的集成方法和基于agent(代理)架构的集成方法的扩展性有所欠缺。
3.目前缺乏一种适用于流体力学领域的科学计算工作流,即没有适用于流体力学的流体仿真建模技术。


技术实现要素:

4.本发明解决了现有科学计算工作流不适用于流体力学的问题。
5.一种基于xml的cfd工作流建模方法,所述建模方法包括:
6.根据解析xml文件获取输入参数文件;
7.根据输入参数文件进行几何建模,获取几何模型文件,所述几何模型文件为几何组件节点模型的输出属性;
8.根据几何模型进行网格剖分,获取网格文件,所述网格文件为网格组件节点模型的输出属性;
9.根据输入参数文件和网格文件进行求解计算,获取求解结果,所述求解结果为求解器组件节点模型的输出属性;
10.根据求解结果获取后处理渲染图像,完成cfd工作流模型的建立;所述后处理渲染图像为后处理组件节点模型的输出属性。
11.进一步,所述几何组件节点模型、网格组件模型、求解器节点模型和后处理组件节点模型均包括:对象属性、执行动作和对象端口;
12.所述对象属性用于描述工作流节点的相关参数;
13.所述执行动作用于描述工作流节点的行为动作;
14.所述对象端口用于描述工作流节点的数据输入和数据输出,所述数据输入表示将工作流节点所需数据通过输入端口输入,所述数据输出表示将工作流节点产生的数据通过输出端口,向下一个节点传输。
15.进一步,所述cfd工作流模型包括根元素;
16.所述根元素包括三种属性:name属性、desp属性和type属性;
17.所述name属性用于描述工作流模型的名字;
18.所述desp属性用于描述工作流模型的信息,提供工作流模型的说明性文字;
19.所述type属性用于描述工作流模型的类型。
20.进一步,所述根元素还包括四个子元素:子元素property、子元素step、子元素relation和子元素link;
21.所述子元素property用于描述工作流模型自身属性信息;
22.所述子元素step用于描述工作流模型中节点信息,所述一个工作流模型中至少含有两个子元素step描述工作流节点,所述两个子元素step分别为开始节点和结束节点;
23.所述子元素relation用于描述工作流模型中各个节点的连接信息,不具有方向属性;
24.所述子元素link用于关联节点之间的输入端口和输出端口。
25.进一步,所述子元素property包括:
26.子元素author、子元素createtime、子元素location;
27.所述子元素author用于说明工作流模型的作者;
28.所述子元素createtime用于说明工作流模型创建时间;
29.所述子元素location用于说明工作流模型存储位置。
30.进一步,所述子元素step包括:属性name、属性desp、属性id和属性type;
31.所述属性name用于说明子元素step所对应节点的名字,所述在整个工作流模型中,所述节点的名字唯一且不可重复;
32.所述属性desp用于说明子元素step所对应节点的描述信息,提供对应节点的描述性文字;
33.所述属性id用于作为标识符标识节点;
34.所述属性type用于说明工作流节点的类型,决定工作流节点的工作内容。
35.进一步,所述子元素step还包括:节点标签的子元素标签property、节点标签的子元素标签actions和节点标签的子元素标签ports;
36.所述节点标签的子元素标签property用于描述所述节点类中所包含的属性信息;
37.所述节点标签的子元素标签actions用于描述所述节点所支持的所有操作的集合;
38.所述节点标签的子元素标签ports用于表示输入所述节点数据通道,以及所述节点输出数据的通道。
39.基于同一构思,本发明还提供一种基于xml的cfd工作流建模装置,所述建模装置包括:
40.解析单元,用于根据解析xml文件获取输入参数文件;
41.几何建模单元,用于根据输入参数文件进行几何建模,获取几何模型文件,所述几何模型文件为几何组件节点模型的输出属性;
42.网格文件获取单元,用于根据几何模型进行网格剖分,获取网格文件,所述网格文件为网格组件节点模型的输出属性;
43.求解结果获取单元,用于根据输入参数文件和网格文件进行求解计算,获取求解结果,所述求解结果为求解器组件节点模型的输出属性;
44.后处理单元,用于根据求解结果获取后处理渲染图像,完成cfd工作流模型的建立;所述后处理渲染图像为后处理组件节点模型的输出属性。
45.本发明还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行根据上述所述的一种基于xml的cfd工作流建模方法。
46.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质用于储存计算机程序,所述计算机程序执行上述所述的一种基于xml的cfd工作流建模方法。
47.本发明的有益之处在于:
48.(1)本发明基于xml可扩展标记语言定义了一套语义语法规范,构建了面向流体力学技术领域的科学计算工作流程,形成一套形式化的cfd模型的建立和描述方法。
49.(2)典型科学工作流形式化描述语言的节点复杂,需要花费大量的时间去熟悉各类活动节点的含义,本发明的基于xml的语义语法规范集中于描述流体运动的空间物理特性和非定常流体运动的时空物理特征的模型,该模型更加适合操作使用。
50.(3)本发明提供了面向流体力学技术领域的专用组件,包括几何、网格、求解器、后处理等业务节点,建立的cfd工作流模型可以集成现有的多种语言开发的科学计算任务;支持进行完整性、逻辑性和一致性校验,实现工作流的静态检查,提前发现错误,减少在工作流运行时的错误排查时间。
51.(4)基于本发明构建的建模方法,可以开发自定义工作流组件,进行扩展,封装自己的逻辑,整个工作流都可以很好的兼容并支持对该自定义组件的调用,方便用户使用。
52.本发明适用于流体力学的科学计算工作流领域。
附图说明
53.图1为本发明所述的一种基于xml的cfd工作流建模方法流程图。
54.图2为本发明实施例六所述的判断组件流程图。
55.图3为本发明实施例六所述的循环组件流程图。
56.图4为本发明实施例所述的工作流模型描述文件示意图。
具体实施方式
57.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
58.实施例一、参见图1说明本实施例。本实施例所述的一种基于xml的cfd工作流建模方法,所述建模方法包括:
59.根据解析xml文件获取输入参数文件;
60.根据输入参数文件进行几何建模,获取几何模型文件,所述几何模型文件为几何组件节点模型的输出属性;
61.根据几何模型进行网格剖分,获取网格文件,所述网格文件为网格组件节点模型的输出属性;
62.根据输入参数文件和网格文件进行求解计算,获取求解结果,所述求解结果为求解器组件节点模型的输出属性;
63.根据求解结果获取后处理渲染图像,完成cfd工作流模型的建立;所述后处理渲染
图像为后处理组件节点模型的输出属性。
64.在实际应用中,所述几何组件节点模型内封装了在科学计算领域几何建模阶段常见的操作和数据配置项,方便操作几何建模相关的输入数据和输出数据;所述网格组件节点模型内封装了科学计算领域网格剖分阶段常见的操作和数据配置项,可以提供对几何模型的网格剖分操作;所述求解器节点模型内封装了科学计算领域有限元求解计算阶段常见的操作和数据配置项,可以提供针对输入参数文件和网格文件的求解计算过程;所述后处理组件节点模型封装了科学计算领域后处理可视化阶段常见的操作和数据配置项,可以将求解器输出的计算结果文件,通过可视化的技术手段(常见软件的调用)呈现出云图、矢量图、等值面等常见后处理渲染图像。
65.每个基础组件节点模型都是以c 类的形式进行定义,作为基础组件节点对象使用。工作流模型框架部分支持对基础组件模型的扩展,在实际操作上体现为对基础组件类的继承,通过集成不同类别的基础组件类写出最终需要的子类类型,在框架中加载后能够和基础组件一起进行显示。
66.基础组件模型以及基于基础组件模型的扩展组件模型,可以封装widget界面实现,widget界面部分主要实现该节点属性信息的收集工作。
67.实施例二、本实施例是对实施例一所述的一种基于xml的cfd工作流建模方法的进一步限定,所述几何组件节点模型、网格组件节点模型、求解器节点模型和后处理组件节点模型均包括:对象属性、执行动作和对象端口;
68.所述对象属性用于描述工作流节点的相关参数;
69.所述执行动作用于描述工作流节点的行为动作;
70.所述对象端口用于描述工作流节点的数据输入和数据输出,所述数据输入表示将工作流节点所需数据通过输入端口输入,所述数据输出表示将工作流节点产生的数据通过输出端口,向下一个节点传输。
71.在实际应用中,相关参数可以为节点状态信息、输入参数信息、输出参数信息、中间结果数据等。
72.执行动物具体为进入工作流节点之前的前置动作、进入工作流节点后的节点动作、离开工作流节点后的后置动作等;所述三种类型的动作,都可以使用python脚本或者shell脚本的形式表示,具体执行在执行引擎处理。
73.所述对象端口可以将节点所需数据通过输入端口接入,也可以将节点产生的数据通过输出端口,向下一个节点传输。端口是节点之间的数据传输通道,其中传输的数据是通过绑定节点对象属性实现的。
74.实施例三、本实施例是对实施例二所述的一种基于xml的cfd工作流建模方法的进一步限定,所述cfd工作流模型包括根元素;
75.所述根元素包括三种属性:name属性、desp属性和type属性;
76.所述name属性用于描述工作流模型的名字;
77.所述desp属性用于描述工作流模型的信息,提供工作流模型的说明性文字;
78.所述type属性用于描述工作流模型的类型。
79.所述3种属性的详细说明如表1所示:
80.表1
[0081][0082][0083]
在实际应用中,工作流节点描述文件以xml的形式体现。
[0084]
实施例四、本实施例是对实施例三所述的一种基于xml的cfd工作流建模方法的进一步限定,所述根元素还包括四个子元素:子元素property、子元素step、子元素relation和子元素link;
[0085]
所述子元素property用于描述工作流模型自身属性信息;
[0086]
所述子元素step用于描述工作流模型中节点信息,所述一个工作流模型中至少含有两个子元素step描述工作流节点,所述两个子元素step分别为开始节点和结束节点;
[0087]
所述子元素relation用于描述工作流模型中各个节点的连接信息,不具有方向属性;
[0088]
所述子元素link用于关联节点之间的输入和输出端口。
[0089]
所述子元素relation的详细说明如表2所示:
[0090]
表2
[0091][0092]
所述子元素link能够反映具有连接关系的节点之间,彼此的输入端口和输出端口的关联关系。一般情况下,一个连接线,关联两个节点,一端是其中一个节点的输入端口,一端是另外一个节点的输出端口。
[0093]
所述子元素link的详细说明如表3所示:
[0094]
表3
[0095][0096]
实施例五、参见图4说明本实施例。本实施例是对实施例四所述的一种基于xml的cfd工作流建模方法的进一步限定,所述子元素property包括:
[0097]
子元素author、子元素createtime、子元素location;
[0098]
所述子元素author用于说明工作流模型的作者;
[0099]
所述子元素createtime用于说明工作流模型创建时间;
[0100]
所述子元素location用于说明工作流模型存储位置。
[0101]
在实际用于中,所述子元素property的详细说明如表4所示:
[0102]
表4
[0103][0104]
实施例六、参见图2、图3和图4说明本实施例。本实施例是对实施例四所述的一种基于xml的cfd工作流建模方法的进一步限定,所述子元素step包括:属性name、属性desp、属性id和属性type;
[0105]
所述属性name用于说明子元素step所对应节点的名字,所述在整个工作流模型中,所述节点的名字唯一且不可重复;
[0106]
所述属性desp用于说明子元素step所对应节点的描述信息,提供对应节点的描述性文字;
[0107]
所述属性id用于作为标识符标识节点;
[0108]
所述属性type用于说明工作流节点的类型,决定工作流节点的工作内容。
[0109]
在实际应用中,属性type包括12种基础组件类型,分别为:开始节点wfbeginstep、几何节点wfgeostep、网格节点wfmeshstep、求解节点wfsolverstep、后处理节点wfpoststep、条件分支节点wfconditionstep、循环节点wfloopstep、并行启动节点wfparalbeginstep、并行结束节点wfparalendstep、自定义节点wfcustomizestep和结束节点wfendstep。
[0110]
其中,几何节点wfgeostep、网格节点wfmeshstep、求解节点wfsolverstep和后处理节点wfpoststep为业务节点。
[0111]
在实际使用中,在一个工作流描述文件中至少含有一个开始节点wfbeginstep和结束节点wfendstep描述工作流节点。
[0112]
并行启动节点wfparalbeginstep、并行结束节点wfparalendstep是为了在优化设计流程业务中,有两个分支流程提高计算效率,通过并行启动n个子流程进行计算(n为大于等于1的整数)。每个子流程的计算过程相同,且每个子流程之间的计算数据相互不干扰;并行开始节点和并行结束节点之间定义的流程就是需要并行启动的子流程,并行开始节点和并行结束节点需要一一对应。
[0113]
并行启动的子流程的详细说明如表5所示:
[0114]
表5
[0115][0116]
所述cfd科学计算只允许有一个开始节点和一个结束节点,当运行过程中出现多
个分支后,在结束前需要将各个分支流程汇总到一个主干流程之后结束,所述将分支流程汇总的节点为汇聚节点wfandorstep,也称与或节点;所述汇聚节点wfandorstep的详细说明如表6所示:
[0117]
表6
[0118][0119]
在运算过程中,根据运算结果来决定走哪一个分支流程。条件分支节点比其他节点多一个条件判断动作,条件判断动作中执行的程序/脚本执行后回返回一个result属性,系统根据result属性来判断走哪一个分支,所述判断节点为wfconditionstep条件分支节点;所述wfconditionstep条件分支节点详细说明如表7所示:
[0120]
表7
[0121][0122]
在实际实用中,根据业务需要对一个运算循环执行n次(n为大于等于1的整数),使用循环节点wfloopstep,所述循环节点wfloopstep详细说明如表8所示:
[0123]
表8
[0124][0125]
当系统允许用户自行开发自定义组件,以扩展系统的功能组件。当自定义组件装载入系统后,用户可用该自定义组件配置工作流,生成自定义节点wfcustomizestep;所述自定义节点wfcustomizestep详细说明如表9所示:
[0126]
表9
[0127]
[0128]
实施例七、参见图4说明本实施例。本实施例是对实施例四所述的一种基于xml的cfd工作流建模方法的进一步限定,所述子元素step还包括:节点标签的子元素标签property、节点标签的子元素标签actions和节点标签的子元素标签ports;
[0129]
所述节点标签的子元素标签property用于描述所述节点类中所包含的属性信息;
[0130]
所述节点标签的子元素标签actions用于描述所述节点所支持的所有操作的集合;
[0131]
所述节点标签的子元素标签ports用于表示输入所述节点数据通道,以及所述节点输出数据的通道。
[0132]
在实际使用中,所述子元素标签property目前支持两种类型的子元素标签:一个是param标签,所述param标签用来标识节点类中使用到的变量数据;另一个是file标签,所述file标签用来标识节点类中所使用的文件。
[0133]
param标签的各个属性给出详细说明如表10所示:
[0134]
表10
[0135][0136]
file标签的各个属性给出详细说明如表11所示:
[0137]
表11
[0138]
[0139]
所述action标签包含多个属性和子元素标签,详细说明如表12所示:
[0140]
表12
[0141][0142][0143]
所述子元素标签ports是节点数据通道的集合,所述子元素标签ports详细说明如表13所示:
[0144]
表13
[0145][0146]
实施例八、本实施例所述的一种基于xml的cfd工作流建模装置,所述建模装置包括:
[0147]
解析单元,用于根据解析xml文件获取输入参数文件;
[0148]
几何建模单元,用于根据输入参数文件进行几何建模,获取几何模型文件,所述几何模型文件为几何组件节点模型的输出属性;
[0149]
网格文件获取单元,用于根据几何模型进行网格剖分,获取网格文件,所述网格文件为网格组件节点模型的输出属性;
[0150]
求解结果获取单元,用于根据输入参数文件和网格文件进行求解计算,获取求解结果,所述求解结果为求解器组件节点模型的输出属性;
[0151]
后处理单元,用于根据求解结果获取后处理渲染图像,完成cfd工作流模型的建立;所述后处理渲染图像为后处理组件节点模型的输出属性。
[0152]
实施例九、本实施例所述的一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行根据实施例一至实施例七任一项中所述的一种基于xml的cfd工作流建模方法。
[0153]
实施例十、本实施例所述的一种计算机可读存储介质,所述计算机可读存储介质用于储存计算机程序,所述计算机程序执行实施例一至实施例七任一项所述的一种基于xml的cfd工作流建模方法。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献