peteryuan |
February 3, 2014 19:51 |
Hi Joachim:
thank you so much for your help.
I added this two lins in my forAll loop:
Code:
vector faceINormal = this->patch().Sf()[faceI] / this->patch().magSf()[faceI];
this->refValue()[faceI] = faceINormal * temp[faceI];
Got a very familiar error:
Code:
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C:352:33: error: no match for ‘operator=’ (operand types are ‘Foam::SymmTensor<double>’ and ‘Foam::Vector<double>’)
this->refValue()[faceI] = faceINormal * temp[faceI];
Here the full error message:
Code:
[xy@fuji finiteVolume]$ wmake
SOURCE=fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-100 -I/home/xy/OpenFOAM/OpenFOAM-2.2.x/src/triSurface/lnInclude -I/home/xy/OpenFOAM/OpenFOAM-2.2.x/src/meshTools/lnInclude -I/home/xy/pvm3/include -IlnInclude -I. -I/home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude -I/home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/externalCoupledMixedFvPatchFields.o
In file included from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.H:349:0,
from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.H:29,
from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.C:26:
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C: In instantiation of ‘void Foam::externalCoupledMixedFvPatchField<Type>::readData() [with Type = Foam::Tensor<double>]’:
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.C:40:1: required from here
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C:334:29: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
tid = pvm_gettid("xf", 0);
^
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C: In instantiation of ‘void Foam::externalCoupledMixedFvPatchField<Type>::readData() [with Type = Foam::SymmTensor<double>]’:
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.C:40:1: required from here
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C:334:29: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C:352:33: error: no match for ‘operator=’ (operand types are ‘Foam::SymmTensor<double>’ and ‘Foam::Vector<double>’)
this->refValue()[faceI] = faceINormal * temp[faceI];
^
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C:352:33: note: candidates are:
In file included from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/SymmTensor.H:158:0,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/symmTensor.H:38,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/symmTensorField.H:41,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/tensorField.H:41,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/primitiveFields.H:40,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/pointField.H:36,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/edge.H:40,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/edgeList.H:32,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/PrimitivePatch.H:56,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/primitivePatch.H:35,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/polyPatch.H:43,
from lnInclude/fvPatch.H:39,
from lnInclude/fvPatchField.H:47,
from lnInclude/mixedFvPatchField.H:75,
from lnInclude/mixedFvPatchFields.H:29,
from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.H:110,
from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.H:29,
from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.C:26:
/home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/SymmTensorI.H:168:13: note: void Foam::SymmTensor<Cmpt>::operator=(const Foam::SphericalTensor<Cmpt>&) [with Cmpt = double]
inline void SymmTensor<Cmpt>::operator=(const SphericalTensor<Cmpt>& st)
^
/home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/SymmTensorI.H:168:13: note: no known conversion for argument 1 from ‘Foam::Vector<double>’ to ‘const Foam::SphericalTensor<double>&’
In file included from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/symmTensor.H:38:0,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/symmTensorField.H:41,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/tensorField.H:41,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/primitiveFields.H:40,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/pointField.H:36,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/edge.H:40,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/edgeList.H:32,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/PrimitivePatch.H:56,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/primitivePatch.H:35,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/polyPatch.H:43,
from lnInclude/fvPatch.H:39,
from lnInclude/fvPatchField.H:47,
from lnInclude/mixedFvPatchField.H:75,
from lnInclude/mixedFvPatchFields.H:29,
from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.H:110,
from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.H:29,
from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.C:26:
/home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/SymmTensor.H:54:7: note: Foam::SymmTensor<double>& Foam::SymmTensor<double>::operator=(const Foam::SymmTensor<double>&)
class SymmTensor
^
/home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/SymmTensor.H:54:7: note: no known conversion for argument 1 from ‘Foam::Vector<double>’ to ‘const Foam::SymmTensor<double>&’
In file included from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.H:349:0,
from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.H:29,
from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.C:26:
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C: In instantiation of ‘void Foam::externalCoupledMixedFvPatchField<Type>::readData() [with Type = Foam::SphericalTensor<double>]’:
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.C:40:1: required from here
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C:334:29: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
tid = pvm_gettid("xf", 0);
^
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C:352:33: error: no match for ‘operator=’ (operand types are ‘Foam::SphericalTensor<double>’ and ‘Foam::Vector<double>’)
this->refValue()[faceI] = faceINormal * temp[faceI];
^
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C:352:33: note: candidate is:
In file included from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/sphericalTensor.H:38:0,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/sphericalTensorField.H:39,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/tensorField.H:40,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/primitiveFields.H:40,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/pointField.H:36,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/edge.H:40,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/edgeList.H:32,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/PrimitivePatch.H:56,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/primitivePatch.H:35,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/polyPatch.H:43,
from lnInclude/fvPatch.H:39,
from lnInclude/fvPatchField.H:47,
from lnInclude/mixedFvPatchField.H:75,
from lnInclude/mixedFvPatchFields.H:29,
from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.H:110,
from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.H:29,
from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.C:26:
/home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/SphericalTensor.H:52:7: note: Foam::SphericalTensor<double>& Foam::SphericalTensor<double>::operator=(const Foam::SphericalTensor<double>&)
class SphericalTensor
^
/home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/SphericalTensor.H:52:7: note: no known conversion for argument 1 from ‘Foam::Vector<double>’ to ‘const Foam::SphericalTensor<double>&’
In file included from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.H:349:0,
from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.H:29,
from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.C:26:
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C: In instantiation of ‘void Foam::externalCoupledMixedFvPatchField<Type>::readData() [with Type = Foam::Vector<double>]’:
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.C:40:1: required from here
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C:334:29: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
tid = pvm_gettid("xf", 0);
^
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C: In instantiation of ‘void Foam::externalCoupledMixedFvPatchField<Type>::readData() [with Type = double]’:
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.C:40:1: required from here
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C:334:29: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C:352:33: error: cannot convert ‘Foam::Vector<double>’ to ‘double’ in assignment
this->refValue()[faceI] = faceINormal * temp[faceI];
^
In file included from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/VectorSpaceI.H:28:0,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/VectorSpace.H:168,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/Vector.H:44,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/vector.H:39,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/point.H:35,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/pointField.H:35,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/edge.H:40,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/edgeList.H:32,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/PrimitivePatch.H:56,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/primitivePatch.H:35,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/polyPatch.H:43,
from lnInclude/fvPatch.H:39,
from lnInclude/fvPatchField.H:47,
from lnInclude/mixedFvPatchField.H:75,
from lnInclude/mixedFvPatchFields.H:29,
from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.H:110,
from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.H:29,
from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.C:26:
/home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/VectorSpaceM.H: In instantiation of ‘static void VectorSpaceOps<N, I>::eqOp(V1&, const V2&, EqOp) [with V1 = Foam::VectorSpace<Foam::Vector<Foam::Vector<double> >, Foam::Vector<double>, 3>; V2 = Foam::VectorSpace<Foam::Vector<double>, double, 3>; EqOp = Foam::eqOp<Foam::Vector<double> >; int N = 3; int I = 0]’:
/home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/VectorSpaceI.H:60:58: required from ‘Foam::VectorSpace<Form, Cmpt, nCmpt>::VectorSpace(const Foam::VectorSpace<Form2, Cmpt2, nCmpt>&) [with Form2 = Foam::Vector<double>; Cmpt2 = double; Form = Foam::Vector<Foam::Vector<double> >; Cmpt = Foam::Vector<double>; int nCmpt = 3]’
/home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/VectorI.H:42:42: required from ‘Foam::Vector<Cmpt>::Vector(const Foam::VectorSpace<Foam::Vector<Cmpt2>, Cmpt2, 3>&) [with Cmpt2 = double; Cmpt = Foam::Vector<double>]’
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.C:352:33: required from ‘void Foam::externalCoupledMixedFvPatchField<Type>::readData() [with Type = Foam::Tensor<double>]’
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.C:40:1: required from here
/home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/VectorSpaceM.H:26:32: error: no match for call to ‘(Foam::eqOp<Foam::Vector<double> >) (Foam::Vector<double>&, const double&)’
eo(vs1.v_[I], vs2.v_[I]);
^
In file included from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/VectorSpaceI.H:29:0,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/VectorSpace.H:168,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/Vector.H:44,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/vector.H:39,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/point.H:35,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/pointField.H:35,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/edge.H:40,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/edgeList.H:32,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/PrimitivePatch.H:56,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/primitivePatch.H:35,
from /home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/polyPatch.H:43,
from lnInclude/fvPatch.H:39,
from lnInclude/fvPatchField.H:47,
from lnInclude/mixedFvPatchField.H:75,
from lnInclude/mixedFvPatchFields.H:29,
from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchField.H:110,
from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.H:29,
from fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.C:26:
/home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/ops.H:70:6: note: candidate is:
EqOp(eq, x = y)
^
/home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/ops.H:60:7: note: in definition of macro ‘EqOp’
class opName##Op \
^
/home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/ops.H:64:10: note: void Foam::eqOp<T>::operator()(T&, const T&) const [with T = Foam::Vector<double>]
void operator()(T& x, const T& y) const \
^
/home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/ops.H:70:1: note: in expansion of macro ‘EqOp’
EqOp(eq, x = y)
^
/home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/ops.H:64:10: note: no known conversion for argument 2 from ‘const double’ to ‘const Foam::Vector<double>&’
void operator()(T& x, const T& y) const \
^
/home/xy/OpenFOAM/OpenFOAM-2.2.x/src/OpenFOAM/lnInclude/ops.H:70:1: note: in expansion of macro ‘EqOp’
EqOp(eq, x = y)
^
fields/fvPatchFields/derived/externalCoupledMixed/externalCoupledMixedFvPatchFields.dep:481: recipe for target 'Make/linux64GccDPOpt/externalCoupledMixedFvPatchFields.o' failed
make: *** [Make/linux64GccDPOpt/externalCoupledMixedFvPatchFields.o] Error 1
|