24小时热门版块排行榜    

查看: 2065  |  回复: 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个字符以上)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 301求调剂 +5 Liyouyumairs 2026-03-11 5/250 2026-03-11 20:43 by ms629
[考研] 材料与化工(0856)304求B区调剂 +6 邱gl 2026-03-10 9/450 2026-03-11 16:37 by @飒飒飒飒
[考研] 材料工程085601调剂求老师收留 +8 强木木木 2026-03-07 10/500 2026-03-11 14:21 by cqjd0301
[考研] 288求调剂 +13 王晓阳- 2026-03-09 18/900 2026-03-11 14:01 by Linda Hu
[考研] 求调剂 +4 鹤遨予卿 2026-03-09 4/200 2026-03-11 10:47 by @飒飒飒飒
[考研] 考研材料与化工,求调剂 +7 戏精丹丹丹 2026-03-09 7/350 2026-03-11 09:15 by @飒飒飒飒
[考研] 材料专硕288分求调剂 一志愿211 +3 在家想你 2026-03-11 3/150 2026-03-11 08:13 by ms629
[考研] 279求调剂 +3 莫xiao 2026-03-10 4/200 2026-03-11 08:06 by 斩魂滴兔子!
[考研] 哈工大材料324求调剂 +6 闫旭东 2026-03-10 8/400 2026-03-10 22:49 by 星空星月
[考研] 材料工程专硕,一志愿中国矿业大学,总分314,求调剂 +4 无懈可击的巨人 2026-03-10 4/200 2026-03-10 22:45 by 星空星月
[考研] 研究生招生 +3 徐海涛11 2026-03-10 6/300 2026-03-10 12:43 by 徐海涛11
[硕博家园] 2026级硕士研究生招生/调剂 +3 知足常乐的乐 2026-03-06 5/250 2026-03-09 20:56 by 木瓜膏
[考研] 数二英二309分请求调剂 +3 dtdxzxx 2026-03-09 4/200 2026-03-09 19:56 by yuningshan
[考研] 0832食品科学与工程293调剂 +3 东东不東 2026-03-07 3/150 2026-03-09 15:58 by ls_13456
[考研] 材料调剂 +4 xxxcm 2026-03-08 7/350 2026-03-09 10:11 by EBSD
[考研] 085701环境工程317分求调剂 +9 6汆尼9 2026-03-07 9/450 2026-03-08 06:41 by 刘兵
[考研] 一志愿211 化学305分求调剂 +3 0703杨悦305分 2026-03-05 3/150 2026-03-07 21:15 by yinhuanshun
[考研] 一志愿哈尔滨工业大学0856材料与化工,前三科206,总分283,求调剂 +7 26考研求调剂 2026-03-06 7/350 2026-03-07 14:49 by Miko19
[考研] 求调剂推荐 +4 微辣不吃 2026-03-06 4/200 2026-03-07 00:28 by leaiy
[考研] 哈尔滨理工大学2026年研究生调剂,材料科学与化学工程学院研究生调剂 +3 xinliu866 2026-03-06 3/150 2026-03-06 19:42 by 祁东原神
信息提示
请填处理意见