24小时热门版块排行榜    

查看: 1645  |  回复: 2
【悬赏金币】回答本帖问题,作者QiaoPengyu将赠送您 5 个金币

QiaoPengyu

新虫 (初入文坛)

[求助] fluent加载udf后初始化闪退

fluent不加载udf的时候可以计算,一加入udf就会报错闪退(udf编译和加载都可以成功)。udf如下 大佬们看看udf是不是存在问题。
#include "udf.h"
#include "flow.h"
#include"unsteady.h"
#include"stdio.h"
#define M0 0.032
#define M1 0.028
#define k10 7.87e-9
#define k11 9.86e-9
#define k20 1541.211
#define k21 2010.908
#define k30 6.79e-10
#define k31 1.67e-9
#define k40 1968.24
#define k41 2250
#define K0 62
#define K1 19.7
#define D 0.08
#define d 1.6e-3
#define h0 12000
#define h1 18000
#define L 1035
#define hf 0.2
#define hw 3.84e-3
#define Tw 288
#define e 0.4
#define cp_s 1010     /*specific heat of solid                        [cp_s]=j/(kg.K)*/
/* Define which user-defined scalars to use.*/
enum
{
  q0,q1,Q0,Q1,OM,TM,TE,T_S
};
DEFINE_ADJUST(adjust_fcn, domain)
{
    Thread* t;
    cell_t c;
    /*solve the q0.*/
    thread_loop_c(t, domain)
    {
        if (NULL != THREAD_STORAGE(t, SV_UDS_I(q0)) && NULL != T_STORAGE_R_NV(t, SV_UDSI_M1(q0)))
        {
            begin_c_loop(c, t)
            {
                real p_0, p_1, x0, x1, b0, b1;
                p_0 = 7 * C_YI(c, t, 0) * ABS_P(C_P(c, t), op_pres) / (8 - C_YI(c, t, O));
                p_1 = 8 * C_YI(c, t, 1) * ABS_P(C_P(c, t), op_pres) / (7 + C_YI(c, t, 1));
                x0 = k10 * exp(k20 / C_T(c, t));
                b0 = k30 * exp(k40 / C_T(c, t));
                b1 = k31 * exp(k41 / C_T(c, t));
                C_UDSI(c, t, q0) = x0 * p_0 / (1 + b0 * p_0 + b1 * p_1);
            }
            end_c_loop(c, t)
        }
    }
    /* solve the q1.*/
    thread_loop_c(t, domain)
    {
        if (NULL != THREAD_STORAGE(t, SV_UDS_I(q1)) && NULL != T_STORAGE_R_NV(t, SV_UDSI_M1(q1)))
        {
            begin_c_loop(c, t)
            {
                real p_0, p_1, x0, x1, b0, b1;
                x1 = k11 * exp(k21 / C_T(c, t));
                b0 = k30 * exp(k40 / C_T(c, t));
                b1 = k31 * exp(k41 / C_T(c, t));
                C_UDSI(c, t, q1) = x1 * p_1 / (1 + b0 * p_0 + b1 * p_1);
            }
            end_c_loop(c, t)
        }
    }
    /* solve the Q0.*/
    thread_loop_c(t, domain)
    {
        if (NULL != THREAD_STORAGE(t, SV_UDS_I(Q0)) && NULL != T_STORAGE_R_NV(t, SV_UDSI_M1(Q0)))
        {
            begin_c_loop(c, t)
            {
                real physical_dt;
                physical_dt = RP_Get_Real("physical-time-step";
                C_UDSI(c, t, Q0) = C_UDSI_M1(c, t, Q0) + K0 * physical_dt * (C_UDSI(c, t, q0) - C_UDSI_M1(c, t, Q0));
            }
            end_c_loop(c, t)
        }
    }
    /* solve the Q1.*/
    thread_loop_c(t, domain)
    {
        if (NULL != THREAD_STORAGE(t, SV_UDS_I(Q1)) && NULL != T_STORAGE_R_NV(t, SV_UDSI_M1(Q1)))
        {
            begin_c_loop(c, t)
            {
                real physical_dt;
                physical_dt = RP_Get_Real("physical-time-step";
                C_UDSI(c, t, Q1) = C_UDSI_M1(c, t, Q1) + K1 * physical_dt * (C_UDSI(c, t, q1) - C_UDSI_M1(c, t, Q1));
            }
            end_c_loop(c, t)
        }
    }
    /*  solve the OM.*/
    thread_loop_c(t, domain)
    {
        if (NULL != THREAD_STORAGE(t, SV_UDS_I(OM)) && NULL != T_STORAGE_R_NV(t, SV_UDSI_M1(OM)))
        {
            begin_c_loop(c, t)
            {
                C_UDSI(c, t, OM) = -(1.0 - e) * M0 * L * K0 * (C_UDSI(c, t, q0) - C_UDSI_M1(c, t, Q0));
            }
            end_c_loop(c, t)
        }
    }
    /* solve the TM.*/
    thread_loop_c(t, domain)
    {
        if (NULL != THREAD_STORAGE(t, SV_UDS_I(TM)) && NULL != T_STORAGE_R_NV(t, SV_UDSI_M1(TM)))
        {
            begin_c_loop(c, t)
            {
                C_UDSI(c, t, TM) = C_UDSI(c, t, OM) - (1.0 - e) * M1 * L * K1 * (C_UDSI(c, t, q1) - C_UDSI_M1(c, t, Q1));
            }
            end_c_loop(c, t)
        }
    }

    /* solve the TE.*/
    thread_loop_c(t, domain)
    {
        if (NULL != THREAD_STORAGE(t, SV_UDS_I(TE)) && NULL != T_STORAGE_R_NV(t, SV_UDSI_M1(TE)))
        {
            begin_c_loop(c, t)
            {
                C_UDSI(c, t, TE) = (1.0 - e) * L * (K0 * h0 * (C_UDSI(c, t, q0) - C_UDSI_M1(c, t, Q0)) + K1 * h1 * (C_UDSI(c, t, q1) - C_UDSI_M1(c, t, Q1)));
            }
            end_c_loop(c, t)
        }
    }
}
        DEFINE_UDS_UNSTEADY(uns_time, c, t, i, apu, su)
        {
            real  physical_dt, vol, rho, phi_old;
            physical_dt = RP_Get_Real("physical-time-step";
            vol = C_VOLUME(c, t);
            rho = L;
            *apu = -rho * cp_s * vol / physical_dt;              /*implicit  part*/
            phi_old = C_STORAGE_R(c, t, SV_UDSI_M1(T_S));
            *su = rho * cp_s * vol * phi_old / physical_dt;      /*explicit  part*/
        }
        DEFINE_SOURCE(O2mass_source, c, t, dS, eqn)
        {
            real source;
            source = C_UDSI(c, t, OM);
            dS[eqn] = 0;
            return source;
        }
DEFINE_SOURCE(total_mass_source, c, t, dS, eqn)
{
    real mass_source;
    mass_source = C_UDSI(c, t, TM);
    dS[eqn] = 0;
return  mass_source;
}
DEFINE_SOURCE(energy_source_fluid, c, t, dS, eqn)
{
    real  e_source;
    e_source = C_UDSI(c, t, TE);
    dS[eqn] = 0;
return   e_source;
}
DEFINE_SOURCE(energy_source_solid, c, t, dS, eqn)
{
    real e_source;
    e_source = 1.0 * C_UDSI(c, t, TE) / (1.0 - e) + 6 * hf * (C_T(c, t) - C_UDSI(c, t, T_S)) / d;
    dS[eqn] = 0;
    return  e_source;
}
DEFINE_DIFFUSIVITY(m_diff, c, t, i)
{
    real diff;
  diff = 6.324e-5 * pow(C_T(c, t), 1.83) / ABS_P(C_P(c, t), op_pres);
return  diff;
}@wuming524
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sallywhe1

金虫 (小有名气)

你的udf是用来算什么的呀?
2楼2023-11-06 10:11:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

QiaoPengyu

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by amandahan93 at 2023-11-06 10:11:15
你的udf是用来算什么的呀?

计算气体吸附的
3楼2023-11-06 10:47:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 QiaoPengyu 的主题更新
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 QTy3jDtz1uLt 2026-08-21 9/450 2026-08-23 03:04 by OEbVnUOu01ol
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 QTy3jDtz1uLt 2026-08-21 11/550 2026-08-23 02:55 by OEbVnUOu01ol
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 DpSrDtM079iu 2026-08-22 4/200 2026-08-23 01:04 by OEbVnUOu01ol
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 2JOx3r2CYEgw 2026-08-21 8/400 2026-08-23 00:28 by OEbVnUOu01ol
[基金申请] 2026国自然函评费到账 +11 羊腰板 2026-08-21 11/550 2026-08-22 22:03 by lsbin3733
[论文投稿] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 2JOx3r2CYEgw 2026-08-22 3/150 2026-08-22 22:03 by OEbVnUOu01ol
[教师之家] 跳槽后在研项目怎么办? +3 简单化xn 2026-08-22 7/350 2026-08-22 19:46 by 简单化xn
[基金申请] 什么时候开奖? +7 CrisMessi 2026-08-18 8/400 2026-08-22 18:29 by 淀粉搬运工
[基金申请] 只有每年这种时候来逛逛小木虫 +24 yaoyewhu2008 2026-08-20 26/1300 2026-08-22 17:43 by kammury
[基金申请] filecode,4个jtjc了 +13 ziyangfang 2026-08-19 16/800 2026-08-22 17:08 by WH3796
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 科研孤儿太难了 +17 我4大白菜 2026-08-20 18/900 2026-08-21 20:57 by zhangev
[基金申请] 让我中一个面上吧! +11 大萍1987 2026-08-20 13/650 2026-08-21 14:48 by 20120902066
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
信息提示
请填处理意见