Skip to content
  • 自定义边界条件遇到的问题

    OpenFOAM
    3
    0 赞同
    3 帖子
    46 浏览
    J

    @xpqiu 哇,真的是太感谢您了,您一说我就明白了,我确实是没有写这行代码!

  • 求助大佬们标准k-epsilon初始条件

    OpenFOAM
    2
    0 赞同
    2 帖子
    41 浏览
    X

    @Noob
    nutLowReWallFunction 其实就是把壁面上的 nut 值设置为 0。对于标准 kEpsilon,确实是不合理的,结果能对上只能说是凑巧了。

  • paraview后处理.vtp文件

    OpenFOAM
    2
    0 赞同
    2 帖子
    48 浏览
    A

    生成这些的时候一般还有个vtu文件吧? 就打开那个就行

  • 求助centos安装openfoam

    OpenFOAM
    4
    0 赞同
    4 帖子
    140 浏览
    A

    @旺财R CentOS 装2206是可以的, 但是wave2foam之类的就没试过了

  • 网格y+求助

    OpenFOAM
    3
    0 赞同
    3 帖子
    138 浏览
    M

    @coolhhh 是空的计算域,几何部分已经挖掉了

  • 爆炸计算压力震荡

    OpenFOAM
    3
    0 赞同
    3 帖子
    374 浏览
    X

    @好名字 感谢回复,我试一下看看

  • fluent中的抑制回流

    Fluent
    1
    0 赞同
    1 帖子
    42 浏览
    齐彦鹏

    各位大佬,我想请教一个问题,我现在在研究压气机出口存在反传压力波的情况,这道波强度比较大,需要进行瞬态模拟,那我在fluent中数值模拟的时候,出口的抑制回流应该打开还是关闭

  • 几何模型

    Fluent
    1
    0 赞同
    1 帖子
    27 浏览
    W

    怎么在斜面上画出竖直的几何微信图片_20251012093941.jpg

  • 计算作用于cellZone上的压力和剪切力

    OpenFOAM
    12
    0 赞同
    12 帖子
    5k 浏览
    liujmL

    @Linzd 多孔介质区域在toposet的时候本身只是选中了cell集合,只有在壁面上才能通过原始代码计算法向力和切向力。

  • codedfixedvalue实现运动边界速度的指定

    OpenFOAM
    1
    0 赞同
    1 帖子
    47 浏览
    J
    type codedFixedValue; value uniform (0 0 0); // 初始速度 name UM2; // 自定义边界条件名称 codeInclude #{ #include "fvMesh.H" #include "polyPatch.H" #include "fvcMeshPhi.H" #include "addToRunTimeSelectionTable.H" #}; code #{ // 避免重复计算 if (this->updated()) { return; } // 获取网格和边界数据 const fvPatch& p = patch(); const polyPatch& pp = p.patch(); const fvMesh& mesh = internalField().mesh(); // 仅在网格运动时计算(静态网格跳过) if (mesh.moving()) { // 1. 计算上一时刻的面中心坐标 const pointField& oldPoints = mesh.oldPoints(); vectorField oldFc(pp.size()); forAll(oldFc, i) { oldFc[i] = pp[i].centre(oldPoints); // 基于上一时刻节点坐标 } // 2. 计算几何速度(位置变化/时间步长) scalar deltaT = mesh.time().deltaTValue(); vectorField Up = (pp.faceCentres() - oldFc) / deltaT; // 3. 通量修正确保连续性 const volVectorField& U = static_cast<const volVectorField&>(internalField()); scalarField phip = fvc::meshPhi(U, p.index()); // 网格运动产生的通量 vectorField n = p.nf(); // 边界法向量 scalarField magSf = p.magSf(); // 面面积 tmp<scalarField> Un = phip / (magSf + vSmall); // 通量对应的法向速度 // 4. 合成最终速度:几何速度 + 法向修正 // 公式:修正速度 = 原始速度 + 法向*(通量法向速度 - 原始法向分量) vectorField::operator=(Up + n*(Un() - (n & Up))); } // 调用父类方法完成更新 fixedValueFvPatchVectorField::updateCoeffs(); #}; codeOptions #{ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude #}; codeLibs #{ -lfiniteVolume \ -lmeshTools #};

    请教一下各位大佬,我想要通过codedfixedvalue实现movingwallvelocity这个边界条件的效果,这个代码是我仿照movingwallvelocity边界条件弄得,我用自己写的这个边界条件算了涡激振动,算出来的结果和movingwallvelocity结果几乎没有差别。计算完成后,我将输出结果导入tecplot,可以正常导入,但是切片时会出现以下报错,目前没有找到问题出在哪儿,应该是我写的这个边界条件tecplot无法识别导致的,但我不知道问题出在哪儿。
    641bf902-dad9-4f14-91ab-7f5bc7eda851-QQ20251011-140535.png

  • 0 赞同
    1 帖子
    40 浏览

    在V2412中,我的原始case是计算自由液面上漂浮的物体,可以正常运行。但是一改变浮体的尺寸(对应的质量和惯性矩都改好了,水的密度和粘性不变)就会发散。

    之后尝试了修改dynamicMesh里面的accelerationRelaxtion和accelerationDamp,发现修改后者到0.3以下才能正常运行算例
    然而当阻尼这么大时已经不符合真实情况了,浮体的运动受影响了。

    Github上有一个模组认为FloatingObject算例的added mass instability会造成这种发散:https://github.com/FloatStepper/FloatStepper但其不支持重叠网格。

    目前打算从OpenFOAM本身解决该问题,但无从下手...

  • 0 赞同
    143 帖子
    584k 浏览
    C

    @chon01 NUMERICAL SIMULATIONS ON FLOW AROUND AN INCLINED CIRCULAR CYLINDER AT HIGH REYNOLDS NUMBER

  • triSurfaceMesh对象切割cell单元

    OpenFOAM
    2
    0 赞同
    2 帖子
    153 浏览
    A

    是想用基于cut CELL的浸没边界法? 可以参考FOAM Extend 4.1 之后的做法, 找ibPatch

  • 关于wave2foam造波问题

    OpenFOAM
    8
    0 赞同
    8 帖子
    1k 浏览
    C

    @liujm 对的,通常我们计算整个风机都是采用komegaSST湍流模型,毕竟这个湍流模型基本上是做风机的都会用的,很少用其他湍流模型。

  • 0 赞同
    1 帖子
    59 浏览
    R

    大家晚上好
    1136009f-4795-4f3b-8f6f-9fdd3b5900fa-image.png
    图中红线对应的是thermicity peak,类似的我想实时获得每个y对应的热释率最大值所在的位置,想问一下有没有大佬有经验呀!

  • 离散伴随和连续伴随的优劣

    Algorithm
    8
    0 赞同
    8 帖子
    8k 浏览
    N

    @木木枭 我在做离散伴随,大佬有机会的话交流哇

  • 请教大佬们关于后处理中的阻力计算

    OpenFOAM
    9
    0 赞同
    9 帖子
    306 浏览
    N

    @xpqiu 感谢感谢

  • ubuntu 24 使用OF4

    OpenFOAM
    4
    0 赞同
    4 帖子
    413 浏览

    @Noob 这个要看你超算的singularity设置了。这个超算不是我们搞得,所以不太清楚,至少目前一个node是没问题的。
    不过我在运行的时候提示过inifiniteband 相关的library缺失。

    我不确定你的情况,具体你得问超算admin怎么设置singularity的。理论上应该是没问题的

  • 0 赞同
    1 帖子
    85 浏览

    近期尝试使用compressibleInterDyMFoam计算近壁面空化泡的溃灭,但在计算一定时间后出现了一些与实际不符的现象。
    算例设置如下:
    初始气泡半径R0=0.1mm,距离壁面距离λ=2,原计算域大小为5mm5mm1mm,实际计算域取其1/4。草图如下:
    1265c60d-3e45-457e-84df-081f40874abd-image.png
    初始网格密度为Δx=Δy=Δz=0.025mm。后续用自适应网格进行加密,dynamicMeshDict:

    FoamFile { version 2.0; format ascii; class dictionary; location "constant"; object dynamicMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dynamicFvMesh dynamicRefineFvMesh; //dynamicFvMesh staticFvMesh; dynamicRefineFvMeshCoeffs { // How often to refine refineInterval 1; // Field to be refinement on field alpha.water; // Refine field inbetween lower..upper lowerRefineLevel 0; upperRefineLevel 0.999; // If value &lt; unrefineLevel unrefine unrefineLevel 10; // Have slower than 2:1 refinement nBufferLayers 3; // Refine cells only up to maxRefinement levels maxRefinement 5; // Stop refinement if maxCells reached maxCells 6000000; // Flux field and corresponding velocity field. Fluxes on changed // faces get recalculated by interpolating the velocity. Use 'none' // on surfaceScalarFields that do not need to be reinterpolated. correctFluxes ( (phi none) (nHatf none) (rhoPhi none) (alphaPhi none) (alphaPhiUn none) (alphaPhi10 none) (alphaPhi1Corr0 none) (ghf none) ); // Write the refinement level as a volScalarField dumpLevel true; }

    计算到10.2μs后,气泡突然从溃灭状重新开始增大,而并没有完全溃灭,如图所示。
    10.2μs:
    a833b3e2-ebc9-43b4-8363-d153ec8db0e0-10.2um.png
    10.4μs:
    e248f2ea-78d2-4100-a3a9-551f88c499e3-10.4um.png

    想问问大家这是什么原因所导致的,可能会是初始场设置不合理或是边界条件设置不合理?
    初始场由于初始网格较疏以及后续加密的缘故,几个时间步后会变成这样:
    170ce1d8-861d-4cfb-857b-2e2da4ed06eb-初始场.png

    边界条件如下所示:
    alpha.water:

    boundaryField { wall { type zeroGradient; } outlet { type zeroGradient; } symmetry { type symmetry; } }

    p:

    boundaryField { wall { type calculated; value uniform 100000; } outlet { type calculated; value uniform 100000; } symmetry { type symmetry; } }

    p_rgh:

    boundaryField { wall { type fixedFluxPressure; gradient uniform 0; value uniform 100000; } outlet { type fixedFluxPressure; gradient uniform 0; value uniform 100000; } symmetry { type symmetry; } }

    T:

    boundaryField { wall { type zeroGradient; } outlet { type zeroGradient; } symmetry { type symmetry; } }

    T.air:

    boundaryField { wall { type zeroGradient; } outlet { type zeroGradient; } symmetry { type symmetry; } }

    T.water:

    boundaryField { wall { type zeroGradient; } outlet { type zeroGradient; } symmetry { type symmetry; } }

    U:

    boundaryField { wall { type noSlip; } outlet { type zeroGradient; value uniform (0 0 0); } symmetry { type symmetry; } }
  • 0 赞同
    2 帖子
    152 浏览

    我现在想明白了,我要自定义的热流条件是基于流固界面两侧物理量的,也就是说在不coupled的条件下,也体现了高温风流对低温相变板的加热作用,此时流体一侧的shadow面绝热是没有问题的,湿空气与相变板之间传热的相互作用体现在两者温差上。

京ICP备15017992号-2