@hangsz 非结构有限体积也有高精度格式
Foamer24
帖子
-
-
@wwzhao 原来是这样,icem软件的六面体导出网格前都要转成非结构,应该就是为了适应fluent中的非结构计算。
-
偶然看到一系列的网格生成软件的网址:Mesh generator,很好奇NUMECA的HexPress 和snappyHexMesh都是 unstructured hexahedral(六面体) mesh,%(#ff0000)[六面体不都应该是结构网格吗?]
-
wellSource是常数吗?那mesh.V是什么参数?
-
@东岳 在 讨论 Fluent计算效率优于OpenFOAM 中说:
Ur
您好!之前测试的时候,壁面附近网格越密,网格高度变低、长宽比也变大,要求的时间步长deltaT就越小。不知道您说的Ur是什么定义?不知道在壁面附近有没有特殊处理,增加它的时间步长。
-
@cccrrryyy 是的
-
@宝丁 您好!有改过湍流模型吗?不同模型结果也是有差别的
-
@东岳 您好,移动了下就不行了。现在是 https://www.jianguoyun.com/p/DcjVq2YQ9O7FBxiv3MIB
-
@cccrrryyy fluent的网格边界层更密,为1微米,满足y+小于1。
-
@cccrrryyy 算例远场速度是72m/s,调节网格后时间步长提高到了3×10^-8,使用pointwise监测最窄边的长度为2.8×10^-5,使用这些值计算的库朗数是0.077,用rhoCentralFoam计算过程中显示的最大库朗数确是0.53,有点不理解,不知道这个最大库朗数点的位置在哪。
Mean and max Courant Numbers = 0.001871585 0.5321452
-
@cccrrryyy 您好!请问你的时间步长具体值一般是多少?还有就是网格边界层高度是多高?我的分别是10e-8s和0.0001m。 算的确实慢,难以接受
-
@wwzhao @cccrrryyy 您好!我还处于入门阶段,一边用OpenFOAM,一边学OpenFOAMwiki上的3weeks 和编程查询,我的fvSchemes和fvSolution文件如下,目前调试经验是在fvSchemes中设置fluxScheme Tadmor;算得比设置Kurganov;要快。我后面再试下各位的设置,再过来交流。
/*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org \\ / A nd | Version: 6 \\/ M anipulation | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // fluxScheme Tadmor;// Kurganov; ddtSchemes { default Euler; } gradSchemes { grad(U) cellLimited Gauss linear 1; grad(nuTilda) cellLimited Gauss linear 1; grad(e) cellLimited Gauss linear 1; } divSchemes { default none; div(tauMC) Gauss linear; div(phi,nuTilda) Gauss linearUpwind limited; } laplacianSchemes { default Gauss linear corrected; } interpolationSchemes { default linear; } snGradSchemes { default corrected; } wallDist { method meshWave; } // ************************************************************************* //
/*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org \\ / A nd | Version: 6 \\/ M anipulation | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { p { solver GAMG; tolerance 1e-7; relTol 0.01; smoother GaussSeidel; cacheAgglomeration off; nCellsInCoarsestLevel 20; agglomerator faceAreaPair; mergeLevels 1; } Phi { $p; } pFinal { $p; tolerance 1e-06; relTol 0; } "(k|omega|epsilon|nuTilda|U|R|v2|f|kt|kl|e)" { solver smoothSolver; smoother GaussSeidel; nSweeps 1; tolerance 1e-20; relTol 0.01; } "(rho|rhoU|rhoE)" { solver diagonal; } } // ************************************************************************* //
-
试了下同样的算例用Fluent 19计算,真的是黑匣子。。。时间步长0.2s都不发散。要是能借鉴一些方法到OpenFOAM里面就好了
-
@东岳 @wwzhao @cccrrryyy 您好!今天看到cfd-online上的链接:https://www.cfd-online.com/Forums/openfoam-solving/123586-simulations-large-time-steps-high-cfl.html 。里面讨论了 simulations with large time steps (high CFL),帖子比较老了,说原因是OPENFOAM中没有像fluent那样Pressure-velocity coupling的coupled solver。粗略的看了下文献《A fully coupled OpenFOAM® solver for transient incompressible turbulent flows in ALE formulation》,里面说Implicit + coupling 效率要高。
-
很开心看到大家这么多的观点,下面也说说我最近的%(#ff0000)[个人]看法
-
不管fluent还是OpenFOAM都只是工具,更关键的是所关注的问题及其内在的科学规律、机理。资深级CFDer应该会有判断garbage result的能力,会对结果有个大体的预期,对意想不到的结果也有分析判断的能力,甚至有的可以根据流场看出用什么软件/模型求解的。fluent设计目的是提供一个a black box solver that is robust,OpenFOAM则可以自编代码,处于食物链的上一级,更高一级的就是全部自编的in-house代码了。希望以后可以看到fluent的UDF提供更多像OpenFOAM的可操作空间。
-
fluent的非定常计算采用implicit,隐式的求解和时间无关,所以时间步长相比显式要大,不过隐式也存在迭代收敛的问题,这样的问题在OpenFOAM中也会出现,即not converged within 20 iterations。求解方法上用隐式或显式消耗的时间理论上无法比较,工程上一般隐式快一点。在fluent中用隐式进行定常计算,在计算稳定后,设置库郎数100也是可以的,因为定常的最终结果是一定的。但是非定常就不行了,这会牵涉到时间精度的问题。
-
作为新手,我学习OpenFOAM的过程是先将OpenFOAM用成fluent,然后再准备修改OpenFOAM得到属于自己的fluent。 不知道这样合不合理,主要是直接看代码,难以短期内有进展,很多情况下要求的是做错了也要有个错的结果。。。
-
回到标题,在计算三维LES时,相同网格在fluent里面计算的时间步长是10^-6,在OpenFOAM中用了runTimeModifiable 和 adjustTimeStep变为了10^-9~10^-8,不用就报错。不知道是不是就是大家所说的AMG求解器的原因。
-
-
@youmengtian 您好!我完整的格式是这样的
/*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org \\ / A nd | Version: 6 \\/ M anipulation | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // fluxScheme Tadmor;// Kurganov; ddtSchemes { default Euler; } gradSchemes { default cellMDLimited Gauss linear 1.0; } divSchemes { default none; div(tauMC) Gauss linear; div(phi,nuTilda) Gauss linearUpwind limited; } laplacianSchemes { default Gauss linear corrected; } interpolationSchemes { default linear; } snGradSchemes { default corrected; } wallDist { method meshWave; }
-
@adcpk 在 关于rhoCentralFoam计算高超声速问题时温度出现负值的原因 中说:
divSchemes
您好!divSchemes用的是Euler
ddtSchemes { default Euler; }
-
@adcpk 您好!插值格式用的是linear
interpolationSchemes { default linear; }
-
@东岳 这是具体的算例文件 https://www.jianguoyun.com/p/Df7zvZYQ9O7FBxjyusIB 调试了rhoCentralFoam的设置,都计算不了。
-
@东岳 网格图如下
-
谢谢,希望这个求解器能算,rhoCentralFoam有边界层一直算不起来。
-
@zxyf1 ε=(´ο`*)))唉,将fluxScheme Kurganov; 改为fluxScheme Tamdor;算的时间会变长一点,但是也会出现上面的问题。
-
@zxyf1 rhoSonicFoam and rhopSonicFoam have been superceded by rhoCentralFoam. 换成rhoPimpleFoam、pisoFoam或者sonicFoam可能会好一些
请问flux limiter 具体指的是%(#ff0000)[fluxScheme Kurganov;]?
-
@zxyf1 rhoCentralFoam改了好多边界条件和参数,最后一直报相同的温度错误,不知道出错的地方在哪里,不知道这种热力学边界要怎么调比较好,是不是这个求解器本身鲁棒性不好。
#0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigFpe::sigHandler(int) at ??:? #2 ? in "/lib64/libc.so.6" #3 Foam::hePsiThermo<Foam::psiThermo, Foam::pureMixture<Foam::sutherlandTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::calculate() at ??:? #4 Foam::hePsiThermo<Foam::psiThermo, Foam::pureMixture<Foam::sutherlandTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::correct() at ??:? #5 ? at ??:? #6 __libc_start_main in "/lib64/libc.so.6" #7 ? at ??:? Floating point exception (core dumped)
-
@zxyf1 您好!请问您当时有找到解决办法吗?是换其他求解器?
-
我也遇到同样的问题,使用rhoCentralFoam出现负温度,之前参照cfdonline,在rhoCentralFoam.C中添加一个判断,但是也还是会发散。
-
@Aeronastro dimesionedScalar拼写错了,是dimensionedScalar;结尾还有分号“;”。
-
openfoam在网格量大和质量不好时,效率会降低明显
参考 https://www.cfd-online.com/Forums/openfoam/124745-openfoam-vs-fluent.html
-
I have found that the main deficiency of openfoam is that it is very sensitive to mesh quality. if I divide the mesh quality to very good, good , medium,bad ,very bad then the OF and Fluent have the same performance on the very good meshes. OF performance on the good meshes is lower than FLUENT and it can not handle other meshes. FLUENT can handle medium and bad meshes very well.
-
I have run several test case with OF and Fluent with similar settings. I have found that fluent is more stable , accrue and faster than OF. Also OF is very sensitive to mesh quality but Fluent not.
-
fluent相当于黑匣子,但OpenFOAM可以编自己的求解器: https://www.researchgate.net/post/More_efficient_and_effective_software_between_OpenFOAM_and_Ansys_FLUENT
@东岳 @wwzhao @程迪 @random_ran @宝丁 @mohui @史浩 @Aeronastro @lhzhu @youmengtian @Calf-Z-DNS @cccrrryyy @CFD中文网 @小火人
openfoam高雷诺数 大网格量 质量较差的情况,需要怎么处理较好?或者openfoam怎么优化才能在这种情况下,效率追上fluent? -
-
@mohui 终于帮你找到啦!A LOW-DISSIPATIVE SOLVER FOR TURBULENT COMPRESSIBLE FLOWS ON UNSTRUCTURED MESHES, WITH OPENFOAM IMPLEMENTATION
-
@mohui 不是,OpenFOAM大网格量计算效率真的比不过fluent,好奇怪
-
@mohui 看到rhoEnergyFoam中有三阶四步的龙格库塔迭代。但是OpenFOAM大网格量并行速度相比fluent,不是很快
-
您好!厉害厉害,没想到openfoam还可以集成DG。请问这个求解器还暂时只适用于二维吗?
-
@东岳 您好!DES应该可以用定常流场做初始场吧?LES确实也没有对应的RANS模型进行定常计算
-
@D-Benjamin 谢谢 明白啦
-
@D-Benjamin
网上说没有求解压力方程,就看不了压力的残差。。。不甚理解 -
@sibo 谢谢,DES确实可以,但是对于SGS这种模型不知道用哪个初始化 因为他们要mulida这个文件,但是RAS里面只有nulida。
-
@xpqiu 在 如何将计算区域内部的某个面指定为边界,然后加边界条件 中说:
@Wayne 同推荐试试
createBaffles
createBaffles只在of2有,请问v4或v6的版本应该用哪一个命令?
-
@宝丁 细网格主要问题是存在边界层,要求时间步长较小。算的确实慢,而且很容易发散。有初始的化会好一些
-
@宝丁 mapfield相当于向用套粗糙的网格算一下,然后插值到密网格做初始场
-
@sibo 厉害厉害,第一个问题理解啦
-
@sibo 好的 我尽快给您答复
-
@sibo 之前也有看说加个potentialFlow来算初始场的,但是没查到具体操作是什么样子的。
-
您好!我现在也在尝试先SA算个初始场,然后改为SA-DDES进行后面的非定常计算。不知道这样的实际效果怎么样?
-
目前的例子,用OpenFoam中的LES直接计算非定常流场的初始时间步长是10^-11,超过就发散。加了壁面函数后,时间步长增加到10^-10,但是相比fluent的10^-6还是比较小,就是fluent算一步,openFoam得算10000步。。。fluent的计算方式是先求解定常,然后再转非定常。不知道Openfoam如何做出相似的操作。目前本人的看法有两点
- 先用没有边界层的网格,算出一个初始场,然后插值到有边界层的网格上?
- 先用steadyState计算一个流场,再改为Euler或者backward来算非定常?
求有经验的高人指点一下。非定常计算很容易算到后面就发散了
-
@宝丁 最近也在调试非定常计算,感觉openfoam里面算非定常也要像fluent一样才行,先算一个定常的初始场,然后再转非定常。不过不知道这个操作如何在openfoam里面实现。
-
@宝丁 温度可以在system/fvOptions文件中设置最小值和最大值。参数错误就不清楚了。
-
现在主要的问题是对于下面的式子编译时,会出现error: assignment of read-only location,这个百度上说不能通过该指针改变其指向的值。但是不知道下面的代码要怎么修改才可以。
const polyPatch& patch = mesh.boundaryMesh()[iPatch] ;
-
rhoEnergyFoam是一个基于ASUM+UP、RK的可压缩求解器,其下载地址是http://newton.dima.uniroma1.it/rhoenergyfoam/ ,参考文献是《A low-dissipative solver for turbulent compressible flows on unstructured meshes, with OpenFOAM implementation》,欢迎大家多多交流!
-
最近使用文本比较工具对比了openfoam v2和v6两个版本的rhoCentralFoam.C代码,发现了两个明显的区别,不太理解。
-
- “=”变为了“==”。C++语法里面说=表示幅值,==表示判断,但是这里会不会有问题?
v2版本是: rhoU.boundaryField() = rho.boundaryField()*U.boundaryField(); v6版本是: rhoU.boundaryFieldRef() == rho.boundaryField()*U.boundaryField();
-
- v6版本中少了下面的两项。
+ fvc::laplacian(turbulence->alpha(), e) - fvc::laplacian(k, T)
具体的比较贴出如下:
-
将高精度插值格式加到OF中
Mesh generator讨论
Mesh generator讨论
非稳态计算向压力方程中添加源项
讨论 Fluent计算效率优于OpenFOAM
讨论 Fluent计算效率优于OpenFOAM
rhoSimpleFoam 求解可压缩流动时一个奇怪的现象
可压缩流求解器rhoEnergyFoam的下载以及代码适应 问题
讨论 Fluent计算效率优于OpenFOAM
讨论 Fluent计算效率优于OpenFOAM
讨论 Fluent计算效率优于OpenFOAM
讨论 Fluent计算效率优于OpenFOAM
讨论 Fluent计算效率优于OpenFOAM
讨论 Fluent计算效率优于OpenFOAM
讨论 Fluent计算效率优于OpenFOAM
讨论 Fluent计算效率优于OpenFOAM
关于rhoCentralFoam计算高超声速问题时温度出现负值的原因
关于rhoCentralFoam计算高超声速问题时温度出现负值的原因
关于rhoCentralFoam计算高超声速问题时温度出现负值的原因
可压缩流求解器rhoEnergyFoam的下载以及代码适应 问题
可压缩流求解器rhoEnergyFoam的下载以及代码适应 问题
可压缩流求解器rhoEnergyFoam的下载以及代码适应 问题
关于rhoCentralFoam计算高超声速问题时温度出现负值的原因
关于rhoCentralFoam计算高超声速问题时温度出现负值的原因
关于rhoCentralFoam计算高超声速问题时温度出现负值的原因
关于rhoCentralFoam计算高超声速问题时温度出现负值的原因
关于rhoCentralFoam计算高超声速问题时温度出现负值的原因
LHS and RHS of + have different dimensions
讨论 Fluent计算效率优于OpenFOAM
projection method 真的比piso快吗?
projection method 真的比piso快吗?
projection method 真的比piso快吗?
HopeFOAM-0.1(支持DG高阶离散的OpenFOAM)在线发布了!
求助:LES如何设置初始场?
OpenFOAM残差监控的疑问
OpenFOAM残差监控的疑问
求助:LES如何设置初始场?
如何将计算区域内部的某个面指定为边界,然后加边界条件
求助: SonicFoam求解二维叶栅时无法收敛(求解文件可下载)
求助: SonicFoam求解二维叶栅时无法收敛(求解文件可下载)
rhoCentralFoam版本更替的交流
求助:LES如何设置初始场?
求助:LES如何设置初始场?
求助:LES如何设置初始场?
求助:LES如何设置初始场?
求助: SonicFoam求解二维叶栅时无法收敛(求解文件可下载)
求助: SonicFoam求解二维叶栅时无法收敛(求解文件可下载)
可压缩流求解器rhoEnergyFoam的下载以及代码适应 问题
可压缩流求解器rhoEnergyFoam的下载以及代码适应 问题
rhoCentralFoam版本更替的交流