CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Community Contributions (https://www.cfd-online.com/Forums/openfoam-community-contributions/)
-   -   [swak4Foam] groovyBC (https://www.cfd-online.com/Forums/openfoam-community-contributions/99119-groovybc.html)

mugi March 26, 2012 11:57

groovyBC
 
I try to set up a depth dependent Temperature Gradient for a case in OpenFOAM with groovyBC.

FLOOR
{
type groovyBC;
variables "ypos=pos().y;";
valueExpression "(ypos-7300)*(-0.025)+273";
}

when I run the case, I get the following in the output of the first written timestep:

FLOOR
{
type groovyBC;
refValue nonuniform List<scalar>
283
(... here are 283 correct values);
refGradient uniform 0;
valueFraction uniform 1;
value nonuniform List<scalar>
283
(... here are the same 283 values);
valueExpression "(ypos-7300)*(-0.025)+273";
gradientExpression "0";
fractionExpression "1";
variables "ypos=pos().y;";
timelines (
);

why is it written in refValue and value? I use a Temperature reference Value and define it elsewhere, to calculate the density... But this one I don't need.

Then there is a further problem, no clue if it's connected...
The field phi gets a completly wrong number of points for the internal field and several nan. The field U gets the right number of points in the internal field but as well a lot of nan... Does someone have an idea about this?

Cheers,
Maike.

gschaider March 26, 2012 16:49

Quote:

Originally Posted by mugi (Post 351553)
I try to set up a depth dependent Temperature Gradient for a case in OpenFOAM with groovyBC.

FLOOR
{
type groovyBC;
variables "ypos=pos().y;";
valueExpression "(ypos-7300)*(-0.025)+273";
}

when I run the case, I get the following in the output of the first written timestep:

FLOOR
{
type groovyBC;
refValue nonuniform List<scalar>
283
(... here are 283 correct values);
refGradient uniform 0;
valueFraction uniform 1;
value nonuniform List<scalar>
283
(... here are the same 283 values);
valueExpression "(ypos-7300)*(-0.025)+273";
gradientExpression "0";
fractionExpression "1";
variables "ypos=pos().y;";
timelines (
);

why is it written in refValue and value? I use a Temperature reference Value and define it elsewhere, to calculate the density... But this one I don't need.

value is used by almost ever BC and the actual value on the patch

refValue is something used by the mixed-BC (which groovyBC inherits from) to set that value-value (see the mixed-BC in the UserGuide to see what that actually means)

groovyBC sets the refValue from the valueExpression.

So all three depend on each other (the wonder of inheritance) The only reason that value and refValue are the same is because your fractionExpression is "1" (see the mixed-docu and you'll be enlightened)

Quote:

Originally Posted by mugi (Post 351553)
Then there is a further problem, no clue if it's connected...
The field phi gets a completly wrong number of points for the internal field and several nan. The field U gets the right number of points in the internal field but as well a lot of nan... Does someone have an idea about this?

With "wrong number" you mean "different from the internalField in T". That is because phi is a surfaceField and all other fields are volumeFields. So this is no problem.

phi and U depend on each other so the NaN are no surprise. Most likely there is a problem during the solution of the Momentum/Continuity-equations.


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