一种用于计算机数值仿真结果的数据处理方法与流程

文档序号:26051190发布日期:2021-07-27 15:26阅读:104来源:国知局
一种用于计算机数值仿真结果的数据处理方法与流程

本发明涉及计算机数值仿真分析技术领域,特别是指一种用于计算机数值仿真结果的数据处理方法。



背景技术:

计算机数值仿真计算会产生规模巨大的结果数据,结果数据通常按照节点或单元进行分块,每一数据块包含该节点或单元经计算得到的各个物理量的所有数值结果,并以分块方式将结果数据保存于存储设备。由于计算机数值仿真面对的节点及单元数量极多,其产生的结果数据规模极其巨大。

计算机数值仿真分析完成后需要对计算结果进行读取,处理,传输,从而进行图形化展示及其他相关分析。随着远程计算技术的普及以及云计算需求的增长,用户交互设备、仿真控制设备及结果数据存储设备常常分开设置,并通过计算机网络进行数据传输。由于计算机网络带宽及数据流量成本的限制,超大规模仿真结果数据的网络传输,不仅传输时间极长,其所需的网络带宽与网络数据流量开销都将十分巨大。

针对数值仿真结果的图形展示及处理问题,目前主要的方法有两种。

其一,由仿真控制设备将所有需要进行图形展示及分析的节点与单元结果数据从结果数据存储设备取出,直接以浮点数据的方式经由计算机网络传输至用户交互设备,由用户交互设备进行图形渲染及相关分析。该方法的主要问题是:由于待传输数据均为浮点数据,数据规模巨大,对网络带宽及网络流量的需求极大。

其二,由仿真控制设备将所有需要进行图形展示及分析的节点与单元数据从数据存储设备中取出,并直接处理为图形数据,再将图形数据经由计算机网络传输至用户交互设备,并由用户交互设备对图形数据进行直接渲染。该方法的主要问题是:仿真控制设备需执行不间断的图形渲染计算及用户交互响应,极大加重了仿真控制设备的负担。



技术实现要素:

本发明的主要目的在于克服现有技术中的上述缺陷,提出一种用于计算机数值仿真结果的数据处理方法,由于计算机数值仿真得到的结果数据体积往往会达到数gb甚至数百gb,本发明在保证足够数值精度的条件下大量使用整型数据替换原有的浮点型数据,极大地减小了结果数据的体积和规模。这一方面较大幅度降低了储存数值仿真计算结果数据所需的存储设备开销,更降低了通过计算机网络进行结果数据传输所需的带宽和传输数据量。传输数据的降低,不但节约了系统运行带来的网络资源开销,也减少了用户通过计算机网络获取仿真结果数据所需的等待时间,提高了用户体验。

一种用于计算机数值仿真结果的数据处理方法,包括如下步骤:

读取计算机数值仿真结果;

对计算机数值仿真结果中的单物理量仿真结果进行处理,得到单物理量结果数据块;

根据结果数值的具体分布情况选用不同的表达模式,将单物理量结果数据块处理为特定数据格式下的单物理量结果数据块;

将特定格式下的单物理量结果数据块进行合并,得到多物理量仿真结果;

将多物理量仿真结果进行传输和接收;

将接收到的多物理量仿真结果进行拆分得到单物理量结果数据块,并进行解析,得到单物理量仿真结果;

将单物理量仿真结果进行渲染。

具体地,对计算机数值仿真结果中的单物理量仿真结果进行处理,得到单物理量结果数据块,具体包括:

取得单物理量结果数值集合的最小值与最大值及其他数据形成头数据块;

依据结果分段方式和分段参数将单物理量结果数值划分为多个带编号的数值区间段;

扫描对应物理量状态下所有节点或单元的结果数值,取得该结果数值所在的数值区间段编号及相关参数,形成每个节点或单元对应的单块数据;

汇总所有节点或单元结果数值对应的单块数据形成结果数据块;

将头数据块与结果数据块组合成为单物理量结果数据块。

具体地,所述单物理量结果数据块具体为:

单物理量结果数据块至少包含有:头数据块及结果数据块;

头数据块至少包含有:结果数值最大值、结果数值最小值及结果分段参数集合;

结果数据块包含数量众多的单块数据,用以传输所选节点或单元的结果;

单块数据由数据类型标记及数据体组成,其中数据类型标记为可选项,数据体为必需项。

具体地,根据结果数据数值分布的实际情况,单物理量结果数据块可以表现为不同表达模式,特定模式下的单物理量结果数据块表现为特定的数据格式。所述不同的表达模式,具体包括:简单分段模式,局部加密模式,混合数据模式以及瞬态数据模式。

具体地,简单分段模式下取得单物理量结果数据块的具体过程包括:

