MULES, CMULES and IMULES 测试
-
对流项永远是个大问题,在纯对流问题中,显性的高阶格式是无条件不稳定的。于是耗散非常严重的
upwind
依然人见人爱。但在某些情况下,变量的耗散会引起数值计算的不精准。尤其在界面捕获的俩相流中,相传输方程为纯对流方程,一阶空间离散格式会导致相界面的模糊,但是高阶格式除了会产生相变量的越界导致计算发散。今天没事测试了一下各种MULES,算例非常简单,标量对流传输。结果见图吧。
上图是中心差分无条件震荡(注意横坐标和时间点和下图都不同)
上图是MULES的迎风插值
上图是MULES+中心插值,型线挺好。
但是用复杂算例测试还是越界了 :big_mouth:
想看越界的可以算算tutorials/basic/scalarTransportFoam/
下面的pitzDaily
算例,把扩散系数设置为0. -
高阶格式一直是CFDer的追求,在群体平衡模型矩方法领域,可实现性是个老大难,目前为了变量的有界只能使用一阶迎风。有一些人研究的高阶格式在2011年2013年和2017年年初分别发在了计算物理上。我在想MULES能不能用在我的领域上。
-
对比一下MULES(FCT)和vanLeer格式。下面是某点的M0,这个点均有界。
另外一点的M0,vanLeer越界了
整个流场的M0最小值,vanLeer越界了
-
东岳老师,能否提个不情之请,可以分享下算例吗?我目前也在看对流项的差值格式,想学习下这方面的知识。
-
算例非常简单,就是1维对流问题。不过可以给你个思路制作求解器。改编
scalarTransportFoam
:#include "fvCFD.H" #include "simpleControl.H" #include "MULEStest.H" #include "FCT.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // int main(int argc, char *argv[]) { #include "setRootCase.H" #include "createTime.H" #include "createMesh.H" simpleControl simple(mesh); #include "createFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Info<< "\nCalculating scalar transport\n" << endl; #include "CourantNo.H" while (simple.loop()) { Info<< "\n\nTime = " << runTime.timeName() << nl << endl; scalarField phiTout; while (simple.correctNonOrthogonal()) { phiT = phi * fvc::interpolate(T); phiTout = phiT.ref(); Info << "phiT before MULES " << phiTout << nl << nl; //MULEStest::explicitSolve(T, phi, phiT, 9, 0); FCT(T, phi, phiT, 9, 0); //fvScalarMatrix TEqn //( // fvm::ddt(T) // + fvc::div(phiT) //); //TEqn.relax(); //TEqn.solve(); } scalarField TOUTPUT = T.ref(); phiTout = phiT.ref(); Info << "\n\nT is " << TOUTPUT << nl; Info << "phiT after MULES " << phiTout << nl; runTime.write(); } //Info<< "End\n" << endl; return 0; }
通过MULES学习插值格式太复杂了
-
@李东岳 好的,非常感谢东岳老师:happy:
-
@李东岳 MULES(FCT)格式是什么意思,用mules 的vanleer 和不用的对比吗
-
MULES(FCT)
MULES就是FCT的变种,区别在于限制器的求解和原始文献有点不同。使用FCT的时候,需要指定一种高阶格式,比如
linear
或者vanLeer
-
前辈,弱弱的问一句,这个分布图是用paraview做的么?像这种不同时刻的怎么做呢😂
-
不,是gnuplot做的,目前在小岛等汽车,只能帮你到这里了:happy:
-
@李东岳 多谢前辈 我自己研究一下~
-
@李东岳 老师 我也想知道测试格式算例是啥样的?您写的上面代码解标量方程那个Matrix代码是不是不该注释掉啊
-
@金石为开
等回德国我回复你。MULES这个2018年应该可以写个解析出来。2016年就在计划中,但是有别的事情要搞。