FLUENT uds方程求助,求大神
#include "udf.h"
DEFINE_UDS_UNSTEADY(MyUnsteady,c,t,i,apu,su)
{
real physical_dt, vol, phi_old;
physical_dt = RP_Get_Real("physical-time-step"
vol = C_VOLUME(c,t);
*apu = -vol / physical_dt;
phi_old = C_STORAGE_R(c,t,SV_UDSI_M1(i));
*su = vol*phi_old/physical_dt;
}
DEFINE_UDS_FLUX(MyFlux,f,t,i)
{
real NV_VEC(unit_vec), NV_VEC(A);
F_AREA(A, f, t);
NV_DS(unit_vec, =, F_U(f,t), 0, 0, *, 1);
return NV_DOT(unit_vec, A);
}
计算时出现错误:
Error:
FLUENT received fatal signal (ACCESS_VIOLATION)
1. Note exact events leading to error.
2. Save case/data under new name.
3. Exit program and restart to continue.
4. Report error to your distributor.
Error Object: () 返回小木虫查看更多
你菜单中设置过UDS没?
是这样么
未命名A.jpg
,
恩 你可能是用了一个UDS,所以个数为1
但是为什么会出现错误呢?
我把这一行NV_DS(unit_vec, =, F_U(f,t), 0, 0, *, 1); 里的 F_U(f,t)换成常数的话就好了,这是怎么回事呢?
虽然你的问题我不是很清楚,但我想请教一下,你的那个标量phi_old定义的是什么?比如我想把phi定义为颗粒数密度N,那我应该怎么办呢?
底下的DEFINE_UDS_FLUX那么写肯定是不对的,速度改成常数就能计算而F_U不能计算的原因是此处并没有储存F_U的值,要先对是否储存F_U进行判断。
问题解决了吗