@学流体的小明 感谢大佬。
我用的是ESI版本,找到这个codeSource的介绍了。
https://doc.openfoam.com/2306/tools/processing/numerics/fvoptions/sources/rtm/coded/
但还没搞懂这个随机量怎么生成和添加
luofq-sysu
帖子
-
-
The source term is to be applied similarly to a trip-wire in a physical experiment, i.e. in a thin strip of cells close to the wall The numerical trip adds randomised fluctuations to the velocity in the momentum equation in the defined region, which acts to trip the boundary layer from laminar to turbulent.
请教各位大佬,在OpenFOAM如何实现:在近壁面特定区域的cellZone网格上,增加一个随机脉动的源项,脉动的强度与为自由流速成比例,比如10%
-
@李东岳 李老师,抱歉乌龙了,这个是超算支持工程师测试的,他应该重新blockMesh了。我自己亲手测试的结果是,3节点并行192核心,2000步总耗时——ExecutionTime = 2696.54 s ClockTime = 2758 s。
贴一个CPU信息:Intel(R) Xeon(R) Platinum 8358P CPU @ 2.60GHz
-
@李东岳 李老师,我在超算平台测试2000W算例,三节点并行64*3,计算两千步总耗时58s?!
-
@GrpOne123 不好意思,我是很久之前测试的,只记得容易出bug,然后力也似乎算不准。然后就没继续了
刚看了一下,我当时用pimpleDyMIb算了一个旋转圆柱类型的工况,是能并行的。pcor方程的问题没有遇到过或者没印象了。 -
@GrpOne123 在 如何解决OpenFoam升阻力系数剧烈震荡的问题? 中说:
是不是应该要换一个求解器呢?我打算将pimpleDyMIbFoam改成icoDyMIbFoam用来求解看看会不会有改善
请教一下:这边移植到icoDyMlbFoam的用意是什么呢?因为不加湍流模型嘛
-
看官网介绍,这AIT***是个拓扑优化软件 ?
其融合了伴随方法、CFD求解器以及拓扑优化技术来实现对工业产品的多目标优化设计,能够快速实现降低管道流动压力损失、优化出口流动均匀性、提升散热器和换热器性能等目标设计。该软件支持多种形式的网格文件导入,并支持对导入几何进行自动的网格划分求解,最终的优化设计结果能够方便的转换为CAD几何文件,方便进一步进行精细化设计。它能够极大的缩短产品的设计周期,减少设计人员的工作量,并且取得令人满意的优化设计结果。
-
fe4.1-IB求解器,印象中测试圆柱绕流的力系数也存在较大震荡,不知道是不是求解器没做好。可以试试fe-5.0会不会好用一点
-
@fangyuanaza 谢谢分享。还想请教一下:
- 这个u,是流向速度的时均值吗?
2.150个线,取的是不同流向位置吗?计算后流向大约有多少个网格呢?以及展向是统一取中间位置吗
- 这个u,是流向速度的时均值吗?
-
@fangyuanaza 请问前辈实现了吗
-
这个codeStream写的扰动,可以保证$\nabla\cdot\bfU=0$么
我只看到codeStream跟perturbU的代码是一致的,具体的公式在EugeneDeVilliers博士论文5.1.2章也能找到
-
谢谢。@学流体的小明
我的计算域没有入口出口之分,沿流动方向的两个边界都是周期性的边界条件,展向也是周期性的边界条件。所以无法回答你的问题。
我的算例也是周期边界的槽道流,其实应该是internalField初始场的影响。
前面我采用的是uniform的初始速度场,计算湍流雷诺数远达不到目标值。最近按你算例的codeStream代码加入了初始脉动速度,计算雷诺数比较接近目标值了。
以Re_tau=1000为例,我现在计算得到的雷诺数数值是910是的,用的就是EugeneDeVilliers在他博士论文中提到的初始化槽道流流场的方法。
EugeneDeVilliers大佬的论文提到了这种湍流需要加入初始扰动才能发展,这个初始化方法也有一个 perturbU的开源代码。不过codeStream的实现更方便
-
@学流体的小明 感谢此贴,感谢几位的研究,解答了我的很多疑问。
并请教:槽道流LES计算的入口inflow速度场影响大吗?
因为我近期也开展了多个雷诺数Re180~5200的槽道流计算,但计算得到的壁面摩擦速度偏小(大约只有目标值的一半)。
对比了一下你的channel1000案例文件,发现一个主要的差别是初始场0/U,看起来你是采用了一种生成脉动速度的入口条件吗? -
@coolhhh 楼主有可分享的结论么?我理解 x+和z+如果太大,那近壁面的网格长宽比就太大了,对LES计算还是有影响的
-
@李东岳 谢谢李老师。1. solver.pcorr改成PCG,虽然还是出现iteration 1000,但确实快了很多。2.尝试将pcorr的tolerance从 1e-06改成1e-05,还是会出现 iteration 1000。这个有没有可能跟网格有关呢?整体计算速度慢的原因还有P_rgh也挺费事的
-
@韬智tz ESI版本的OFv2012之后有一个ccmToFoam工具但默认没编译,在这个网站搜一下能找到一个编译的教程
-
@李东岳 李老师,借楼问一下:滑移网格计算,每三个时间步会出现pcorr iteration 1000,可能出现的原因在哪方面?网格checkMesh无问题,可能会是GAMGPCG这些格式吗?
-
@微凉风 我认为普通动网格应该就是会变形,运动幅值很小都发散的话可能先检查一下壁面的边界条件以及dynamic设置吧
-
@五好青年 抱歉我记错了,OF没有这个选项。好像这个库有个loadBalance的研究,但我测试感觉也不是很稳定,也会报错。
https://github.com/ElsevierSoftwareX/SOFTX_2018_143 -
印象中把各核unbalance的参数提高一点,可以起到稍微改善作用
-
@Joann 它的background-SHM网格只是为了加密背景网格中的重叠区,因为要控制background与overset重叠区网格尺度差不多。所以不需要也可以
-
是的,mergeMesh将两套网格合并,教程文件incompressible/overSimpple/aeroFoil是导入stl文件生成重叠网格的,不过是二维的,还更麻烦一点。
-
@Joann 我最近也在看overset,我认为你的Hull是导入了一个几何体吗?我看教程是分两步走:1.创建一个小的block,block和Hull几何通过SHM创建一套剪掉几何体的overset网格。2.另外创建一个大的background,将background和overset进行mergeMesh。
-
导入Hull模型、通过SHM生成网格,其实得到的是block内关于Hull的外流场网格,也就是SHM自动切掉了Hull内部部分,所以就不需要subsetMesh。
看起来似乎想用overset?这个应该要生成两套网格才行。 -
请问李老师: @李东岳
1.下一期课程大概哪个月份?
2.OF基本操作都会、自己能算小东西,算法大概能看懂PIMPLE循环,编译方面只跟着教程做过一点尝试。这样适合参加课程吗?OKSS2吗? -
请教前辈,自适应网格可以用到动网格上吗?如果想将ARM和dynamicMotionSolver结合在一起是否可行呢
-
我记得网上有一个ccm26ToFoam可以用
-
@东岳 东岳老师,您说的这个操作的矩阵系数是lduMesh吗?从矩阵系数反推成离散网格需要哪从哪方面入手呢?
-
@东岳 东岳老师您好!
我翻了一下资料,据说PairGAMGAgglomeration的pair是一种聚合算法,主要是根据face weights从网格交界面开始聚合。
OpenFoam支持几何多重网格和代数多重网格(faceArea和algebraic),其中faceAreaPairGAMG的操作对象是mesh
和magSf
,magSf
处理一下好像就是所说的face weights。麻烦您看看聚合生成polymesh,是否可行,应该如何入手。
faceAreaGAMGAgglomeration.C
主要代码如下:Foam::faceAreaPairGAMGAgglomeration::faceAreaPairGAMGAgglomeration ( const lduMesh& mesh, const dictionary& controlDict ) : pairGAMGAgglomeration(mesh, controlDict) { const fvMesh& fvmesh = refCast<const fvMesh>(mesh); // agglomerate(mesh, sqrt(fvmesh.magSf().primitiveField())); agglomerate ( mesh, mag ( cmptMultiply ( fvmesh.Sf().primitiveField() /sqrt(fvmesh.magSf().primitiveField()), vector(1, 1.01, 1.02) // vector::one ) ) ); } Foam::faceAreaPairGAMGAgglomeration::faceAreaPairGAMGAgglomeration ( const lduMesh& mesh, const scalarField& cellVolumes, const vectorField& faceAreas, const dictionary& controlDict ) : pairGAMGAgglomeration(mesh, controlDict) { // agglomerate(mesh, sqrt(mag(faceAreas))); agglomerate ( mesh, mag ( cmptMultiply ( faceAreas /sqrt(mag(faceAreas)), vector(1, 1.01, 1.02) // vector::one ) ) );
-
目标:调用GAMG-Agglomeration对网格进行聚合也就是加粗,并生成polymesh下的point、face等网格文件,最好是不覆盖原来的polymesh文件,最终能对新的网格进行计算。
问题1:如何调用聚合网格的函数? 我发现application/test自带有一个Test-GAMGAgglomeration,但他只是在时间文件夹下生成一个volScalarField,没有生成实际的网格。
// Write agglomeration { volScalarField scalarAgglomeration ( IOobject ( "agglomeration", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE ), mesh, dimensionedScalar(dimless, 0) ); scalarField& fld = scalarAgglomeration.primitiveFieldRef(); forAll(fld, celli) { fld[celli] = cellToCoarse[celli]; } if (normalise) { fld /= max(fld); } scalarAgglomeration.correctBoundaryConditions(); scalarAgglomeration.write(); }
问题2:如何生成新的polymesh文件,并且不覆盖原来的polymesh? 我在blockmesh源代码里面找write polymesh的代码,不知道是否mesh.write()就能实现。
请各位前辈指导!
-
感谢您的建议。确实是这样,没有基础,感觉OF的代码短时间内难以深入。
-
针对不可压缩N-S方程,想植入一种类似多重网格(Multi-Grid)的多尺度(Multiscale ) 模拟方法,该方法涉及到从细网格聚合成两套交错的粗网格、在粗网格上求解局部方程、从两套粗网格的解得到细网格的初始近似解。
请教各位前辈:1.在OpenFoam是否已有相关的研究? 2.像这种方法结合到interFoam求解器里面会涉及哪些代码,哪些是最关键?
本人是在校学生,目前刚看懂SIMPLE/PISO算法的代码含义,对于OpenFoam底层的基本类和网格数据结构这些还难以理解,所以觉得无从下手。 -
您好,这里两种网格求解的方程形式一样吗?您是研究多尺度模拟的吗?我也想尝试OpenFoam里植入一种多尺度算法,是否方便交流一下
壁面湍流LES,如何设置一个随机力源项(numerical trip)诱导湍流
壁面湍流LES,如何设置一个随机力源项(numerical trip)诱导湍流
HPC节点独显效率
HPC节点独显效率
如何解决OpenFoam升阻力系数剧烈震荡的问题?
如何解决OpenFoam升阻力系数剧烈震荡的问题?
这壳套的太明目张胆了... ...
如何解决OpenFoam升阻力系数剧烈震荡的问题?
后处理得到momentum thickness
后处理得到momentum thickness
LES直流槽道边界层模拟,如何得到正则化速度u+以及正则化坐标y+?
LES直流槽道边界层模拟,如何得到正则化速度u+以及正则化坐标y+?
LES直流槽道边界层模拟,如何得到正则化速度u+以及正则化坐标y+?
计算y+,Δx+,Δz+的疑问
关于nOuterCorrectors影响计算速度和计算精度的问题
STAR-CCM+的.ccm网格文件转换为OpenFoam 7的网格文件,有什么好的办法吗?
关于nOuterCorrectors影响计算速度和计算精度的问题
OpenFOAM中的动网格边界
OpenFOAM自适应网格和并行计算冲突的问题
OpenFOAM自适应网格和并行计算冲突的问题
关于floatingBody案例中的subsetMesh
关于floatingBody案例中的subsetMesh
关于floatingBody案例中的subsetMesh
关于floatingBody案例中的subsetMesh
OKS课程买家秀
二维自适应网格
STAR-CCM+的.ccm网格文件转换为OpenFoam 7的网格文件,有什么好的办法吗?
对网格进行聚合操作,并生成polymesh文件?
对网格进行聚合操作,并生成polymesh文件?
对网格进行聚合操作,并生成polymesh文件?
在OpenFoam植入多尺度模拟方法的可行性
在OpenFoam植入多尺度模拟方法的可行性
怎么把mapfields的code写进solver里?