|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
我想模拟这样一个物理过程:
一碗放在空气中的水,在较高温度的环境下慢慢开始蒸发,直到蒸发完毕。(其实,只要温度在绝对0度以上,蒸发时时刻刻在进行,这里假设只有在0摄氏度以上才蒸发)
这里有个问题:
Q:我觉得肯定得用VOF模型来计算,但是蒸发应该只是发生在液体和气体接触的面上,而不是整个流体区域。
所以,计算的时候,应该只让 “接触面” 上发生相的转变(水->水蒸汽)。
模型很简单,相信实现也不难吧。
这是su_junwei提供的办法,可是不知道加哪里,bs自己
forAll(gamma,i)
{
if(gamma<=0 && gamma>=1)
{
S=0;
}
}
S//为蒸发源项场
//*******************这部分代码来自interfoam的 gammaEqn.H*************************//
00001 {
00002 word gammaScheme("div(phi,gamma)");
00003 word gammarScheme("div(phirb,gamma)");
00004
00005 surfaceScalarField phic = mag(phi/mesh.magSf());
00006 phic = min(interface.cGamma()*phic, max(phic));
00007 surfaceScalarField phir = phic*interface.nHatf();
00008
00009 for (int gCorr=0; gCorr<nGammaCorr; gCorr++)
00010 {
00011 surfaceScalarField phiGamma =
00012 fvc::flux
00013 (
00014 phi,
00015 gamma,
00016 gammaScheme
00017 )
00018 + fvc::flux
00019 (
00020 -fvc::flux(-phir, scalar(1) - gamma, gammarScheme),
00021 gamma,
00022 gammarScheme
00023 );
00024
00025 MULES::explicitSolve(gamma, phi, phiGamma, 1, 0);
00026
00027 rhoPhi = phiGamma*(rho1 - rho2) + phi*rho2;
00028 }
00029
00030 Info<< "Liquid phase volume fraction = "
00031 << gamma.weightedAverage(mesh.V()).value()
00032 << " Min(gamma) = " << min(gamma).value()
00033 << " Max(gamma) = " << max(gamma).value()
00034 << endl;
00035 }
//************************************************//
第一、我想增加源项,是不是只要在这里修改即可。我感觉通用的标量输运方程就在这里了,我的感觉有问题吗?恳请指点。(我只想加一个质量源项而已)
第二、翻了一下Programing Guider没找到flux的含义,所以问一下flux(通量?)的作用,该不会是积分吧?
质量变化遵从f=f(T)//跟温度有关 |
|