@李东岳
好的,李老师,这个我试了,目前可以稳定的运行,感谢!
还麻烦进一步请教下,如果采用LES模式去模拟复杂地形下的大气边界层湍流,对流项 div(phi,U),在OpenFOAM内置里有没有推荐的格式;因为当几何边界复杂时,LES 下推荐试用的 Gauss Linear 无法顺利运行,非常感谢李老师的帮助和经验指导
hy1112006
帖子
-
-
@李东岳 好的,李老师已经找到了,感谢!
对了,看到算例中,离散格式:div(phi,U) bounded Gauss linearUpwind grad(U);
麻烦请教一下李老师,这个格式对应老版本的OF 2.X 大概是什么呢,这个放到里面会报错 -
@李东岳 李老师,麻烦问一下算例在哪儿呢,页面上找不到呀
-
@hy1112006 是的李老师,在cfd-online上找到试了一个方法,虽然有系统警告,但暂且管用:
警告如下,目前不影响运行:
-
@小考拉
您好,我也遇见了同样的问题,在HPC上编译老版本的OF211;能否分享下您Home下的 .bashrc文件呢,想参考一下您的配置,感谢!
-
@xpqiu 好的,已经尝试成功,感谢老师指点啊!
-
@xpqiu 刚才试了下,如果先refineMesh的话,会报错:
这又是什么原因呐,疑惑~~
-
@wsxfyy 我看了下,这个算例就是用scotch 分解的 只有看看以后有没有啥方法了
-
最近在试运行一个算例,整体计算区域是标准六面体,结构化网格(网格单元亦为六面体):
(1)串行运算:blockMesh --> checkMesh --> XXXFoam(运行求解器),没有问题;
(2)并行运算:blockMesh --> topoSet --> refinMesh --> checkMesh 至此没有问题,但是开始分解网格时decomposePar,出现错误,过程如下;--- blockMesh如下(无问题):
--- topoSet -constant 如下 (无问题):
--- refineMesh -overwrite 如下(无问题):
--- decompossePar 如下,报错!!:
请问各位专家,这个有可能是什么原因呐,感谢!
-
@vortex 您好,麻烦请教下,如何在paraview中对尾涡进行类似上图的可视化呢,即如何调整Q的显示方式,我试了下,如下图,感觉看不出来涡结构:
麻烦版主或者群里各位大神指教,非常感谢!
-
@李东岳 好的,李老师,看来我的OF版本普遍偏低,已经非主流了
-
东岳老师,首先说明2个情况:
(1)在我的PC环境中,需要将system/controlDict内functions中fieldAverage下方的:
libs ("libfieldFunctionObjects.so"); 改为
functionObjectLibs ("libfieldFunctionObjects.so");
(2)需要在system/fvSchemes中加入:
fluxRequired
{
p;
}
进行上述两处改动后,方可正常运行,如下:
不知道为什么,跟每个迭代步的log内容比其他人少了这么一句:
Pressure gradient source: uncorrected Ubar = 0.133489, pressure gradient = 0.000116978上述情况不知道是不是OpenFOAM的版本问题造成的?
下面是测试运行情况:
CPU型号:Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz
系统:Win10下子系统WSL Ubuntu 18.04
OpenFOAM版本:OpenFOAM-2.4.016 686.31
8 507.47
4 561.81
2 640.47
1 1182.09迷了...
-
@李东岳 好的,谢谢李老师,已解决:
在文件SOWFA-2.4.0/src/turbulenceModels/incompressible/LES/Make/options中加入这句话即可:
-lincompressibleLESModels \ -
@李东岳 谢谢李老师的解答,不过我检查了一下,编译lib的时候都通过了,如下:
而且在文件夹里能找到相应的libs, 如下:
仍出现上述Warning时运行的时候没挂上lib吗,麻烦能指导下,如何解决这个问题吗~~ 感激
-
@fangyuanaza 您好,我也遇到了类似的问题,修改了LES湍流模型,编译成功,形成了自己的库,跑算例的时候也没有报错,但是用blockMesh时就会出现警告,按照东岳老师的建议,“在controlDict里面把这个删掉就行了”,确实不报错了,但很好奇其中的原因,并发了一个专门的帖子,还望您指教,感谢
-
最近编译了最新的SOWFA求解器,编译过程中一切正常,没有报错;但是在运行tutorial算例时,blockMesh出现了以下警告:
Create time
--> FOAM Warning :
From function dlOpen(const fileName&, const bool)
in file POSIX.C at line 1179
dlopen error : /home/yhan/OpenFOAM/yhan-2.4.0/SOWFA/lib/linux64GccDPOpt/libSOWFAincompressibleLESModels.so: undefined symbol: _ZTIN4Foam14incompressible9LESModels11GenEddyViscE
--> FOAM Warning :
From function dlLibraryTable::open(const fileName&, const bool)
in file db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C at line 99
could not load "libSOWFAincompressibleLESModels.so"于是去system/controlDict里面将“libSOWFAincompressibleLESModels.so” comment后,运行不再报警。
请问群里的各位专家,这个原因是什么呢,为什么commet掉controlDict里的libs项后,问题就解决了呢?
最近重新拾起OpenFOAM,“熟悉又陌生”,还往各位专家赐教,非常感谢!
-
@李东岳 是的,东岳老师,我博士的课题就是基于SOWFA框架开发的,因为学校跟NREL是合作伙伴,跟SOWFA的创始人 Matthew Churchfield他们一起合作过,东岳老师都植入了哪些功能,有机会时间方便了请教您啊
-
@vortex 您好,请问您也是用SOWFA在做风电场数值模拟吗~
-
@vortex 您好,麻烦问下这个您这个算例是用自己的代码算的还是开源代码呀
-
@星星星星晴 最近可能工作会需要,又从尘封的硬盘里拷了出来,既熟悉又陌生,感觉连ParaView的用法都生疏了
-
@bestucan 好的老师,我下载了最新版的Paraview, 确实可以支持数据不重组的可视化,太感谢您了
-
@bestucan , 是的老师,完整的log如下:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 Time = 10 Reconstructing FV fields Reconstructing volScalarFields ppMean --> FOAM FATAL ERROR: Attempt to cast type processor to type processorCyclic From function refCast<To>(From&) in file /home/yhan/OpenFOAM/OpenFOAM-2.1.1/src/OpenFOAM/lnInclude/typeInfo.H at line 114. FOAM aborting #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::error::abort() at ??:? #2 Foam::processorCyclicFvPatch const& Foam::refCast<Foam::processorCyclicFvPatch const, Foam::fvPatch const>(Foam::fvPatch const&) at ??:? #3 Foam::processorCyclicFvPatchField<double>::processorCyclicFvPatchField(Foam::processorCyclicFvPatchField<double> const&, Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::fvPatchFieldMapper const&) at ??:? #4 Foam::fvPatchField<double>::addpatchMapperConstructorToTable<Foam::processorCyclicFvPatchField<double> >::New(Foam::fvPatchField<double> const&, Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::fvPatchFieldMapper const&) at ??:? #5 at ??:? #6 at ??:? #7 at ??:? #8 at ??:? #9 at ??:? #10 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #11 at ??:? Aborted (core dumped)
还请老师多多指教,这个问题出在了哪儿~~~ 万分感谢!
-
@xpqiu 麻烦老师也给我发一份完整版吧494744597@qq.com,我之前的是旧版,非常感谢
-
并行运算完成,重组时,先输入:
reconstructParMesh -mergeTol 1e-6 -constant
没有问题;
再输入:
reconstructPar 出现错误:Create time Create mesh for time = 0 Time = 30 Reconstructing FV fields Reconstructing volScalarFields ppMean --> FOAM FATAL ERROR: Attempt to cast type processor to type processorCyclic From function refCast<To>(From&) in file /home/yhan/OpenFOAM/OpenFOAM-2.1.1/src/OpenFOAM/lnInclude/typeInfo.H at line 114. FOAM aborting //-----------------------------------------------------------------//
请问各位专家,这个问题怎么解决呐,
非常感谢! -
@xpqiu :嗯嗯,这本书以前是开源免费的,现在收费了,这是之前的旧版本MathematicsNumericsDerivationsAndOpenFOAM.pdf
-
好的,感谢您及时的回复哈!
我看controlDict 里用的pimpleFoam, 于是就试了下,但是给出:
--> FOAM FATAL ERROR:
Residual data for p must be specified as a dictionaryFrom function virtual bool Foam::solutionControl::read(bool) in file cfdTools/general/solutionControl/solutionControl/solutionControl.C at line 85.
FOAM exiting
确认下您用的是pimpleFoam求解器吗?感觉这个error应该是版本问题造成的吧,我再去装一个OF7,试试
非常感谢!
-
感谢分享!最近安装低版本的OpenFOAM做原有的程序二次开发,用到了这个语句~~,
在此分享一个基于不同Linux系统的OpenFOAM不同版本安装总结,亲测OF211,OF231 再 Ubuntu 16.04 安装成功无Error!
https://openfoamwiki.net/index.php/Installation/Linux
再次感谢!
-
@Cp_Zhao ,
您好,非常感谢您分享这个算例!
请问一下这个算例是基于OpenFOAM 哪个版本运行的呢,我试了 OF211 和 OF1912,都需要做一些改动。如果想直接运行看初步的结果,需要在哪个版本呢~~
此致
-
加一行代码即可:
timeStart 5.0;
-
View Settings --> General --> check "Use Parallel Projection",
您指的是这个吗?
-
@lambs 关于湍流的入口边界条件,可以参照《Large Eddy Simulation for Incompressible flow》 by Pierre Sagout 书中的两种方法:
1.Stochastic Recontruction from a statistical one-point description. 就是用随机方法生成湍流场,比较容易上手的有 Smirnov-Shi-Celik 方法,书中有详细介绍,要在流场中形成fully developed turbulent 需要很长的domain 和 time marching.
- Deterministic precursor simulation. 在运行真正的算例之前,用循环边界条件加在一个domain 的四周,相当于一个无限长的 doamin, 生成充分发展的湍流场,然后将其中的一个断面map 到 真正算例里的入流边界,亦需要很长的时间达到quasi-steady state.
-
fieldAverage 的工作机理,请参见这篇文章~包括了源代码分析和简单的验证:
http://xiaopingqiu.github.io/2015/04/12/fieldAverage/ -
您好,您可以网上下载Tobias Holzmann 写的《MATHEMATICS,NUMERICS,DERIVATIONSAND OPENFOAM ®The Basics for Numerical Simulations.》这本pdf教程,Chapter 10 中详细解释了turbulence - > divDevRhoReff ( U ) 的代码理论和起源,讲解的非常清晰!
-
您好,这篇文章详细说明了fieldAverage 的工作机理,包括了源代码分析和简单的验证:
http://xiaopingqiu.github.io/2015/04/12/fieldAverage/ -
@东岳
在rhoPimpleFoam/LES/pitzDaily 算例里找到了这个应用,
---Properties Second order Unbounded Attempts to limit the unboundedness of the linear scheme ---Usage The scheme is specified using: divSchemes { default none; div(phi,U) Gauss filteredLinear2 <k> <l>; } ---Where the coefficients --k: Scales the rate at which the correction is applied 0 : linear 1 : fully limited --l: Maximum allowed overshoot/undershoot relative to the difference across the face. 0 : no overshoot/undershoot 1 : overshoot/undershoot equal to the difference across the face
对于矢量时候 用
filteredLinear2V
, 求解出来流场的unboundedness
介于Gauss Linear (unbounded)
和Gauss GammaV (bounded)
中间 -
Divergence scheme 中的 filteredLinear, filteredLinear2, filteredLinear2V 有什么区别吗?
如果想设置 div(phi,U) 为这类 scheme, 用哪个最优呢? 谢谢~ -
@东岳
好的,感谢东岳教授的及时回复。
若有新进展,再来更新!
-
@东岳
好的东岳教授~
-
您说的显示迂回操作是指在paraview里“剪切“,对吗?
-
因为整体网格太大,120million,所以local machine 用paraview 读取会出现内存不足的问题,所以想着能不能以postprocessing 的方式提取所需区域
-
-
请问一下大家,OpenFOAM 如何 sample 整体计算区域里的一个 3-D Region? 我在SampleDict 里貌似没有发现这个选项,感谢~
-
看文献和算例,发现近地网格 长30m, 宽30m, 高 10m便可以计算。
但保证整个domain 不小于 3km3Km1km -
@lhzhu 在 如何拷贝/创建 volVectorField 在每一个时间步文件夹中 中说:
只要0目录里面有一个场文件,decomposePar 都会在processorX里面生成子区域的场文件。是不是你写的0/HAG_BC 的file header 里面的object 不是 HAG_BC ?
decomposePar 后 在“processorX” 中的 "0" 目录里有这个HAG_BC, 问题是下一时间步的时候没法创建这个HAG_BC啊,
所以会有那个error.
不知道怎么解决 -
-
在 "0" 文件夹中用自己写的utility 新建了一个 volVectorField 量 “HAG_BC”, 由于并行计算的需要,HAG_BC需要出现在之后的每一个时间步文件夹中,但是其场量值始终保持不变,怎么修改Solver实现这一过程啊?
我在creatFields.H 中加入了以下内容:
volVectorField HAG_BC
(
IOobject
(
"HAG_BC",
runTime.timeName(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
);但是运行后仍然得到:
--> FOAM FATAL IO ERROR:
cannot find filefile: /home/yhan/Desktop/PrecTest/1/HAG_BC at line 0.
From function regIOobject::readStream() in file db/regIOobject/regIOobjectRead.C at line 73.
FOAM exiting
//========================================================================================================
多谢各位前辈!
中性大气环境湍流动能的自保持 | 附有算例下载
中性大气环境湍流动能的自保持 | 附有算例下载
中性大气环境湍流动能的自保持 | 附有算例下载
超算上如何运行老版本openfoam
超算上如何运行老版本openfoam
算例topoSet、refineMesh后,无法decomposePar
算例topoSet、refineMesh后,无法decomposePar
算例topoSet、refineMesh后,无法decomposePar
算例topoSet、refineMesh后,无法decomposePar
paraview风力机涡结构图绘制
200万网格并行算力测试(OpenFOAM版本)
200万网格并行算力测试(OpenFOAM版本)
自定义湍流模型编译成功,但是有dlopen error 的Warning, 初步解决,但想求教根本原因
自定义湍流模型编译成功,但是有dlopen error 的Warning, 初步解决,但想求教根本原因
paraFOAM时的dlopen error
自定义湍流模型编译成功,但是有dlopen error 的Warning, 初步解决,但想求教根本原因
paraview风力机涡结构图绘制
paraview风力机涡结构图绘制
paraview风力机涡结构图绘制
reconstructPar出现错误
reconstructPar出现错误
reconstructPar出现错误
reconstructPar出现错误
turbulence->divdDevReff(U)
reconstructPar出现错误
turbulence->divdDevReff(U)
blockMesh生成复杂模型
OpenFOAM22x编译错误
blockMesh生成复杂模型
fieldAverage怎样对指定时间范围求时均?
请教一下,paraview如何将数据投射到壁面
LES 边界条件 和fieldAverage的具体意义
LES 边界条件 和fieldAverage的具体意义
turbulence->divdDevReff(U)
fieldAverage怎样对指定时间范围求时均?
div(phi,U) 中 filteredLinear类疑惑
div(phi,U) 中 filteredLinear类疑惑
Sample 计算区域中的一个3-D region
Sample 计算区域中的一个3-D region
Sample 计算区域中的一个3-D region
请问一下,用LES算大气边界层时网格大小要达到什么量级?
如何拷贝/创建 volVectorField 在每一个时间步文件夹中
如何拷贝/创建 volVectorField 在每一个时间步文件夹中
如何拷贝/创建 volVectorField 在每一个时间步文件夹中