|January 20, 2011, 08:58||
Calculating the cosine of a Foam::scalar field
Join Date: Jan 2011
Posts: 14Rep Power: 6
I'm trying to calculate a smoothed Dirac delta function (volScalarField deltaSmooth) from a volScalarField phiLS with the following code:
deltaSmooth[i] = (1 + cos(pi*phiLS[i]/epsLS.value()))/(2*epsLS.value());
deltaSmooth[i] = 0.0;
However, I get the following compilation error:
levelSet.C:88: error: call of overloaded ‘cos(Foam::scalar)’ is ambiguous
/usr/include/bits/mathcalls.h:64: note: candidates are: double cos(double)
/opt/openfoam171/src/OpenFOAM/lnInclude/dimensionedScalar.H:76: note: Foam::dimensionedScalar Foam::cos(const Foam::dimensionedScalar&)
/opt/openfoam171/src/OpenFOAM/lnInclude/Scalar.H:238: note: Foam::doubleScalar Foam::cos(Foam::doubleScalar)
/opt/openfoam171/src/OpenFOAM/lnInclude/Scalar.H:238: note: Foam::floatScalar Foam::cos(Foam::floatScalar)
I also tried phiLS[i].value but without success...
Thanks for any advice!
|January 20, 2011, 09:49||
Alton Luder III
Join Date: Oct 2009
Posts: 22Rep Power: 8
OpenFOAM overloads the cos function. Check namespace issues.
Try Foam::cos(), and then test it to make sure its doing what you want.
I'm not sure why it can't decide if its a doubleScalar or floatScalar, that's usually picked at compile time.
|Thread||Thread Starter||Forum||Replies||Last Post|
|Moving mesh||Niklas Wikstrom (Wikstrom)||OpenFOAM Running, Solving & CFD||122||June 15, 2014 06:20|
|LiftDrag coefficient in LES||fabian_korn||OpenFOAM Post-Processing||1||September 22, 2008 02:34|
|Problem with rhoSimpleFoam||matteo_gautero||OpenFOAM Running, Solving & CFD||0||February 28, 2008 07:51|
|Problems calculating field gh with interFoam||cricke||OpenFOAM Running, Solving & CFD||0||December 10, 2007 08:17|
|How to update polyPatchbs localPoints||liu||OpenFOAM Running, Solving & CFD||6||December 30, 2005 18:27|