回来填下坑
为了在dragModels中引入一个新的区间判断函数between(),除了需要在
\src\OpenFOAM\primitives\Scalar\Scalar.H
中定义函数主题,还需要将函数进行重载,这是因为写入Scalar.H的文件只是单纯意义上的scalar类型,并不是计算所需要的
Foam::tmp<Foam::GeometricField<double, Foam::FvPatchField, Foam::volMesh
类型,为了使函数返回的类型符合所需数据类型需要对函数进行重载操作,具体操作的方法是在下列地方写入重载的定义,分别是
\src\OpenFOAM\dimensionedTypes\dimensionedType.H
\src\OpenFOAM\dimensionedTypes\dimensionedScalar.H
\src\OpenFOAM\dimensionedSet\dimensionedSet.H
\src\OpenFOAM\fields\DimensionedFields\DimensionedFieldFunctions.H
\src\OpenFOAM\fields\FieldFields\scalarFieldField.H
\src\OpenFOAM\fields\GeometricFields\GeometricField\GeometricFieldsFunctions.H
\src\OpenFOAM\fields\GeometricFields\GeometricScalarField\GeometricScalarField.H
重载之后可以使between()函数返回的数值类型为
Foam::tmp<Foam::GeometricField<double, Foam::FvPatchField, Foam::volMesh
之后重新编辑一下就可以运行了