24小时热门版块排行榜    

查看: 2069  |  回复: 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个字符以上)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 深圳大学硕士招生(2026秋,传感器方向,仅录取第一志愿) +4 xujiaoszu 2026-03-11 7/350 2026-03-13 17:28 by xujiaoszu
[考研] 304求调剂 +5 Mochaaaa 2026-03-12 6/300 2026-03-13 15:54 by 蹭WIFI
[论文投稿] 投稿问题 5+4 星光灿烂xt 2026-03-12 6/300 2026-03-13 14:17 by god_tian
[考研] 311求调剂 +4 牛乳糖的卡卡 2026-03-10 4/200 2026-03-13 13:30 by Iveryant
[考研] 0703化学调剂 +3 快乐的香蕉 2026-03-11 3/150 2026-03-13 12:37 by houyaoxu
[考研] 070303一志愿西北大学学硕310找调剂 +3 d如愿上岸 2026-03-13 3/150 2026-03-13 10:43 by houyaoxu
[考研] 0856化工原理 +6 z2839474511 2026-03-10 6/300 2026-03-13 10:41 by houyaoxu
[考研] 材料与化工一志愿南昌大学327求调剂推荐 +4 Ncdx123456 2026-03-13 4/200 2026-03-13 10:32 by houyaoxu
[考研] 纺织、生物、化学、材料相关专业招生了 +4 耶耶业 2026-03-09 7/350 2026-03-12 19:05 by Equinoxhua
[基金申请] NSFC申报书里申请人简历中代表性论著还需要在申报书最后的附件里面再上传一遍吗 20+4 NSFC2026我来了 2026-03-10 11/550 2026-03-12 13:13 by NSFC2026我来了
[考研] 材料工程,326分,求调剂 +5 KRSLSR 2026-03-10 5/250 2026-03-11 21:07 by kiokin
[考研] 泣血叩求调剂恩,愿以丹心报师恩 +5 Iuruoh 2026-03-11 5/250 2026-03-11 16:19 by 暖阳芬芳
[考研] 求调剂 +4 鹤遨予卿 2026-03-09 4/200 2026-03-11 10:47 by @飒飒飒飒
[考研] 材料专硕288分求调剂 一志愿211 +3 在家想你 2026-03-11 3/150 2026-03-11 08:13 by ms629
[考研] 298求调剂 +3 Vv呀! 2026-03-10 3/150 2026-03-10 22:40 by 剑诗杜康
[考研] 327求调剂 +3 Ffff03 2026-03-10 3/150 2026-03-10 22:30 by macy2011
[考研] 环境调剂 +5 晓看天暮看云 2026-03-09 5/250 2026-03-10 10:46 by 星空星月
[考研] 337求调剂 +3 睡醒,。 2026-03-09 3/150 2026-03-09 10:02 by 求调剂zz
[考研] 0856求调剂 +3 squirtle11 2026-03-07 3/150 2026-03-09 09:54 by @飒飒飒飒
[考研] 求调剂 +3 拾柒12。 2026-03-08 3/150 2026-03-08 17:33 by bingxueer79
信息提示
请填处理意见