一种基于MATLAB和paraview的fluent-DPM颗粒后处理方法

未命名 09-01 阅读:351 评论:0

一种基于matlab和paraview的fluent-dpm颗粒后处理方法
技术领域
1.本发明涉及计算流体力学领域仿真计算技术领域,具体来说,涉及一种基于matlab和paraview的fluent-dpm颗粒后处理方法。


背景技术:

2.随着流体力学理论的不断完善和高性能计算机技术的飞速发展,二者相互结合形成的计算流体动力学开始成为解决各种工程问题的重要手段。在实际的工程应用中,经常会遇到流体介质中含有固体颗粒的情况,商业软件fluent成为解决这类含颗粒流动问题的主流方案之一。fluent可以通过求解各种流体力学方程来对水利机械中的介质流动进行计算,将阀门、泵等内部的介质流动具体的呈现出来。在fluent给出计算结果之后,还需要对结果进行处理,以得到水利机械内部介质的速度、压力、流线等,实现介质流动的可视化。这种可视化处理便被称为“后处理”。但是,fluent自身对于计算结果的后处理并不是非常强大,经常出现不能满足用户需求的情况,特别是介质中含有颗粒时,fluent自身并不能对计算的dpm颗粒进行深层次以及复杂的处理,就连一部分针对fluent进行优化的后处理软件,对dpm颗粒的处理也不是非常友好。于是,fluent计算出来的dpm颗粒的后处理成为仿真领域的难题之一。
3.paraview是能够对二维和三维数据进行分析和可视化的非常强大的开源程序,其开源性和数据可视化为展示fluent计算的dpm颗粒提供了可能性。但是paraview并不能直接对fluentdpm颗粒进行处理,国内外文献资料也没有与之相关的案例。
4.针对相关技术中的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.针对相关技术中的问题,本发明提出一种基于matlab和paraview的fluent-dpm颗粒后处理方法,以克服现有相关技术所存在的上述技术问题。
6.为此,本发明采用的具体技术方案如下:
7.一种基于matlab和paraview的fluent-dpm颗粒后处理方法,包括以下步骤;
8.s1:通过fluent软件对dpm颗粒进行计算;
9.s2:在fluent软件中将dpm颗粒的基本数据(颗粒坐标、颗粒速度、颗粒直径、颗粒id)导出后缀名为“.dpmrpt”格式的文件;
10.s3:在matlab中,对存储dpm颗粒数据的“.dpmrpt”文件进行处理,并将结果写入“.vtk”文件;
11.s4:在paraview中打开“.vtk”文件,对其进行后处理。
12.作为优选的,所述步骤s3中;
13.s31:利用matlab创建“.m”文件,将颗粒坐标、颗粒速度、颗粒直径、颗粒id储存到矩阵中;
14.s32:利用matlab重新定义储存着颗粒坐标、颗粒速度、颗粒直径、颗粒id信息的矩
阵;
15.s33:利用matlab中的循环结构对矩阵进行重新排列;
16.s34:利用matlab将必要信息和标记信息写入到“.vtk”文件;
17.s35:利用matlab创建“.vtk”文件,将重新排列的矩阵写入“.vtk”文件。
18.作为优选的,所述步骤s31的关键在于:
19.通过fid=fopen('filename','permission')命令打开“.dpmrpt”文件,并通过lines=textscan(fid,'%f%f%f%f%f%f%f%f%f%[^\n]','headerlines',17)命令读取“.dpmrpt”文件中的颗粒基本数据(颗粒坐标、颗粒速度、颗粒直径、颗粒id),将其转化为“m行
×
1列”的矩阵数据。
[0020]
作为优选的,所述步骤s32的关键在于:
[0021]
利用matlab重新定义储存着颗粒基本数据(颗粒坐标、颗粒速度、颗粒直径、颗粒id)信息的矩阵,重新定义之后的矩阵仅仅作为处理过程的中间量,而不作为写入“.vtk”文件的最终结果,并在重新定义的同时将颗粒直径转化为颗粒半径。
[0022]
作为优选的,所述步骤s33的关键在于:
[0023]
通过for循环将储存颗粒基本数据信息的矩阵重新进行排列,将“m行
×
1列”的矩阵数据转化为“n行
×
9列”的矩阵;
[0024]
作为优选的,所述步骤s34的关键在于:
[0025]
利用matlab将能够标记颗粒基本数据(颗粒坐标、颗粒速度、颗粒直径、颗粒id)的标记信息,通过fprintf(fileid,'format','vtkdata')命令写入到“.vtk”文件,以在paraview后处理步骤中能更方便快捷的识别、标记和区分各种不同的颗粒信息,同时也将构成“.vtk”文件的必需信息写入“.vtk”文件中。
[0026]
作为优选的,所述步骤s35的关键在于:
[0027]
通过fprintf(fileid,'format','vtkdata')命令将转化后的矩阵写入到“.vtk”文件中,并且放置于所述步骤s34中的必要信息和标记信息之后,保证颗粒标记信息和与之相关矩阵能够相互对应。
[0028]
作为优选的,所述步骤s3中使用的matlab程序代码为(双百分号%%后面的内容为对代码的解读和注释):
[0029]
[0030]
[0031]
[0032][0033][0034]
本发明的有益效果为:在matlab中使用前文所述的程序,将fluent计算出来的dpm
颗粒文件转化成为paraview可识别的文件,使得paraview能够对fluent计算出来的dpm颗粒进行后处理。与现有的fluentdpm颗粒后处理方法相比较,本专利提供的程序和方法能够将商业软件fluent计算出来的dpm颗粒放置在开源环境中,使得dpm颗粒的后处理、可视化等更加方便快捷,在原有的基础上获得更加多变的数据以及进行更加复杂的操作。
附图说明
[0035]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036]
图1是根据本发明实施例的一种基于matlab和paraview的fluent-dpm颗粒后处理方法的流程示意图;
[0037]
图2是根据本发明实施例的操作示意图;
[0038]
图3是根据本发明实施例的提及的颗粒信息图;
[0039]
图4是根据本发明实施例的通过paraview对dpm颗粒进行部分后处理的示意图。
具体实施方式
[0040]
为进一步说明各实施例,本发明提供有附图,这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理,配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点,图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
[0041]
根据本发明的实施例,提供了一种基于matlab和paraview的fluent-dpm颗粒后处理方法。
[0042]
实施例一;
[0043]
如图1-4所示,根据本发明实施例的基于matlab和paraview的fluent-dpm颗粒后处理方法,包括以下步骤;
[0044]
s1:通过fluent软件对dpm颗粒进行计算;
[0045]
s2:在fluent软件中将dpm颗粒的基本数据(颗粒坐标、颗粒速度、颗粒直径、颗粒id)导出后缀名为“.dpmrpt”格式的文件;
[0046]
s3:在matlab中,对存储dpm颗粒数据的“.dpmrpt”文件进行处理,并将结果写入“.vtk”文件;
[0047]
s4:在paraview中打开“.vtk”文件,对其进行后处理。
[0048]
实施例二;
[0049]
通过fluent软件对dpm颗粒进行计算,具体的dpm计算方法本专利不进行描述。
[0050]
在fluent中的“results》graphics》particletracks”板块中,按照附图2示意图中



