想不通一个openfoam的运算
fvScalarMatrix pEqn(
fvm::laplacian(rUA, p) == fvc::div(phi)
);
pEqn.setReference(pRefCell, pRefValue);
pEqn.solve();
这里p是体积场,而phi是表面场, fvm::laplacian(rUA, p) == fvc::div(phi)为什么能运算的?难道体积场和表面场能混用吗
[ 本帖最后由 BeatNBBZ 于 2010-5-13 10:12 编辑 ] 原帖由 BeatNBBZ 于 2010-5-13 06:17 发表 http://www.cfluid.com/bbs/images/common/back.gif
fvScalarMatrix pEqn
(
fvm::laplacian(rUA, p) == fvc::div(phi)
);
pEqn.setReference(pRefCell, pRefValue);
pEqn ...
fvc::div(phi)的结果就是体积场,fvc::div(phi)的结果作为源项加入到系数矩阵中。
这是div的函数部分
template<class Type>
tmp<GeometricField<Type, fvPatchField, volMesh> >
div
(
const GeometricField<Type, fvPatchField, surfaceMesh>& ssf
)
{
return tmp<GeometricField<Type, fvPatchField, volMesh> >
(
new GeometricField<Type, fvPatchField, volMesh>
(
"div("+ssf.name()+')',
fvc::surfaceIntegrate(ssf)
)
);
}
页:
[1]