Accessing phi field for sampling plane
I'm trying to modify the "sampledPlane" function. I need to calculate the mean value of the sampled field by both an area-weighted average and a massflow-weighted average. In the first case everything works fine, while for calculating the mass flow I need to access to the "phi" field.
I've tried something like this:
const surfaceScalarField& phi=db().lookupObject<surfaceScalarField>("phi");
but I got the error:
sampledSurface/sampledPlane/sampledPlaneTemplates.C:52: error: there are no arguments to ‘db’ that depend on a template parameter, so a declaration of ‘db’ must be available
Then I tried to modify it as follows:
const surfaceScalarField& phi=vField().db().lookupObject<surfaceScalarField> ("phi");
and I got a different error:
sampledSurface/sampledPlane/sampledPlaneTemplates.C:52: error: expected primary-expression before ‘>’ token
sampledSurface/sampledPlane/sampledPlaneTemplates.C: In member function ‘Foam::tmp<Foam::Field<Type> > Foam::sampledPlane::sampleField(const Foam::GeometricField<Type, Foam::fvPatchField, Foam::volMesh>&) const [with Type = double]’:
Which is the primary-expression needed for? Is it correct to call the db() function?
Any help would be appreciated!
The database is not needed when working on top level code (like a utility or a solver). However, in lower level code, one should access the database and fetch the phi object with:
|All times are GMT -4. The time now is 21:13.|