的步骤,将dpm颗粒的基本数据(颗粒坐标、颗粒速度、颗粒直径、颗粒id)导出后缀名“particle.dpmrpt”格式的文件,并将其保存在电脑的f盘中;其中步骤

中dpm颗粒数据的选择如附图3步骤



所示,需要选中的数据包括“particlexposition、particleyposition、particlezposition、particlexvelocity、particleyvelocity、
particlezvelocity、particlediameter、particleid”。
[0051]
在matlab中,对存储dpm颗粒数据的“particle.dpmrpt”文件进行处理,并将结果写入“particle.vtk”文件,保存在电脑的f盘中。其中在matlab中需要的程序如下所示(双百分号%%后面的内容为对代码的解读和注释):
[0052]
[0053]
[0054]
[0055]
[0056][0057]
在paraview中打开“particle.vtk”文件,对其进行后处理。如附图4,可以在paraview中对球阀内部的颗粒进行可视化,以及筛选、统计等其他方式的处理。
[0058]
综上所述,借助于本发明的上述技术方案,在matlab中使用前文所述的程序,将fluent计算出来的dpm颗粒文件转化成为paraview可识别的文件,使得paraview能够对fluent计算出来的dpm颗粒进行后处理。与现有的fluent dpm颗粒后处理方法相比较,本专利提供的程序和方法能够将商业软件fluent计算出来的dpm颗粒放置在开源环境中,使得dpm颗粒的后处理、可视化等更加方便快捷,在原有的基础上获得更加多变的数据以及进行更加复杂的操作。
[0059]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种基于matlab和paraview的fluent-dpm颗粒后处理方法,其特征在于,包括以下步骤;s1:通过fluent软件对dpm颗粒进行计算;s2:在fluent软件中将dpm颗粒的基本数据(颗粒坐标、颗粒速度、颗粒直径、颗粒id)导出后缀名为“.dpmrpt”格式的文件;s3:在matlab中,对存储dpm颗粒数据的“.dpmrpt”文件进行处理,并将结果写入“.vtk”文件;s4:在paraview中打开“.vtk”文件,对其进行后处理。2.根据权利要求1所述的一种基于matlab和paraview的fluent-dpm颗粒后处理方法,其特征在于,所述步骤s3中;s31:利用matlab创建“.m”文件,将颗粒坐标、颗粒速度、颗粒直径、颗粒id储存到矩阵中;s32:利用matlab重新定义储存着颗粒坐标、颗粒速度、颗粒直径、颗粒id信息的矩阵;s33:利用matlab中的循环结构对矩阵进行重新排列;s34:利用matlab将必要信息和标记信息写入到“.vtk”文件;s35:利用matlab创建“.vtk”文件,将重新排列的矩阵写入“.vtk”文件。3.根据权利要求2所述的一种基于matlab和paraview的fluent-dpm颗粒后处理方法,其特征在于,所述步骤s31的关键在于:通过fid=fopen('filename','permission')命令打开“.dpmrpt”文件,并通过lines=textscan(fid,'%f%f%f%f%f%f%f%f%f%[^\n]','headerlines',17)命令读取“.dpmrpt”文件中的颗粒基本数据(颗粒坐标、颗粒速度、颗粒直径、颗粒id),将其转化为“m行
×
1列”的矩阵数据。4.根据权利要求2所述的一种基于matlab和paraview的fluent-dpm颗粒后处理方法,其特征在于,所述步骤s32的关键在于:利用matlab重新定义储存着颗粒基本数据(颗粒坐标、颗粒速度、颗粒直径、颗粒id)信息的矩阵,重新定义之后的矩阵仅仅作为处理过程的中间量,而不作为写入“.vtk”文件的最终结果,并在重新定义的同时将颗粒直径转化为颗粒半径。5.根据权利要求2所述的一种基于matlab和paraview的fluent-dpm颗粒后处理方法,其特征在于,所述步骤s33的关键在于:通过for循环将储存颗粒基本数据信息的矩阵重新进行排列,将“m行
×
1列”的矩阵数据转化为“n行
×
9列”的矩阵。6.根据权利要求2所述的一种基于matlab和paraview的fluent-dpm颗粒后处理方法,其特征在于,所述步骤s34的关键在于:利用matlab将能够标记颗粒基本数据(颗粒坐标、颗粒速度、颗粒直径、颗粒id)的标记信息,通过fprintf(fileid,'format','vtkdata')命令写入到“.vtk”文件,以在paraview后处理步骤中能更方便快捷的识别、标记和区分各种不同的颗粒信息,同时也将构成“.vtk”文件的必需信息写入“.vtk”文件中。7.根据权利要求2所述的一种基于matlab和paraview的fluent-dpm颗粒后处理方法,其特征在于,所述步骤s35的关键在于:
通过fprintf(fileid,'format','vtkdata')命令将转化后的矩阵写入到“.vtk”文件中,并且放置于所述步骤s34中的必要信息和标记信息之后,保证颗粒标记信息和与之相关矩阵能够相互对应。

技术总结
本发明公开了一种基于MATLAB和paraview的fluent-DPM颗粒后处理方法,包括以下步骤;S1:通过Fluent软件对DPM颗粒进行计算;S2:在Fluent软件中将DPM颗粒的基本数据(颗粒坐标、颗粒速度、颗粒直径、颗粒ID)导出后缀名为“.dpmrpt”格式的文件;S3:在MATLAB中,对存储DPM颗粒数据的“.dpmrpt”文件进行处理,并将结果写入“.vtk”文件。有益效果:将Fluent计算出来的DPM颗粒文件转化成为ParaView可识别的文件,使得Paraview能够对Fluent计算出来的DPM颗粒进行后处理。与现有的FluentDPM颗粒后处理方法相比较,本专利提供的程序和方法能够将商业软件Fluent计算出来的DPM颗粒放置在开源环境中,使得DPM颗粒的后处理、可视化等更加方便快捷,在原有的基础上获得更加多变的数据以及进行更加复杂的操作。及进行更加复杂的操作。


技术研发人员:林哲 孙希望 朱祖超 郑旭 陈德胜
受保护的技术使用者:浙江理工大学
技术研发日:2023.05.25
技术公布日:2023/8/24
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