CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Error in solving bdivbFunction (https://www.cfd-online.com/Forums/openfoam-solving/59625-error-solving-bdivbfunction.html)

bettina June 22, 2007 05:20

Hi All! I'm new at OpenFOAM.
 
Hi All!
I'm new at OpenFOAM. I try to solve the dimensionless Poisson-Equation. First I tried:

solve(
Gamma*(fvm::div(diag(fvc::grad(Phin)*Vektor))))+fv m::div(diag(fvc::grad(Pha)*Vek tor))==-Psi*(C1*z1+C2*z2)
);
This didn't work because the 'diag'-Function ist not available.(I found information about that in the forum: Thanks). By the way, Vektor=(1 0 1/eq), where eq is a constant value.

So, I splitted the equation and defined volTensorFields:
volTensorField T1=(fvc::grad(Phin))*Vektor;
volTensorField T2=(fvc::grad(Pha))*Vektor;
To get a vector of the diagonal components I used the .component-Function.(Thanks again to the Forum.)
Term1.component(vector::X)=T1.component(tensor::XX );
Term1.component(vector::Y)=T1.component(tensor::YY );
Term1.component(vector::Z)=T1.component(tensor::ZZ );
Same procedure for Term2 from T2.
Then I defined
volVectorField a=Term1;
volVectorField b=Term2;

Then I tried to solve the equation
solve(
Gamma*fvm::div(a)+fvm::div(b)==-Psi*(C1*z1+C2*z2)
);
This produced: error:no matching function for call to 'div(Foam::volVectorField&)'
With 'fvc' instead of 'fvm' it is: error:no match for 'operator=='in Foam::operator+(...

Sorry, for the long explanation.
Has anybody an idea what's wrong and how to solve this? I would be greatful for help.
Bettina


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