24小时热门版块排行榜    

查看: 2041  |  回复: 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的回帖

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的回帖

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的回帖
相关版块跳转 我要订阅楼主 cfd菜鸡 的主题更新
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 085701环境工程 求调剂 +6 xiiiia 2026-03-04 6/300 2026-03-04 16:45 by yuningshan
[考研] 化学 0703求调剂 总分293 一志愿211 +8 土土小虫 2026-03-03 8/400 2026-03-04 16:45 by xwxstudy
[考研] 0703化学 一志愿东北大学 279分求调剂 +4 聂乐平 2026-03-03 4/200 2026-03-04 16:31 by zhukairuo
[考研] 292求调剂 +9 yhk_819 2026-02-28 9/450 2026-03-04 16:06 by sslc1985
[考研] 本科太原理工采矿工程,求调剂 +3 onlx 2026-03-01 3/150 2026-03-04 15:57 by Stephen_ym
[考研] 一志愿314求调剂 +7 202111120625 2026-03-03 7/350 2026-03-04 15:56 by zhukairuo
[考研] 求调剂院校 +6 云朵452 2026-03-02 11/550 2026-03-04 09:16 by 无际的草原
[考研] 289求调剂 +8 yang婷 2026-03-02 10/500 2026-03-04 09:10 by 无际的草原
[考研] 291求调剂 +3 咕噜咕噜123123 2026-03-02 4/200 2026-03-04 08:39 by 每天只摆一小会
[考研] 一志愿东北大学化学314分求调剂 +5 lr1212.. 2026-03-02 5/250 2026-03-03 15:26 by xingtian2025
[考研] 化工专硕348,一志愿985求调剂 +8 弗格个 2026-02-28 11/550 2026-03-03 14:55 by relum
[考研] 材料学硕318求调剂 +15 February_Feb 2026-03-01 17/850 2026-03-03 14:47 by xiaomc_gzh
[考研] 271求调剂 +4 Ricardo1113 2026-03-02 4/200 2026-03-03 08:00 by 无际的草原
[考研] 化工京区271求调剂 +7 11ing 2026-03-02 7/350 2026-03-03 07:30 by 利好利好.
[考研] 一志愿山东大学材料与化工325求调剂 +5 半截的诗0927 2026-03-02 5/250 2026-03-02 18:37 by 明亮9527
[考研] 一志愿东北大学材料专硕328,求调剂 +3 shs1083 2026-03-02 3/150 2026-03-02 17:27 by houyaoxu
[基金申请] 成果系统访问量大,请一小时后再尝试。---NSFC啥时候好哦,已经两天这样了 +4 NSFC2026我来了 2026-02-28 4/200 2026-03-01 22:37 by 铁门栓
[考研] 304求调剂 +6 曼殊2266 2026-02-28 7/350 2026-03-01 15:14 by wjLi2017
[考研] 寻找调剂 +4 LYidhsjabdj 2026-02-28 4/200 2026-03-01 10:56 by sunny81
[考研] 304求调剂 +3 52hz~~ 2026-02-28 5/250 2026-03-01 00:00 by 52hz~~
信息提示
请填处理意见