将单物理量结果数据块中最小值至最大值的数值区间按照结果数值的分布情况划分为多个总体区间段及从小到大顺序平均分布的总体数值点集合,并形成头数据块;

取与未处理结果数据最近的总体数值点,用最近总体数值点的数值代表单物理量结果的实际数值,保存最近总体数值点在总体数值点集合中的顺序编号至数据体,忽略数据类型标记,直接形成单块数据;

组合所有单块数据形成结果数据块,与所述头数据块连接,形成单物理量结果数据块。

具体地,局部加密模式下取得单物理量结果数据块的具体过程包括:

对所述总体区间段中结果数值分布较为紧密的一个或数个区间段的进行再次细分,形成一个或数个细分区间段及在细分区间段中从小到大顺序平均分布的细分数值点集合,同时形成头数据块;

取与未处理结果数据最近的总体数值点或细分数值点,用最近数值点的数值代表单物理量结果的实际数值,若选取数值点为所述总体数值点,数据类型标记取标识总体数据类型的某一特定数值,数据体为总体数值点在总体数值点集合中的顺序编号,若选取数值点为细分数值点,数据类型标记取代表数值点所在的细分区间所处编号的某一数值,数据体为数值点在所述细分数值点集合中的顺序编号,连接数据类型标记与数据体形成单块数据;

组合所有单块数据形成结果数据块,与所述头数据块连接,形成单物理量结果数据块;

具体地,在简单分段模式与局部加密模式基础上,对精度要求较高的数值点,直接使用浮点数表达结果数值,形成混合数据模式,模式中依赖的原有数据表达模式称为基础数据模式。

混合数据模式下,当待处理结果数据对精度要求较高时,数据类型标记取代表浮点类型数据的某一特定数值,数据体为浮点数,用以精确表达结果数值,并连接形成单块数据。

具体地,当结果数据为随时间变化的一系列数据的组合时,可使用瞬态数据模式。

瞬态数据模式下的结果数据处理过程具体包括:

在头数据块中添加代表时间序列的一维数组,分别代表各时刻的具体时间数值;

将头数据块中的结果数据最小值及最大值扩展为一维数组,分别代表对应时刻上结果数据的最小值及最大值集合,将区间细分列表扩展为二维数组,用以传输对应时间序列上需进行细分的区间分段编号集合;

对结果数据块进行扩展,构建各时刻的时刻结果数据列表,并分别包含多个单块数据;

各时刻结果数据自成体系,由特定时刻的结果数值最小值、最大值,该时刻区间细分列表及时刻结果数据列表分别进行表达。

具体地,将接收到的多物理量仿真结果进行拆分得到单物理量结果数据块,并进行解析,得到单物理量仿真结果,具体为:

从单物理量结果数据块中取得头数据块及结果数据块;

从头数据块中取得单物理量结果的最小值与最大值及相关分段参数;

依据取得的结果分段参数生成顺序排列的单物理量结果数值区间段集合;

在结果数据块中取得所有节点或单元的单块数据;

扫描所有结果数据块,结合结果数值区间段集合求取所有节点或单元的单物理量结果估计值。

由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:

本发明提出一种用于计算机数值仿真结果的数据处理方法,由于计算机数值仿真得到的结果数据体积往往会达到数gb甚至数百gb,本发明在保证足够数值精度的条件下大量使用整型数据替换原有的浮点型数据,极大地减小了结果数据的体积和规模。这一方面较大幅度降低了储存数值仿真计算结果数据所需的存储设备开销,更降低了通过计算机网络进行结果数据传输所需的带宽和传输数据量。传输数据的降低,不但节约了系统运行带来的网络资源开销,也减少了用户通过计算机网络获取仿真结果数据所需的等待时间,提高了用户体验。

附图说明

图1本发明实施例用于计算机数值仿真结果传输的数据处理方法流程图;

图2本发明实施例完整结果数据块的示意图;

图3本发明实施例简单分段模式下的结果数值的处理方法;

图4本发明实施例局部加密模式下的结果数据块的示意图;

图5本发明实施例局部加密模式下的结果数值的处理方法;

图6本发明实施例瞬态数据模式下的结果数据块的示意图;

图7本发明实施例瞬态数据模式下的进行扩展后的结果数据块的示意图;

以下结合附图和具体实施例对本发明作进一步详述。

具体实施方式

本发明采用如下技术方案:

如图1,一种用于计算机数值仿真结果的数据处理方法流程图,包括如下步骤:

s101:读取计算机数值仿真结果;

s102:对计算机数值仿真结果中的单物理量仿真结果进行处理,得到单物理量结果数据块;

具体地,对计算机数值仿真结果中的单物理量仿真结果进行处理,得到单物理量结果数据块,具体包括:

取得单物理量结果数值集合的最小值与最大值及其他数据形成头数据块;

