谢谢李老师!帮了我大忙。
摇滚小鱼1007
帖子
-
植入边界条件时遇到了tmp类型的问题 -
植入边界条件时遇到了tmp类型的问题各位大佬好!
在下小白一枚,最近正在学着植入自己的边界条件。我在nutUSpaldingWallFunction.C中看到了作者用如下语句,在边界面上定义一个新标量场:tmp<scalarField> tuTau(new scalarField(patch().size(), 0.0)); scalarField& uTau = tuTau.ref();
我本想用类似方式来写定义自己的变量,但是运行后发现,程序好像会清除某些tmp变量(我感觉是这样?),导致最后输出为0。
请问各位大佬:
怎么样做才能避免这样的问题?
如果我不想用tmp变量,以上语句应该怎么写? -
自定义边界条件的设置问题@Samuel-Tu sorry很久没上来看了。这个边界就是简单的泥沙冲刷通量边界,v是粘度。P是冲刷量,在我们泥沙界,这个量是比较难确定的,一般是前人老爷子做试验给出的经验公式。这个量到底用什么公式,里面的参数怎么取,对结果都会造成决定性影响。我不清楚你的雪颗粒,是否指的是浓度?
-
自定义边界条件的设置问题本人OF和C++小白一枚。求助一个边界条件设置问题。
方程是一个泥沙含沙量的标量输运方程,在壁面需要设置一个泥沙被冲起的边界条件,给了一个法向梯度边界
P表示冲刷量,是一个以近壁面摩阻流速值U_tau作为因变量的公式。P=f(U_tau)
水流在壁面用的是spalding壁面函数。U_tau的求解在spalding壁面函数类中以一个protected函数的方式给出。我想请教一下大佬们:
(1)这样的边界条件需要自定义库来做吗?难不难实现?
(2)如果想引入spalding类中的保护型函数来给出U_tau,能否通过继承来实现?或者有没有其他好的方法?
(3)还有就是,有没有类似边界的,已有的程序或者其他编程资料可以参考? -
含沙量不穿出水气边界面问题@东岳 感谢东岳老师回复!您给的文章我会花时间好好看看。
https://pan.baidu.com/s/1tQQ8ApPJjEl4mXAHScxkXw
提取码:t5hx我上传了两篇文章,里面都提到了这个边界,但都是一句话一笔带过,没有任何公式和数值处理方面的解释。
另外,我感觉这两篇文章中水体内的含沙量是比较低的。实际情况是,如果泥沙较粗的话,高含沙区域主要集中在水底,距离interface应该是比较远的。但如果颗粒细的话,泥沙也会被掀到水面附近。
-
含沙量不穿出水气边界面问题再更正一句,我现在用的其实是interIsoFoam,就是界面重构用的是isoAdvector的几何重构算法。我不知道在这个界面方法下是否可以在interface上指定上面所谓的“边界条件”?
-
含沙量不穿出水气边界面问题各位大佬们好。
本人OF小白一枚,目前论文方向是波浪破碎下的泥沙运动。流体这块用VOF(interFoam)来实现,泥沙部分打算简单一点,在interFoam模块下植入一个含沙量的标量输运方程,方程形式如下:
方程左边:phi:含沙量标量,待求;w*kronecker符号可以视作一个已知的流速矢量;
方程右边:sigma_phi是常数;miu表示粘度。方程本身的植入并不困难,困难在于边界条件。因为只有水体含沙,含沙量是不能够穿出水气界面的。我看到有的文献上说:
At the air–water interface, the sediment flux is set to be zero, which means that the sediment does not enter the air.
但是并没有给出明确做法。想请教各位大佬:
这一段话是否表示在水气界面上将含沙量通量设置为0?
具体应该怎样植入到模型当中?有没有可参考的代码或者文献?
您们有没有遇到过类似界面限制穿出的问题,有没有什么更好的解决办法? -
OF波浪模拟@Samuel-Tu 我以前的工作用过SWAN,SWAN一般用在大范围的波浪模拟上,适用于模拟一个海域的台风浪。它的方程是求解波浪谱,然后根据谱来求解波高、周期等参数。SWAN并不是基于过程的模型,无法给出一帧一帧的波面过程,算出来的结果仅仅是波高、周期一些参数随时间的变化。
shallowWaterFoam是基于浅水方程的模型,一般可以用来模拟像潮流这种周期很长的长波运动,基于静压假设后简化了的NS方程。我们做潮流的一般不用OF,用其他更成熟的浅水方程模型。