24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1904  |  回复: 5

ajene

银虫 (小有名气)

[求助] 在DEFINE_SOURCE中不能用F_AREA(A,f,t)语句吗?

各位大牛:
  最近想编一个SOURCE,其中包含的有矢量和面的乘积,但是编译的时候,VS警告f没有初始化,即:
   warning C4700: 使用了未初始化的局部变量“f”
但是可以加载,但是加载后一运行就出现了读取错误,无法计算,即:
(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: #f

我在UDF中loop范围为cell的时候,引用了f,感觉上是不太好;但是没有办法,避不开。难道在DEFINE_SOURCE中不能用F_AREA(A,f,t)语句吗?希望得到您的指点!



DEFINE_SOURCE(AB, cell, t, dS, eqn)
{

real NV_VEC(C_GRAD),NV_VEC(A);
real NV_VEC(V);
F_AREA(A,f,t);
   ... ...
   C_UDSI(cell,t,DELTA_C_UDS_NUM)=C_la-C_a;
   NV_V(C_GRAD,=,C_UDSI_G(cell,t,DELTA_C_UDS_NUM));  
   NV_S(C_GRAD, *=,rho*D);
   
   src1=NV_DOT(C_GRAD,A)
   
... ...
  dS[eqn]=0;
   
   return sr1;

}
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

死天

专家顾问 (著名写手)

【答案】应助回帖

★ ★ ★ ★
感谢参与,应助指数 +1
1592203609: 金币+1, 谢谢回帖 2013-10-09 13:26:59
ajene: 金币+3, 有帮助 2013-10-09 15:04:42
face你没有定义啊。先定义出face,然后face和cell挂钩。我不明白你想问什么
2楼2013-10-09 12:47:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ajene

银虫 (小有名气)

引用回帖:
2楼: Originally posted by 死天 at 2013-10-09 12:47:46
face你没有定义啊。先定义出face,然后face和cell挂钩。我不明白你想问什么

谢谢,你的帮助。我在udf中是有定义面的,只是UDF太长了,没有贴完整。 加载后出现了ACCESS_VIOLATION。  DEFINE_SOURCE(AB, cell, t, dS, eqn)中没有默认的face形参,是不是不能读取数据的原因呢?
3楼2013-10-09 15:04:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

死天

专家顾问 (著名写手)

【答案】应助回帖

不是

你确定加了,face_t f;这样???
4楼2013-10-09 15:58:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ajene

银虫 (小有名气)

引用回帖:
4楼: Originally posted by 死天 at 2013-10-09 15:58:06
不是

你确定加了,face_t f;这样???

我加上了。我还试了一下,要是不face_t f; 的话,VS提示是没有声明变量f;加上face_t后,VS提示的是存在没有初始化的变量f;
5楼2013-10-10 09:52:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

淡雨愁

铁虫 (初入文坛)

楼主这个问题解决了吗?
6楼2018-10-15 10:43:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ajene 的主题更新
信息提示
请填处理意见