johndeas |
September 13, 2010 20:07 |
Accessing phi from a fvPatchField at same patch
Hi, I need for an fvPatchField-derived class to access the value of phi at the current patch. I thought I could achieve this using:
Code:
Field<scalar> phi(this->db().objectRegistry::lookupObject<surfaceScalarField>("phi").boundaryField()[this->patch().index()]());
but unfortunately, I receive the following error message:
Code:
Making dependency list for source file convectiveOutletFvPatchFields.C
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/DimensionedField.H: In instantiation of 'Foam::DimensionedField<double, Foam::surfaceMesh>':
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/pointFieldsFwd.H:53: instantiated from 'Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh>'
convectiveOutletFvPatchField.C:252: instantiated from 'void Foam::convectiveOutletFvPatchField<Type>::updateCoeffs() [with Type = Foam::Tensor<double>]'
convectiveOutletFvPatchFields.C:45: instantiated from here
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/DimensionedField.H:83: error: invalid use of incomplete type 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude/surfaceFieldsFwd.H:47: error: forward declaration of 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/DimensionedField.H:92: error: invalid use of incomplete type 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude/surfaceFieldsFwd.H:47: error: forward declaration of 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/DimensionedField.C:58: error: invalid use of incomplete type 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude/surfaceFieldsFwd.H:47: error: forward declaration of 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/DimensionedField.C:86: error: invalid use of incomplete type 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude/surfaceFieldsFwd.H:47: error: forward declaration of 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/DimensionedField.C:101: error: invalid use of incomplete type 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude/surfaceFieldsFwd.H:47: error: forward declaration of 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/DimensionedFieldIO.C:59: error: invalid use of incomplete type 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude/surfaceFieldsFwd.H:47: error: forward declaration of 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/DimensionedFieldI.H:36: error: invalid use of incomplete type 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude/surfaceFieldsFwd.H:47: error: forward declaration of 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/GeometricField.H: In instantiation of 'Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh>':
convectiveOutletFvPatchField.C:252: instantiated from 'void Foam::convectiveOutletFvPatchField<Type>::updateCoeffs() [with Type = Foam::Tensor<double>]'
convectiveOutletFvPatchFields.C:45: instantiated from here
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/GeometricField.H:98: error: invalid use of incomplete type 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude/surfaceFieldsFwd.H:47: error: forward declaration of 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/GeometricField.H:99: error: invalid use of incomplete type 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude/surfaceFieldsFwd.H:47: error: forward declaration of 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/GeometricField.H: In instantiation of 'Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh>::GeometricBoundaryField':
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/GeometricField.H:238: instantiated from 'Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh>'
convectiveOutletFvPatchField.C:252: instantiated from 'void Foam::convectiveOutletFvPatchField<Type>::updateCoeffs() [with Type = Foam::Tensor<double>]'
convectiveOutletFvPatchFields.C:45: instantiated from here
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/GeometricField.H:113: error: invalid use of incomplete type 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude/surfaceFieldsFwd.H:47: error: forward declaration of 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/GeometricBoundaryField.C:40: error: invalid use of incomplete type 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude/surfaceFieldsFwd.H:47: error: forward declaration of 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/GeometricBoundaryField.C:77: error: invalid use of incomplete type 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude/surfaceFieldsFwd.H:47: error: forward declaration of 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/GeometricBoundaryField.C:129: error: invalid use of incomplete type 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude/surfaceFieldsFwd.H:47: error: forward declaration of 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/GeometricBoundaryField.C:212: error: invalid use of incomplete type 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude/surfaceFieldsFwd.H:47: error: forward declaration of 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/GeometricField.C: In instantiation of 'Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh>':
convectiveOutletFvPatchField.C:252: instantiated from 'void Foam::convectiveOutletFvPatchField<Type>::updateCoeffs() [with Type = Foam::Tensor<double>]'
convectiveOutletFvPatchFields.C:45: instantiated from here
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/GeometricField.C:197: error: invalid use of incomplete type 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude/surfaceFieldsFwd.H:47: error: forward declaration of 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/GeometricField.C:227: error: invalid use of incomplete type 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude/surfaceFieldsFwd.H:47: error: forward declaration of 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/GeometricField.C:254: error: invalid use of incomplete type 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude/surfaceFieldsFwd.H:47: error: forward declaration of 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/GeometricField.C:283: error: invalid use of incomplete type 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude/surfaceFieldsFwd.H:47: error: forward declaration of 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/GeometricField.C:313: error: invalid use of incomplete type 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude/surfaceFieldsFwd.H:47: error: forward declaration of 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/GeometricField.C:337: error: invalid use of incomplete type 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude/surfaceFieldsFwd.H:47: error: forward declaration of 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/GeometricField.C:378: error: invalid use of incomplete type 'struct Foam::surfaceMesh'
/home/vincent.kubicki/OpenFOAM/OpenFOAM-1.5/src/finiteVolume/lnInclude/surfaceFieldsFwd.H:47: error: forward declaration of 'struct Foam::surfaceMesh'
convectiveOutletFvPatchField.C: In member function 'void Foam::convectiveOutletFvPatchField<Type>::updateCoeffs() [with Type = Foam::Tensor<double>]':
convectiveOutletFvPatchFields.C:45: instantiated from here
convectiveOutletFvPatchField.C:252: error: no match for call to '(const Foam::fvsPatchField<double>) ()'
convectiveOutletFvPatchField.C: In member function 'void Foam::convectiveOutletFvPatchField<Type>::updateCoeffs() [with Type = Foam::SymmTensor<double>]':
convectiveOutletFvPatchFields.C:45: instantiated from here
convectiveOutletFvPatchField.C:252: error: no match for call to '(const Foam::fvsPatchField<double>) ()'
convectiveOutletFvPatchField.C: In member function 'void Foam::convectiveOutletFvPatchField<Type>::updateCoeffs() [with Type = Foam::SphericalTensor<double>]':
convectiveOutletFvPatchFields.C:45: instantiated from here
convectiveOutletFvPatchField.C:252: error: no match for call to '(const Foam::fvsPatchField<double>) ()'
convectiveOutletFvPatchField.C: In member function 'void Foam::convectiveOutletFvPatchField<Type>::updateCoeffs() [with Type = Foam::Vector<double>]':
convectiveOutletFvPatchFields.C:45: instantiated from here
convectiveOutletFvPatchField.C:252: error: no match for call to '(const Foam::fvsPatchField<double>) ()'
convectiveOutletFvPatchField.C: In member function 'void Foam::convectiveOutletFvPatchField<Type>::updateCoeffs() [with Type = double]':
convectiveOutletFvPatchFields.C:45: instantiated from here
convectiveOutletFvPatchField.C:252: error: no match for call to '(const Foam::fvsPatchField<double>) ()'
make: *** [Make/linux64GccDPOpt/convectiveOutletFvPatchFields.o] Error 1
So, if anyone could give me an help on that one, that would be much appreciated.
Thanks
JD
|