我之前做过类似的,不知道对不对。
进口流速入口,出口压力出口,计算一段时间。然后再将进口和出口,设置为周期边界,这样流场就循环起来了,多计算一会,流场状态就比较接近自然发展的湍流了。
liuxiaodong
帖子
-
Fluent大涡模拟计算充分发展的槽道湍流? -
大佬,我用icem画好了网格也连接到fluent了,为啥一直报这个错误?可以考虑单独用icem将网格导出,然后再用fluent读入。
-
求助:航行体跨越水气交界面时总会报错不介意的话,咱们可以一起探讨交流一下哈~我最近是在做波浪对船舶航行姿态的影响研究,也在做类似的模拟哈。我微信: XDongLio
-
圆柱结构在水流冲击下被动摆动的UDF,还请大家帮忙找下问题,谢谢!目前还在继续做,还是实现不了。我将运动方程中加入了浮力,并将方程通过4阶龙格库塔进行了展开,但是目前还是稳定不了。
目前我想的平衡方程是:
角加速度=(来流转矩+重力转矩-浮力转矩-弹簧转矩-介质阻尼)/转动惯量
见程序51行。我通过调整转动惯量进行测试,但是发现有一个问题:
1)转动惯量为0.015的时候,模型直接运动不起来,摆动的角位移一直为0,角速度倒是会在很小的范围内振荡;
2)转动惯量调整到0.01的时候,会摆动越来越大一直到发散。在这个过程中调整弹簧刚度和介质阻尼,都无法阻止这个发散,只是会减慢发散速度。这是目前的程序,还请大佬指点!
#include "udf.h" #define zoneID1 2 // 浮子的编号 #define IXX 0.003 // 转动惯量 #define mg -0.01 // 重力减去浮力=0.1-0.09 #define r 0.25 // 回转半径 #define sp 1 // 弹簧回转力矩 #define D 0.1 // 阻尼系数 real v_body1 = 0.0; // 转速 real theta = 0.0; // 初始角位移 real omega = 0.0; // 初始角速度 real a=0.1; // 角加速度 DEFINE_EXECUTE_AT_END(exe_end) { int i; real tm, dtm; FILE *fd1; real f1[3], m1[3]; real x1[3]; Domain *domain = Get_Domain(1); Thread *tf1; real omegak1, omegak2, omegak3, omegak4; real thetak1, thetak2, thetak3, thetak4; tf1 = Lookup_Thread(domain, zoneID1); if (!Data_Valid_P()) return; for (i = 0; i < 3; i++) // 三个方向(x y z方向) { f1[i] = 0; m1[i] = 0; x1[i] = 0; } Compute_Force_And_Moment(domain, tf1, x1, f1, m1, TRUE); // 每个柱上的受力、力矩 dtm = RP_Get_Real("physical-time-step"); // 获取当前时间步长 tm = RP_Get_Real("flow-time"); // 获取当前计算时间 // RK4方法,求解角加速度和更新角速度和角位移 // 第一步的角加速度 thetak1 = omega; omegak1 = (m1[0] +mg * r * sin(theta) - sp * theta - D * omega) / IXX; // 第二步的角加速度 thetak2 = omega + 0.5 * dtm * omegak1; omegak2 = (m1[0] + mg * r * sin(theta + 0.5 * dtm * thetak1) - sp * (theta + 0.5 * dtm * thetak1) - D * (omega + 0.5 * dtm * omegak1)) / IXX; // 第三步的角加速度 thetak3 = omega + 0.5 * dtm * omegak2; omegak3 = (m1[0] + mg * r * sin(theta + 0.5 * dtm * thetak2) - sp * (theta + 0.5 * dtm * thetak2) - D * (omega + 0.5 * dtm * omegak2)) / IXX; // 第四步的角加速度 thetak4 = omega + dtm * omegak3; omegak4 = (m1[0] + mg * r * sin(theta + dtm * thetak3) - sp * (theta + dtm * thetak3) - D * (omega + dtm * omegak3)) / IXX; // 使用RK4方法更新角速度和角位移 omega = omega + (dtm / 6) * (omegak1 + 2 * omegak2 + 2 * omegak3 + omegak4); theta = theta + (dtm / 6) * (thetak1 + 2 * thetak2 + 2 * thetak3 + thetak4); v_body1 = omega; // 输出结果 fd1 = fopen("SwingResult.txt", "a"); fprintf(fd1, "%.5f %.5f %.6f %.6f \n", dtm, tm, omega, theta); fclose(fd1); } DEFINE_ZONE_MOTION(shake1234, omega, axis, origin, velocity, time, dtime) { origin[0] = 0; origin[1] = 0; origin[2] = 0; axis[0] = 1; axis[1] = 0; axis[2] = 0; *omega = v_body1; return; }
-
圆柱结构在水流冲击下被动摆动的UDF,还请大家帮忙找下问题,谢谢!我写了一个udf,想描述水流冲击下圆柱的摆动。但是现在稳定是稍微一刺激越摆越大,直接就发散了,我感觉应该是摆动方程有问题,还请大佬指点一下。这是我的udf:
#include "udf.h" #define zoneID1 2 //浮子的编号 #define IXX 0.003 //转动惯量 #define mg 0.98 //重力 #define r 0.25 //回转半径 #define sp 1 //弹簧回转力矩 real v_body1; //转速 DEFINE_EXECUTE_AT_END(exe_end) { int i; real tm,dtm; FILE *fd1; real f1[3],m1[3]; real x1[3]; Domain *domain=Get_Domain(1); Thread *tf1; real dx = 0.0;//x方向转角增量 real x = 0.0;//x方向转角 real ve = 0.0;//x方向角速度 real a = 0.0;//x方向角加速度 real ve_before; real a_before; tf1=Lookup_Thread(domain,zoneID1); if (!Data_Valid_P()) return; for(i=0;i<=2;i++) //三个方向(x y x方向) { f1[i]=0; m1[i]=0; x1[i]=0; } Compute_Force_And_Moment(domain,tf1,x1,f1,m1,TRUE);//每个柱上的受力、力矩 ve_before = ve, a_before = a; dtm=RP_Get_Real("physical-time-step");//获取当前时间步长 tm=RP_Get_Real("flow-time");//获取当前计算时间 a = (m1[0]+mg*sin(x)*r-sp*x ) / IXX;//摆动方程,求解转速加速度,第一项是输出转矩,第二项是重力,第三项是弹簧回转力 ve = ve + (a + a_before)*dtm / 2; //转速 dx = (ve + ve_before)*dtm / 2; //移动角度增量 x = x + dx; //移动角度 v_body1=ve; //输结果 fd1 = fopen("SwingResult.txt", "a"); fprintf(fd1, "%.5f %.5f %.6f %.6f %.6f %.6f\n", dtm, tm, a, ve, dx, x); fclose(fd1); } DEFINE_ZONE_MOTION(shake1234, omega, axis, origin, velocity, time, dtime) { origin[0] = 0; origin[1] = 0; origin[2] = 0; axis[0] = 1; axis[1] = 0; axis[2] = 0; *omega =v_body1; return; }
本人刚开始做这个,我感觉是48到51行摆动方程有问题。
目前我考虑的是,圆柱摆动过程,受到1)水流冲击转矩,2)自身重力和3)弹簧回摆力,即48到51的代码。
请问是否应该将连续的方程,离散成模拟过程中的方程,这个应该怎么做,能否提供一些学习资料或者参考?感谢指点!
-
Fluent崩溃显示MPI App rank 0 exited before MPI_Finalize() with status 2想请教一下各位老师是否遇到过这个问题,有点玄学,排查了很久没查出来原因。可以确定的是不是算例的问题。
之前一直采用18.0的版本,后面换了19.2之后跑 瞬态 会时不时的出现这个问题。具体表现是:
-
不是所有算例都会出问题,有的算例行,有的算例跑一会就会出现,而且每次崩溃跑的时间步次数还不一定。
-
如果把自动保存频率调高(5步保存一次)的话,很容易出现这个问题;如果把自动保存频率调低(50步保存一次),又不会出现这个问题。
总体感觉应该是计算机设置的问题或者软件安装的问题,不知道各位有什么好的解决方法吗?谢谢!
系统崩溃之后,操作界面显示:
C:\PROGRA~1\ANSYSI~2\v192\fluent\fluent19.2.0\win64\3ddp_node\fl_mpi1920.exe: Rank 0:5: MPI_Waitall: Error code is in status
C:\PROGRA~1\ANSYSI~2\v192\fluent\fluent19.2.0\win64\3ddp_node\fl_mpi1920.exe: Rank 0:6: MPI_Waitall: Error code is in status
C:\PROGRA~1\ANSYSI~2\v192\fluent\fluent19.2.0\win64\3ddp_node\fl_mpi1920.exe: Rank 0:10: MPI_Waitall: Error code is in status
C:\PROGRA~1\ANSYSI~2\v192\fluent\fluent19.2.0\win64\3ddp_node\fl_mpi1920.exe: Rank 0:11: MPI_Waitall: Error code is in status
C:\PROGRA~1\ANSYSI~2\v192\fluent\fluent19.2.0\win64\3ddp_node\fl_mpi1920.exe: Rank 0:12: MPI_Waitall: Error code is in status
C:\PROGRA~1\ANSYSI~2\v192\fluent\fluent19.2.0\win64\3ddp_node\fl_mpi1920.exe: Rank 0:14: MPI_Waitall: Error code is in status
MPI Application rank 0 exited before MPI_Finalize() with status 2
Cannot merge similar NUMANode objects with different OS indexes 0 and 1
The fl process could not be started.Error: Invalid result name.
Error Object: () -
-
各位大佬们在干什么在挂机~
-
刘盈溢老师做的关于风机的水动力软件HAMS开源 -
请教,如何通过Fluent的LES模型在流域中生成自然的湍流扰动?@李东岳 最近是模拟风机的尾流恢复,但是fluent做出来的结果过于保守,实验大约能尾流恢复到80%的位置处,fluent算出来也不过恢复了50-60%的样子。我感觉主要是由于环境湍流太小导致尾流恢复太慢。因此想办法怎么生成出来环境湍流。
-
请教,如何通过Fluent的LES模型在流域中生成自然的湍流扰动?@李东岳 好的!感谢您的回复!
-
请教:ICEM是否可以反向导出step文件或者stl文件?@ibelief 早就关注了
-
请教:ICEM是否可以反向导出step文件或者stl文件?@ibelief 好的,谢谢!感谢指导!
我是solidwork画图,然后直接在icem中改结构进行优化,完事了想直接导出.stl进行3D打印 -
请教:ICEM是否可以反向导出step文件或者stl文件?@Leon-Zhao 好的,谢谢!感谢您的回复!
-
请教,如何通过Fluent的LES模型在流域中生成自然的湍流扰动?本人想模拟一下风场,全域中需要模拟出自然湍流?
我看一些讲解是 入口和出口设置 周期边界,但是还是没有搞懂其中流域中湍流是怎么生成的,怎么增加一些扰动?比如增加底面的摩擦厚度吗?希望有大牛方便的话解答一下,不胜感激!! -
请教:ICEM是否可以反向导出step文件或者stl文件?@ibelief 请问有没有试过iges,我用icem导出的stl进行3D打印,有的没法切片。。。
-
对于CFD,大家对各网格划分工具有什么使用感受?@散漫守望2016 在 对于CFD,大家对各网格划分工具有什么使用感受? 中说:
ICEM挺好用的。
-
连续性方程不收敛怎么办不知道跑的是瞬态还是稳态?稳态的话,可能流场本身就不是一个能够稳定的流场。
可以跑一下瞬态试试。 -
请教:ICEM是否可以反向导出step文件或者stl文件?我又简单测试了一下,好像实体内部建个body可以导出stl。
但是之前一些测试时不时出问题。 -
请教:ICEM是否可以反向导出step文件或者stl文件?看在icem中有一个选项可以反向导出几何文件,但是测试的时候总是失败,不知道这个软件是否可以实现几何的反向导出?
感谢指导!