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)
童话故事h>ol图片
{
for(;收敛条件;)
美味可口的意思>跨国恋
{
//⽜顿迭代法
}
}
使只在每⼀个时间步的开头,对夹⾓⽅程进⾏数值求解直⾄满⾜我们的收敛要求,其余时候这个宏为空,但是我导⼊UDF的时候⼀直报static这个语法的错误,我也不知道为什么我不能⽤静态变量,百思不得其解。
然后突然想到为什么⼀定要令ADJUST每个时间步调⽤⼀次呢,可以就在N-S⽅程迭代的过程中对该⽅程⼀起迭代计算嘛。
所以就改成了如下
DEFINE_ADJUST(my_adjust)葱爆肉
{
//⽜顿迭代法
面试的问题
printf("夹⾓=%g",夹⾓);//⽤来在计算过程中观察是否在对⽅程进⾏迭代以及判断是否每个时间步的夹⾓都已经稳定了;
}
最后证明是可⾏的。