24小时热门版块排行榜    

查看: 10166  |  回复: 36

duandiancqu

金虫 (初入文坛)

[求助] UDF中DEFINE_ADJUST宏中使用C_UDSI_G 已有5人参与

我在用DEFINE_ADJUST宏时,只要加上C_UDSI_G(c,t,0),就提示错误,
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.

将C_UDSI_G()替换成常数时,程序能够执行,是不是在这种情况下有什么要求啊,那位大神给我解释下,很纠结。
程序代码如下:
DEFINE_ADJUST(mhd_adjust,d)
{
        Thread *t;
        cell_t c;

        if (! Data_Valid_P())
        return;

        thread_loop_c(t,d)
        {
                begin_c_loop(c,t)
                {
                                               
                        C_UDMI(c,t,0)=-1*C_UDSI_DIFF(c,t,0)*C_UDSI_G(c,t,0)[0];
                        C_UDMI(c,t,1)=-1*C_UDSI_DIFF(c,t,0)*C_UDSI_G(c,t,0)[1];
                        C_UDMI(c,t,2)=-1*C_UDSI_DIFF(c,t,0)*C_UDSI_G(c,t,0)[2];
                }
                end_c_loop(c,t)
        }
}
回复此楼

» 收录本帖的淘帖专辑推荐

等离子体相关

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

759599290

银虫 (小有名气)

【答案】应助回帖

最近我也测试了使用DEFINE_ADJUST宏来获得某一变量的二阶导数。心得如下:
1、梯度变量在FLUENT计算过程中是暂存变量,计算完成后将自动释放。如果要获取,需使用如下方法强制求解器保存梯度变量已供后用:
在FLUENT主窗中输入:solve--set--expert,出现的是否保存梯度变量询问语句回答为yes
2、梯度变量在首次计算中是不存在的。即使在计算之前,UDS已经使用一定方法进行过初始化,UDS_G仍将是空值,在第一步计算时内存中不存在这一变量,因此无论如何设置,第一步计算都不能调用C_UDSI_G宏。计算进行了一步或更多步之后才可以。
3、C_UDSI_G调出的变量并不一定是内部计算使用的梯度值。在某些复杂边界处,Fluent内部有其他未公开的处理函数,C_UDSI_G只在计算区域中的绝大部分里非常接近内部计算使用的梯度值。
仅个人看法,未必正确,盼有所助。
中国热管理协会特约专家,中国热设计网高级顾问,东莞鸿艺电子技术总监
23楼2014-01-13 08:50:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

759599290

银虫 (小有名气)

【答案】应助回帖

★ ★
xiegangmai: 金币+2, 谢谢参与! 2013-03-30 22:27:23
建议使用NNULL函数判断线程中是否存有C_UDSI_G(c,t,i)数据。data_valid_p和NNULL函数判断的侧重点可能并不一致。
中国热管理协会特约专家,中国热设计网高级顾问,东莞鸿艺电子技术总监
18楼2013-03-30 16:57:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tommyan

新虫 (初入文坛)

这个代码貌似是非法访问。
C_UDSI_G(c,t,0) 返回的是一个矢量,不能直接用在乘法表达式。
可以尝试:
求矢量模:NV_MAG(C_UDSI_G(c,t,0))再乘,
或者
real g[ND_ND];
g=C_UDSI_G(c,t,0);
使用g[0],g[1] g[2]
25楼2014-01-30 18:25:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

gyctju

金虫 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
臭水沟: 金币+1, 谢谢交流~~ 2012-07-04 20:39:50
可以尝试在不链接udf的情况下先计算几步,使得uds0的值合理。
2楼2012-07-04 12:31:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duandiancqu

金虫 (初入文坛)

引用回帖:
2楼: Originally posted by gyctju at 2012-07-04 12:31:48
可以尝试在不链接udf的情况下先计算几步,使得uds0的值合理。

我试过了,不行。。。
3楼2012-07-04 14:45:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lucklhz

木虫 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +1
臭水沟: 金币+1, 谢谢交流~~ 2012-07-04 20:40:06
楼主,看你程序,你是想取你的UDS自定义标量uds0在空间个三个方向的梯度吗?还有,这种表达方式C_UDSI_G(c,t,0)[1],是不是有问题?C_UDSI_G(c,t,i)默认的在三个方向上的梯度是一样的
4楼2012-07-04 19:43:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duandiancqu

金虫 (初入文坛)

