CN112162957A - 多块结构网格数据压缩存储方法、解压缩方法及装置 - Google Patents

多块结构网格数据压缩存储方法、解压缩方法及装置 Download PDF

Info

Publication number
CN112162957A
CN112162957A CN202011089846.9A CN202011089846A CN112162957A CN 112162957 A CN112162957 A CN 112162957A CN 202011089846 A CN202011089846 A CN 202011089846A CN 112162957 A CN112162957 A CN 112162957A
Authority
CN
China
Prior art keywords
grid
block
data
logic
information
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.)
Granted
Application number
CN202011089846.9A
Other languages
English (en)
Other versions
CN112162957B (zh
Inventor
孙岩
江盟
周乃春
代光月
孟德虹
江涛
赵莹
刘旺林
邓彦增
邓学霖
杨玉峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Computational Aerodynamics Institute of China Aerodynamics Research and Development Center
Original Assignee
Computational Aerodynamics Institute of China Aerodynamics Research and Development Center
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Computational Aerodynamics Institute of China Aerodynamics Research and Development Center filed Critical Computational Aerodynamics Institute of China Aerodynamics Research and Development Center
Priority to CN202011089846.9A priority Critical patent/CN112162957B/zh
Publication of CN112162957A publication Critical patent/CN112162957A/zh
Application granted granted Critical
Publication of CN112162957B publication Critical patent/CN112162957B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/28Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/08Fluids
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/14Force analysis or force optimisation, e.g. static or dynamic forces

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computational Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Fluid Mechanics (AREA)
  • Mathematical Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种多块结构网格数据压缩存储方法,包括:提取多块结构网格的块信息和网格几何数据;将网格块数量nblocknum输出到文件;提取单个网格块6个逻辑面的逻辑面信息和逻辑面几何数据;将单个网格块6个逻辑面的逻辑面信息和逻辑面几何数据依次输出至压缩文件,完成单个网格块逻辑面信息和逻辑面几何数据的输出;完成多块结构网格全部网格块逻辑面信息和逻辑面几何数据的输出,生成多块结构网格的压缩存储文件。本发明通过提取单块结构网格的逻辑面信息和逻辑面几何数据,对原始网格的几何数据进行编码压缩,然后存储网格逻辑面信息和逻辑面几何数据,降低网格数据的存储空间,并能够无损恢复出全部的网格几何数据,存储空间小,存储效率高。

Description

多块结构网格数据压缩存储方法、解压缩方法及装置
技术领域
本发明涉及数值仿真的网格领域,尤其涉及计算流体动力学CFD(ComputationalFluid Dynamics)中的多块结构网格存储领域,具体为一种多块结构网格数据压缩存储方法、解压缩方法及装置。
背景技术
伴随着计算机技术和并行计算方法的快速发展,计算流体动力学CFD(Computational Fluid Dynamics)模拟能力提升迅速,已经成为航空航天飞行器设计和性能评估中的重要工具,能够实现各种飞行器复杂流动的数值仿真,为飞行器设计提供高精度流场计算数据,支撑飞行器设计方案的优化完善,拓展飞行器的性能边界。
CFD通过计算网格对流场空间进行离散,然后求解代数离散方程获取流动变量,如密度、压力和温度等,并沿飞行器表面积分得到飞行器整体的性能特性。因此,计算网格是开展CFD数值仿真的基础,决定了数值分析的精度和效率。
按照网格单元之间的连接关系,CFD计算网格可以分为结构网格和非结构网格两类。其中结构网格内部网格点的相邻点数是固定的,而非结构网格内部网格点的相邻点数数变化的。相比非结构网格,结构网格具有连接关系简单、分辨率高和网格质量好等优点,一直是CFD模拟中使用的主要网格类型。
目前结构网格数据存储主要有Gridgen、Plot3D、CGNS和Tecplot等格式,存储方式有文本和二进制两种类型。这些网格数据存储格式均采用存储全部几何数据的方式,数据存储量庞大,随着CFD数值模拟精细度的增加,网格规模逐渐增大,当前文件存储格式给网格数据的存储及传输均带来很大压力。例如单块1000万单元的结构网格,采用双精度Plot3D格式,二进制类型存储约占用228Mb空间,文本类型存储约占用700Mb空间,而优化设计、非定常模拟、载荷分析中涉及的大量计算状态,将给网格数据的文件存储带来更大挑战,存储单元的反复访问将加速存储硬件的老化,带来数据丢失风险,导致存储成本急剧增加。
发明内容
在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,该概述并不是关于本发明的穷举性概述,它并非意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为后文的具体实施方式部分的铺垫。
本发明针对目前采用全部几何数据存储格式引起的存储和传输危机,以及由此带来的存储成本增加问题,本发明依据结构网格多数基于面信息数据代数插值生成的行业现状,提出一种多块结构网格数据压缩存储与解压缩方法,通过提取单块结构网格的逻辑面信息和逻辑面几何数据,对原始网格的几何数据进行编码压缩,然后存储网格逻辑面信息和逻辑面几何数据,降低网格数据的存储空间,待使用网格时,再利用对应的解压缩方法,无损恢复出全部的网格几何数据,存储空间小,存储效率高。
本发明首先提供一种多块结构网格数据压缩存储方法,包括:
步骤100:从未压缩的网格数据文件读取或计算机内存中提取多块结构网格的块信息和网格几何数据,其中块信息包含网格块数量nblocknum
步骤200:将步骤100中获取的网格块数量nblocknum输出到压缩文件;
步骤300:利用步骤100获取的块信息,提取单个网格块6个逻辑面的逻辑面信息;
步骤400:利用步骤100获取的网格几何数据,提取所述单个网格块6个逻辑面的逻辑面几何数据;
步骤500:将步骤300中单个网格块6个逻辑面的逻辑面信息、步骤400中单个网格块6个逻辑面的逻辑面几何数据依次输出至压缩文件,完成单个网格块逻辑面信息和逻辑面几何数据的输出;
步骤600:重复步骤300~步骤500,完成多块结构网格全部网格块逻辑面信息和逻辑面几何数据的输出,生成多块结构网格的压缩存储文件。
作为一种改进,步骤100中,块信息指网格块数量nblocknum、每个网格块3个逻辑方向上的网格点数量NIi、NJi、NKi,网格几何数据指所有网格块中网格点的三维空间坐标
Figure BDA0002721638680000021
其中i表示网格块的序号,范围为1~nblocknum,I、J、K表示3个逻辑方向上的网格点序号,I∈[1,NIi]、J∈[1,NJi]、K∈[1,NKi]。
作为一种改进,步骤300中,所述逻辑面信息,即该网格块每个逻辑面在2个逻辑方向上的网格点数量,共有6个信息,由3种类型(NIis,NJis)、(NIis,NKis)、(NJis,NKis)组成,下标is中i表示网格块的序号,s表示逻辑面的序号。
作为一种改进,步骤400中,所述逻辑面几何数据,即该网格块每个逻辑面上网格点的三维空间坐标
Figure BDA0002721638680000031
上标is中i表示网格块的序号,范围为1~nblocknum,s表示逻辑面的序号,范围为1~6;I、J、K表示3个逻辑方向上的网格点序号,I∈[1,NIi]、J∈[1,NJi]、K∈[1,NKi]。
本发明进一步提供一种多块结构网格数据解压缩方法,包括:
步骤1000:读取多块结构网格数据的压缩存储文件,获取网格块数量nblocknum,所述多块结构网格数据的压缩存储文件采用前述的数据压缩存储方法而生成;
步骤2000:读取多块结构网格数据的压缩存储文件,依次获取每个网格块的逻辑面信息和逻辑面几何数据,所述多块结构网格数据的压缩存储文件采用前述的数据压缩存储方法而生成;
步骤3000:根据单个网格块6个逻辑面的逻辑面信息,恢复出单个网格块的块信息;
步骤4000:根据单个网格块6个逻辑面的逻辑面几何数据,恢复出单个网格块的网格几何数据;
步骤5000:重复步骤3000~步骤4000,恢复出该多块结构网格的块信息和网格几何数据;
步骤6000:重构出原始多块结构网格数据,生成多块结构网格的解压缩文件。
作为一种改进,步骤4000中,单个网格块的网格几何数据即单个网格块所有网格点的三维空间坐标
Figure BDA0002721638680000032
其中i表示网格块的序号,I、J、K表示3个逻辑方向上的网格点序号,I的范围为1~NIi,J的范围为1~NJi,K的范围为1~NKi,单个网格块的网格几何数据由式(1)得到,
Figure BDA0002721638680000033
其中v,u为中间坐标矢量,
Figure BDA0002721638680000034
为空间网格的中间控制网格。
本发明还提供一种多块结构网格数据压缩存储装置,用于执行前述的数据压缩存储方法,其特征在于,包括:
获取模块,用于从未压缩的网格数据文件读取或计算机内存中提取多块结构网格的块信息和网格几何数据;
第一输出模块,用于将获取的网格块数量nblocknum输出到文件;
第一提取模块,用于根据读取或提取的块信息,提取网格块6个逻辑面的逻辑面信息;
第二提取模块,用于根据读取或提取的网格几何数据,提取所述网格块6个逻辑面的逻辑面几何数据;
第二输出模块,用于将网格块6个逻辑面的逻辑面信息、逻辑面几何数据依次输出至压缩文件,生成多块结构网格的压缩存储文件。
本发明还提供一种多块结构网格数据解压缩装置,用于执行前述的数据解压缩方法,其特征在于,包括:
第一读取模块,用于读取多块结构网格数据的压缩存储文件,获取网格块数量nblocknum
第二读取模块,用于读取多块结构网格数据的压缩存储文件,依次获取每个网格块的逻辑面信息和逻辑面几何数据;
第一恢复模块,用于根据网格块6个逻辑面的逻辑面信息,恢复出网格块的块信息;
第二恢复模块,用于根据网格块6个逻辑面的逻辑面几何数据,恢复出网格块的网格几何数据;
重构模块,用于重构出原始多块结构网格数据,生成多块结构网格的解压缩文件。
本发明又提供一种数据压缩存储设备,包括:
至少一个处理器;
至少一个存储器,其上存储有可由所述处理器运行的计算机程序;并且
所述处理器运行所述计算机程序时执行前述的数据压缩存储方法,或者执行前述的数据解压缩方法。
本发明最后提供一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器运行时执行前述的数据压缩存储方法,或者前述的数据解压缩方法。
有益效果:本发明通过网格逻辑面信息和逻辑面几何数据对多块结构网格数据进行编码压缩存储,可以将千万单元量级多块结构网格数据存储空间压缩至目前的10%以内,且随着网格单元数量增加,压缩比将非线性增长,能够显著提高多块结构网格的存储效率,降低网格数据传输的带宽需求。具体而言:
1.本发明仅存储多块结构网格的网格块数量、每个网格块逻辑面信息及逻辑面几何数据,实现多块结构网格数据的压缩存储,能大大降低网格数据的存储空间,所需存储空间非常小,将减缓CFD计算中因反复访问存储单元导致存储硬件失效的压力;
2.本发明利用多块结构网格的压缩存储数据,恢复出多块结构网格的每个网格块在逻辑方向的网格点数量,实现多块结构网格数据的解压缩无损恢复;
3.本发明利用多块结构网格的压缩存储数据,采用TFI算法,计算出多块结构网格所有网格点的三维空间坐标,实现多块结构网格数据的解压缩无损恢复,能够有效避免数据失真问题,并提供高分辨率的CFD计算网格。
当然,本发明具有如上诸多优点,但这并不意味着实施本发明的方法、产品需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书附图的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容涵盖的范围内。
图1为本发明一种实施方式多块结构网格数据压缩存储方法流程图;
图2为本发明一种实施方式多块结构网格数据解压缩方法流程图;
图3为本发明一种实施方式多块结构网格总体构造示意图;
图4为本发明一种实施方式多块结构网格的网格块1构造示意图;
图5为图4网格块1的6个逻辑面的构造示意图;
图6为本发明一种实施方式多块结构网格的网格块2构造示意图;
图7为图6网格块2的6个逻辑面的构造示意图;
图8为本发明一种实施方式多块结构网格的网格块3构造示意图;
图9为图8网格块3的6个逻辑面的构造示意图;
图10为不同规模下单块结构网格压缩效果图。
其中:
1代表网格块一;11代表网格块1的左逻辑面;12代表网格块1的右逻辑面;13代表网格块1的后逻辑面;14代表网格块1的前逻辑面;15代表网格块1的上逻辑面;16代表网格块1的下逻辑面;
2代表网格块二;21代表网格块2的左逻辑面;22代表网格块2的右逻辑面;23代表网格块2的后逻辑面;24代表网格块2的前逻辑面;25代表网格块2的上逻辑面;26代表网格块2的下逻辑面;
3代表网格块三;31代表网格块3的左逻辑面;32代表网格块3的右逻辑面;33代表网格块3的后逻辑面;34代表网格块3的前逻辑面;35代表网格块3的上逻辑面;36代表网格块3的下逻辑面;
I、J、K分别代表多块结构网格的三个逻辑方向;
Figure BDA0002721638680000061
表示网格块1中的网格点;
Figure BDA0002721638680000062
表示网格块2中的网格点;
Figure BDA0002721638680000063
表示网格块3中的网格点。
具体实施方式
在下面的详细描述中,通过示例阐述了本发明的许多具体细节,以便提供对相关披露的透彻理解。然而,对于本领域的普通技术人员来讲,本发明显而易见的可以在没有这些细节的情况下实施。
应当理解的是,本发明中使用“系统”、“装置”、“单元”和/或“模块”术语,是用于区分在顺序排列中不同级别的不同部件、元件、部分或组件的一种方法。然而,如果其他表达式可以实现相同的目的,这些术语可以被其他表达式替换。术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性;“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
如图1所示,本发明描述了一种多块结构网格数据压缩存储方法,包括:
步骤100:从未压缩的网格数据文件读取或计算机内存中提取多块结构网格的块信息和网格几何数据,具体可以通过编写计算机程序代码来实现对多块结构网格的块信息和网格几何数据的读取和提取,其中块信息包含网格块数量nblocknum
步骤200:将步骤100中获取的网格块数量nblocknum输出到文件,例如可记录数据的计算机系统虚拟文件;
步骤300:利用步骤100获取的块信息,提取单个网格块6个逻辑面的逻辑面信息,具体可以通过编写计算机程序代码来实现对逻辑面信息的提取;
步骤400:利用步骤100获取的网格几何数据,提取所述单个网格块6个逻辑面的逻辑面几何数据,具体可以通过编写计算机程序代码来实现对逻辑面几何数据的提取;
步骤500:将步骤300中单个网格块6个逻辑面的逻辑面信息、步骤400中单个网格块6个逻辑面的逻辑面几何数据依次输出至压缩文件,完成单个网格块逻辑面信息和逻辑面几何数据的输出;
步骤600:重复步骤300~步骤500,完成多块结构网格全部网格块逻辑面信息和逻辑面几何数据的输出,生成多块结构网格数据的压缩存储文件。
如图2所示,本发明还描述了一种多块结构网格数据解压缩方法,包括:
步骤1000:读取多块结构网格数据的压缩存储文件,获取网格块数量nblocknum,所述多块结构网格数据的压缩存储文件采用前述的数据压缩存储方法而生成;
步骤2000:读取多块结构网格数据的压缩存储文件,依次获取每个网格块的逻辑面信息和逻辑面几何数据,所述多块结构网格数据的压缩存储文件采用前述的数据压缩存储方法而生成;
步骤3000:根据单个网格块6个逻辑面的逻辑面信息,恢复出单个网格块的块信息;
步骤4000:根据单个网格块6个逻辑面的逻辑面几何数据,恢复出单个网格块的网格几何数据;
步骤5000:重复步骤3000~步骤4000,恢复出该多块结构网格的块信息和网格几何数据;
步骤6000:重构出原始多块结构网格数据,生成多块结构网格的解压缩文件。
本发明提出一种多块结构网格数据压缩存储与解压缩方法,通过提取单块结构网格的逻辑面信息和逻辑面几何数据,对原始网格的几何数据进行编码压缩,然后存储网格逻辑面信息和逻辑面几何数据,降低网格数据的存储空间,待使用网格时,再利用对应的解压缩方法,无损恢复出全部的网格几何数据。
下面结合图3~图9,对某多块结构网格具体的压缩存储和解压缩方案进行阐述。
第一步,如图3所示,图3表示包含3个网格块的多块结构网格,通过读取未压缩的网格文件或计算机内存数据,获得多块结构网格的块信息和网格几何数据。
本例中,多块结构网格的块信息组成为网格块数量nblocknum(值为3),网格块1在逻辑方向I、J、K上的网格点数量NI1、NJ1、NK1,网格块2在逻辑方向I、J、K上的网格点数量NI2、NJ2、NK2,网格块3在逻辑方向I、J、K上的网格点数量NI3、NJ3、NK3;多块结构网格几何数据包括3个网格块中网格点的三维空间坐标
Figure BDA0002721638680000081
Figure BDA0002721638680000082
第二步,将第一步获得的多块结构网格的网格块数量nblocknum的值3输出到指导后缀(比如gzip)的压缩文件中;
第三步,利用第一步获得的块信息,提取网格块1的6个逻辑面11、12、13、14、15、16的逻辑面信息,如图4所示,具体组成为逻辑面11在逻辑方向J、K上的网格点数量NJ11(值为NJ1)、NK11(值为NK1),逻辑面12在逻辑方向J、K上的网格点数量NJ12(值为NJ1)、NK12(值为NK1),逻辑面13在逻辑方向I、K上的网格点数量NI13(值为NI1)、NK13(值为NK1),逻辑面14在逻辑方向I、K上的网格点数量NI14(值为NI1)、NK14(值为NK1),逻辑面15在逻辑方向I、J上的网格点数量NI15(值为NI1)、NJ15(值为NJ1),逻辑面16在逻辑方向I、J上的网格点数量NI16(值为NI1)、NJ16(值为NJ1);
第四步,如图5所示,利用第一步获得的几何数据,提取出网格块1的6个逻辑面的逻辑面几何数据,包括在逻辑面11上网格点的三维空间坐标
Figure BDA0002721638680000083
(I=1;J=1,2,…,NJ11;K=1,2,…,NK11),在逻辑面12上网格点的三维空间坐标
Figure BDA0002721638680000084
(I=NI1;J=1,2,…,NJ12;K=1,2,…,NK12),在逻辑面13上网格点的三维空间坐标
Figure BDA0002721638680000085
(I=1,2,…,NI13;J=NJ1;K=1,2,…,NK13),在逻辑面14上网格点的三维空间坐标
Figure BDA0002721638680000086
(I=1,2,…,NI14;J=1;K=1,2,…,NK14),在逻辑面15上网格点的三维空间坐标
Figure BDA0002721638680000087
(I=1,2,…,NI15;J=1,2,…,NJ15;K=NK1),在逻辑面16上网格点的三维空间坐标
Figure BDA0002721638680000088
(I=1,2,…,NI16;J=1,2,…,NJ16;K=1);
第五步,将第三步提取的网格块1逻辑面信息,第四步提取的网格块1逻辑面几何数据,按照次序NJ11、NK11
Figure BDA0002721638680000091
NJ12、NK12
Figure BDA0002721638680000092
NI13、NK13
Figure BDA0002721638680000093
NI14、NK14
Figure BDA0002721638680000094
NI15、NJ15
Figure BDA0002721638680000095
NI16、NJ16
Figure BDA0002721638680000096
输出到压缩文件;
第六步:参照第三步~第五步,提取出网格块2的逻辑面信息,如图6所示,包括NJ21、NK21,NJ22、NK22,NI23、NK23,NI24、NK24,NI25、NJ25,NI26、NJ26;提取出网格块2的逻辑面几何数据,如图7所示,包括
Figure BDA0002721638680000097
(I=1;J=1,2,…,NJ21;K=1,2,…,NK21),
Figure BDA0002721638680000098
(I=NI2;J=1,2,…,NJ22;K=1,2,…,NK22),
Figure BDA0002721638680000099
(I=1,2,…,NI23;J=NJ2;K=1,2,…,NK23),
Figure BDA00027216386800000910
(I=1,2,…,NI24;J=1;K=1,2,…,NK24),
Figure BDA00027216386800000911
(I=1,2,…,NI25;J=1,2,…,NJ25;K=NK2),
Figure BDA00027216386800000912
(I=1,2,…,NI26;J=1,2,…,NJ26;K=1);按照次序NJ21、NK21
Figure BDA00027216386800000913
NJ22、NK22
Figure BDA00027216386800000914
NI23、NK23
Figure BDA00027216386800000915
NI24、NK24
Figure BDA00027216386800000916
NI25、NJ25
Figure BDA00027216386800000917
NI26、NJ26
Figure BDA00027216386800000918
输出网格块2的逻辑面信息和逻辑面几何数据到压缩文件;
第七步:同样参照第三步~第五步,提取出图8网格块3的逻辑面信息;提取出图9网格块3的逻辑面几何数据;按照次序NJ31、NK31
Figure BDA00027216386800000919
NJ32、NK32
Figure BDA00027216386800000920
NI33、NK33
Figure BDA00027216386800000921
NI34、NK34
Figure BDA00027216386800000922
NI35、NJ35
Figure BDA00027216386800000923
I36、NJ36
Figure BDA00027216386800000924
输出网格块3的逻辑面信息和逻辑面几何数据到压缩文件;
第八步:基于第二、五、六、七步的输出结果,得到多块结构网格数据的压缩存储文件;
下面接着继续对压缩存储文件的解压缩方法进行阐述:
第九步:读取第八步生成的多块结构网格数据的压缩存储文件,获取网格块的数量nblock(值为3);
第十步:读取第八步生成的压缩存储文件,依次获取3个网格块的逻辑面信息和逻辑面几何数据,即NJi1、NKi1
Figure BDA00027216386800000925
NJi2、NKi2
Figure BDA00027216386800000926
NIi3、NKi3
Figure BDA00027216386800000927
NIi4、NKi4
Figure BDA00027216386800000928
NIi5、NJi5
Figure BDA00027216386800000929
NIi6、NJi6
Figure BDA00027216386800000930
(i=1,2,…,nblock);
第十一步:根据网格块1的6个逻辑面信息,恢复出网格块1的块信息,即提取出网格块1在逻辑方向I、J、K上分别对应的网格点数量NI1、NJ1、NK1
第十二步:根据网格块1的6个逻辑面几何数据
Figure BDA0002721638680000101
利用TFI恢复出网格块1所有网格点的三维空间坐标,
Figure BDA0002721638680000102
其中v,u为中间坐标矢量,
Figure BDA0002721638680000103
为网格块1空间网格的中间控制网格,有关TFI方法可以参考相关文献;
第十三步:循环第十一~十二步,恢复出网格块2的NI2、NJ2、NK2
Figure BDA0002721638680000104
网格块3的NI3、NJ3、NK3
Figure BDA0002721638680000105
第十四步:重构出原始多块结构网格数据,生成多块结构网格的解压缩文件。
继续参见图10,图10给出了不同规模下单块结构网格压缩效果曲线图,纵坐标表示压缩比λ,横坐标表示棱线总网格点数量Ntotal,case01-03分别表示三种不同分布的单块结构网格。从图中可明显看出,千万量级单元单块结构网格的压缩比在30左右,并且随着总网格点数量在呈数量级增加时,所能够获得的压缩比将会大幅提升,说明本发明提供的方法可以获得较高的压缩比和良好的压缩效果,能够大幅降低结构网格存储文件占用的磁盘空间大小。
至此,通过以上阐述,本发明已做了充分详尽地公开,并且本发明具有如下特点和优势:
1.本发明仅存储多块结构网格的网格块数量、每个网格块逻辑面信息及逻辑面几何数据,实现多块结构网格数据的压缩存储,能大大降低网格数据的存储空间,所需存储空间非常小,将减缓CFD计算中因反复访问存储单元导致存储硬件失效的压力;
2.本发明利用多块结构网格的压缩存储数据,恢复出多块结构网格的每个网格块在逻辑方向的网格点数量;
3.本发明利用多块结构网格的压缩存储数据,采用TFI算法,计算出多块结构网格所有网格点的三维空间坐标,实现多块结构网格数据的解压缩无损恢复,能够有效避免数据失真问题,并提供高分辨率的CFD计算网格。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

Claims (10)

1.一种多块结构网格数据压缩存储方法,其特征在于,包括:
步骤100:从未压缩的网格数据文件读取或计算机内存中提取多块结构网格的块信息和网格几何数据,其中块信息包含网格块数量nblocknum
步骤200:将步骤100中获取的网格块数量nblocknum输出到压缩文件;
步骤300:利用步骤100获取的块信息,提取单个网格块6个逻辑面的逻辑面信息;
步骤400:利用步骤100获取的网格几何数据,提取所述单个网格块6个逻辑面的逻辑面几何数据;
步骤500:将步骤300中单个网格块6个逻辑面的逻辑面信息、步骤400中单个网格块6个逻辑面的逻辑面几何数据依次输出至压缩文件,完成单个网格块逻辑面信息和逻辑面几何数据的输出;
步骤600:重复步骤300~步骤500,完成多块结构网格全部网格块逻辑面信息和逻辑面几何数据的输出,生成多块结构网格的压缩存储文件。
2.如权利要求1所述的数据压缩存储方法,其特征在于,步骤100中,块信息指网格块数量nblocknum、每个网格块3个逻辑方向上的网格点数量NIi、NJi、NKi,网格几何数据指所有网格块中网格点的三维空间坐标
Figure FDA0002721638670000011
其中i表示网格块的序号,范围为1~nblocknum,I、J、K表示3个逻辑方向上的网格点序号,I∈[1,NIi]、J∈[1,NJi]、K∈[1,NKi]。
3.如权利要求1所述的数据压缩存储方法,其特征在于,步骤300中,所述逻辑面信息,即该网格块每个逻辑面在2个逻辑方向上的网格点数量,共有6个信息,由3种类型(NIis,NJis)、(NIis,NKis)、(NJis,NKis)组成,下标is中i表示网格块的序号,s表示逻辑面的序号。
4.如权利要求1所述的数据压缩存储方法,其特征在于,步骤400中,所述逻辑面几何数据,即该网格块每个逻辑面上网格点的三维空间坐标
Figure FDA0002721638670000012
上标is中i表示网格块的序号,范围为1~nblocknum,s表示逻辑面的序号,范围为1~6;I、J、K表示3个逻辑方向上的网格点序号,I∈[1,NIi]、J∈[1,NJi]、K∈[1,NKi]。
5.一种多块结构网格数据解压缩方法,其特征在于,包括:
步骤1000:读取多块结构网格数据的压缩存储文件,获取网格块数量nblocknum,所述多块结构网格数据的压缩存储文件采用如权利要求1~4中任一项所述的数据压缩存储方法而生成;
步骤2000:读取多块结构网格数据的压缩存储文件,依次获取每个网格块的逻辑面信息和逻辑面几何数据,所述多块结构网格数据的压缩存储文件采用如权利要求1~4中任一项所述的数据压缩存储方法而生成;
步骤3000:根据单个网格块6个逻辑面的逻辑面信息,恢复出单个网格块的块信息;
步骤4000:根据单个网格块6个逻辑面的逻辑面几何数据,恢复出单个网格块的网格几何数据;
步骤5000:重复步骤3000~步骤4000,恢复出该多块结构网格的块信息和网格几何数据;
步骤6000:重构出原始多块结构网格数据,生成多块结构网格的解压缩文件。
6.如权利要求5所述的数据解压缩方法,其特征在于,步骤4000中,单个网格块的网格几何数据即单个网格块所有网格点的三维空间坐标
Figure FDA0002721638670000021
其中i表示网格块的序号,I、J、K表示3个逻辑方向上的网格点序号,I的范围为1~NIi,J的范围为1~NJi,K的范围为1~NKi,单个网格块的网格几何数据由式(1)得到,
Figure FDA0002721638670000022
其中v,u为中间坐标矢量,
Figure FDA0002721638670000023
为空间网格的中间控制网格。
7.一种多块结构网格数据压缩存储装置,用于执行如权利要求1~4中任一项所述的数据压缩存储方法,其特征在于,包括:
获取模块,用于从未压缩的网格数据文件读取或计算机内存中提取多块结构网格的块信息和网格几何数据;
第一输出模块,用于将获取的网格块数量nblocknum输出到文件;
第一提取模块,用于根据读取或提取的块信息,提取网格块6个逻辑面的逻辑面信息;
第二提取模块,用于根据读取或提取的网格几何数据,提取所述网格块6个逻辑面的逻辑面几何数据;
第二输出模块,用于将网格块6个逻辑面的逻辑面信息、逻辑面几何数据依次输出至压缩文件,生成多块结构网格的压缩存储文件。
8.一种多块结构网格数据解压缩装置,用于执行如权利要求5~6中任一项所述的数据解压缩方法,其特征在于,包括:
第一读取模块,用于读取多块结构网格数据的压缩存储文件,获取网格块数量nblocknum
第二读取模块,用于读取多块结构网格数据的压缩存储文件,依次获取每个网格块的逻辑面信息和逻辑面几何数据;
第一恢复模块,用于根据网格块6个逻辑面的逻辑面信息,恢复出网格块的块信息;
第二恢复模块,用于根据网格块6个逻辑面的逻辑面几何数据,恢复出网格块的网格几何数据;
重构模块,用于重构出原始多块结构网格数据,生成多块结构网格的解压缩文件。
9.一种数据压缩存储设备,其特征在于,包括:
至少一个处理器;
至少一个存储器,其上存储有可由所述处理器运行的计算机程序;并且
所述处理器运行所述计算机程序时执行如权利要求1~4任一项所述的数据压缩存储方法,或者执行如权利要求5~6任一项所述的数据解压缩方法。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器运行时执行如权利要求1~4任一项所述的数据压缩存储方法,或者执行如权利要求5~6任一项所述的数据解压缩方法。
CN202011089846.9A 2020-10-13 2020-10-13 多块结构网格数据压缩存储方法、解压缩方法及装置 Active CN112162957B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011089846.9A CN112162957B (zh) 2020-10-13 2020-10-13 多块结构网格数据压缩存储方法、解压缩方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011089846.9A CN112162957B (zh) 2020-10-13 2020-10-13 多块结构网格数据压缩存储方法、解压缩方法及装置

Publications (2)

Publication Number Publication Date
CN112162957A true CN112162957A (zh) 2021-01-01
CN112162957B CN112162957B (zh) 2022-05-27

Family

ID=73866702

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011089846.9A Active CN112162957B (zh) 2020-10-13 2020-10-13 多块结构网格数据压缩存储方法、解压缩方法及装置

Country Status (1)

Country Link
CN (1) CN112162957B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112906314A (zh) * 2021-02-01 2021-06-04 中国空气动力研究与发展中心计算空气动力研究所 多块结构网格数据深度压缩存储与解压缩方法
CN112965947A (zh) * 2021-03-10 2021-06-15 中国空气动力研究与发展中心计算空气动力研究所 多块结构网格数据深度压缩存储格式
CN114398726A (zh) * 2022-03-21 2022-04-26 中国空气动力研究与发展中心计算空气动力研究所 基于辅助网格的内流道截面流场提取方法、设备及介质
CN114444274A (zh) * 2022-01-05 2022-05-06 中国空气动力研究与发展中心计算空气动力研究所 一种从非结构网格中重构原结构网格的方法、介质及装置

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1592363A (zh) * 2003-08-06 2005-03-09 索尼株式会社 图像处理设备、图像处理系统、成像设备和图像处理方法
CN101346883A (zh) * 2005-10-26 2009-01-14 斯多维兹有限公司 用于块模式访问存储的数据压缩的方法和系统
CN102520917A (zh) * 2011-12-15 2012-06-27 杭州电子科技大学 一种三维不可压缩管流的并行化方法
CN105975645A (zh) * 2016-02-26 2016-09-28 西北工业大学 一种基于多步的含激波区域飞行器流场快速计算方法
CN106326514A (zh) * 2015-07-02 2017-01-11 成都金景盛风科技有限公司 模拟小展弦比飞行器不可压缩旋流场的数值方法
CN107784161A (zh) * 2017-09-27 2018-03-09 北京理工大学 一种高速可压缩超空泡流动特性的分析方法
CN107918646A (zh) * 2017-11-08 2018-04-17 珠海百丰网络科技有限公司 一种基于协议方式的三维模型数据处理方法及装置
CN108876923A (zh) * 2018-06-17 2018-11-23 西南石油大学 一种基于岩石微ct图像的三维孔隙尺度模型重建方法
CN109490948A (zh) * 2018-11-16 2019-03-19 西南石油大学 地震声学波动方程矢量并行计算方法
CN109858135A (zh) * 2019-01-25 2019-06-07 西安热工研究院有限公司 一种汽轮机低压通流区长叶片安全性校核的计算方法
US20190238893A1 (en) * 2018-01-30 2019-08-01 Google Llc Compression of occupancy or indicator grids
CN110110158A (zh) * 2019-05-09 2019-08-09 正元地理信息集团股份有限公司 一种三维网格数据的存储空间划分方法及系统
CN110363862A (zh) * 2019-07-15 2019-10-22 叠境数字科技(上海)有限公司 基于人体模板对齐的三维网格序列压缩方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1592363A (zh) * 2003-08-06 2005-03-09 索尼株式会社 图像处理设备、图像处理系统、成像设备和图像处理方法
CN101346883A (zh) * 2005-10-26 2009-01-14 斯多维兹有限公司 用于块模式访问存储的数据压缩的方法和系统
CN102520917A (zh) * 2011-12-15 2012-06-27 杭州电子科技大学 一种三维不可压缩管流的并行化方法
CN106326514A (zh) * 2015-07-02 2017-01-11 成都金景盛风科技有限公司 模拟小展弦比飞行器不可压缩旋流场的数值方法
CN105975645A (zh) * 2016-02-26 2016-09-28 西北工业大学 一种基于多步的含激波区域飞行器流场快速计算方法
CN107784161A (zh) * 2017-09-27 2018-03-09 北京理工大学 一种高速可压缩超空泡流动特性的分析方法
CN107918646A (zh) * 2017-11-08 2018-04-17 珠海百丰网络科技有限公司 一种基于协议方式的三维模型数据处理方法及装置
US20190238893A1 (en) * 2018-01-30 2019-08-01 Google Llc Compression of occupancy or indicator grids
CN108876923A (zh) * 2018-06-17 2018-11-23 西南石油大学 一种基于岩石微ct图像的三维孔隙尺度模型重建方法
CN109490948A (zh) * 2018-11-16 2019-03-19 西南石油大学 地震声学波动方程矢量并行计算方法
CN109858135A (zh) * 2019-01-25 2019-06-07 西安热工研究院有限公司 一种汽轮机低压通流区长叶片安全性校核的计算方法
CN110110158A (zh) * 2019-05-09 2019-08-09 正元地理信息集团股份有限公司 一种三维网格数据的存储空间划分方法及系统
CN110363862A (zh) * 2019-07-15 2019-10-22 叠境数字科技(上海)有限公司 基于人体模板对齐的三维网格序列压缩方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
YAN SUN 等: "A compressing and saving method for structured grid data based on block construction", 《CHINESE JOURNAL OF AERONAUTICS》 *
YAN SUN 等: "A compressing and saving method for structured grid data based on block construction", 《CHINESE JOURNAL OF AERONAUTICS》, 26 October 2021 (2021-10-26), pages 1 - 10 *
洪炳熔 等: "基于细分网格的多分辨率几何数据压缩方法研究", 《高技术通讯》 *
洪炳熔 等: "基于细分网格的多分辨率几何数据压缩方法研究", 《高技术通讯》, no. 8, 28 August 2001 (2001-08-28), pages 44 - 47 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112906314A (zh) * 2021-02-01 2021-06-04 中国空气动力研究与发展中心计算空气动力研究所 多块结构网格数据深度压缩存储与解压缩方法
CN112965947A (zh) * 2021-03-10 2021-06-15 中国空气动力研究与发展中心计算空气动力研究所 多块结构网格数据深度压缩存储格式
CN112965947B (zh) * 2021-03-10 2022-04-01 中国空气动力研究与发展中心计算空气动力研究所 多块结构网格数据深度压缩存储格式
CN114444274A (zh) * 2022-01-05 2022-05-06 中国空气动力研究与发展中心计算空气动力研究所 一种从非结构网格中重构原结构网格的方法、介质及装置
CN114444274B (zh) * 2022-01-05 2023-05-02 中国空气动力研究与发展中心计算空气动力研究所 一种从非结构网格中重构原结构网格的方法、介质及装置
CN114398726A (zh) * 2022-03-21 2022-04-26 中国空气动力研究与发展中心计算空气动力研究所 基于辅助网格的内流道截面流场提取方法、设备及介质

Also Published As

Publication number Publication date
CN112162957B (zh) 2022-05-27

Similar Documents

Publication Publication Date Title
CN112162957B (zh) 多块结构网格数据压缩存储方法、解压缩方法及装置
CN107944556B (zh) 基于块项张量分解的深度神经网络压缩方法
Liang et al. An efficient transformation scheme for lossy data compression with point-wise relative error bound
Di et al. Fast error-bounded lossy HPC data compression with SZ
Schendel et al. ISOBAR preconditioner for effective and high-throughput lossless data compression
CN107682016B (zh) 一种数据压缩方法、数据解压方法及相关系统
JPWO2020190808A5 (zh)
CN113673697A (zh) 基于相邻卷积的模型剪枝方法、装置及存储介质
Di et al. Optimization of error-bounded lossy compression for hard-to-compress HPC data
Di et al. Efficient lossy compression for scientific data based on pointwise relative error bound
Peterka et al. End-to-end study of parallel volume rendering on the ibm blue gene/p
Kaur Design and Implementation of Lzw data compression algorithm
Kumar et al. Efficient I/O and storage of adaptive-resolution data
CN102270262A (zh) 集成电路仿真模拟波形压缩和解压缩方法及装置
Zou et al. Performance optimization for relative-error-bounded lossy compression on scientific data
JP2016521024A (ja) データ量軽減装置
Luo et al. zmesh: Exploring application characteristics to improve lossy compression ratio for adaptive mesh refinement
Banerjee et al. An algorithmic and software pipeline for very large scale scientific data compression with error guarantees
CN111061428B (zh) 一种数据压缩的方法及装置
Banerjee et al. Scalable Hybrid Learning Techniques for Scientific Data Compression
CN112906314B (zh) 多块结构网格数据深度压缩存储与解压缩方法
Paixao et al. Matrix compression methods
CN110021349B (zh) 基因数据的编码方法
Liu et al. A high performance compression method for climate data
Huang et al. Czip: A Fast Lossless Compression Algorithm for Climate Data

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