Skip to content

Fluent

Fluent交流区

1.0k Topics 4.5k Posts
  • 1 Posts
    973 Views
    1

    各位前辈好!最近在关于喷油器动网格问题上陷入了困境,希望能够得到大家的帮助。
    先简单说一下喷油器的工作原理。图一为三维模型的剖面截图。
    5eff8661692327fa42f84dfe24b6f95.png
    5deae10e01c9e42e75ad3500a12d353.png
    cd0e8a4b2e3be20ae6dee2b9c90b6dc.png
    上面那个是球阀,下面那个是针阀,球阀、针阀最初均只受到液体力、弹簧力共同作用静止不动,然后给球阀施加一个电磁力,球阀开始运动,进而改变了流场的压力,从而使得下面的针阀也随之运动。研究的内容主要是通过向fluent中导入模拟两个阀门运动的udf文件,如下。球阀udf```
    #include "udf.h"
    #include "dynamesh_tools.h"

    static real v_prev = 0.0;//initial velocity
    static real loc_prev = 0.0;//spring deformation

    DEFINE_CG_MOTION(ballball_six_three_one_parallel3, dt, vel, omega, time, dtime)
    {
    real ELECTROMAGNETIC_FORCE_MAGNITUDE = 155.0;
    real SPRING_FORCE_MAGNITUDE = 100.0;
    real SPRING_STIFFNESS = 20000.0;
    real MASS = 0.00184;
    real DISPLACEMENT_LIMIT = 0.0001;
    real f1 = 0.0;
    real f2, f_s, dv;
    real NV_VEC(A);

    #if !RP_HOST
    Thread *t;
    face_t f;
    NV_S(vel, =, 0.0);
    NV_S(omega, =, 0.0);
    if (!Data_Valid_P())return;

    t = DT_THREAD(dt); begin_f_loop(f, t) { if (PRINCIPAL_FACE_P(f, t)) { F_AREA(A, f, t); f1 = f1 + F_P(f, t) * A[1]; } } end_f_loop(f, t)

    #endif

    #if RP_NODE
    f1 = PRF_GRSUM1(f1);
    #endif

    node_to_host_real_1(f1);

    #if !RP_NODE
    if (time <= 0.0001)
    {
    if (loc_prev < DISPLACEMENT_LIMIT)
    {
    f_s = SPRING_FORCE_MAGNITUDE + SPRING_STIFFNESS * loc_prev;//spring force
    f2 = f1 + ELECTROMAGNETIC_FORCE_MAGNITUDE - f_s;
    dv = dtime * f2 / MASS;
    v_prev = v_prev + dv;
    loc_prev = loc_prev + v_prev * dtime;
    }
    else
    {
    v_prev = 0.0;
    }
    }
    if (time > 0.0001)
    {
    if (loc_prev > 0)
    {
    f_s = SPRING_FORCE_MAGNITUDE + SPRING_STIFFNESS * loc_prev;//spring force
    f2 = - f_s;
    dv = dtime * f2 / MASS;
    v_prev = v_prev + dv;
    loc_prev = loc_prev + v_prev * dtime;
    }
    else
    {
    v_prev = 0;
    }
    }
    Message("\n\ntime=%f,y_vel=%f,f1=%f,f2=%f,f_s=%f,loc_prev=%f,dv=%f\n", time, v_prev, f1, f2, f_s, loc_prev, dv);
    #endif
    host_to_node_real_1(v_prev);
    vel[1] = v_prev;
    }

    针阀udf:

    #include "udf.h"
    #include "dynamesh_tools.h"

    static real v_prev = 0.0;//initial velocity
    static real loc_prev = 0.0;//spring deformation

    DEFINE_CG_MOTION(needle_six_three_one_parallel2, dt, vel, omega, time, dtime)
    {
    real SPRING_FORCE_MAGNITUDE = 30.0;
    real SPRING_STIFFNESS = 20000.0;
    real DISPLACEMENT_LIMIT = 0.00018;
    real MASS = 0.01;
    real f1 = 0.0;
    real f2, f_s, dv;
    real NV_VEC(A);

    #if !RP_HOST
    Thread *t;
    face_t f;
    NV_S(vel, =, 0.0);
    NV_S(omega, =, 0.0);
    if (!Data_Valid_P())return;

    t = DT_THREAD(dt); begin_f_loop(f, t) { if (PRINCIPAL_FACE_P(f, t)) { F_AREA(A, f, t); f1 = f1 + F_P(f, t) * A[1]; } } end_f_loop(f, t)

    #endif
    #if RP_NODE
    f1 = PRF_GRSUM1(f1);
    #endif

    node_to_host_real_1(f1);

    #if !RP_NODE
    f_s = SPRING_FORCE_MAGNITUDE + SPRING_STIFFNESS * loc_prev;
    f2 = f1 - f_s;
    dv = dtime * f2 / MASS;
    if (f2 <= 0.0)
    {
    if (loc_prev <= 0.0)
    {
    v_prev = 0.0;
    }
    else
    {
    v_prev = v_prev + dv;
    loc_prev = loc_prev + v_prev * dtime;
    }
    }
    else
    {
    if (loc_prev < DISPLACEMENT_LIMIT)
    {
    v_prev = v_prev + dv;
    loc_prev = loc_prev + v_prev * dtime;
    }
    else
    {
    v_prev = 0.0;
    }
    }
    Message("\n\nn_time=%f,n_y_vel=%f,n_f1=%f,n_f2=%f,n_f_s=%f,n_loc_prev=%f,n_dv=%f\n",time,v_prev,f1,f2,f_s,loc_prev,dv);
    #endif
    host_to_node_real_1(v_prev);
    vel[1] = v_prev;
    }

    但是导入计算后计算到一半fluent总是卡在一半,没有报错, 也没有退出,就是卡在一个界面无法继续算下去,就是上图 的一直卡在0.000077s,就算不下去了,等了快半周了还是在 那个位置,不知道是代码的原因还是什么原因。 希望能够得到前辈们的解答。万分感谢!!!! ![5deae10e01c9e42e75ad3500a12d353.png](/assets/uploads/files/1703672401397-5deae10e01c9e42e75ad3500a12d353.png) ![cd0e8a4b2e3be20ae6dee2b9c90b6dc.png](/assets/uploads/files/1703672414778-cd0e8a4b2e3be20ae6dee2b9c90b6dc.png)
  • fluent水滴撞击模拟问题

    10
    10 Posts
    7k Views
    N

    请问问题解决了吗?我的不管怎么加密也是这个趋势

  • 求助关于fluent meshing边界层问题

    5
    5 Posts
    4k Views

    @fan820 刚才我又试了一下全局流体域加密,就不会出现警告,好像只要对个别的面画边界层就会出现这个问题

  • 1 Posts
    904 Views
    F

    我在DPM中设置了两种不同的injection,但是在云图-DPM concentration中只能看混合相的浓度。有其他地方可以单独看的吗??dpm.png

  • 1 Posts
    821 Views
    木木枭

    最近有一个项目在meshing里最小正交质量已经提到0.15以上了,放到求解器中提示在0.01以下,有没有前辈有过这种问题?

  • Fluent计算报错 The fl process

    4
    4 Posts
    5k Views
    J

    请问这个计算几十步后出现的这个逻辑处理器满了后弹出的The f1 process could not be started,然后怎么才能继续运行呢?是无法计算了吗

  • 用重叠网格模拟小球入水

    4
    4 Posts
    3k Views

    你好,请问做的是三维的模型吗

  • 树木--多孔介质

    6
    6 Posts
    4k Views
    D

    image.png

  • 4 Posts
    3k Views
    D

    兄弟,这个是树木简化为多孔介质吧,这个比较简单,不要用UDF就能实现,直接采用多孔介质模型就可以了,就是需要转化一下,多孔介质模型所填的阻力系数=2*LAD*Cd。另外,兄弟,我也是在做这个,我想在多孔介质区域加一个附加项,考虑树木对例子的吸附,会吗?欢迎加我讨论QQ1225220118

  • 5 Posts
    3k Views
    C

    @coolhhh 感谢您的回复 ,确实是这个样,没发现那个字母大写了。

  • fluent初始化显示

    1
    1 Posts
    1k Views

    fluent初始化显示mass diffusivity:invalid diffusivity please check material。用的组分输运涡耗散模型

  • 求助:关于稳态收敛结果的问题

    3
    3 Posts
    2k Views

    @李东岳 谢谢老师的帮助,非常感谢

  • 45 Posts
    34k Views
    李东岳

    @xiezhuoyu Nice! 挺有意思

    Description 28 Two-scheme Courant number based blending differencing scheme. 29 30 Similar to localBlended but uses a blending factor computed from the 31 face-based Courant number and the lower and upper Courant number limits 32 supplied: 33 \f[ 34 weight = 1 - max(min((Co - Co1)/(Co2 - Co1), 1), 0) 35 \f] 36 where 37 \vartable 38 Co1 | Courant number below which scheme1 is used 39 Co2 | Courant number above which scheme2 is used 40 \endvartable 41 42 The weight applies to the first scheme and 1-weight to the second scheme. 43 44 Example of the CoBlended scheme specification using LUST for Courant numbers 45 less than 1 and linearUpwind for Courant numbers greater than 10: 46 \verbatim 47 divSchemes 48 { 49 . 50 . 51 div(phi,U) Gauss CoBlended 1 LUST grad(U) 10 linearUpwind grad(U); 52 . 53 . 54 } 55 \endverbatim 56 57 SourceFiles 58 CoBlended.C
  • 刚入门fluent问一个简单的问题

    4
    4 Posts
    3k Views
    N

    @李东岳 感谢东岳老师的回复!

  • 8 Posts
    7k Views
    Z

    您好Ivan,想请问油水分离的模拟中,水连续相,微小油滴作为分散相,这种两相液体如何设置,微小油滴可以像拉格朗日粒子那样设置一定的大小和占比,然后自动生产嘛?谢谢您

  • 9 Posts
    6k Views
    X

    @李东岳
    懂了,谢谢李老师!

  • fluent湍流粘度超限,多相流发散

    1
    1 Posts
    1k Views
    J

    IMG_20231127_193223.jpg
    在计算单相流作为初场,可以收敛,但是湍流粘度比超限,继续设置为多相流空化计算的时候,开始发散,不知道有哪些解决办法,已经重新画过网格。
    边界条件是速度入口,压力出口,湍流sst k-w,稳态计算

  • FLUENT中湍流粘性比超标

    8
    8 Posts
    8k Views
    1

    @李东岳 老师,最近我也遇到了这个问题,单相流计算的时候会提醒,但是结果也可以收敛,但是计算完初场的时候,改为多相流空化计算,马上就发散了,不知道怎么可以解决这个问题,已经重新画了好几次网格了

  • 2 Posts
    2k Views
    C

    会不会是实验的冷却水产生的实际效果跟你模拟设置的边壁14℃是不一样的?

  • 4 Posts
    3k Views

    应该采用laplace 光顺而不是弹簧光顺