24小时热门版块排行榜    

查看: 2058  |  回复: 4
【悬赏金币】回答本帖问题,作者cfd菜鸡将赠送您 40 个金币
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

cfd菜鸡

新虫 (初入文坛)

[求助] 这是我编写湿空气冷凝的udf导入fluent后初始化就无法完成,是不是死循环,求大神指导

#include "udf.h"
#include "sg.h"
#include "sg_mphase.h"
#include "flow.h"
#include "mem.h"
#define LAT_HT 2.257e6
#define WALL_NUMBER  3
#define scdomain_index 3
#define prim_index 0
#define index_evap_primary 1
int phase_domain_index;
real face_center[ND_ND], cell_center[ND_ND], a[ND_ND], distance;
real p_op, p, diffusivity;
real cell_vapor_pressure, wall_temper, wall_pressure, wall_mass_fraction;
real NV_VEC(A);
real area, area_density, mass_transfer_coeff;
real water_temper, water_satpressure, water_mass_fraction;
real vapor_density;
int n;
Domain *subdomain;
cell_t c;
Thread *t;
Thread **pt;
Thread *tp;
Thread *ts;
Thread *tf, *tb;
face_t fa;
face_t fb;
real source;

DEFINE_SOURCE(vap_src, cell, first, dS, eqn)
{
        Thread *mixer, *sec_th;
        real m_dot_first;
        real mass_dot;
        mixer = THREAD_SUPER_THREAD(first);
        sec_th = THREAD_SUB_THREAD(mixer, 1);
        real Db;
        real water_mass_fiction;
        real area;
        real volume;
        begin_c_loop(cell,mixer)
        {
                volume = C_VOLUME(cell, mixer);//网格体积//
                c_face_loop(cell, mixer, n)//对所有cell面循环//
                {
                        fa = C_FACE(cell, mixer, n);//获取面指针//
                        tf = C_FACE_THREAD(cell, mixer, n);//获取面所在thread指针//
                        if (THREAD_ID(tf) == WALL_NUMBER) //判断是否为壁面网格//
                        {
                                if (C_VOF(cell, sec_th) == 1.) //判断液体是否充满壁面//
                                        mass_dot = 0.0; //质量源为0//
                                else
                                {
                                        C_CENTROID(cell_center, cell, mixer);//获取cell中心坐标//
                                        F_CENTROID(face_center, fa, tf);//获取面中心坐标//
                                        NV_VV(a, =, cell_center, -, face_center);//体心到面心矢量//       
                                        distance = NV_MAG(a);//体心到面心距离//       
                                        F_AREA(A, fa, tf);//面积矢量//               
                                        area = NV_MAG(A);//面积//
                                        wall_temper = F_T(fa, tf) - 273.15;//获取壁面温度摄氏度//
                                        Db = (4.709 + 0.196 * wall_temper + 0.006122 * wall_temper * wall_temper + 0.0004386 * wall_temper * wall_temper * wall_temper) / 1000;//壁面温度对应饱和含湿量//
                                        water_mass_fiction = C_YI(cell, first, 0);//水蒸气质量分数//
                                        if (water_mass_fiction > Db)
                                        {
                                                mass_dot = -C_R(cell, first) * 0.256 * 0.0001 * (water_mass_fiction - Db) / distance * area/volume;//质量源求解公式//
                                                dS[eqn] = 0;
                                        }
                                }

                        }
                }
        }
        end_c_loop(cell,mixer)
        return mass_dot;
}

