CN113392602B - 一种cfd标准气动算例的接口数据结构及构建方法 - Google Patents
一种cfd标准气动算例的接口数据结构及构建方法 Download PDFInfo
- Publication number
- CN113392602B CN113392602B CN202110795565.3A CN202110795565A CN113392602B CN 113392602 B CN113392602 B CN 113392602B CN 202110795565 A CN202110795565 A CN 202110795565A CN 113392602 B CN113392602 B CN 113392602B
- Authority
- CN
- China
- Prior art keywords
- data
- layer
- interface
- cfd
- type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/28—Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/08—Fluids
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/14—Force analysis or force optimisation, e.g. static or dynamic forces
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T90/00—Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Fluid Mechanics (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了一种CFD标准气动算例的接口数据结构及构建方法,属于计算机软件领域。包括:算例层,描述算例数据的基本信息;物件层,区分具有分离特征的算例数据,并存储与物件相关的基本参数;数据类型层,将数据分为不同类型;状态数据层,存储CFD计算所需要的前置参数;结果数据层,存储计算结果数据;部件层,将飞行器区分为不同的部分;截面层,将部件划分为不同的面。方法包括:创建公共类;使用Java语言建立算例类、物件、基本结构类;分析用于CFD计算的算例数据,并将算例数据进行分类;使用Apache开源框架CXF实现对外接口。本发明提出了两种算例数据结构,按这两种数据结构实现的接口,可以提升数据访问效率。
Description
技术领域
本发明属于计算机软件技术领域,具体涉及一种CFD标准气动算例的接口数据结构及构建方法。
背景技术
CFD(Computational Fluid Dynamics)数值计算软件已经在很多领域应用,与传统模型实验相比,具备有效、简便、成本低的特点。目前市面上的CFD软件种类繁多,通常各类CFD软件计算所需要的数据存储为特定的数据格式,不同的数据格式降低了计算数据在CFD软件中的通用性;文献[1]吴梅.CFD数据转换程序开发[Z].2008:其实现了一种转换方法,首先是提取CFD数据,再生成参数分布数据、确定力区间,最后计算区间,生成数据文件;该转换方法可以简单概括为提取数据-处理数据-生成数据,虽然该方法是处理水动力数据,但对于空气动力数据具有一定的借鉴意义。美国曾建立了通用航空动力数据模拟系统规范ANSS2000,基于该规范实现了CFD通用符号系统(CNGS),使得不同计算平台之间的数据交互变得更容易;文献[2]朱朝.CFD数据交换标准及其软件实现[Z].2002:通过调用CNGSAPI实现对网格数据的交互,但该方法的不足之处在于,仅限于网格文件,并未涉及CFD计算所需要的其它文件。文献[3]邓小刚.大型通用CFD软件体系结构与数据结构研究[Z].2012:基于网格数据、流场数据、状态参数、控制参数、及一些计算过程中的梯度等数据,提出一种轻量级的层次数据结构如下:
1)变量名:如迭代步数iter、马赫数Ma、雷诺数Re等单变量参数,流场压力p、速度u/v/w、温度T等数组数据。2)数据类型:整型、字符、浮点。3)数据精度:单精度、双精度等。4)数据维度:单参数、数组长度/维度等。上述结构以C++编程语言实现一维数组的方式存取。该结构解决了CNGS庞大函数库带来的计算低效率问题,并且针对与标准算例类似的数据进行处理,但仍然存在可交互性差、结构文件不完整的问题。
发明内容
本发明的目的在于针对CFD软件在处理气动算例数据时,因算例数据格式多样,需要进行预处理、转换操作的问题,提供了一种CFD标准气动算例的接口数据结构。
为实现上述目的,本发明的技术方案是:一种CFD标准气动算例的接口数据结构,包括A类接口数据结构和B类接口数据结构:
所述A类接口数据结构和B类接口数据结构均包括:
算例层,所述算例层是所有接口数据结构的根节点,用于描述算例数据的基本信息;
物件层,用于区分具有分离特征的算例数据,并存储与物件相关的基本参数;
数据类型层,用于将数据分为不同类型;
状态数据层,用于存储CFD计算所需要的前置参数;
结果数据层,用于存储计算结果数据;
所述A类接口数据结构还包括:
部件层,用于将飞行器区分为不同的部分;
截面层,用于将部件划分为不同的面。
进一步,所述算例层包括以下参数:算例ID、算例名称、流动特征和描述。
进一步,所述物件层为算例层的子级,包括的参数有:数据来源、物件名称、物件编号、参考面积、纵向参考长度、横向参考长度、力矩参考点X、力矩参考点Y、力矩参考点Z、质量、转动惯量IXX、转动惯量IYY、转动惯量IZZ、半模/全模、几何单位、试验介质和说明。
进一步,所述A类接口数据结构和B类接口数据结构均以SOAP协议的接口进行传输,数据格式为XML。
进一步,所述数据类型层为物件层的子级,使用Info字段标识类型信息。
进一步,所述状态数据层为数据类型层的子集,包含气动领域常见的参数,如马赫数、雷诺数或攻角;所述状态数据层与结果数据层的对应关系为一对多,通过算例ID关联,且状态数据与结果数据相对应。
进一步,所述部件层为数据类型层的子级,部件层与状态数据层在同一层级,所述部件层包括用于计算该部件的坐标系标识CSYS和部件名Component;所述截面层为部件层的子级,包括的参数有:截面ID、截面方式和结果数据。
进一步,所述结果数据层为截面层或数据类型层的子级,其包括的参数有:压力、阻力和热流。
本发明还提供了一种构建CFD标准气动算例的接口数据结构的方法,包括以下步骤:
步骤1:创建公共类,使用Java语言建立算例类Case、物件Obj、基本结构类BaseLayout,均为Java Bean形式;
步骤2:分析用于CFD计算的算例数据,并将算例数据进行分类,将算例类型分为A类接口数据结构或B类接口数据结构,若为A类接口数据结构则进入步骤31,反之则进入步骤32;
步骤31:构建A类接口算例结构,结构数据按部件-截面分级,通过StatusID与状态数据对应,使用Java语言建立定常气动类,为Java Bean形式,且返回数据格式为XML;
步骤32:构建B类接口算例结构,状态数据和结果数据在同一层级,通过Status ID与状态数据对应,使用Java语言建立非定常气动类,为Java Bean形式,且返回数据格式为XML;
步骤4:使用Apache开源框架CXF实现对外接口。
所述步骤31中的定常气动类包括压力、阻力、速度和热流,所述步骤32中的非定常气动类包括力、非定常气动力、含不确定性气体、动导数和轨迹。
由于采用了上述技术方案,本发明的有益效果是:本发明提出了两种算例数据结构,按这两种数据结构实现的接口,可以提升数据访问效率。
附图说明
图1是本发明的A类接口数据结构的结构图;
图2是本发明的B类接口数据结构的结构图;
图3是本发明的实施例1的结构图;
图4是本发明的实施例2的结构图;
图5为本发明实施例1的A类数据返回结构图;
图6为本发明实施例1的B类数据返回结构图。
具体实施方式
为了本技术领域的人员更好的理解本发明,下面结合附图和以下实施例对本发明作进一步详细描述。
参见图1和图2,本实施例提供了一种CFD标准气动算例的接口数据结构,包括A类接口数据结构或B类接口数据结构,其中,A类接口数据结构通常这类为定常气动数据;B类接口数据结构则为非定常气动数据;
本实施例的A类接口数据结构和B类接口数据结构均包括:
算例(Case)层,本实施例的算例(Case)层是所有接口数据结构的根节点,用于描述算例数据的基本信息;
物件(Obj)层,用于区分具有分离特征的算例数据,并存储与物件相关的基本参数;
数据类型(Type)层,用于将数据分为不同类型;状态数据(Status Data)层,用于存储CFD计算所需要的前置参数;结果数据(Result Data)层,用于存储计算结果数据;
本实施例的A类接口数据结构还包括:部件(Component)层,用于将飞行器区分为不同的部分;截面(Sections)层,用于将部件划分为不同的面。
本实施例的算例(Case)层包括以下参数:算例ID、算例名称、流动特征和描述,本实施例的A类接口数据结构和B类接口数据结构均以SOAP协议的接口进行传输,数据格式为XML。
进一步,物件(Obj)层为算例(Case)层的子集,包括的参数有:数据来源、物件名称、物件编号、参考面积、纵向参考长度、横向参考长度、力矩参考点X、力矩参考点Y、力矩参考点Z、质量、转动惯量IXX、转动惯量IYY、转动惯量IZZ、半模/全模、几何单位、试验介质和说明。
进一步,数据类型(Type)层为物件(Obj)层的子级,使用Info字段标识类型信息。
进一步,状态数据(Status Data)层为数据类型(Type)层的子集,包含气动领域常见的参数,如马赫数、雷诺数或攻角等参数;状态数据(Status Data)层与结果数据(ResultData)层的对应关系为一对多,并通过算例ID关联,且状态数据与结果数据相对应。
进一步,部件(Component)层为数据类型(Type)层的子级,部件层(Component)层与状态数据(Status Data)层在同一层级,部件(Component)层包含用于计算该部件的坐标系标识CSYS和部件名Component;截面(Sections)层为部件层的子级,包含的参数有:Section ID、Section Type、Result Data;结果数据层为截面(Sections)层或数据类型(Type)层的子级,其包括的参数有:压力、阻力和热流,当结果数据层的数据类型为非定常时,其上层为数据类型层,反之其上层为截面层。
为实现上述目的接口数据,本发明的主要思路是根据CFD进行算例运算时,依据数据访问的顺序和频次,将参数进行多级分层;CFD进行参数初始化时,将最先访问的参数置于最上层。首先,定义不同层级上对象的参数,按以下步骤:
S1、接口调用方通过传递算例ID,获取算例数据,算例对象层返回表1基本算例信息;
表1
S2、分析现有气动领域可用于CFD计算的算例数据,将算例数据按表2进行分类;
表2
根据表2的数据,将算例类型分为A类接口数据结构、B类接口数据结构:其中A类接口数据结构的算例类型有:压力、阻力、速度、热流;
B结构的算例类型有:力、非定常气动力、含不确定性气体、动导数、轨迹。
S3、根据CFD软件在进行气动计算时需要的前置参数,将必要的参数定义为物件层的基本属性,具体参见表3:
表3
对于A类接口数据结构,在组件层定义参数CSYS(坐标系)、Component(组件名);
对于A类接口数据结构,在截面层定义参数Section ID(截面ID)、Section Type(截面方式;值为:y/b,Xrc)。
实施例1
基于上述实施方式,本实施例以构建A类算例结构的构建方法,以气动压类型为例,步骤1:创建公共类,使用Java语言建立算例类Case、物件Obj、基本结构类Base Layout,均为Java Bean形式,即包含get与set方法;步骤2:再构建A类算例结构,以气动压类型为例,其中,气动压是物体表面受力分布,结果数据按部件—截面分级,通过Status ID与状态数据对应,组织形式参见图3;然后使用Java语言建立气动压类Pressure,为Java Bean形式,包含get与set方法,以该结构实现的数据访问,返回的数据格式为XML格式,具体参见图5;步骤3:同样的,重复步骤2的方式构建其它A类算例结构,具体的包括:阻力,类名为Friction;速度,类名为Velocity;热流,类名为Heat;步骤4:使用Apache开源框架CXF,该框架实现了SOAP协议的JAX-RS2标准,对外发布的接口在Api4Cfd中声明,并在Api4CfdImp中实现。同时类名需要使用:
@WebService(endpointInterface="com.api4cfd.server.Api4Cfd",serviceName="Api4Cfd")进行注解。
实施例2
基于上述实施方式,本实施例以构建B类算例结构为实施例,以非定常气动力类型为例,步骤1:创建公共类,使用Java语言建立算例类Case、物件Obj、基本结构类BaseLayout,均为Java Bean形式,即包含get与set方法;步骤2:本实施例的非定常气动力的状态数据与结果数据在同一层级,通过状态数据通过Status ID与结果数据对应。组织形式见图4:然后使用Java语言建立气动压类ForceUns,为Java Bean形式,包含get与set方法:
步骤3:以B类算例的结构实现的数据访问,返回为XML格式,参见图6;
步骤4:同样的,重复步骤3的方式构建其它B类算例结构,包括:力,类名为Force;含不确定性气体,类名为ForceUq;动导数,类名为Derivative;轨迹,类名为Trajectory。
步骤5:使用Apache开源框架CXF,该框架实现了SOAP协议的JAX-RS2标准,对外发布的接口在Api4Cfd中声明,并在Api4CfdImp中实现。同时类名需要使用:
@WebService(endpointInterface="com.api4cfd.server.Api4Cfd",serviceName="Api4Cfd")进行注解。
以上所述,仅为本发明的较佳实施例,并不用以限制本发明,本发明的专利保护范围以权利要求书为准,凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。
Claims (10)
1.一种CFD标准气动算例的接口数据结构系统,其特征在于:包括A类接口数据结构或B类接口数据结构:
所述A类接口数据结构和B类接口数据结构均包括:
算例层,所述算例层是所有接口数据结构的根节点,用于描述算例数据的基本信息;
物件层,用于区分具有分离特征的算例数据,并存储与物件相关的基本参数;
数据类型层,用于将数据分为不同类型;
状态数据层,用于存储CFD计算所需要的前置参数;
结果数据层,用于存储计算结果数据;
所述A类接口数据结构还包括:
部件层,用于将飞行器区分为不同的部分;
截面层,用于将部件划分为不同的面;
所述物件层为算例层的子级,所述数据类型层为物件层的子级,所述状态数据层为数据类型层的子集,所述状态数据层与结果数据层的对应关系为一对多,所述部件层为数据类型层的子级,部件层与状态数据层在同一层级,所述截面层为部件层的子级。
2.根据权利要求1所述的一种CFD标准气动算例的接口数据结构系统,其特征在于:所述算例层包括的参数有:算例ID、算例名称、流动特征和描述。
3.根据权利要求1所述的一种CFD标准气动算例的接口数据结构系统,其特征在于:所述物件层包括的参数有:数据来源、物件名称、物件编号、参考面积、纵向参考长度、横向参考长度、力矩参考点X 、力矩参考点Y 、力矩参考点Z 、质量、转动惯量IXX、转动惯量IYY、转动惯量IZZ、半模/全模、几何单位、试验介质和说明。
4.根据权利要求1所述的一种CFD标准气动算例的接口数据结构系统,其特征在于:所述A类接口数据结构和B类接口数据结构均以SOAP协议的接口进行传输,数据格式均为XML。
5.根据权利要求1所述的一种CFD标准气动算例的接口数据结构系统,其特征在于:所述数据类型层使用Info字段标识类型信息。
6.根据权利要求1所述的一种CFD标准气动算例的接口数据结构系统,其特征在于:所述状态数据层包括气动领域常见的参数,所述状态数据层与结果数据层通过算例 ID关联,且状态数据与结果数据相对应。
7.根据权利要求1所述的一种CFD标准气动算例的接口数据结构系统,其特征在于:所述部件层包括用于计算该部件的坐标系标识CSYS和部件名Component;
所述截面层包括的参数有:截面ID、截面方式和结果数据。
8.根据权利要求1所述的一种CFD标准气动算例的接口数据结构系统,其特征在于:所述结果数据层为截面层或数据类型层的子级,包括的参数有:压力、阻力和热流。
9.一种构建CFD标准气动算例的接口数据结构系统的方法,应用于权利要求1-8任一所述的一种CFD标准气动算例的接口数据结构系统,其特征在于:包括以下步骤:
步骤1:创建公共类,使用Java语言建立算例类Case、物件Obj、基本结构类BaseLayout,均为Java Bean形式;
步骤2:分析用于CFD计算的算例数据,并将算例数据进行分类,将算例类型分为A类接口数据结构或B类接口数据结构,若为A类接口数据结构则进入步骤31,反之则进入步骤32;
步骤31:构建A类接口算例结构,结构数据按部件-截面分级,通过Status ID与状态数据对应,使用Java语言建立定常气动类,为Java Bean形式,且返回数据格式为XML;
步骤32:构建B类接口算例结构,状态数据和结果数据在同一层级,通过Status ID与状态数据对应,使用Java语言建立非定常气动类,为Java Bean形式,且返回数据格式为XML;
步骤4:使用Apache开源框架CXF实现对外接口。
10.根据权利要求9所述的一种构建CFD标准气动算例的接口数据结构系统的方法,其特征在于:所述步骤31中的定常气动类包括压力、阻力、速度和热流,所述步骤32中的非定常气动类包括力、非定常气动力、含不确定性气体、动导数和轨迹。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110795565.3A CN113392602B (zh) | 2021-07-14 | 2021-07-14 | 一种cfd标准气动算例的接口数据结构及构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110795565.3A CN113392602B (zh) | 2021-07-14 | 2021-07-14 | 一种cfd标准气动算例的接口数据结构及构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113392602A CN113392602A (zh) | 2021-09-14 |
CN113392602B true CN113392602B (zh) | 2022-08-23 |
Family
ID=77626061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110795565.3A Active CN113392602B (zh) | 2021-07-14 | 2021-07-14 | 一种cfd标准气动算例的接口数据结构及构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113392602B (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110084419A (zh) * | 2019-04-21 | 2019-08-02 | 合肥市太泽透平技术有限公司 | 一种cfd中自动映像实现细网格解的初始化方法 |
CN112559351B (zh) * | 2020-12-16 | 2022-06-14 | 中船重工奥蓝托无锡软件技术有限公司 | 一种cfd软件验证与确认数据库平台 |
-
2021
- 2021-07-14 CN CN202110795565.3A patent/CN113392602B/zh active Active
Non-Patent Citations (1)
Title |
---|
大型CFD软件自动化测试平台的初步设计与实现;何磊等;《空气动力学学报》;20160815(第04期);17-24 * |
Also Published As
Publication number | Publication date |
---|---|
CN113392602A (zh) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10007742B2 (en) | Particle flow simulation system and method | |
JP2019106188A (ja) | シミュレーションシナリオをオーサリングする方法およびシステム | |
CN105095247A (zh) | 符号数据分析方法和系统 | |
CN103744935A (zh) | 一种计算机快速海量数据聚类处理方法 | |
CN105631125A (zh) | 基于降阶模型的气动-热-结构耦合分析方法 | |
Liu et al. | Calculation of wing flutter by a coupled CFD-CSD method | |
CN115115796A (zh) | 一种基于语义Web技术的建筑数字孪生框架及建模方法 | |
CN114443680A (zh) | 数据库管理系统、相关装置、方法和介质 | |
CN113392602B (zh) | 一种cfd标准气动算例的接口数据结构及构建方法 | |
CN114064707A (zh) | 一种用于数据虚拟化服务器的数据查询方法、装置及存储介质 | |
CN102609549A (zh) | 在有限元分析中建立数字模拟刚体的方法和系统 | |
Mizera et al. | ASSA-PBN 2.0: A software tool for probabilistic Boolean networks | |
CN108319604B (zh) | 一种hive中大小表关联的优化方法 | |
JP2005050063A (ja) | 流体の数値計算方法及び装置及び制御プログラム及び記憶媒体 | |
Pugmire et al. | Visualization and analysis for near-real-time decision making in distributed workflows | |
CN107562943B (zh) | 一种数据计算的方法及系统 | |
Lamberson et al. | Aeroelastic simulations with modal and finite-element structural solvers using CREATE-AV/Kestrel v5 | |
Aliabadi et al. | Free-surface flow simulations using parallel finite element method | |
Kim et al. | Parallel and distributed framework for standalone monte carlo simulation using mapreduce | |
CN105512361A (zh) | 一种基于ansys软件的子结构分析方法 | |
Fofanov et al. | Optimization of load balancing algorithms in parallel modeling of objects using a large number of grids | |
Ryu et al. | Analysis of Computational Science and Engineering SW Data Format for Multi-physics and Visualization | |
Wu et al. | Parallel particle simulation of the near-continuum hypersonic flows over compression ramps | |
US12094059B1 (en) | Anisotropic polyhedra boundary layer adaptation method | |
CN105512359A (zh) | 一种处理cae仿真结果的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |