[发明专利]一种基于事件驱动的流-固耦合模块集成方法和装置有效
申请号: | 202110682467.9 | 申请日: | 2021-06-21 |
公开(公告)号: | CN113254238B | 公开(公告)日: | 2021-09-07 |
发明(设计)人: | 郭晓威;李超;刘杰;徐传福;吴诚堃;张翔;高翔 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F8/71 |
代理公司: | 长沙国科天河知识产权代理有限公司 43225 | 代理人: | 邱轶 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 事件 驱动 耦合 模块 集成 方法 装置 | ||
1.一种基于事件驱动的流-固耦合模块集成方法,其特征在于,所述方法包括:
构建基于事件驱动的可扩展基础框架,所述可扩展基础框架中包括配置文件解析器、组件工厂、事件管理器、订阅管理器;
构建流-固耦合需要的独立组件,通过配置文件建立所述独立组件与所述可扩展基础框架的关联关系;所述独立组件包括时间控制组件、流体求解组件、固体求解组件、流-固耦合组件以及输入输出组件;
启动计算程序,通过所述配置文件解析器读取所述配置文件,对所述事件管理器和所述订阅管理器进行初始化;
获取所述事件管理器中的事件,通过所述订阅管理器得到所述事件的关联组件,通过所述组件工厂动态构建所述关联组件的组件对象,执行所述组件对象中的事件处理函数,并得到所述事件处理函数的函数返回结果;所述关联组件可以包含一个或多个所述独立组件;
根据所述函数返回结果得到新事件进行处理,直到完成所述关联组件中的全部事件,再从所述事件管理器中获取事件进行处理,直到完成所述事件管理器中的全部事件,结束仿真。
2.根据权利要求1所述的方法,其特征在于,所述可扩展基础框架中还包括数据仓库;所述数据仓库用于存储耦合计算过程中不同组件需要交互的数据或数据地址。
3.根据权利要求2所述的方法,其特征在于,多个所述独立组件之间的数据交互通过所述数据仓库完成;
所述时间控制组件用于建立以时间步为单位的时间序列,维护仿真过程中的事件变量及推进时间步;
所述流体求解组件用于对当前时间步条件下的流体力学方程进行求解,更新流场物理量;
所述固体求解组件用于对当前时间步条件下的结构力学方程进行求解,更新结构力学物理量;
所述流-固耦合组件用于所述流体求解组件与所述固体求解组件之间的数据交互;
所述输入输出组件用于完成数据文件的读入与模拟结果的输出。
4.根据权利要求1所述的方法,其特征在于,所述启动计算程序,通过所述配置文件解析器读取所述配置文件,对所述事件管理器和所述订阅管理器进行初始化包括:
启动计算程序,通过所述配置文件解析器读取所述配置文件,初始化所述事件管理器中的事件队列,并在所述订阅管理器中根据配置文件建立事件-订阅关系;
将初始化事件存入事件队列。
5.根据权利要求1所述的方法,其特征在于,所述函数返回结果可以是一个或多个待处理的新事件。
6.根据权利要求5所述的方法,其特征在于,根据所述函数返回结果得到新事件进行处理包括:
根据所述函数返回结果得到新事件;
进行事件同步;
若所述新事件是优先事件,将所述新事件加入新事件队列,并递归处理所述新事件队列;
若所述新事件是普通事件,将所述新事件加入当前事件队列。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述事件或新事件包括初始化事件、迭代事件、子迭代事件、迭代终止事件、结果输出事件、流-固耦合事件和仿真终止事件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110682467.9/1.html,转载请声明来源钻瓜专利网。