Skip to content

OpenFOAM

OpenFOAM交流区

5.3k 主题 31.6k 帖子
  • 这壳套的太明目张胆了... ...

    5
    5 帖子
    4k 浏览
    李东岳

    @luofq-sysu 现在普适性CFD软件完全打不开市场。国内大多走的行业化。所以一个普适性软件就变成了行业定制软件了。

  • 6 帖子
    4k 浏览

    @青山 我做的不涉及三相,所以只有两相。然后你这个说只能在alphat里算感觉没道理啊,那如果是层流,这个输入都没有,就不允许闪蒸了嘛,应该不会把

  • DPMFoam和twoPhaseEulerFoam颗粒流化

    14
    14 帖子
    10k 浏览

    @vbcwl 6

  • paraview如何绘制二维流线

    12
    12 帖子
    12k 浏览

    @知行 在 paraview如何绘制二维流线 中说:

    StreamTracerWithCustomSource

    StreamTracerWithCustomSource是在surfaceVectors下创建的

  • DPMFoam输出文件里没有UCoeff和Utrans

    2
    2 帖子
    1k 浏览
    vbcwlV

    @vbcwl 原来是因为硬盘里权限问题,不能出现带:的文件:136:

  • HerschelBulkley典型设置

    1
    1 帖子
    971 浏览
    李东岳
    water { transportModel HerschelBulkley; nu0 1e-2; tau0 8.59e-3; rho 1000; k 18.24e-3; n 0.2; //Bingham }

    damBreak.tar

  • 3 帖子
    2k 浏览
    L

    @李东岳 code是个好东西啊,得想想怎么拟合曲线咯,谢谢李老师的参考案例啦

  • 固体求解器添加两种材料

    1
    1 帖子
    945 浏览
    洱聿

    各位大佬们好,我想在fsifoam流固耦合求解器中添加两种固体材料属性,请问有人做过相关的算例嘛?是否可以直接添加?还是需要修改求解器呢?

  • 4 帖子
    3k 浏览

    @李东岳 谢谢李老师,我把sqr函数看成sqrt了,现在我明白了,是能对上的

  • 【分享】 Residual 动态监测

    9
    9 帖子
    8k 浏览

    好人一生平安

  • 如何得到自由面等高线云图?

    5
    5 帖子
    4k 浏览
    B

    @一朵苍凉 您好,请问如何将压力云图离散化并使等值线作为其颜色分界线呢?

  • 使用QBMM模拟气泡流

    39
    39 帖子
    42k 浏览
    WeakFormW

    @李东岳 多谢李老师

  • 内部场引用编程问题

    2
    2 帖子
    1k 浏览
    C

    请教各位前辈一个简单的编程问题。我先用topoSet在网格中创建内部cellZone,名称为interior。现在想对interior每个网格体心的U赋值,代码如下:

    label patchID = mesh.cellZones().findZoneID("interior"); const labelList cells = mesh.cellZones()[patchID]; forAll(cells, i) { label celli = cells[i]; U[celli] = vector(0.1, 0.1, 0.1); }

    如果是边界,一般可以写成引用的方式:

    label patchID = mesh.boundaryMesh().findPatchID("inlet"); vectorField& patchField = U.boundaryFieldRef()[patchID];

    以上方式是可以实现赋值,想问的问题是:

    (1)内部cellZone是否可以类似写成引用的形式,再对patchField赋值?类似边界场写成以下形式会报错,但不知道怎么修改:

    label patchID = mesh.cellZones().findZoneID("interior"); vectorField& patchField = U.primitiveFieldRef()[patchID];

    报错如下:

    error: invalid initialization of reference of type 'Foam::vectorField&' {aka 'Foam::Field<Foam::Vector<double> >&'} from expression of type 'Foam::Vector<double>' 180 | vectorField& patchField = U.primitiveFieldRef()[patchID]; |

    (2)U[celli]和U.primitiveField()[celli]这两者有无区别?测试效果好像是一样的

    forAll(cells, i) { label celli = cells[i]; U[celli] = vector(0.1, 0.1, 0.1); U.primitiveField()[celli] = vector(0.1, 0.1, 0.1); }
  • DPMFoam求解粒子密度小于液体

    3
    3 帖子
    2k 浏览
    vbcwlV

    @李东岳 感谢东岳前辈,之前做的是气固,密度比上千,可以指考虑drag,才开始研究密度比较接近的颗粒。想要比较精确的结果还需要考虑更多的力

  • 如何单独保存粒子数据

    5
    5 帖子
    3k 浏览
    T

    @李东岳 还是受到李老师的启发想到这种操作:chouchou:

    @李东岳 在 reconstructPar 一边组一边删除数据 中说:

    最近在算几个LES,我勒个去数据太大了。大算例一般算完了只有几百个G,比如500G,reconstructPar重组的时候并不会删processor的数据,这将导致占据双倍的硬盘,直接干到1T。利用下面这个命令,可以重组一个时间步,删除一个时间步,对于硬盘吃紧的时候非常有用:

    #!/bin/bash for i in $(foamListTimes -case processor0); do reconstructPar -time ${i} && rm -r processo*/${i} done

    Pretty Simple :high: :high: :high:

  • 从0开始计算没问题,停掉再续算过几步就出错

    9
    9 帖子
    7k 浏览
    R

    @Tens
    您好,我参考您的代码也在compressibleInterFoam中添加了组分方程,目前出现了某种组分的质量分数超过1的情况,这个问题困扰我很久了,可以麻烦您帮我看一下代码有什么问题吗?万分感谢!

    tmp<fv::convectionScheme<scalar>> mvConvection ( fv::convectionScheme<scalar>::New//convectionScheme:Abstract base class for convection schemes. ( mesh, fields, alpha2rho2phi, mesh.divScheme("div(alpha2rho2phi,Yi)") ) ); { forAll(Y, i) { if (i != inertIndex && composition.active(i)) { volScalarField& Yi = Y[i]; fvScalarMatrix YEqn ( fvm::ddt(alpha2rho2, Yi) + mvConvection->fvmDiv(alpha2rho2phi, Yi) - fvm::laplacian(turbulence.muEff()*alpha2, Yi) == alpha2*parcels.SYi(i, Yi) + fvOptions(rho2, Yi) ); YEqn.relax(); fvOptions.constrain(YEqn); YEqn.solve(mesh.solver("Yi")); fvOptions.correct(Yi); Yi.max(0.0); Yt += Yi; } Y[inertIndex] = scalar(1) - Yt; Info<<"info::inertIndex.................="<< inertIndex <<endl; Info<<"info::Y[inertIndex].................="<< max(Y[inertIndex]) <<endl; Y[inertIndex].max(0.0);

    我在createField.H中声明了下列变量:

    volScalarField alpha2rho2 ( IOobject ( "alpha2rho2", runTime.timeName(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE ), alpha2*rho2 ); surfaceScalarField alpha2rho2phi ( IOobject ( "alpha2rho2phi", runTime.timeName(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE ), linearInterpolate(alpha2*rho2*U) & mesh.Sf() );
  • 5 帖子
    3k 浏览
    R

    @李东岳 是跑求解器的时候出错的

  • 拉格朗日求解器添加颗粒受力的问题

    4
    4 帖子
    3k 浏览
    李东岳
    pressureGradient { alpha alpha; }

    类似的,试试

  • 2 帖子
    1k 浏览
    李东岳

    边界条件的移植相对来说简单一些。你边界条件的代码发来看看。不过我不会给你亲自移植,但是可以给你判断几个好走的路 :-)

  • reactingTwoPhaseEulerFoam添加空化模型

    2
    2 帖子
    2k 浏览
    李东岳

    openfoam这面要注意版本问题。你这个链接里面我看起码是2017年之前的文章。然后你用的openfoam2206。这里面版本不对。按照之前的弄,100%会有问题。