problems with pow(scalar, double)
Hi Foamers,
i got a problem with the mathcalls.h especially with the pow() funktion. In my case I need a pow(scalar, double) function: scalar area1 = gSum(mesh.magSf().boundaryField()[0]);//Fläche des Pätches inlet scalar sumFieldp0 = gSum(mesh.magSf().boundaryField()[0]*p.boundaryField()[0]) / area1; scalar area2 = gSum(mesh.magSf().boundaryField()[1]);//Fläche eines Pätches outlets scalar sumFieldp1 = gSum( mesh.magSf().boundaryField()[1] * p.boundaryField()[1] ) / area2; //Temperatur eines Pätches outlets scalar Temp2 = gSum( mesh.magSf().boundaryField()[1] * T.boundaryField()[1] ) / area2; scalar sumField = sumFieldp0 + sumFieldp1; scalar Gaskonstante = 259.8;//Gaskonstante Luft = 259.8 scalar X = pow(sumField, 0.4); ERROR buoyantBoussinesqSimpleFoam_alphak.C: In function 'int main(int, char**)': buoyantBoussinesqSimpleFoam_alphak.C:103: error: call of overloaded 'pow(Foam::scalar&, double)' is ambiguous /usr/include/bits/mathcalls.h:154: note: candidates are: double pow(double, double) The errror seems clear, the powfunction with a scalar and double. But how can I solve it? :confused: Thanks Sven 
Hi Sven,
Let me suggest you something. Replace the line : scalar X = pow(sumField, 0.4); by: scalar X = Foam::pow(sumField, 0.4); Mathieu 
Thanks Mathieu,
it works 
Fixed my problem too thank you! But I'm a little confused. Does this mean that there are other pow() functions outside of the Foam namespace that also take those parameter types (scalar, double)?

All times are GMT 4. The time now is 03:11. 