方程离散!fvm:div到底output出什么?



  • 大家好,
    想请教一个基础问题。
    根据这篇post,http://dyfluid.com/divsnGrad.html,
    fvm:div(Phi, U)应该生成的是对一个cell所有面的流率与速度乘积的加和。按照Guass theorem推到下来的确是这样。
    但是那么对应的ddt(rho,U)就应该是rho, U, V的乘积是么?因为如果做了对Phi, U 项做了加和且没有除以体积的话,那其他项都应该有对体积的积分啊。如果加入source term,也应该对source term进行体积积分。请问大家是这样么?

    因为之前一个师兄写的solver里面出现:rho(t+1)=rho(t)+dt*K*fvc::div(rhoFlux)类似的code,这样来看的话,fvc::div(rhoFlux)应该生成的是一个对某cell所有面的rhoFlux的加和,但是rho项并没有对cell的体积进行任何操作啊。。。所以这个dimension在等式左右两边就不一样啊。。

    所以我在想div的这个操作符,是不是还加入了除以体积的操作?
    请各位大神指教!
    谢谢啦!


  • 管理员

    http://www.cfd-china.com/topic/703/fvc-div的前后量纲关系到底是啥/9

    所以我在想div的这个操作符,是不是还加入了除以体积的操作?

    上面的帖子你看看。



  • @李东岳 Exactly what I wanted! Thanks a lot!
    不过还是想请前辈check一下:
    也就是说,
    fvm返回的是fvMatrix, fvm::ddt, fvm:laplacian都会将结果乘以体积。由于fvm::div用gauss theorem做的面的flux加和,所以没有乘以体积;
    fvc返回的GeometricField, 所以在对fvm和fvc进行加减时会重载operator。
    例如,fvc::div 返回的dimension 本来是 fvm::div返回的dimension 再除以了体积V的,但是在一个方程中同时出现fvm和fvc时,会对 fvc::div 项也乘以体积以保证量纲守恒。但是单独进行fvc::div操作时,返回的dimension 仍然再除以了体积V的。
    请问我理解的对么?谢谢!


  • 管理员

    是的你说的很正确。


登录后回复
 

与 CFD中文网 的连接断开,我们正在尝试重连,请耐心等待