关于paraview中VOF的奇怪现象



  • 最近用一台电脑的paraview出现了一种奇怪现象,其他电脑的setFields设置好后,可以正常查看VOF两相,并且能正常计算;
    把文件导入这台电脑后,没计算时,也设置了Skip Zero Time 查看两相时,两相没了,变成了单相显示,但是还能计算,在有计算结果时,在查看,就出现了两相分界,把计算时保存的文件移除后,Refresh又变成了单相;
    自带的tutorials在设置setFields后即使不计算,也能正常查看两相;把一个单相流的tutorials进行两相更改后,也能正常显示两相
    发现就自己的案例在没计算时不出现两相,这种状况很奇怪,大家又遇见过这种时候吗?怎么解决~谢谢
    1592878746(1).jpg


  • Linux讲师

    描述不详细。无法判断。:mianmo:
    这台电脑什么系统、文件从哪来的、来文件的那个什么系统、操作步骤是什么(1234)、文件细节展示(ls -la)。

    可能是paraview、可能是文件、可能是系统差别、可能是……

    都tutorials了,又没啥机密,使劲往详细了写啊,还是要一直来回猜,不过能看出来你已经尽量往详细了写了 :papa:

    看我签名里有讲怎么写的。:mihu:



  • @bestucan 大神说的对,我描述的还不够详细:

    1.
    此案例的网格是从ICEM转换来的,电脑配置Intel(R) Core(TM) i7-6700 CPU 3.40Hz 3.41GHz 内核:4; 逻辑处理器:8;然后把ICEM的网格文件3D-0.4.msh文件导入到此电脑VMware虚拟机中;
    2.
    VMware虚拟机的设置内存 2GB ;处理器 4;硬盘 60GB;内置系统Ubuntu18.04.1OpenFOAM-7以及ParaView-5.5.1-1-Qt5-MPI-Linux-64bit
    3
    通过在文件终端输入fluent3DMeshToFoam 3D-0.4.msh转换成OpenFOAM网格;转换成功后在constant文件夹下面出现polyMesh文件夹:通过paraview查看网格情况:
    如下图:
    96e0fb66-dd73-482e-89b8-c78ee574d688-image.png
    关闭Output Messages,看网格:

    7a01d4e8-32d9-44f9-9d5a-c14ded410176-image.png
    一切正常;
    4
    system中建立setFieldsDict,并在终端执行:
    caf1ec58-88ec-4847-b494-53dd2395e758-image.png
    VOF的两相区域构建成功,在paraview中查看:
    初始:
    9dba78cb-0b93-4d58-8ce3-7203cbbeb789-image.png
    取消Skip zero Time之后Apply,在查看aplha.water,出现两相分界

    2c7566be-d16a-4e3a-8f59-26e983e0d440-image.png
    862c11c8-9d59-473f-9dfc-adb5675aaf79-image.png
    5
    整个文件进行拷贝,导入到一个纯Ubuntu系统的电脑中(仅仅装有Ubuntu系统):
    系统Ubuntu18.04.1OpenFOAM-7以及ParaView-5.5.1-1-Qt5-MPI-Linux-64bit
    打开paraview,取消Skip zero Time之后Apply,在查看aplha.water,仅仅出现单相
    1.png
    计算保存一个时间步,打开paraview,直接查看aplha.water,出现两相分界
    3.png 4.png
    去除保存的时间步,打开paraview,查看aplha.water,又仅仅出现单相1.png
    2.png
    6
    即使是在纯Ubuntu系统的电脑中进行.msh的网格转换,在不进行计算保存时间步,还是在paraview中显示单相


  • Linux讲师

    你这描述的太详细了:wocao:
    先来谈谈这个描述问题。为什么要描述这么详细,因为环节太多,每个都可能出错,所以要尽量描述可能出错的细节(比如alpha.water文件内容)而忽略不怎么可能会影响的细节(比如cpu型号、硬盘大小)。

    当然这些的前提是无法缩小错误范围,而你已经缩小错误范围了。就是在“纯ubuntu”(ubunut单系统,对应的叫双系统或者虚拟机环境)

    即使是在纯Ubuntu系统的电脑中进行.msh的网格转换,在不进行计算保存时间步,还是在paraview中显示单相。

    所以这个问题实际上可以先限定在这一句话。也就是说前面的问题可能是这这个问题引起的,先解决这个小问题,如果大问题不存在了更好,如果还存在,才需要去考虑那些操作。

    就跟调程序一样,先十分确保小部件小程序正常工作。才去找它们联合工作的错误,这样可以忽略小部件错误的可能,把排错精力放在联合上。


    然后是错误分析。如果勾选skip zero是无法看见0时间步的alpha.water的,你点了一下,不勾选它,所以能看见alpha.water的。说明软件能理解你的操作意图(显示alpha.water)。

    而结果不如你所想,再往下捋就是:

    1. 显始的那个文件就是你想要显始的文件么?
    2. 你想要显始的文件是你预想的内容么?

    1: 修改你认为显示的那个 alpah.water 的显始名称,确定 paraview 里看到的 alpha.water 名称跟着变了,确定就是这个文件的。

    操作:为了修改在paraview里的名称不能直接修改文件的名称,而要打开 alpha.water 。把object的名称加上自定义字符比如flag 。(以后这种过程可能会出错,因为有些名字有修改规则,改了就不能正常运行,但这里可以这样改)

        object      alpha_flag.water;
    

    这个过程看起来很蠢很多余,但这确实是一个环节。错误往往出现在忽视的地方。文件多了很容易出现这个问题。

    2.已经找到了就是这个文件,paraview 显始的就是它,但不如我所想,那么是paraview读错了?还是读对了但实际上只是文件的内容不如你所想?到这基本就解决了。


    如果你眼睁睁看着alpha.water里的场里的值一大片1,而paraview里就是没有显示。你可以找paraview的开发团队报bug了:146:


    我不是大神,我只是耗的时间多,熟能生巧,你投入时间长了,你也可以:high:



  • @bestucan 谢谢大神帮我解答,我按照您的方式改改,您这帮助我回答了好些问题,非常感谢~,您的签名链接不知道是我网络问题还是啥原因,我一个都没有打开,好尴尬~还是要再次感谢~
    :140:



  • @bestucan 大神你太牛掰了,一下就把问题解决了,收下我的膝盖:xiexie:
    按照您的方式,真的好用:
    alpha_flag.water,在paraview中选alpha_flag.wate出现两相而选择alpha.wate单相
    1.jpg
    2.png
    3.png

    还想请教下:
    不过为什么除了alpha_flag.water还多出来了个alpha.water,是否是因为文件名alpha.water,所以才会出现alpha.water;但是读取的object却是alpha_flag.water

    1ab9c2c9-2f6e-4c0f-acfa-95210d5f8b6d-image.png

    如果写成object alpha_flag.water开始计算,这样是否会影响计算结果呢?:xinxin:


  • Linux讲师

    @Zhoujq 签名里的链接都是维基百科的,国内登不太稳定,我换了,现在应该没问题了。

    换名字当然会影响计算,文件名和 object 名应该是一样的。这种修改方式只是为了放大不同找出来问题。如果你怀疑是文件名影响或者最想orig影响……咦!你的怎么是org

    你把文件名加上标识符接着读啊,把怀疑的也读上。

    alpha.water                -> alpha_file_flag.water
    alpah.water里的object      -> alpha_object_flag
    alpha.water.orig           -> alpha_file_flag_o.water.orig
    alpah.water.orig里的object -> alpha_object_flag_o.water.orig。
    

    这样无论显始什么都被你打上标签了,你都知道是从哪来的,paraview 能看到的东西也知道是什么东西了。如果 alpha.water 还阴魂不散就一个文件一个文件的把 0 文件夹移空,总会有那么一个,你移走它,就读不出 alpha.water 。它就是那个鬼:threaten:


  • Linux讲师

    @bestucan关于paraview中VOF的奇怪现象 中说:

    alpah.water里的object -> alpha_object_flag

    写错一个
    alpah.water里的object -> alpha_object_flag.water



  • @bestucan 谢谢大神帮我解答,太详细了,我必须要表示感谢,您给我一个您的微博账号,或者抖音账号,我私信您一下,在论坛我没找到私信的地方~您放心,我不会过多打扰您,有问题会在论坛提问~



  • @bestucan 感谢感谢,这个鬼就是alpha.water.org,我改成了alpha.water.orig,还是单相流,我把它移除了,一paraview瞬间双相流;您处理问题的思路给了我很大的启发~真是奇怪,在虚拟机中明明没有问题,在纯Ubuntu全是问题,好在遇到了您~,给我个您的微博或者抖音或者任何带有私信的平台吧~:xinxin3:


  • Linux讲师

    @Zhoujq 自助者天助,你那么详细认真的描述我才给以同样回答。
    侠骨柔情,无须回报
    似乎达成某种共识.jpg

    不过给联系方式没啥:chigua2:

    我的微博主页
    没错,虽然这里面都是舞蹈,但这是我的微博,你看头像都一样:mianmo:



  • 太专业了你们...



  • @东岳 哈哈,老师,不知道啥情况,本来就一台电脑有这种情况,昨天测试后两台电脑都出现了,最后连虚拟机都变成这样了~幸亏提前找到了病根~要不都不知道啥问题~
    alpha.wateralpha.water.orig文件里的object只要都是object alpha.water;paraview就只有一个alpha.water选项,它实际读取的是alpha.water.orig文件里的object alpha.water;所以显示的是单相;
    alpha.water.orig文件里的object改为object alpha_.water;,然后复制文件去掉orig变成alpha.water文件,这时里面的还是object alpha_.water;但是在终端执行setFields后,alpha.water文件里的object alpha_.water;自动变成了object alpha.water;,并没有人工修改~
    这时查看paraview,同时出现了alpha.wateralpha_.water;本来带有.orig的文件不该读取,不知道为什么读取了~这个bug太坑人了;还是要再次感谢 @bestucan:xiexie:
    814175b86c5411fe631753dbd2548e6.png
    1e61b5f81ee34689162e23e7a11d552.png


Log in to reply
 

CFD中文网 2016 - 2020 | 京ICP备15017992号-2