依据结果分段方式和分段参数将单物理量结果数值划分为多个带编号数值区间段;

扫描对应物理量状态下所有节点或单元结果数值取得该结果数值所在的数值区间段编号及相关参数,形成每个节点或单元对应的单块数据;

汇总所有节点或单元结果数值对应的单块数据形成结果数据块;

将头数据块与结果数据块组合成为单物理量结果数据块。

所述单物理量结果数据块具体为:

单物理量结果数据块至少包含有:头数据块及结果数据块;

头数据块至少包含有:结果数值最大值、结果数值最小值及结果分段参数集合;

结果数据块包含数量众多的单块数据,用以表达所选节点或单元的结果;

单块数据由数据类型标记及数据体组成,其中数据类型标记为可选项,数据体为必需项。

本发明实施例中使用大量整数类型数据替换原有浮点类型仿真结果数值,在保证结果精度的条件下,通过舍弃一部分数值精度大幅降低结果数据规模,实现结果数据的高速传输,多数条件下数据体为整数类型数据,在需要精确传输时数据体也可为浮点类型数据。

s103:根据结果数值的具体分布情况选用不同的表达模式,将单物理量结果数据块处理为特定数据格式下的单物理量结果数据块;

本发明提供的用于计算机数值仿真结果传输的数据格式,包含以下主要组成部分:

(1)如图2为完整结果数据块的示意图,完整结果数据块1为数据格式的主体,包含了所有需要进行结果分析及图形化展示的所有物理量、所有q个节点或单元的仿真结果数据;

(2)完整结果数据块1为二进制数据块,用于仿真结果数据的传输,仿真结果显示设备在收到该数据块,解析后即可直接进行仿真结果的图形化展示及其他分析;

(3)完整结果数据块1,包含若干独立的单物理量结果数据块11,单物理量结果数据块11包含某一类型物理量的所有节点或单元的仿真结果数据;

(4)单物理量结果数据块11,至少应包含:头数据块12及结果数据块13;

(5)头数据块12至少应包含:结果数据最小值、结果数据最大值及结果分段参数;

(6)结果数据块13包含q个单块数据14,每个单块数据14包含单一节点或单元的单一物理量结果数据;

(7)单块数据14为由数据类型标记15与数据体16组成的二进制字节串,其中数据类型标记15用于标记数据体类型,解析类型标记15可获取数据体16的数据类型和字节数;

根据结果数值的具体分布情况可选用不同的表达模式,将单物理量结果数据块处理为特定数据格式下的单物理量结果数据块,所述不同的表达模式,具体包括:简单分段模式,局部加密模式,混合数据模式以及瞬态数据模式。

具体地,简单分段模式下可采用平均划分的方式取得单物理量结果数据块,其具体过程包括:

(1)头数据块12中应包含:结果分段数nr,nr的数值应为2的br次幂整数,其中br为大于1的整数,为保证数据不失真,br应大于5;

(2)单块数据14中不包含数据类型标记15;

(3)数据体16为整数r,取值范围为0至nr-1,用以表达该节点或单元的结果数值的分段位置;

(4)单块数据14表达为由br个bit组成的二进制字节串;

(5)简单分段模式的结果数值表达方法如图3所示,该模式下最大值max与最小值min之间的数值被平均分割为nr-1个区间长度相同的数值区间,区间标记分别为1至nr-1,每个区间长度为db=(max-min)/(nr-1),并形成标记为:0~nr-1的顺序均匀分布的数值点。使用某节点或单元的单块数据14的数据体中包含的整数r即可表达该节点或单元的结果数值的估计值,其数值为r=最小值+r*db。结果估计值r的置信区间为(max-min)/(nr-1)。当nr数值变大时,估计值r的置信区间变小,结果表达精度变高。

简单分段模式还可采用非均匀分段划分方法进行区域划分,此方法下头数据块中应包含具体分段参数,各分段区间的具体计算过程和估计值置信区间的计算依随分段方式的不同而有所变化。

在简单分段模式基础上对结果数据较为密集的区域进行局部加密,形成局部加密模式。局部加密模式下,取得单物理量结果数据块的具体过程包括:

(1)如图4所示,头数据块12中还应包含区间细分表17,区间细分表为以二进制字节串方式表达的整数型数组,数组成员为细分区间编号18,成员数量为nf,细分区间编号18为1~nr-1的整数并通过br个bit组成的二进制字节串进行表达,细分区间编号18的数值用于标记进行细分的区间的编号;

(2)单块数据14为二进制字节串,应至少包含数据类型标记与数据体;

(3)数据类型标记15为0~nf的整数,用于标记该结果数值所处的分段状态,数据类型标记15取值为f,当f等于0时表明该结果数值处于全局数值分段状态,当f为1~nf范围的整数时表明结果数值处于细分状态,且细分分段编号为f;

