24小时热门版块排行榜    

查看: 2055  |  回复: 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

新虫 (小有名气)

引用回帖:
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的回帖
查看全部 5 个回答

mopsite

木虫 (著名写手)

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

18438609728

新虫 (小有名气)

3楼2021-09-28 21:22:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

18438609728

新虫 (小有名气)

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

发自小木虫Android客户端
4楼2021-09-28 21:22:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 0703求调剂 +3 jtyq001 2026-03-10 3/150 2026-03-10 16:45 by ztnimte
[考研] A区一本交叉课题组,低分调剂,招收机械电子信息通信等交叉方向 +56 lisimayy 2026-03-04 73/3650 2026-03-10 15:27 by lisimayy
[考博] 2026博士申请 +6 起泡酒 2026-03-08 6/300 2026-03-10 10:26 by 何由彻
[考研] 一志愿山东大学105500药学专硕,总分302求调剂 +5 五维天空 2026-03-04 12/600 2026-03-10 09:51 by 五维天空
[基金申请] 第二个面上项目的获批几率如何? +3 wawm9296 2026-03-04 5/250 2026-03-09 13:00 by xujie4132
[考研] 中科大材料299求调剂 +10 DAIjiayo 2026-03-05 16/800 2026-03-09 10:45 by 斩魂滴兔子!
[考研] 337求调剂 +3 睡醒,。 2026-03-09 3/150 2026-03-09 10:02 by 求调剂zz
[考研] 293一志愿华东理工 0817化学工程与技术 调剂 +5 fjj0912 2026-03-07 5/250 2026-03-09 09:13 by 30660438
[考研] 288求调剂 +5 好好- 2026-03-07 5/250 2026-03-08 18:22 by zzpnuli111
[考研] 材料调剂 +7 ounce. 2026-03-05 15/750 2026-03-08 09:39 by wangjihu
[考研] 材料专硕323求调剂 +5 李白26 2026-03-07 5/250 2026-03-07 16:46 by njzyff
[考研] 材料与化工304求B区调剂 +4 邱gl 2026-03-06 4/200 2026-03-06 15:51 by 聪明的大松鼠
[考研] 化学专业调剂 +5 好好好1233 2026-03-04 6/300 2026-03-06 15:38 by @飒飒飒飒
[考研] 不限学校专业的调剂同学看过来 +5 啊摆啊摆 2026-03-05 9/450 2026-03-06 12:06 by 啊摆啊摆
[考研] 274求调剂 +9 一个学习者 2026-03-04 9/450 2026-03-05 20:56 by 黑衣馒头人
[考研] 材料085601一志愿哈工大317 +4 压迫感行 2026-03-04 4/200 2026-03-05 20:08 by 黑衣馒头人
[考研] 求调剂,学校研究所都可以,材料与化工267分 +6 wmx1 2026-03-05 6/300 2026-03-05 20:01 by houyaoxu
[考研] 0856材料专硕274能调剂去哪里? +3 22735 2026-03-04 4/200 2026-03-05 09:06 by 斩魂滴兔子!
[考研] 一志愿武汉理工大学-085602-总分296分-求调剂 +7 紫川葡柚 2026-03-04 7/350 2026-03-04 21:04 by kakakapanpan
[考研] 0703化学求调剂 +3 将未有期 2026-03-04 3/150 2026-03-04 16:19 by sslc1985
信息提示
请填处理意见