Skip to content
  • 用QMOM求解出现负的Abscissas

    Algorithm
    12
    0 赞同
    12 帖子
    16k 浏览
    李东岳

    我试试,不过感觉你的算法没毛病,M3守恒。
    你考虑过用Wheeler求节点么?比PD要强健。

  • 0 赞同
    14 帖子
    23k 浏览
    W

    @anubis 集合重构不求解方程,而是通过通量变化计算体积分数,最后再进行界面重构。得到的体积分数必然是间断(指界面处发生跃变)的一个场。

  • 水流的空化问题

    Algorithm
    1
    0 赞同
    1 帖子
    3k 浏览
    W

    实验室有个试验台,里面充满水,水流速度最大60m/s,无叶轮,最近要做单相流实验,想确定增压泵打多少压力水才不会空化。按照我的想法,100℃水温时,水的汽化压力为0.1MPa,要保证不空化,需要线速度最大的地方局部压力达到0.1MPa,按照伯努利方程,需要加上动压,这个时候发现系统压力居然要达到2.8MPa。仔细想想应该是不适用伯努利方程的,所以想问一下,有没有什么好的方法可以估算系统压力呢?

  • 气泡的relaxation Time

    Algorithm
    4
    0 赞同
    4 帖子
    5k 浏览
    yhdthuY

    @李东岳 666:sunglasses:

  • 新版本CFD百科,欢迎测试

    Algorithm
    1
    0 赞同
    1 帖子
    3k 浏览
    李东岳

    IP访问

    注册用户可以自行创建、修订词条,试试看?谢谢

  • fluent水滴撞击模拟问题

    Fluent
    10
    0 赞同
    10 帖子
    12k 浏览
    N

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

  • CFD青年成长支持计划(2022)

    公告
    87
    0 赞同
    87 帖子
    216k 浏览

    我是南京航空航天大学航空学院2022级硕士研究生吴祥清,跟随张老师链接文本从事CFD研究,本人的主要研究方向为高速出入水,初步学习商软入门CFD现在准备编程写算法。查找学习资料了解到CFD中文网以及老师,所以想申请2022CFD青年成长支持计划,我目前正在使用LS-DYNA软件进行垂直破冰仿真,开始着手发相关论文。在本科期间接触流体力学便想深入了解这个专业,也申请了这个方向的研究生,如果论文写作顺利,便会在研究生二年级申请硕博连读,为国家军事建设贡献自己的一份力量。目前在上课之余也开始着手C++入门。但是CFD学习之路道阻且长,希望可以得到老师资助来更好的学习CFD。

  • JCP:2017年一篇新的数值格式

    Algorithm
    1
    0 赞同
    1 帖子
    3k 浏览
    李东岳

    http://www.sciencedirect.com/science/article/pii/S0021999117301493

    2011年Vikas提出来一种稳定的高阶矩对流格式之后,本文作者重新提出来一个新的数值格式。

    新技术刚追完,马上又出新的。。

  • 编译错误,求指正

    OpenFOAM
    3
    0 赞同
    3 帖子
    5k 浏览
    C

    @东岳 Thanks!

  • 改一改个性签名?

    CFD彩虹条
    1
    0 赞同
    1 帖子
    2k 浏览
    李东岳

    现在的个性签名是胖猫说的,当时的背景是我创立各种网站,翻译OpenFOAM用户指南,做很多人觉得毫无意义的事情。于是胖猫说

    你去了那么多地方,走了那么多的路,你要学会的就是包容和接受这个世界的一切观念

    博士联合培养期间我去了意大利,博士后我去了德国,中途为了见各种CFD大牛一直在欧洲奔波。这句话确实很适合我。我曾经跨过山和大海,也穿过人山人海,去了很多地方,应该包容和接收其他人的一切观念。

    今天,或许应该改一改个性签名咯?:baobao:

  • 0 赞同
    1 帖子
    2k 浏览
    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)
  • 狄拉克δ函数的积分特性函数

    Algorithm
    3
    0 赞同
    3 帖子
    6k 浏览

    @李东岳
    两种方式,简单的是走极限,Gauss分布函数当方差趋于0时可以逼近Dirac函数,所以Gauss分布和函数的积分在方差趋于0时的极限就是Dirac的积分特性函数。

    复杂的就是泛函分析,丫们直接像有限元的加权余量法一样定义函数弱导数有满足某种加权积分关系的性质,反正就是定义都改了,想怎么玩怎么玩。

  • 传统工科生喜欢上了CFD

    CFD彩虹条
    4
    0 赞同
    4 帖子
    7k 浏览
    D

    @ludwigzh 现在从事什么工作呀?

  • 0 赞同
    9 帖子
    16k 浏览
    D

    @wang123sd 这样啊,那就可能是另外一个问题了,用所谓显式代数应力模型会好一点,计算量没有高很多。用des或les的计算量会比rans至少高一个量级。

  • potentialFOAM代码中的几个问题求解

    OpenFOAM
    7
    0 赞同
    7 帖子
    12k 浏览
    Y
    if (potentialFlow.finalNonOrthogonalIter()) { phi -= PhiEqn.flux(); }

    这段我觉得倒不是因为phi被初始化了,好像上面求解的Phi方程就不是 http://dyfluid.com/potentialFoam.html 里头的方程(6),而应该是
    ▽(▽P)=▽(U-▽P)
    也就是代码中的phi=(U-▽P),这样子的话也能解释速度边界条件是怎么添加到Phi 方程中的了。但有一点不很明白,就是代码中好像表达的并不完全是phi=(U-▽P)的意思,所以还是有些糊涂。

    另,

    MRF.makeAbsolute(phi);//此处的makeAbsolute按字面意思是取绝对值,那这个对下文中重构速度场不会产生影响么?

    这句话应该不是取绝对值,可能用了多重坐标系,之前有个变换,现在变回来了,但不是很确定是不是这个意思
    @东岳 @张某人
    上面是我的理解,如果有不对的地方还请直接指出来,一起讨论讨论

  • OpenFOAM无法调用ParaView的解决办法

    OpenFOAM
    5
    1 赞同
    5 帖子
    13k 浏览
    范准

    @东岳
    哇,前辈好~~~

  • 网格与圆管层流

    Meshy
    17
    0 赞同
    17 帖子
    21k 浏览
    winsway_zeroW

    @东岳 谢谢东岳老师哈

  • openFOAM中边界处数值格式

    OpenFOAM
    8
    0 赞同
    8 帖子
    12k 浏览
    张某人

    @youv 好的,我会去看看书上的内容,谢谢您的指点!

  • ICEM网格节点设置问题

    Meshy
    3
    0 赞同
    3 帖子
    5k 浏览
    bestucanB

    @紫色星光 在设置节点数的小窗口,往下拉,有个copy parameter,不勾选。如果不勾选还会联动,那就是切块的问题了。

  • blockMesh画结构化的翼型网格

    Meshy
    2
    0 赞同
    2 帖子
    4k 浏览
    T

    @chengan-wang 没做过分段式的,单个翼型使用blockMesh生成结构化网格是可以的,网上有可以找到python或matlab用来生成blockMeshDict字典文件的脚本,你可以试试多段翼型的网格设计。