Skip to content

OpenFOAM

OpenFOAM交流区

5.2k 主题 30.6k 帖子
  • 指定温度边界条件

    1
    1 帖子
    2k 浏览
    肖恩曼

    of里面怎么设定一个壁面的温度沿着壁面方向线性变化啊

  • 两个求通量操作的区别

    4
    4 帖子
    3k 浏览
    linhan.geL

    @东岳 @dzw05 感谢两位,明白了,那基本一样。

  • fixedblended有人用过吗

    2
    2 帖子
    2k 浏览
    Y

    自己回答吧,
    这个跟coblended还不一样,coblended的blendingfactor 得另外定义一个volScalarField。
    但是fixedblended就加个系数就行了。

  • 各种source function的区别

    2
    2 帖子
    2k 浏览
    李东岳

    fvm返回的都是矩阵,矩阵又分为矩阵系数和矩阵源项(右边那一行)。fvm::Su返回矩阵的源项,fvm::Sp返回矩阵系数。fvc返回的都是场,比如标量场。

    你的问题:fvc::Su(T, k)返回T,fvm::Su返回矩阵源项。fvm::Sp返回矩阵系数, fvc::Sp(T, k)返回Tk。fvc::Su(T, k)=T。

  • openfoam developer

    4
    4 帖子
    4k 浏览
    李东岳

    是的。VIM emacs ide等都需要一段时间学习。用自己习惯的就好。虽然我用VIM,但在OKS上我都用gedit,要不然别人不知道你在干什么,哈哈

  • 是否可以同时定义边界alpha和接触角?

    3
    3 帖子
    3k 浏览
    Y

    @东岳 多谢东岳大神回复。之前可能我没表述清楚我的问题:我想同时fix液滴与固体表面的接触线和接触角,即壁面处的volume fraction和theta都始终保持t=0时的值,并不随时间而改变。相当于fixed value和constantAlphaContactAngle两个边界条件的结合。如果边界条件设置为constantAlphaContactAngle(zeroGradient也相当于对应theta0=90的constantAlphaContactAngle边界), 在迭代的过程中会计算当前的curvature, 并通过与设置的theta0比较来更新壁面处的受力情况,从而重新计算边界处的volume fraction, 以使计算的theta趋近于所定义的theta0(如后面摘自interfaceProperties中的代码所示),这并不能保证接触线(即volume fraction)的固定。
    我的理解是这样的,不知道对不对:接触角theta与壁面处volume fraction的梯度是相对应的。能否让壁面处的第一层和第二层网格中的volume fraction值都固定,即volume fraction方程在该区域不进行求解而是始终采用t=0时刻的初始值,这样就能实现我前面所说的目的了。不知在openfoam中能否实现。
    期待您答复,谢谢!

    forAll(boundary, patchi) { if (isA<alphaContactAngleFvPatchScalarField>(abf[patchi])) { alphaContactAngleFvPatchScalarField& acap = const_cast<alphaContactAngleFvPatchScalarField&> ( refCast<const alphaContactAngleFvPatchScalarField> ( abf[patchi] ) ); fvsPatchVectorField& nHatp = nHatb[patchi]; const scalarField theta ( convertToRad*acap.theta(U_.boundaryField()[patchi], nHatp) ); const vectorField nf ( boundary[patchi].nf() ); // Reset nHatp to correspond to the contact angle const scalarField a12(nHatp & nf); const scalarField b1(cos(theta)); scalarField b2(nHatp.size()); forAll(b2, facei) { b2[facei] = cos(acos(a12[facei]) - theta[facei]); } const scalarField det(1.0 - a12*a12); scalarField a((b1 - a12*b2)/det); scalarField b((b2 - a12*b1)/det); nHatp = a*nf + b*nHatp; nHatp /= (mag(nHatp) + deltaN_.value()); acap.gradient() = (nf & nHatp)*mag(gradAlphaf[patchi]); acap.evaluate(); } }
  • 求助,执行blockMesh出错

    5
    5 帖子
    5k 浏览
    C

    @东岳 嗯,的确是很麻烦,谢谢李老师,后期准备试试。

  • Openfoam重叠网格插值

    3
    3 帖子
    3k 浏览
    linhan.geL

    同问,有类似问题 http://cfd-china.com/topic/1575

  • kOmegaSST的边界条件设定

    1
    1 帖子
    2k 浏览
    benqingB

    湍流模型kOmegaSST是低雷诺数模型?在近壁区采用k-omega模型,在湍流区采用k-epsilon模型。
    那在计算的时候应该采用什么样的边界条件?
    我的case是这样的,网格较密,yplus在1附近,雷诺数为7000,存在两个壁面(wall)
    我参考的是researchgate中学者的设定方法,具体方法见链接(https://www.researchgate.net/post/Should_the_RANS_model_kOmegaSST_be_fully_resolved_at_low_Re-number_Is_it_possible_to_use_it_with_a_wall_function)
    方法有一定合理性,但是对于我的算例可能存在一定的问题,不知大家在应用SST模型时,有没有什么经验,如何设定边界条件?

  • 关于提取一个面的温度场

    7
    7 帖子
    6k 浏览
    C

    @东岳 谢谢李老师,依照您的方法我已成功编译,但是log文件内输出的是所有边界的数据(例如icofoam-cavity这个算例输出的是靠近fixedwall和movingwall那一层的网格的速度),有没有方法对只输出靠近fixedwall那一层网格的速度。

  • MPPIC如何用粒子的体积分数对粒子着色?

    4
    4 帖子
    4k 浏览
    李东岳

    Have no idea :chigua:

  • 并行计算突然报错,串行也出了问题

    2
    2 帖子
    2k 浏览
    李东岳

    问题解决了么?是不是已经解决了?..

  • paraview做的一个我比较满意的后处理

    5
    5 帖子
    5k 浏览
    李东岳

    @ge-zhang
    正常的壁面,下个月我会发布算例和代码。
    你的头像很有意思啊。

  • geometricField初始化

    2
    2 帖子
    2k 浏览
    D

    @肖恩曼 有IOobject也可以选择不写出来,但是初始化时必须用这个IOobject。

  • tensorThird

    3
    3 帖子
    2k 浏览
    肖恩曼

    @东岳 我也没有找到 很奇怪 应该有三阶张量的定义啊

  • mapFields的原理是什么呢?

    9
    9 帖子
    8k 浏览
    同学博

    @benqing :chouchou: 多谢你啦~我去看看

  • 和震荡做斗争

    5
    5 帖子
    4k 浏览
    李东岳

    0_1526709550526_d.png

    震荡吧..

  • 动态铺层在边界附近解的振荡

    5
    5 帖子
    5k 浏览
    李东岳

    不太方便调试了。 你的网格纵向分辨率、宽高比如何。

  • wmake编译没有反应?

    2
    2 帖子
    2k 浏览
    I

    抱歉,找到原因了,是我忘记wclean了

  • 请问怎么用“速度-位置”数据求雷诺剪切力

    1
    1 帖子
    2k 浏览
    Z

    RT,我在做管流的模拟,现在想在一个横截面上做出雷诺剪切力(u'v' VS r/D)的曲线图象。现在用openfoam的sample功能提取了大量的速度-位置数据(100个时间步长, 每个时间步长在该横截面上有360个径向直线,在一共36000组,每组直线取了200个点的速度(u,v,w)的数据,所以现在在MATLAB上得到了一个200×36000的矩阵。现在想根据这个矩阵得到雷诺剪切力的图像,请问怎么操作呀?