找回密码
 注册
查看: 3184|回复: 1

想不通一个openfoam的运算

[复制链接]
发表于 2010-5-13 14:17:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
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 编辑 ]
发表于 2010-5-17 09:09:53 | 显示全部楼层
原帖由 BeatNBBZ 于 2010-5-13 06:17 发表
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)
        )
    );
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表