| 查看: 561 | 回复: 0 | ||
[求助]
Fluent UDF 求助
|
|
目的:将计算的每一个迭代步的流量导出,并利用欧拉插值得到压力值,并赋回给Fluent作为边界条件,进行下一个迭代步的计算,一直到计算收敛,该时间步结束。 问题:仅仅在第一个时间步的时候发现压力利用欧拉迭代产生了变化,在之后的计算中压力始终等于我赋的初值。求大牛解答这是为什么。 代码如下: DEFINE_PROFILE(DFA_outlet,thread,position) { real NV_VEC(A),NV_VEC(FaceVel); double Q; face_t f; int i; real t=RP_Get_Real("flow-time" ;real tt; // define the time in one cycle real w=0.8; // period of a cycle real p1[100]; // define the pressure after R1 double R1,R2,C; // define electric modulus int TTS; // total time steps int h,TS; // time interval and time step R1=9.717571*pow(10,8),R2=3.849843*pow(10,9),C=3.712461*pow(10,-10); // set the values of electric modulus TTS=100; // total time steps begin_f_loop(f,thread) { NV_D(FaceVel,=,F_U(f,thread),F_V(f,thread),F_W(f,thread)); F_AREA(A,f,thread); Q=NV_DOT(FaceVel,A); //compute the pressure using the explicit Euler method h=w/TTS; tt=t-floor(t/w)*w; TS=floor(tt/h); p1[0]=12102.65-Q*R1; if(TS=0) F_PROFILE(f,thread,position)=p1[0]+Q*R1; else for(i=1;i<=TS;i++) { p1[TS]=p1[TS-1]+h*(Q-(p1[TS-1]-1333.22)/R2)/C; } F_PROFILE(f,thread,position)=p1[TS]+Q*R1; } end_f_loop(f,thread) } @月只蓝 @beefly 发自小木虫Android客户端 |
» 猜你喜欢
中国科学院东莞材料科学与技术研究所-2026年博士招生-吴昊研究员-磁学与自旋电子学
已经有0人回复
《电磁学》教材推荐
已经有1人回复
物理学I论文润色/翻译怎么收费?
已经有269人回复
【急招】合肥工大核聚变材料计算方向2026级工程博士生
已经有4人回复
大豆异黄酮分离
已经有0人回复
湖南大学材料学院急招2026年博士生,临时增加一名博士联培指标
已经有10人回复
天津理工大学晶体材料全国重点实验室刘红军教授课题组招收博士生1-2名
已经有1人回复
中国科学院物理研究所谌志国研究员团队招收2027年博士研究生
已经有3人回复
2026年中德博士后交流项目 - 新型量子和磁性材料:材料制备表征和中子散射研究
已经有12人回复












;
回复此楼