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/)
-   -   coordinate depending source term (https://www.cfd-online.com/Forums/openfoam-programming-development/66276-coordinate-depending-source-term.html)

jmmeena July 10, 2009 06:54

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.