Scheme字典中各离散项指定与定位的问题
-
最近在看扩散项的离散格式代码,看不太懂的表现是,理论和代码联系不上,有一些疑问整理如下:
代码位置:
/home/dong/OpenFOAM/OpenFOAM-v1606+/src/finiteVolume/finiteVolume
- 由于拉普拉斯项的关键词为 "Gauss + 插值格式 + 面向量格式",对于面向量非正交修正项,在代码中我只看到了
minimum correction approach
,如下
const surfaceVectorField SfGammaCorr(SfGamma - SfGammaSn*Sn);
请问,其他两种方法,尤其是在计算中表现出优良性质的
over-relax approach
为什么没有呢?-
对于
snGradSchemes
离散方法的指定,在GUIDE内给出了三个值,即0.333,0.5,1,我试过其他数也可以算。我的问题是,这个值对应理论中是哪个数呢?这个值在代码中具体位置在哪?它代表了什么意义? -
回到拉普拉斯离散代码中,具体一些细节不明白指的是什么,比如:
const GeometricField<Type, fvPatchField, volMesh>& **vf** const surfaceScalarField& **deltaCoeffs**
再比如,对于拉普拉斯项fvm返回的fvMatrix格式的矩阵,只定义了对角和上三角项,请问这个矩阵一定就是对称矩阵么?
fvm.upper() = deltaCoeffs.internalField()*gammaMagSf.internalField(); fvm.negSumDiag();
谢谢大家的关注与解答。
- 由于拉普拉斯项的关键词为 "Gauss + 插值格式 + 面向量格式",对于面向量非正交修正项,在代码中我只看到了