Skip to content

OpenFOAM

OpenFOAM交流区

5.4k 主题 32.4k 帖子
  • 合集:OpenFOAM安装准备工作贴

    已固定
    28
    28 帖子
    48k 浏览
    N

    请问那个含有很多版本的离线的虚拟机,怎么设置共享文件夹啊,VMtools设置了出错呢?

  • OpenFOAM教程 初级入门建议

    已固定
    55
    55 帖子
    218k 浏览
    李东岳

    新版的transportProperties改成了physicalProperties,你改个名

  • paraview后处理.vtp文件

    2
    2 帖子
    29 浏览
    A

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

  • 求助centos安装openfoam

    4
    4 帖子
    126 浏览
    A

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

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

    1
    1 帖子
    26 浏览
    N

    大佬们好,我计算一个稳态的雷诺数10e6左右的算例,用的是标准ke模型,壁面处epsilon是epsilonWallFunction,k是kqRWallFunction,nut之前没有看仔细用的是nutLowReWallFunction,但是最后在平均y+45左右时和文献计算的阻力极其近视,我想向大佬们请教一下这里nut是不是不能用这个壁面函数,我看到tutorials里标准ke模型都用的nutkWallFunction,感谢各位大佬!

  • 网格y+求助

    3
    3 帖子
    132 浏览
    M

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

  • 爆炸计算压力震荡

    3
    3 帖子
    371 浏览
    X

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

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

    12
    12 帖子
    5k 浏览
    liujmL

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

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

    1
    1 帖子
    44 浏览
    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

  • 1 帖子
    39 浏览

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

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

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

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

  • Cd计算不准的问题-LES-Re3900-三维圆柱绕流-pisoFoam

    143
    143 帖子
    583k 浏览
    C

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

  • triSurfaceMesh对象切割cell单元

    2
    2 帖子
    149 浏览
    A

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

  • 关于wave2foam造波问题

    8
    8 帖子
    1k 浏览
    C

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

  • 1 帖子
    57 浏览
    R

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

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

    9
    9 帖子
    301 浏览
    N

    @xpqiu 感谢感谢

  • ubuntu 24 使用OF4

    4
    4 帖子
    409 浏览

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

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

  • 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; } }
  • openfoam对于气泡进行自适应网格细化出现棱角

    4
    4 帖子
    3k 浏览
    WeakFormW

    我参考HZDR的代码弄了个setbubble小工具,让气泡初始化就是圆的:5be8a963-f837-4652-9c92-a44ffd016afd-image.png
    但是我的问题是进行计算之后貌似界面的细化很差,很多界面细化网格级别没达到最低,不知道您怎么解决的这个问题:
    2964e223-615d-4d60-81f0-7a70f7db825d-image.png

  • 带薄层的非均匀温度边界条件如何植入?

    1
    1 帖子
    100 浏览

    非均匀温度边界条件可以通过codedFixedValue轻松实现,
    带壁厚的温度边界条件可以通过externalWallHeatFluxTemperture实现。
    如代码所示:

    \\非均匀温度边界条件 wall { type codedFixedValue; name dummy; code #{ const vectorField& Cf = patch().Cf(); const scalar a0 = 0.1; forAll(Cf, faceI) { const scalar y = Cf[faceI].y(); (*this)[faceI] = a0*y; } #}; } \\薄壁温度条件 wall { type externalWallHeatFluxTemperature; mode coefficient; h uniform 1e10; Ta 1620; thicknessLayers (0.015); kappaLayers (4); kappaMethod fluidThermo; value $internalField; }

    但是,当我想像下面这样编程使Ta为非均匀值时,会报错,即使我使用了codeInclude codeOptions codeLibs之后,仍会报错 ‘patch’ was not declared in this scope,似乎在externalWallHeatFluxTemperature中,无法访问到网格信息。请问各位大佬有解决办法吗?或者有没有别的办法实现带薄壁的非均匀温度边界呢?

    ‘vectorField’ does not name a type ‘Cf’ was not declared in this scope Ta coded; code #{ const vectorField& Cf = patch().Cf(); const scalar a0 = 0.1; forAll(Cf, faceI) { const scalar y = Cf[faceI].y(); (*this)[faceI] = a0*y; } #};
  • fluidsolver和isothermalfluid的继承关系问题

    1
    1 帖子
    95 浏览
    M

    各位老师好,之前我都在of10中修改求解器,但最近换到了of13,我希望去更改buossinesq假设时的求解器代码,但是对于fluidsolver和isothermalfluid的继承感到困惑,在官网看到fluidsolver继承isothermalfluid,但在fluidsolver中我并未找到相关代码,因此想请教各位在模块化代码下要怎么去修改求解器,谢谢大家!

京ICP备15017992号-2