24小时热门版块排行榜    

查看: 1150  |  回复: 12
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

duwei789551

新虫 (小有名气)

[求助] 关于fluent写udf时计算式后的条件控制 已有1人参与

c++菜鸟求助
ps是一个参数,经由前式计算后得到结果,现想要控制其数值大于1时为原值,否则等于1.但使用下述语句没有效果,求帮助。
if (ps>=1.0)
        {
                ps=ps;
}
else
{
        ps=1.0;
}
回复此楼
qq:2777094835
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duwei789551

新虫 (小有名气)

送红花一朵
引用回帖:
8楼: Originally posted by qc12345 at 2016-08-24 08:04:17
1.ps还是远远小于1,所以ps=ps,ps不變
2.UDF中回傳值才是程式中源項的值,你的目的不是改變源項嗎?

我的目的是在域中ps大于1的部分使之为原值,小于1的使之为1,然后计算S,然后存储。但刚刚的条件控制在存储中没有体现。
但是计算后的uds中确实能够体现出这个条件控制。
意思是存储的无法体现这个控制,但计算后的自定义标量方程中的源相中可以提现?
qq:2777094835
9楼2016-08-24 14:28:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 13 个回答

qc12345

至尊木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
duwei789551: 金币+50, ★★★★★最佳答案 2016-10-12 16:40:03
你是要改變那個位置的參數呢?必須先把要改變的Thread , cell或 Domain先弄清楚

» 本帖已获得的红花(最新10朵)

聽海
2楼2016-08-22 17:08:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duwei789551

新虫 (小有名气)

送红花一朵
引用回帖:
2楼: Originally posted by qc12345 at 2016-08-22 17:08:01
你是要改變那個位置的參數呢?必須先把要改變的Thread , cell或 Domain先弄清楚

域内用线指针,后面的参数计算中也没有特别声明使用什么指针,这里条件控制需要特别声明吗?
DEFINE_SOURCE(lradius_source,c,c_thread,dS,eqn)
{
    real T,rou,p;
    real ps;
double j0=-5674.5;
double j1=6.3925;
double j2=0.9677e-2;
double j3=0.6221e-6;
double j4=0.2074e-8;

double j6=4.16359;
double j7=2.71828;
double j8;
Domain *domain;
   
        Thread *mix_th, *sec_th;

       T=C_T(c,c_thread);
       p=C_P(c,c_thread);
       rou=C_R(c,c_thread);
j8=j0/T+j1-j2*T+j3*pow(T,2.0)-j4*pow(T,3.0)+j6*log(T);
ps=pow(j7,j8);
if (ps>=1.0)
        {
                ps=ps;
}
else
{
        ps=1.0;
}
}
qq:2777094835
3楼2016-08-22 19:53:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qc12345

至尊木虫 (职业作家)

【答案】应助回帖

是不是應該要return ps; 您可以加上去試試
聽海
4楼2016-08-22 20:57:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见