最近发现RapidCFD可支持OPENFOAM的GPU并行计算,因此想买个GPU云服务器测试下加速效果,求大佬分享相关测试算例。
沐风
帖子
-
求测试GPU算力的case -
Tobias书中关于pimple的final松弛因子的设定最近阅读了Tobias书中关于pimple相关内容,其中其书中将pFinal 和uFinal松弛因子分别设置0.4和0.6,如图1所示,另外他给出了图2中的解释,请问大家这样设置合理嘛?我的理解是对于瞬态问题的模拟,nOuterCorrectors-1松弛因子设置小于1,最后final步松弛因子设置1.0保证求解稳定和时间推进
-
粘弹性流体高Wi数时间步长步进问题@李东岳 烦请东岳老师有空看下,期待您的回复。谢谢!
-
粘弹性流体高Wi数时间步长步进问题@李东岳 目前主要参考了rheoTool中已有的O-B模型sqrt重构代码进行F-P模型sqrt重构。已有O-B模型sqrt重构的变形张量输运方程为(https://www.sciencedirect.com/science/article/pii/S0377025711000504?via%3Dihub):
对应rheoTool中已经有代码为:
// Stress transport equation
fvSymmTensorMatrix bEqn
(
fvm::ddt(b_)
+ fvm::div(phi(), b_)
==
symm((b_&L) + (a & b_))
+ (0.5/lambda) * inv( b_.T() )
- fvm::Sp(0.5/lambda, b_)
);
bEqn.relax();
bEqn.solve();
考虑分子扩散项的F-P模型变形张量sqrt重构输运方程为:(https://www.sciencedirect.com/science/article/pii/S0377025711000504?via%3Dihub)(https://arxiv.org/ftp/arxiv/papers/2203/2203.09239.pdf)
对于F-P模型,为了保证tr(ckk)=tr(bTb) 有界,也就是tr(bTb)<L2,论文作者在每个时间步进前进行了如下处理:
图中2-9即为tr标量输运方程,但是对比2-7,作者2-9右边第一项忘写了tr符号,正确的tr输运方程应该为:
因此在rheotool的rheoFoam求解器下每个时间步进前植入了如下方程:
{
// Velocity gradient tensor
volTensorField L1 = fvc::grad(U);volTensorField j = (b.T() & b) & L1; fvScalarMatrix dEqn ( fvm::ddt(d) + fvm::div(phi, d) == (tr(twoSymm(j)) / L2) * Foam::exp(d) + ((3 + L2) / (lambda * L2)) * Foam::exp(d) - (1 / lambda) * Foam::exp(d) * Foam::exp(d) ); dEqn.relax(); dEqn.solve();
}
同时对于:
因此基于F-P模型的sqrt重构对称张量b输运方程为:
对应植入代码为:
fvSymmTensorMatrix bEqn
(
fvm::ddt(b)
+ fvm::div(phi, b)
==
symm((b&L) + (a & b))
+ (0.5/lambda) * inv( b.T() ) * (L2 /(L2-3))
- fvm::Sp((0.5/lambda) * (exp(d) / L2), b)
// - fvm::Sp(0.5/(lambda * (1-(tr(b.T() & b) / L2))), b)
+ fvm::laplacian(0.5 * k, b)
);bEqn.relax(); bEqn.solve();
-
粘弹性流体高Wi数时间步长步进问题 -
粘弹性流体高Wi数时间步长步进问题@李东岳 链接的论文中在变形张量方程中考虑了分子扩散也就是变形张量方程中增加了拉普拉斯项,因此我在rheoTool基础上增加了这一项,用的F-P模型,变形张量输运方程中的sqrt重构。搞不懂小时间步长下为什么不步进发生流动,费解ing
-
粘弹性流体高Wi数时间步长步进问题最近在采用openFoam下的开源工具rheoTool模拟高Wi数下粘弹性流体upstream flow问题,主要对照这篇论文进行算法植入:https://arxiv.org/ftp/arxiv/papers/2203/2203.09239.pdf
但是运行瞬态case发现在小时间步长0.0001s下算例能稳定运行,但是发现算例无时间步进特征,一直保持稳态特征。将时间步长增加至0.001s时发现算例会短暂呈现论文中的upstream flow特征,但流动发展一会算例就会崩掉。
按理说小时间步长在保持运行稳定同时应该有步进特征才对,同时按照东岳大佬最近的推文,方程的松弛因子我都设置的1.0
solver和case均上传了,麻烦各位路过大佬看下给点建议,有偿也可以,谢谢!solver-case.zip -
如何获得线性化的N-S方程雅克比矩阵最近在入门流体力学中的线性稳定性分析相关工作,我的理解是通过CFD计算获得的流场作为base flow,对N-S方程进行线性化,获得小扰动特征信息。目前在全网找到了一篇入门相关的文献:https://www.sciencedirect.com/science/article/pii/S1000936116300024
我现在的问题是论文中提到A是右侧线性化的N-S方程的雅克比矩阵(如图1所示),那么如何在openfoam中获得该雅克比矩阵?
同时通过查阅另外一篇文献,文献2(https://arxiv.org/abs/2111.07356)给出了矩阵A的相关表达式,如图2所示。
PS1:通过查阅cfdonline,目前没有发现openfoam中附加线性稳定性分析相关的toolbox,而Nek5000中有相关的后处理模块,但是有限体积法目前刚入门算熟练,实在不想转去谱元法,所以想在openfoam中解决这个问题。
PS2:希望东岳老师能给点suggestion,最好能赐几行codes@李东岳,另外看东岳老师最近公司在招人,说实话想问下收不收实习生呀,只要能学到技术就很满足!
-
请问在paraFoam中如何调用出Filter -> Python Calculator呀最近看了个帖子:https://forum.cfdac.com/t/topic/190/2
发现这个帖子挺有趣的,想操作实现下。但是发现我下载的虚拟机dyfluid里的paraFoam的Filter里只有Calculator,没有Python Calculator。所以想问下大家如何调用Python Calculator,是版本问题还是需要单独配置呀 -
代发:贴底圆柱绕流升力和阻力系数不正确@Samuel-Tu 雷诺数400 入口速度1m/s 粘度0.00125 直径0.5 那个算例和对比论文已经发在下面了
-
代发:贴底圆柱绕流升力和阻力系数不正确大神们好,我按照别人论文想模拟一个差不多贴底的圆柱绕流,用的是icofoam,只是把downwall变成粘性底层改成noslip条件,不知道为什么我把圆柱周围网格和底层网格越加密,升力系数会变得很大对不上,阻力系数出现很多凸起不平! 算例链接和对比文献如下:链接:https://pan.baidu.com/s/1KMeXCWMSQIES7VshrJYhzg 提取码:gr0b
-
执行并行计算出现:shift: can't shift that many错误提示@东岳 初步判定可能是of2.3.1版本对应的mpi环境配置问题,当输入mpirun命令后会提示:It looks like opal_init failed for some reason; your parallel process is likely to abort. There are many reasons that a parallel process can fail during opal_init; some of which are due to configuration or environment problems. This failure appears to be an internal failure; here's some additional information (which may only be relevant to an Open MPI developer):
然后具体解决办法在摸索中 -
执行并行计算出现:shift: can't shift that many错误提示各位Foamer大家好,最近我在CFD-onlie上下载了fabian_roesler等人贡献的基于焓-多孔介质方法模拟熔化过程的并行计算solver(https://www.cfd-online.com/Forums/openfoam-solving/93620-melting-problem-looking-appropriate-solvers-7.html ),根据solver的中的内容,我配置了对应的case。发现采用该solver单核串行执行case没有问题,但是采用并行执行case时,会提示:shift: can't shift that many。我搞了很久也没找到解决方法,恳请各位大佬帮我看下问题出现的原因,不胜感激!
对应的solver和case在附件中,of版本用的是2.3.1 parallel-convMeltFoam.zip case.zip
-
带源项的相方程离散疑问@BlookCFD 谢谢,这个问题已解决,这个主要涉及到interFoam系列算法子循环求解相连续性方程并修正质量流率,可以将surfaceScalarField rhoPhi在循环外声明创建,但是循环内部每次循环初始值要赋0.
-
关于of-V中interCondensatingEvaporatingFoam处理密度疑问@东岳 经过昨天阅读输出主程序rhophi后的代码,发现这个rhophi声明并赋值为0的目的是为了在子循环求解相连续性方程并修正质量流率。东岳老师之前写的‘VOF 模型,interFoam 计算流程’提供了很好的参考。PS:发现提的三个问题好弱,吾辈还需多读书!
-
带源项的相方程离散疑问同学,你好。很高兴发现你也从事interPhaseChangeFoam求解器相关研究工作。我想问一下,在interPhaseChangeFoam求解器主程序中,在pimple.loop()每次循环中中为什么要声明创建surfaceScalarField rhoPhi场,这样做的目的是什么?
-
关于of-V中interCondensatingEvaporatingFoam处理密度疑问经过我的研究,第二个问题涉及到守恒和非守恒形式的动量方程转变,第三个问题中密度对时间的偏微分可以通过连续性方程转换到全微分中,以上两个问题均可以从东岳老师写的‘无痛苦N-S方程’中找到答案,现在就差第一个问题了
-
关于of-V中interCondensatingEvaporatingFoam处理密度疑问@东岳
-
关于of-V中interCondensatingEvaporatingFoam处理密度疑问各位Foamer大家好,我目前在尝试开发固相和液相密度不同时熔化/凝固问题的模拟(melting or solidification with density change)。基于这一问题,openfoam中可以参考的求解器有可压缩+传热的buoyantPimpleFoam求解器和openfoam-v版本中interCondensatingEvaporatingFoam求解器。buoyantPimpleFoam求解器中涉及到关于密度和压力的状态方程,关于该求解器中的thermo.rho我目前还不能理解。因此目前我主要关注同样和我问题相关的interCondensatingEvaporatingFoam求解器,关于该求解器,我有如下三点疑问:
- 为什么在求解器主程序中pimple.loop中每次循环中要新声明一个rhophi面标量场,我曾将该声明放到creatfields文件中,但发现程序运行结果存在不同;
- 为什么在速度方程中添加了fvm::Sp(fvc::ddt(rho) + fvc::div(rhoPhi), U)这一项,我看CFD-online中有人给出的解释为:这项是一stabilisation项,如果连续性方程满足该项为0,说实话对此我不是特别理解
- 为什么在构建interCondensatingEvaporatingFoam求解器在构建压力方程中,没有密度对时间偏导这一项,是基于以上问题1和问题2的处理,将密度对时间偏导这一项可以省略吗?而我看buoyantPimpleFoam求解器中有密度对时间偏导这一项。
最后,希望中文网的各位大佬指点迷津,All suggeations are appreciated!
-
采用焓-多孔介质方法模拟相变材料熔化过程交流讨论同时对于大多数物质在熔化和凝固过程体积均会发生变化,即固相和液相密度不同,现在一方面参考东岳老师的buoyantPimpleFoam的解析,即需要植入密度求解方程,一方面参考文献:An Optimum Enthalpy Approach for Melting and Solidification with Volume Change。我在想如何在openfoam中植入这一过程,期待以后能跟东岳老师多学习交流~