@jinlinna OF自带算例pitzDailyMapped就使用了这个边界条件,你可以相关设置具体了解,下图是inlet的设置方法,offset用来设置你想投影的面与被投影面的距离
calrel
帖子
-
-
@疏影横斜水清浅 没有。通过查阅资料和代码,我这种添加颗粒的方式,当颗粒从计算域逃逸以后,属于这个颗粒的编号会重新分配,所以对于我使用的颗粒添加方法而言,目前还没有比较好的方法可以直接通过后处理得到颗粒迹线。
-
FinalBaseMesh.obj
https://www.aliyundrive.com/s/V9uwhq2uQjn -
@zhoujq 我之前算过Cp,你网上搜一下应该可以找到类似教程,大概就是导出pmean数据,在matlab中写几行代码可以把坐标转换成角度。很方便
-
@李东岳 李老师,感谢您的回复!是的,我其实就是模仿DPMFoam,在已有的流场求解器中加了颗粒相。我这里给出的图只是测试算例,我最终是要得到的是流场中有障碍物时颗粒迹线,所以我没理解错的话,您所说单相流+paraview应该不适合我。
-
@李东岳 谢谢您的回复,我试了您说的这个滤镜,但是一直出现错误
我尝试了网上类似问题的解决办法,但依然没有成功,我再找找看,如果您还有其他方法,还请告知,谢谢您。顺便恭喜李博!国产CFD未来可期! -
没有大佬愿意指点一下吗
-
我使用了类似DPMFOAM的求解器,具体就是在pimpleFOAM中加入了颗粒运动方程来实现两相流模拟。然后我想要得到颗粒运动的迹线,尝试了很多办法都没法实现。
一种方法是在constant/kinematicCloudProperties文件里,cloudFunctions下面加了一个颗粒轨迹后处理程序 这样在运算完成后会自动生成kinematicCloudTracks-lagrangian,可以在paraview中打开 但是我并不知道怎么使用这个文件来得到颗粒轨迹?
另一种方法是直接使用后处理命令,particleTracks,然后会得到particleTracks.vtk,在paraview中打开会得到下面这幅图
但我模拟的实际颗粒运行瞬间图是这样的,颗粒从左侧释放,右侧逃逸
很明显上面的颗粒轨迹图不太对,也许是我打开方式不对?我猜也许是这些方法统计了所有颗粒的运动轨迹,但我的工况是左边进右边出,一颗颗粒在计算域的时间大概只有几秒。还有一些其他的方法,也没有得到想要的结果,各位老师有什么办法?请各位不吝赐教,任何的帮助都非常感谢!! -
@李东岳 谢谢您的思路,我在window 版本的paraview中也成功实现,
-
@xpqiu 好的,谢谢您,我去查看测试一下
-
@cresendo 您好,我根据您提供的方法尝试了一下,发现会出错,提示surfaceLIC不支持,您是否有遇到过类似的问题,期待您的回复,谢谢!
-
@yhdthu 谢谢!
-
你是想对某个时间段进行整合吗?这个图应该对你有帮助。
-
@东岳 哈哈,好吧
-
请问有人知道这种在OF中怎么实现吗?不然就只能画几何模型的时候画两半,然后先导入一半,再导入另一半 。。不知道还有没有更简洁的方法,谢谢!
-
@danao谢谢!我去看看
-
@danao 你好,你在of6上装funkysetfields成功了吗?能否给下安装教程?谢谢,我看wki上只是支持到3.0???
-
code #{ const fvPatch& boundaryPatch = this -> patch(); vectorField U = boundaryPatch.Cf(); forAll (boundaryPatch, faceI) { scalar y = boundaryPatch.Cf()[faceI].y(); U[faceI] = vector(* , * , *); } opertor == (U); #};
我是这样整的,运行没问题,但当时有别的事,没有继续算下去,你试试吧
-
@zhengshu930 应该是要在目标文件下建立一个你要投影的时间命名的文件夹,里面需要包含你要投影的量,具体操作就是复制0文件夹,改名为投影时间
-
@东岳 嗯,懒得的改头像这点倒是挺像……话说 东岳老师来都来了,不给指点一下再走?
-
@calf-z-dns 嗯,发展完全的流场没什么问题,但我后来发现一个问题,比如你流向5米,设置投影1米处的流场投影到入口处,这个边界条件会把循环段的1m内流场一段一段的投影到后面,就类似与这样
后面流场的形态和前面的一模一样。不知道你的有没有这种情况。。。
-
@txwwbz 好的,谢谢你,我去试一下。
-
我已经按照错误提示修改了 还是有问题,但最奇怪的一点是,有些时间可以,有些不可以,比如75s不行,但74可能就可以,而且只有在加了颗粒计算的时候会有这种情况。
-
@calf-z-dns 有自带算例用过这个,你可以先试试,哪里不会用了咱再讨论。
-
@东岳 嗯,谢谢您。
这样的确有点复杂,不过因为我要模拟街道峡谷污染物扩散,如果用循环的话污染物一直在计算域内出不去,然后结果误差较大,所以是不得已而为之。 -
@东岳
李老师,谢谢您,抱歉回复这么晚。如果要在boundaryFOAM基础上修改成三维的,把上图最后一行应用到完整的NS方程,就能直接得到发展完全的三维流场了吗?
还有,我用之前的mapped边界条件的方法,一直出现您说的自行添加压力修正,这个有可能是什么导致的呢?压力不对,整个流场也完全错误。
感谢您百忙之中抽出时间,期待您的回复。 -
之前一直常使用mapped的边界条件,把距离出口边界一定距离的流场加到出口,设置成一个前段无限远的发展段,但是计算一直发散,压力梯度求解一直有问题,实在找不出原因了, 有谁知道这个怎么处理吗?
或者还有没有其他的能达到相同效果的办法吗?求指点!先行谢过! -
@bestucan 嗯,谢谢你,已解决。
-
这个边界条件的话,map哪一个面在哪里设置?自带算例里有例子这样设置了边界条件,但是投影哪个面到inlet???
inlet { type mapped; fieldName U; setAverage no; average (10 0 0); value uniform (0 0 0); }
有没有人用过能指点一下?谢谢!!
-
@dzw05 嗯,谢谢你,这种方法的确比较简单,但我更想用上面那种方法来实现,因为之后会加非稳态风场等等,后续会比较方便一点
-
比如一个三维计算域,主风向沿x轴,想在计算域底部开一个小口,并有一定的速度,应该如何设置?我用codedFixedValue设置成这样:
type codedFixedValue; value uniform (0 0 0); redirectType velocitySquareInlet; code #{ const fvPatch& boundaryPatch = patch(); const vectorField& Cf = boundaryPatch.Cf(); vectorField& field = *this; scalar L1 = -5 ; scalar L2 = 5; scalar B1 = -10; scalar B2 = 10; forAll(Cf, faceI) { if ( (Cf[faceI].x() > L1) && (Cf[faceI].x() < L2) && (Cf[faceI].y() > B1) && (Cf[faceI].y() < B2) ) { field[faceI] = vector(0, 0, 0.01); } } #};
虽然可以运行,但貌似结果和之前没有什么变化。我这样设置有错误吗?请问还有没有其他办法?
谢谢! -
@izumi 嗯,谢谢,我试试看,之前没试过这样的,也不知道行不行。
-
想请教一个问题,用mapFields把之前的算例300秒的场信息放到另外一个几何网格一致的算例中做初始场,但是我需要改变边界条件,需要怎么做?或者还有其他什么办法既能复制另外一个算例的场信息,还能改变新算例边界条件的?谢谢!!
-
@东岳 嗯,的确是很麻烦,谢谢李老师,后期准备试试。
-
@izumi 嗯,试了试,貌似还真是这个原因,谢谢!
-
我想建一个如图的计算域,但在执行blockMesh时,总是出现如下错误,有人知道原因吗?
我也在google上找了类似的问题,出现这种错误大多原因是block的编号不对,点的顺序不对,但改了好几次还是不对。。。有人遇到类似问题吗?求指教!下面是我的blockMeshDict文件内容:
vertices ( (-35 10 0)//0 (-15 10 0)//1 (-15 0 0)//2 (-5 0 0)//3 (-5 10 0)//4 (5 10 0)//5 (5 0 0)//6 (15 0 0)//7 (15 10 0)//8 (35 10 0)//9 (35 30 0)//10 (-35 30 0)//11 (-35 10 -0.1)//12 (-15 10 -0.1)//13 (-15 0 -0.1)//14 (-5 0 -0.1)//15 (-5 10 -0.1)//16 (5 10 -0.1)//17 (5 0 -0.1)//18 (15 0 -0.1)//19 (15 10 -0.1)//20 (35 10 -0.1)//21 (35 30 -0.1)//22 (-35 30 -0.1)//23 ); blocks ( hex (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23) (70 40 1) simpleGrading (1 5 1) ); edges ( ); boundary ( topWall { type wall; faces ((11 10 22 23)); } bottomWall { type wall; faces ( (3 2 14 15) (7 6 18 19) ); } roofLevel { type wall; faces ( (1 0 12 13) (5 4 16 17) (9 8 20 21) ); } leeWardBuilding { type wall; faces ( (2 1 13 14) (6 5 17 18) ); } windWardBuilding { type wall; faces ( (4 3 15 16) (8 7 19 20) ); } in { type cyclic; neighbourPatch out; faces ((0 11 23 12)); } out { type cyclic; neighbourPatch in; faces ((10 9 21 22)); } frontAndBack { type empty; faces ( (0 1 2 3 4 5 6 7 8 9 10 11) (12 23 22 21 20 19 18 17 16 15 14 13) ); } ); mergePatchPairs ( );
-
@东岳 0_1522901722216_case.zip 李老师,这是我算例文件,上传有大小限制,所以没有网格信息,所以需要您重新blockMesh一下,90000网格,谢谢您!!
-
我试过,设定上边界设置为浓度定值的时候没有任何变化,但是在左侧的时候就有如上所示的很明显的输运现象,但这个应该是对流导致的,如果沿流向横着放一个横条的浓度较高区域,
就类似这种,它也只是在一定范围内上下有轻微的波动,但范围不会再扩大
-
李老师您好,这个稳定以后的速度沿垂向的廓线(贴近地表设有障碍物0.3m高),应该是没错的吧?边界条件的话,上下边界是wall,前后左右都是循环边界,浓度的话,上边界是定值,下边界是零梯度,前后左右为循环;p U的话也都是下边界零梯度,上边界滑移边界,其他循环;李老师您看有什么问题吗??谢谢您
-
方程是标量输运方程
在pisoFoam程序的基础上加了对流扩散方程,上边界给定浓度定值,内部场浓度为零,风场从计算域左侧给了初始对数廓线,前后左右边界都为循环边界。浓度场一直没有任何的变化,既没有对流也没有扩散
如果在计算域左侧给了一片浓度较高的区域后,是这样的结果有算过类似算例的大神么?能否指点一二?谢谢!
请问有人用过mapped这个边界条件吗?
请问如何得到颗粒迹线?
求助---可以分享的人体三维模型
OpenFOAM 里计算Cp,Cf等参数
请问如何得到颗粒迹线?
请问如何得到颗粒迹线?
请问如何得到颗粒迹线?
请问如何得到颗粒迹线?
如何生成旋转叶片的表面流线和周围流线?
如何生成旋转叶片的表面流线和周围流线?
如何生成旋转叶片的表面流线和周围流线?
复制之前算例的场信息到新算例,如何改变边界条件??
有人在分块并行之后reconstructPar的时候遇到过这种错误吗?
圆柱体的迎风面和背风面的设置不同的边界条件
圆柱体的迎风面和背风面的设置不同的边界条件
OF6可以用funkySetField吗?
OF6可以用funkySetField吗?
请教一个入口非均匀风速设置的问题
使用mapFields时有时候会直接end
请问有人用过mapped这个边界条件吗?
请问有人用过mapped这个边界条件吗?
有人在分块并行之后reconstructPar的时候遇到过这种错误吗?
有人在分块并行之后reconstructPar的时候遇到过这种错误吗?
请问有人用过mapped这个边界条件吗?
请问如何在不使用循环边界的前提下,在计算域试验段得到发展稳定的湍流?
请问如何在不使用循环边界的前提下,在计算域试验段得到发展稳定的湍流?
请问如何在不使用循环边界的前提下,在计算域试验段得到发展稳定的湍流?
请问有人用过mapped这个边界条件吗?
请问有人用过mapped这个边界条件吗?
请问如何在主风向以外,设置一个patch有垂直于主风向的速度?谢谢!
请问如何在主风向以外,设置一个patch有垂直于主风向的速度?谢谢!
复制之前算例的场信息到新算例,如何改变边界条件??
复制之前算例的场信息到新算例,如何改变边界条件??
求助,执行blockMesh出错
求助,执行blockMesh出错
求助,执行blockMesh出错
计算对流扩散方程没有扩散效果?
计算对流扩散方程没有扩散效果?
计算对流扩散方程没有扩散效果?
计算对流扩散方程没有扩散效果?