(4)数据类型标记15以bf个bit组成的二进制字节串进行表达,其数值为rk,bf的取值应使2的bf次幂成为大于等于nf的最小整数;

(5)数据体16为整数r,取值范围为0至nr-1,用以表达该节点或单元的结果数值的分段位置;

(6)单块数据14表达为由(br+bf)个bit组成的二进制字节串;

(7)局部加密模式的结果数值表达方法如图5所示,该模式下选取区间细分表中17包含的nf个细分区间进行细分,选取的细分区间的编号应分别为细分区间表17中包含的各细分区间编号18。取得各待细分区间的细分区间最小值fmin与细分区间最大值fmax,将fmin至fmax之间的数值平均分割为nr-1个区间,每个区间长度等于:(fmax-fmin)/(nr-1),并形成0~nr-1的顺序均匀分布的细分区间数值点。当数据类型标记15数值rk为0时,可通过数据体16中包含的整数r,通过简单分段模式求取结果数值的估计值。当数据类型标记数值rk大于0时,可通过数据类型标记中包含的使用rk记录的细分区间编号与数据体16标记的细分区间数值点编号r的数值组合求取指定结果数值的估计值,估计值的置信区间r=(max-min)/(nr-1)2,其估计精度较简单分段模式有大幅提高。

(8)优选地,在局部加密模式基础上,可对已形成的细分区间进行再次细分,从而进一步估计值的置信区间r,以提高估计值的准确度。

在简单分段模式和局部加密模式基础上,对于某些对精度要求较高的数值区间,可直接通过浮点数表达结果数值,形成混合数据模式,模式中依赖的原有数据表达模式称为基础数据模式。混合数据模式下取得单物理量结果数据块的具体过程包括:

(1)单块数据14为二进制字节串,应至少包含数据类型标记15与数据体16;

(2)基础数据模式为简单分段模式时,数据类型标记15为整数0或整数1,并使用1个bit二进制字节表示;

(3)基础数据模式为简单分段模式时,当数据类型标记15为整数0时数据体16为0~nr-1整数并使用图3所示的简单分段模式进行数据解析,当数据类型标记15为1时数据体16为16bit或32bit浮点数用以精确表达结果数值;

(3)基础数据模式为局部加密模式时,数据类型标记15为0~nf+1的整数并以bf个bit组成的二进制字节串进行表达,其数值为rk,bf的取值应使2的bf次幂成为大于等于nf+1的最小整数;

(4)基础数据模式为局部加密模式时,数据类型标记15为0~nf的整数时,数据体16表现为局部加密模式,使用图5所示方法进行数据解析;

(5)基础数据模式为局部加密模式时,,当数据类型标记15为nf+1时数据体16为16bit或32bit浮点数用以精确表达结果数值。

在上述简单分段模式、局部加密模式及混合数据模式基础上,在面对瞬态仿真计算结果时可对上述数据模式进行扩展,形成瞬态数据模式,瞬态数据模式,处理为相应的数据格式,得到特定格式下的单物理量结果数据块,具体包括:

(1)在头数据块12中添加代表时间序列的一维数组,数组长度为tn,数组成员分别代表各时刻的具体时间数值;

(2)如图6所示,将头数据块12中的结果数据最小值及结果数据最大值扩展为长度为tn的一维数组,分别用于传输对应时间序列上结果数据的最小值及最大值集合,将区间细分列表17扩展为二维数组,用以传输对应时间序列上需进行细分的区间分段编号集合;

(2)如图7所示,对结果数据块13进行扩展,构建数量为tn的时刻结果数据列表19,每个时刻结果数据列表各包含q个单块数据14;

(3)每个时刻结果数据自成体系,由该时刻的结果数值最小值,结果数值最大值,时刻区间细分列表及时刻结果数据列表分别进行表达与传输。

s104:将特定格式下的单物理量结果数据块进行合并,得到多物理量仿真结果;

s105:将多物理量仿真结果进行传输和接收;

s106:将接收到的多物理量仿真结果进行拆分得到单物理量结果数据块,并进行解析,得到单物理量仿真结果;

具体地,将接收到的多物理量仿真结果进行拆分得到单物理量结果数据块,并进行解析,得到单物理量仿真结果,具体为:

从单物理量结果数据块中取得头数据块及结果数据块;

从头数据块中取得单物理量结果的最小值与最大值及相关分段参数;

依据取得的结果分段参数生成顺序排列的单物理量结果数值区间段集合;

在结果数据块中取得所有节点或单元的单块数据;

扫描所有结果数据块,结合结果数值区间段集合求取所有节点或单元的单物理量结果估计值

s107:将单物理量仿真结果进行渲染或进行其他结果处理。

上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均属于侵犯本发明保护范围的行为。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1