coordinate depending source term
Dear Sir/Madam,
I am doing a heat transfer problem with source term. Source term itself depends on the x,y,z, coordinates. I have tried following : Teqn: { fvScalarMatrix TEqn ( (rho)*(Cp)*fvm::ddt(T) + fvm::div(phi, T) - (rho)*(Cp)*fvm::laplacian(DT, T) == Q ); TEqn.relax(); eqnResidual = TEqn.solve().initialResidual(); maxResidual = max(eqnResidual, maxResidual); } Q is source term which is defined as: Info<< "Reading sourceProperties\n" << endl; IOdictionary sourceProperties ( IOobject ( "sourceProperties", runTime.constant(), mesh, IOobject::MUST_READ, IOobject::NO_WRITE ) ); dimensionedScalar Acos ( sourceProperties.lookup("Acos") ); dimensionedScalar Rcos ( sourceProperties.lookup("Rcos") ); dimensionedScalar Zcos ( sourceProperties.lookup("Zcos") ); dimensionedScalar Q("Q", Acos*cos(0.5*3.14*(sqrt((x[0]*x[0])+(x[1]*x[1])))/Rcos)*cos(0.5*3.14*x[2]/Zcos)); if (Q < 0.) { Q = 0.0; } Error: readSourceProperties.H: In function ‘int main(int, char**)’: readSourceProperties.H:30: erreur: ‘x’ was not declared in this scope readSourceProperties.H:32: erreur: no match for ‘operator<’ in ‘Q < 0.0’ make: *** [Make/linux64GccDPOpt/sourceBuoyantSimpleFoam.o] Erreur 1 I thought to use x[0] for x, x[1] for y and x[2] for z ! but OpenFOAM reports error in this. Hence my question is: How to input coordinates for Q so that it OpenFOAM will understand it ? thankyou in advance !! regards, JM |
All times are GMT -4. The time now is 07:59. |