DEFINE_SOURCE(liq_src, cell, second, dS, eqn)
{
        Thread *mix_th, *fir_th;
        real mass_dot;
        real Db;
        real water_mass_fiction;
        real area;
        real volume;
        mix_th = THREAD_SUPER_THREAD(second);
    fir_th = THREAD_SUB_THREAD(mix_th, 1);
        begin_c_loop(cell, mix_th)
        {
                volume = C_VOLUME(cell, mix_th);//网格体积//
                c_face_loop(cell, mix_th, n)
                {
                        fa = C_FACE(cell, mix_th, n);
                        tf = C_FACE_THREAD(cell, mix_th, n);
                        if (THREAD_ID(tf) == WALL_NUMBER)
                        {
                                if (C_VOF(cell, fir_th) == 1.)
                                        mass_dot = 0.0;
                                else
                                {
                                        C_CENTROID(cell_center, cell, mix_th);
                                        F_CENTROID(face_center, fa, tf);
                                        NV_VV(a, =, cell_center, -, face_center);
                                        distance = NV_MAG(a);
                                        F_AREA(A, fa, tf);//面积矢量//               
                                        area = NV_MAG(A);//面积//
                                        wall_temper = F_T(fa, tf) - 273.15;
                                        Db = (4.709 + 0.196 * wall_temper + 0.006122 * wall_temper * wall_temper + 0.0004386 * wall_temper * wall_temper * wall_temper) / 1000;
                                        water_mass_fiction = C_YI(cell, second, 0);
                                        if (water_mass_fiction > Db)
                                        {
                                                mass_dot = C_R(cell, second) * 0.256 * 0.0001 * (water_mass_fiction - Db) / distance * area / volume;
                                                dS[eqn] = 0;
                                        }
                                }
                        }
                }
        }
        end_c_loop(cell, mixer)
        return mass_dot;
}
DEFINE_SOURCE(enrg_src, cell, mixer, dS, eqn)
{
        Thread* first, * sec_th;
        real m_dot;
        real mass_dot;
        first = THREAD_SUB_THREAD(mixer, 0);
        sec_th = THREAD_SUB_THREAD(mixer, 1);
        real Db;
        real water_mass_fiction;
        real area;
        real volume;
        begin_c_loop(cell, mixer)
        {
                c_face_loop(cell, mixer, n)
                {
                        fa = C_FACE(cell, mixer, n);
                        tf = C_FACE_THREAD(cell, mixer, n);
                        if (THREAD_ID(tf) == WALL_NUMBER)
                        {
                                if (C_VOF(cell, sec_th) == 1.)
                                        mass_dot = 0.0;
                                else
                                {
                                        C_CENTROID(cell_center, cell, mixer);
                                        F_CENTROID(face_center, fa, tf);
                                        NV_VV(a, =, cell_center, -, face_center);
                                        distance = NV_MAG(a);
                                        F_AREA(A, fa, tf);//面积矢量//               
                                        area = NV_MAG(A);//面积//
                                        wall_temper = F_T(fa, tf) - 273.15;
                                        Db = (4.709 + 0.196 * wall_temper + 0.006122 * wall_temper * wall_temper + 0.0004386 * wall_temper * wall_temper * wall_temper) / 1000;
                                        water_mass_fiction = C_YI(cell, first, 0);
                                        if (water_mass_fiction > Db)
                                        {
                                                mass_dot = -C_R(cell, first) * 0.256 * 0.0001 * (water_mass_fiction - Db) / distance * area / volume;
                                                dS[eqn] = 0;
                                        }
                                }

                        }
                }
        }
        end_c_loop(cell, mixer)
        return mass_dot * LAT_HT;
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

18438609728

新虫 (小有名气)

3楼2021-09-28 21:22:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

mopsite

木虫 (著名写手)

显示啥问题啊,是仅计算壁面的冷凝问题嘛,源项里咋没有时间相关的项。
2楼2021-05-12 14:28:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

18438609728

新虫 (小有名气)

能发一份udf吗,咱们的研究方向接近

发自小木虫Android客户端
4楼2021-09-28 21:22:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

18438609728

新虫 (小有名气)

引用回帖:
2楼: Originally posted by mopsite at 2021-05-12 14:28:33
显示啥问题啊,是仅计算壁面的冷凝问题嘛,源项里咋没有时间相关的项。

我是做水蒸气冷凝的,但是我模拟出来的热流密度一直太小。你有没有相应的udf啊,给我分享一下

发自小木虫Android客户端
5楼2021-10-01 09:45:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 mlpt55dx9i 2026-03-10 14/700 2026-03-11 09:53 by 5vkk2l1t47
[考研] 考研材料与化工,求调剂 +7 戏精丹丹丹 2026-03-09 7/350 2026-03-11 09:15 by @飒飒飒飒
[考研] 279求调剂 +3 莫xiao 2026-03-10 4/200 2026-03-11 08:06 by 斩魂滴兔子!
[考研] 化工0817调剂 +8 灿若星晨 2026-03-10 8/400 2026-03-10 22:44 by 星空星月
[考研] 328,0703考生求调剂,一志愿为东北师范大学 +3 观素律 2026-03-09 4/200 2026-03-10 15:58 by houyaoxu
[考研] 337一志愿华南理工材料求调剂 +5 mysdl 2026-03-07 5/250 2026-03-10 14:54 by ruiyingmiao
[考研] 0832食品科学与工程293调剂 +3 东东不東 2026-03-07 3/150 2026-03-09 15:58 by ls_13456
[考研] 296求调剂 +4 Xinyu Wu311 2026-03-09 4/200 2026-03-09 11:51 by 勇敢太监王公公
[考研] 083000环境科学与工程调剂 +5 加油呀fxy 2026-03-07 6/300 2026-03-08 21:07 by sdgdsdgd
[考研] 材料科学(0805)338 求调剂 +7 xiaokang3286 2026-03-07 7/350 2026-03-08 03:42 by lfhuang
[考研] 第一志愿上海大学,专业化学工程与技术,总分288,求调剂 +3 1829197082 2026-03-07 3/150 2026-03-07 19:14 by houyaoxu
[考研] 一志愿武汉理工085601,初试301分,请问能调剂到湖北吗 +3 肖yang 2026-03-06 3/150 2026-03-07 19:08 by ms629
[考研] 304求调剂 +4 52hz~~ 2026-03-05 5/250 2026-03-07 15:47 by lature00
[考研] 276求调剂 本科天津工业大学 一志愿北京化工大学0855 +4 路lyh123 2026-03-06 6/300 2026-03-07 11:37 by shdliugang
[考研] 085600材料与化工 292分 求调剂 +6 程晴之 2026-03-06 6/300 2026-03-07 09:22 by 斩魂滴兔子!
[考研] 哈尔滨理工大学2026年研究生调剂,材料科学与化学工程学院研究生调剂 +3 xinliu866 2026-03-06 3/150 2026-03-06 19:42 by 祁东原神
[考研] 334求调剂 +6 Trying] 2026-03-05 8/400 2026-03-06 00:16 by wutongshun
[考研] 282求调剂 +7 夕~日 2026-03-05 8/400 2026-03-05 21:31 by zzpnuli111
[考研] 纺织、生物、化学、材料等专业 +3 Eember. 2026-03-05 7/350 2026-03-05 16:35 by Eember.
[考研] 274环境工程求调剂 +6 扶柳盈江 2026-03-05 6/300 2026-03-05 13:16 by 梦天888
信息提示
请填处理意见