CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Programming & Development (https://www.cfd-online.com/Forums/openfoam-programming-development/)
-   -   error : invalid use of void expression (https://www.cfd-online.com/Forums/openfoam-programming-development/124091-error-invalid-use-void-expression.html)

saeid.oqaz September 27, 2013 04:57

error : invalid use of void expression
 
hi foamers.

my problem is entrophy Generation shown in following picture :

http://www.cfd-online.com/Forums/att...n-untitled.png
i write a code for of220 & got this error.
code:

Code:

    volVectorField gradT = fvc::grad(T);   
        volScalarField gradTx = gradT.component(0);
        volScalarField gradTy = gradT.component(1);
       
    volScalarField uX = U.component(0);
    volScalarField uY = U.component(1);
    volVectorField graduX = fvc::grad(uX);
    volVectorField graduY = fvc::grad(uY);
        volScalarField dudx = graduX.component(0);
        volScalarField dvdy = graduY.component(1);
        volScalarField dudy = graduX.component(1);
        volScalarField dvdx = graduY.component(0);
 

fvScalarMatrix SEqn
(
          Sgen
        == (k/Foam::pow(T,2))*(Foam::pow(gradTx,2)+Foam::pow(gradTy,2))
        + (mu/T)*(Foam::pow(dudx,2)+Foam::pow(dvdy,2))*2
        + (mu/T)*Foam::pow((dudy+dvdx),2)
);

SEqn.solve();

error:

Code:

In file included from myPorousSimpleFoam.C:73:0:
SEqn.H: In function ‘int main(int, char**)’:
SEqn.H:21:1: error: invalid use of void expression
make: *** [Make/linux64GccDPOpt/myPorousSimpleFoam.o] Error 1


akidess September 27, 2013 04:58

Which line is number 21?

saeid.oqaz September 27, 2013 05:11

line 21 : );

saeid.oqaz September 27, 2013 06:04

Quote:

Originally Posted by akidess (Post 453850)
Which line is number 21?

thanks anton. my problem is solved.

using fvc::grad is an explicit operation that actually returns an volScalarFields, not fvScalarMatrix.

Code:

volScalarField Sgen
(
          (k/Foam::pow(T,2))*(Foam::pow(gradTx,2)+Foam::pow(gradTy,2))
        + (mu/T)*(Foam::pow(dudx,2)+Foam::pow(dvdy,2))*2
        + (mu/T)*Foam::pow((dudy+dvdx),2)
);



All times are GMT -4. The time now is 14:14.