OpenFOAM

4.5k 主题 26.2k 帖子
  • 关于dynamicMeshDict

    1 帖子
    687 浏览

    本人使用的是rigidBody,和sixDoFRigidBody不同的是,它有一项是transform,个人理解是用于从全局坐标系转到局部坐标系(动坐标系)的指令,所以如果动坐标系是固定在物体的重心处,transform中的向量项应该和centreOfMass是一致的才对,但是一算就死,后面试了下,把transform中的向量项写成(0 0 0)就能算,不过计算结果中会缺少部分自由度,有人遇到过这个问题吗?

  • kOmega模型的求解器添加温度方程方法

    2 帖子
    1k 浏览

    感谢鸭蛋分享

  • 如何实现非结构网格求变量的梯度?

    1 帖子
    539 浏览

    其实我只是想实现tecplot里面的ddx函数,但是我找不到tecplot讨论区,所以先发这里了。
    我得到的数据变量在储存在节点,而不是cell中心。网格是二维四边形网格。因为是非结构的,所以不能像笛卡尔网格那样直接求差商。我看了tecplot帮助文档里面ddx的实现方法是Moving Least-Squares,说是假定变量关于节点是二次函数,之后最小二乘法拟合出二次函数,然后将二次函数在节点的梯度近似为该变量在节点的梯度。我不明白对于二维的二次函数,tecplot是否考虑了交叉项xy?
    如果不考虑的话,那我是否可以偷懒:假设需要求f的梯度,求对x的偏导的时候,完全不管y坐标。对单元的四个节点的x坐标x1,x2,x3,x4,和他们的函数值f1,f2,f3,f4进行一维的二次函数拟合。如果得到的拟合结果是f(x,y)=ax^2+bx+c,那第一个节点的x方向梯度就是把x1带入f'(x)=2ax+b中?

    手机打字不太方便,请见谅。

  • 1 帖子
    567 浏览
    Create time Create mesh for time = 0 Selecting dynamicFvMesh dynamicMotionSolverFvMesh Selecting motion solver: sixDoFRigidBodyMotion Selecting sixDoFSolver symplectic Translational constraint tensor (1 -0 -0 -0 1 -0 -0 -0 -624) Rotational constraint tensor (0 0 0 0 0 0 0 0 0) PIMPLE: No convergence criteria found PIMPLE: No corrector convergence criteria found Calculations will do 2 corrections PIMPLE: Operating solver in transient mode with 2 outer correctors Reading field p Reading field U Reading/calculating face flux field phi Selecting incompressible transport model Newtonian Selecting turbulence model type laminar Selecting laminar stress model Stokes No MRF models present No finite volume options present Constructing face velocity Uf Courant Number mean: 0.000625613 max: 0.10552 fieldAverage fieldAverage1: Starting averaging at time 0 forces forces1: Not including porosity effects forces forceCoeffs1: Not including porosity effects forceCoeffs forceCoeffs1: Not including porosity effects Starting time loop Courant Number mean: 0.000625613 max: 0.10552 deltaT = 0.005 Time = 0.005 PIMPLE: Iteration 1 forces forces: Not including porosity effects #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigFpe::sigHandler(int) at ??:? #2 ? in "/lib/x86_64-linux-gnu/libc.so.6" #3 Foam::sixDoFSolvers::symplectic::solve(bool, Foam::Vector<double> const&, Foam::Vector<double> const&, double, double) at ??:? #4 Foam::sixDoFRigidBodyMotion::update(bool, Foam::Vector<double> const&, Foam::Vector<double> const&, double, double) at ??:? #5 Foam::sixDoFRigidBodyMotionSolver::solve() at ??:? #6 Foam::motionSolver::newPoints() at ??:? #7 Foam::dynamicMotionSolverFvMesh::update() at ??:? #8 ? in "/home/z/OpenFOAM/OpenFOAM-7/platforms/linux64GccDPInt32Opt/bin/pimpleFoam" #9 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #10 ? in "/home/z/OpenFOAM/OpenFOAM-7/platforms/linux64GccDPInt32Opt/bin/pimpleFoam" 浮点数例外 (核心已转储)
  • 求助:并行计算出错

    6 帖子
    2k 浏览

    @悟空空 我也是这样的问题,直接复制并行命令就出错,但输入并行命令就没问题,这是什么原因啊?

  • 关羽OpenFOAM中边界条件的一点疑问

    2 帖子
    1k 浏览

    第一个。如果二维平面,墙面为x轴。无滑移边界条件,速度为0,说的是延x轴方向速度为0,没规定沿y轴方向。如果墙面沿y轴方向有个加速度。就不是第一类边界条件了,但还是无滑移的。一般墙不动,所以fixedvalue也没啥毛病。

    第二个,可以找找fluent中symmetry和axis两种边界条件的区别。求解选项中axisymmetric和axisymmetric swirl的区别。比较绕,我还没弄清楚完,但大概和这个相关。

  • komega模型求解传热算例的报错

    5 帖子
    1k 浏览

    问题解决了,是因为我将Omega设置为零了,所以在计算的时,湍流模型在算湍流黏性系数是nut=k/Omega 出现除零错误。

  • 如何设置移动的probe点?

    8 帖子
    2k 浏览

    @东岳 是的,这个operator[]不会每个时间步都去读,感觉这样改起来是个无底洞呢。不知是否能设置个贴体坐标,所有的点都相对其运动起来

  • 关于DecomposePar 的问题

    4 帖子
    1k 浏览

    没有指导意见,我现在用的sctoch划分,说的是划分后交界面最小,好像也没比simple快

  • coalChemistryFoam

    4 帖子
    1k 浏览

    @东岳 李老师下午好,我去看了simplifiedSiwek输出文件下拉格朗日文件里的d文件,我发现里面的颗粒粒径从反应开始到结束粒径都没有变化,但是颗粒反应过程中质量确实损失了,粒径应该要变小,所以想问一下李老师是不是因为coalChemistryFoam暂时还无法得出粒径的变化只有质量损失的变化?:xinxin:

  • 4 帖子
    2k 浏览

    @东岳 比较通用的就是多孔介质模型,好用好收敛,算的还快。之前不是在公众号上发过一个普度大学基于OpenFOAM做的求解器嘛,那个就可以,还能算凝固过程中的宏观偏析(化工里面好像叫分凝)

  • 8 帖子
    2k 浏览

    @羽之下 thank you,谢谢你的回复。我记得好像在哪看过说这里引用了一个假设,我决定把这部分系统的看一看,有什么新发现我会继续在这里交流~

  • 代码实现的问题

    3 帖子
    1k 浏览

    更新:使用fvm的时候可以编译但计算不行,改成fvc 可以计算接下来就是看能不能收敛了

  • OpenFOAM后处理批量截取截面

    1 帖子
    691 浏览

    我想了解下OpenFOAM是否可以批量截取截面?比如轴向有1000个网格点,就截取1000个面,然后计算每个面上的某物理量平均值。我看cfdpost可以联合Python进行批处理。我尝试了foamDataToFluent,但导入fluent流场都错了,就做不了批处理。

  • 一个小问题,,

    3 帖子
    920 浏览

    谢谢呢,,已经解决了呀,,哈哈

  • extend的fvoptions在哪?

    1 帖子
    474 浏览

    1.JPG
    src文件夹下没有fvoptions,但想利用其中的CellSetOption功能,有人知道吗?

  • OpenFOAM并行测试

    31 帖子
    15k 浏览

    @东岳 对,我那个5118是学校的计算集群,我记得我在哪儿看到过说这堆集群都是把超线程关了的,所以不可能使用的线程数量超过物理核心数量;然后睿频的话,应该是说如果你不关他,他默认是开的,但学校集群可能是关了的,你的如果是自己用应该是开着的,就是说如果睿频开着的,CPU温度和功率不超过他的限值的时候他可以运行在更高的频率上。比如你的5120 是14cores 28 threads 2.2G, 但是如果散热比较好功耗不超过某个限制的时候,他是可以整体跑在更高的频率上,这就能更快。
    话说我觉得最惊奇的是我的9750H跑6线程居然比服务器CPU慢这么多,理论上说不过去啊,因为我看到跑的时候主频都跑到4G了,服务器才2.3G。得研究一下构架了

  • DPMFoam为何单独编译一下湍流模型

    2 帖子
    774 浏览

    因为分散力模型无法找到,https://zhuanlan.zhihu.com/p/90057423

  • pisoFoam不收敛

    3 帖子
    762 浏览

    @东岳 好的,我试试

  • 植物为活体但没考虑热通量而拒稿【求助】

    2 帖子
    724 浏览

    没看过你这面的研究,不过拒后重投这种,1)要么按照他的意见改,然后还是会回到这个审稿人手里。2)要么硬怼,说他对你的文章有偏见。重投之后就不会回到他这里审稿。

    你应该看过很多你自己行业的sci啊,肯定很多没有考虑热通量啊,扔过去5 6 7 8篇,人家都没做热通量。

    上述没有任何技术讨论,只是策略。看看有没有其他大佬有意见

  • DPM粒子受力分析

    1 帖子
    812 浏览

    在DPM中粒子所受力例如重力、虚拟质量力等都是通过forceSuSp中的vector Su以及scalar Sp来决定的,最后通过KinematicParcel.C来计算Fcp以及Fncp(这个地方是每个力单独耦合求解速度还是把所有的力都考虑进来一起耦合),不知道理解的对不对,现在我想要把每个粒子的单独受力比如重力、虚拟质量力等都单独写出来,不知道各位老师有没有什么办法去实现?Ps:我看另一个帖子中写到F=Su*(U-Ud)+Sp.这个是在哪里出现的我也没找到,Ud是啥,可以直接用吗?

    这是单独一个力的以重力为例:

    template<class CloudType> Foam::forceSuSp Foam::GravityForce<CloudType>::calcNonCoupled ( const typename CloudType::parcelType& p, const scalar dt, const scalar mass, const scalar Re, const scalar muc ) const { forceSuSp value(Zero, 0.0); value.Su() = mass*g_*(1.0 - p.rhoc()/p.rho());//这里求出来Su return value; }

    这是KinematicParcel.C出现通过力算速度的:

    const forceType& forces = td.cloud().forces(); //这是最后粒子受力耦合求解速度 // Momentum source due to particle forces const parcelType& p = static_cast<const parcelType&>(*this); //这个地方是每个力单独耦合求解速度还是把所有的力都考虑进来一起耦合?? const forceSuSp Fcp = forces.calcCoupled(p, dt, mass, Re, mu); const forceSuSp Fncp = forces.calcNonCoupled(p, dt, mass, Re, mu); const forceSuSp Feff = Fcp + Fncp; const scalar massEff = forces.massEff(p, mass); // New particle velocity //~~~~~~~~~~~~~~~~~~~~~~ // Update velocity - treat as 3-D const vector abp = (Feff.Sp()*Uc_ + (Feff.Su() + Su))/massEff; const scalar bp = Feff.Sp()/massEff; Spu = dt*Feff.Sp(); IntegrationScheme<vector>::integrationResult Ures = td.cloud().UIntegrator().integrate(U_, dt, abp, bp); vector Unew = Ures.value();
  • motorbike中SA模型相关设置?

    8 帖子
    2k 浏览

    楼主回答了 nut 能不能进一步再讨论一下 nuTilda 的设置呢?

    为什么摩托车算例里的 nuTilda 在 inlet, outlet, 以及 internalField 的初
    始条件设置是 0.05?这样的设置是来源于:nuTilda < nut/10 么 (参考资料1)?

    那么 nut 的估计既然是 0, 为何 nuTilda 的估计却是, 0.05, 这样一个非零的
    估计? 如果 nuTilda 的取值是为了保持数值计算的稳定,为什么不取 0.04 或
    者其他的很小的数? 0.05 只是单纯的一个比较小的数么?

    另外 nuTilda 初值在 outlet 的设置也稍有不一样: 为什么用 inletOutlet
    这个条件?而不是 fixedValue,calculated, 或者是 zeroGradient?

    参考资料

    Spalart, P.R., & Allmaras, S.R. (1994). A one-equation turbulence
    model for aerodynamic flows. La Recherche Aerospatiale, 1, 5-21.

    术语来源:

    eddy viscosity (nut): 参考资料: Page 7 turbulence viscosity (nut)
  • 无意间想到List的一个好用法

    8 帖子
    2k 浏览

    @Samuel-Tu 是的,new一维数组,通过指针对数组操作,不需要的时候还要delete释放内存 :)

  • 湍流粘性能的计算公式

    6 帖子
    2k 浏览

    @白礼耕 viscous energy,这个是审稿人的原话,而我只知道Turbulent viscosity,没听说过Turbulent viscosity energy,百度了一下也没找到。

    @东岳 据东岳老师说,我就给他回复个湍流粘度云图,粘性我能再找找吧。

  • OpenFOAM定时提交计算

    3 帖子
    861 浏览

    @bestucan 谢谢,看起来像Allrun.sh。我好像知道咋做了:qinqin:

  • DPM添加粒子属性错误

    4 帖子
    970 浏览

    谢谢,谢谢我仔细看看:xinxin:

  • 关于读取文件的错误

    4 帖子
    1k 浏览

    问题解决了。将1.0 改为dimless,就可以啦。
    具体可以参考这里

  • 请教下dragmodel问题

    7 帖子
    6k 浏览

    请问题主这个问题解决了吗?

  • 6 帖子
    2k 浏览

    感谢分享

  • 3D or 2D LES?

    17 帖子
    10k 浏览

    CFD现在研究的问题跨度太大了,很难说二维大涡模拟就一定不对,具体情况需要具体分析。任何结论总是取决于研究的具体物理问题、问题的尺度、你所关心的细小结构等等等等。从这个角度讲,二维大涡模拟我认为只要能自圆其说,有理有据,那就可以。

    湍流结构是三维的,如果用二维的计算方法去算,严格来讲当然不对,但在一定的尺度内、一定的结构内、在算力允许的范围内做一些二维的大涡模拟,是有助于我们理解一些机理的。我看过一些人专门用二维大涡模拟去研究mixing layer的形成和生长,其结论不能说完全没有意义。从这个角度讲,我认为一项工作做二维大涡模拟的最重要因素是可行性(即算力不允许做三维LES),而不是因为什么别的。

    总的来说,对于涉及到二维大涡模拟工作的结论,一定要对他研究的问题是什么、他关心的是什么、他不关心的是什么等等有很充分的认识,在此之上吸收消化得到的结论才是有意义和有帮助的。毕竟就连三维大涡模拟或者往更大了说CFD的结论或者结果,其正确性都是局限在某一些固定框架里面的,不能说是完全普适的。相比之下,二维大涡模拟的这个框架可能要窄很多。

    个人观点哈。

  • 9 帖子
    1k 浏览

    @悬浮的猪 我是研究生,共同学习,共同进步:shangxue:

  • Euler-Euler中的湍流模型

    2 帖子
    772 浏览

    你这个结果看起来很正常,应该没有调用turbulent dispersion force, https://pdfs.semanticscholar.org/ec18/d3e3140efbf5651c07c7e8635402777f7e3b.pdf 我在这里也模拟了这个算例,需要注意的就是调用湍流分散力,

  • 关于OpenFOAM的输入输出

    7 帖子
    4k 浏览

    @nbyjn hello,我最近也在做这样一件事,将参数传入到求解器。 我想将一个矩阵[100*3]左右的数据传入,不知道您这里可以给我一些提示吗?

  • Time step continuity errors: ....cumulative = 1.42075e+40

    13 帖子
    3k 浏览

    @星星星星晴 好的,多谢啦~

  • 25 帖子
    6k 浏览

    @wwzhao 非常感谢指点迷津!

  • DPMFoam求解中,重力居然会加速液体相?

    15 帖子
    4k 浏览

    @zhangxc0223 我正在用矩方法算这个耶.. 针对你的问题,感觉跟这个很像,https://www.jianguoyun.com/p/DSS2YxIQ9s3ZBhjX_6oC 看图3,二者速度无差异

  • 11 帖子
    4k 浏览

    捕获.PNG

  • 发现OF编程指南上的一个小错误?

    3 帖子
    685 浏览

    @东岳 谢谢老师!:xiexie:

  • 请教一个paraview的矢量时均值后处理问题

    2 帖子
    833 浏览

    这个可以在后处理中做么?模拟已经结束了,切应力在模拟过程中是一直在变化的,需要对每个时间步内的值进行积分。你储存的结果,时间步长足够小么?

  • MPPICFoam中颗粒分数的求解

    9 帖子
    3k 浏览

    @星星星星晴 这个图,我研究过了,像下面一位朋友回答的,我表达的问题有错。不过,您的回答也让我拓宽了些我之前没想到的问题。谢谢。我也是刚接触不久,以后多学习了,希望也能为后来的人解惑。谢谢

  • paraFoam运行提示warning

    2 帖子
    752 浏览

    刚刚图片上传有问题Screenshot from 2019-12-05 16-56-53.png

  • 是否需要用到指针?

    8 帖子
    2k 浏览

    @悬浮的猪 alphaEff = alpha + alphat,层流热扩散系数在thermodynamic库更新,alphat去找你用的湍流模型。.c文件中有,一般是mut/prt,prt是constant中设置的常数

  • OpenFOAM变量输出

    1 帖子
    600 浏览

    我在计算过程中计算出了每个单元的某个变量(dimensionedScalar) f,然后将所有单元的f加和得到(dimensionedScalar )F,现在想把F和对应的时间输出出来,以便画出F随时间t的变化曲线。

    不知道OpenFOAM是否自带这个postProcess函数,将所有f加和得到F,再plotOverTime? 或者在求解器源代码中添加IOobject,使F随runTime.timeName()输出,但dimensionedScalalr的IOobject如何写呢?
    很疑惑
  • 对称性

    1 帖子
    466 浏览

    以低雷诺数绕流为例,对称的结构势必会出现对称的结果吗

  • paraview编译问题再次求助

    7 帖子
    2k 浏览

    @东岳 感谢东岳老师关注~

  • openform编译安装问题

    4 帖子
    1k 浏览

    @东岳 非常感谢前辈,已经解决。

  • 3 帖子
    2k 浏览

    @xiaohsu2006 请问问题解决了吗?我也遇到了类似的问题。谢谢!

  • uniformFixedValue边界条件失效?

    2 帖子
    815 浏览

    解决了,边界条件设置的问题,

    inlet { type uniformFixedValue; uniformValue table ( (0 (1 0 0)) (1000 (2 0 0)) (2000 (3 0 0)) ); value $internalField; }

    少设置了 value $internalField;
    结果没有生效

  • Openfoam并行分块有问题

    12 帖子
    6k 浏览

    有可能是分配的processor过多

    我今天在decomposePar时出现了FOAM Warning 也是提示no points in meshno cells in mesh

    我把system下decomposeParDict里面的numberOfSubdomains减小了 同时相应地给x、y、z方向分配的数量也减小了,再运行decomposePar就不会报错了。
    :chitang:

  • 出现时间连续错误提醒

    3 帖子
    614 浏览

    谢谢。