24小时热门版块排行榜    

查看: 1713  |  回复: 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个字符以上)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[有机交流] 同一个分子,一条来自文献,一条来自AI——不告诉你答案,你会选哪条? +5 tianxiaoxian 2026-09-28 9/450 2026-10-02 19:54 by yunshui01
[博后之家] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +4 IDs3scOF0tjC 2026-09-28 4/200 2026-10-01 21:59 by Equinoxhua
[考研] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 tqUTOxClQUMF 2026-09-28 4/200 2026-10-01 21:07 by Equinoxhua
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 CfXuS1rDhLYN 2026-09-28 4/200 2026-10-01 09:23 by Equinoxhua
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 (EPI+-1)(金币-50) +3 cqwQDCxMcL3I 2026-09-29 4/200 2026-09-30 16:52 by Z9YWQ5EAO3qp
[论文投稿] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 cqwQDCxMcL3I 2026-09-29 4/200 2026-09-30 16:45 by Z9YWQ5EAO3qp
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 cqwQDCxMcL3I 2026-09-29 4/200 2026-09-30 16:33 by Z9YWQ5EAO3qp
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 cqwQDCxMcL3I 2026-09-29 6/300 2026-09-30 16:26 by Z9YWQ5EAO3qp
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 cqwQDCxMcL3I 2026-09-29 4/200 2026-09-30 13:35 by C3vABopYbZJS
[教师之家] 某top大学教授说“能够在市场中兑现的能力才是真能力”无比同意! +10 zju2000 2026-09-26 13/650 2026-09-30 10:26 by yexuqing
[博后之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +4 IDs3scOF0tjC 2026-09-28 4/200 2026-09-29 19:27 by cqwQDCxMcL3I
[论文投稿] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +4 tqUTOxClQUMF 2026-09-28 4/200 2026-09-29 15:15 by etmYJ6d2rquH
[博后之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 tqUTOxClQUMF 2026-09-28 3/150 2026-09-29 15:04 by etmYJ6d2rquH
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 GDBe8tDZqE8z 2026-09-28 3/150 2026-09-29 14:30 by etmYJ6d2rquH
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 IDs3scOF0tjC 2026-09-28 5/250 2026-09-29 13:50 by etmYJ6d2rquH
[教师之家] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 GDBe8tDZqE8z 2026-09-28 4/200 2026-09-29 09:49 by JzYBbHIXWSrW
[找工作] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 ZYXdhzDAy9ZX 2026-09-28 3/150 2026-09-29 06:28 by ZvyPK8n6Nfki
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 GDBe8tDZqE8z 2026-09-28 3/150 2026-09-28 23:12 by b8fCuTHqckEt
[找工作] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 IDs3scOF0tjC 2026-09-28 5/250 2026-09-28 22:32 by ez6fGg9abYaj
[论文投稿] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 CfXuS1rDhLYN 2026-09-28 3/150 2026-09-28 19:08 by 9lS3ad5oOymn
信息提示
请填处理意见