Fluent中宏DEFINE_ADJUST的使用

上次的容器轴和旋转轴的夹角如果不能直接用一个公式赋值而是满足一个方程需要对其求解的话,我尝试用DEFINE_ADJUST解决了这个问题;
首先我们知道ADJUST这个宏是每个迭代步都会被调用的,我试着使用
static int last_ts=-1;
DEFINE_ADJUST(my_adjust)
{
     int curr_ts=CURRENT_TIMESTEP;
     if(last_ts!=curr_ts)
     {
     for(;收敛条件;)
     {
     //牛顿迭代法
     }
}
使只在每一个时间步的开头,对夹角方程进行数值求解直至满足我们的收敛要求,其余时候这个宏为空,但是我导入UDF的时候一直报static这个语法的错误,我也不知道为什么我不能用静态变量,百思不得其解。
然后突然想到为什么一定要令ADJUST每个时间步调用一次呢,可以就在N-S方程迭代的过程中对该方程一起迭代计算嘛。
所以就改成了如下
DEFINE_ADJUST(my_adjust)
{
     //牛顿迭代法
     printf("夹角=%g",夹角);//用来在计算过程中观察是否在对方程进行迭代以及判断是否每个时间步的夹角都已经稳定了;
}
最后证明是可行的。
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值