CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   how to define this PDE:Uxx-a^2Ut+A＊exp(-a*x)＝0 (https://www.cfd-online.com/Forums/openfoam-solving/94425-how-define-pde-uxx-2ut-exp-x-0-a.html)

 abbott.hn November 15, 2011 10:05

how to define this PDE:Uxx-a^2Ut+A＊exp(-a*x)＝0

hello every one, i need your help now.;)
i'm tring to solve this PDE:Uxx-a^2Ut+A＊exp(-a*x)＝0 with openFoam,

after copying the solver "laplacianFoam"to my own directory and changing it to myLaplacianFoam, i add two lines in the "main" function in the myLaplacianFoam.c like this:

volVectorField centers = T.mesh().C();
volScalarField x = (centers&vector(1,0,0));

then define the equation :

-fvm::ddt(sqr(a),T) - fvm::laplacian(T) == -A*exp(-a*x);

the parameters A and a are defined in creatFiled.H and in transportProperties dictionary file within the case directory.

when i try to use this solver, the error echoed :

Argument of trancendental function not dimensionless

how could i deal with this problem?
shoul i make the argument in the exp() function dimensioniess or define the A＊exp(-a*x) as a volScalarField "f" in createFiled.H,and give "f" the original and boundary value in the case directory when i need to run the solver?

by the way ,if i want to utilize openFoam to solve some typical PDEs，where can i find the reference source?