| 查看: 510 | 回复: 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年秋博士招生-物理学-活性胶体方向-高永祥课题组
已经有18人回复
论物质与能量的统一模型及物理现象解释
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有251人回复
基于基元I统一理论的数学相关应用推导
已经有0人回复
基元I统一理论:宇宙本质、层级演化与修炼文明的本源规律
已经有1人回复
基元I理论下三大核心空间现象精准推导与细节解析
已经有0人回复
基于基元 I 统一理论的反重力理论推导
已经有0人回复
基于基元I统一理论的量子力学本源推导
已经有1人回复
推荐一款可以AI辅助写作的Latex编辑器SmartLatexEditor,超级好用,AI润色,全免费
已经有20人回复
【EI|Scopus 双检索】第六届智能机器人系统国际会议(ISoIRS 2026)
已经有0人回复
2026年第四届电动车与车辆工程国际会议(CEVVE 2026)
已经有0人回复













;
回复此楼