引用回帖:
4楼: Originally posted by lucklhz at 2012-07-04 19:43:32
楼主,看你程序,你是想取你的UDS自定义标量uds0在空间个三个方向的梯度吗?还有,这种表达方式C_UDSI_G(c,t,0),是不是有问题?C_UDSI_G(c,t,i)默认的在三个方向上的梯度是一样的

我是想取载个方向上的梯度,而且C_UDSI_G(c,t,0)[1]没有问题吧,帮助上就有这个啊,C_UDSI_G(c,t,0),i=1,2,3的
5楼2012-07-04 22:42:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yulinjun1986

新虫 (小有名气)

【答案】应助回帖


感谢参与,应助指数 +1
臭水沟: 金币+1, 谢谢交流~~ 2012-07-05 17:20:16
我想问的是,你之前编写uds了吗?是不是编写的不对呀?如果没有编写的话,那可能就是需要编写uds了……
6楼2012-07-05 16:26:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duandiancqu

金虫 (初入文坛)

引用回帖:
6楼: Originally posted by yulinjun1986 at 2012-07-05 16:26:29
我想问的是,你之前编写uds了吗?是不是编写的不对呀?如果没有编写的话,那可能就是需要编写uds了……

写了的,就是一个电势方程,求出电势,再利用欧姆定律求出电流密度
7楼2012-07-05 21:21:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duandiancqu

金虫 (初入文坛)

引用回帖:
6楼: Originally posted by yulinjun1986 at 2012-07-05 16:26:29
我想问的是,你之前编写uds了吗?是不是编写的不对呀?如果没有编写的话,那可能就是需要编写uds了……

我现在把那个去掉了,可以计算,能量方程就是不收敛。。。。
8楼2012-07-05 21:25:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yulinjun1986

新虫 (小有名气)

【答案】应助回帖

★ ★
xiegangmai: 金币+2, 谢谢参与! 2012-07-06 22:25:11
引用回帖:
8楼: Originally posted by duandiancqu at 2012-07-05 21:25:21
我现在把那个去掉了,可以计算,能量方程就是不收敛。。。。...

你用的是非稳还是稳态?要是非稳的话,试试把时间步长调小些。另外就是要调整松弛因子了。你试试吧,如果不加uds的话,应该没问题才对。我的udf也遇到了你的问题,一加入和质量相关的源相就提示这个错误,我也相当无奈,正在求解中…希望大家相互帮助吧。
9楼2012-07-06 09:12:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duandiancqu

金虫 (初入文坛)

引用回帖:
9楼: Originally posted by yulinjun1986 at 2012-07-06 09:12:43
你用的是非稳还是稳态?要是非稳的话,试试把时间步长调小些。另外就是要调整松弛因子了。你试试吧,如果不加uds的话,应该没问题才对。我的udf也遇到了你的问题,一加入和质量相关的源相就提示这个错误,我也相当 ...

谢谢楼上了,我算的是稳态的
10楼2012-07-06 09:17:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 duandiancqu 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 范进中举一文的中心思想 +5 炎黄贵胄 2026-08-22 6/300 2026-08-24 06:34 by sincosx
[基金申请] 让我中一个面上吧! +12 大萍1987 2026-08-20 15/750 2026-08-23 20:44 by 大萍1987
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +4 process2012 2026-08-23 5/250 2026-08-23 19:58 by jurkat.1640
[基金申请] 今天放榜吗? +15 布布和一二 2026-08-19 16/800 2026-08-23 09:55 by 张春生
[基金申请] 93BebMhtakh前后11位开头都是大写 +7 且听虎啸 2026-08-17 8/400 2026-08-22 21:55 by 医学老男孩
[基金申请] 只有每年这种时候来逛逛小木虫 +24 yaoyewhu2008 2026-08-20 26/1300 2026-08-22 17:43 by kammury
[基金申请] filecode,4个jtjc了 +13 ziyangfang 2026-08-19 16/800 2026-08-22 17:08 by WH3796
[基金申请] 人气不行了 +8 fansofjerry 2026-08-21 8/400 2026-08-22 16:30 by zyqchem
[基金申请] 放榜前的不淡定 40+4 snowwithsea 2026-08-19 14/700 2026-08-21 23:51 by cratir
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 感觉是下周放榜了 +7 angus9576 2026-08-17 12/600 2026-08-21 13:38 by weiyin
[基金申请] 我面上完蛋了 +7 且听虎啸 2026-08-20 8/400 2026-08-21 12:31 by 酷酷墨镜
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[论文投稿] 投稿咨询 +5 wwm09 2026-08-17 7/350 2026-08-21 10:11 by 期刊论文帮手
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
信息提示
请填处理意见