CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM

Points that lie between two boundary patches: do they assume a mean value?

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   November 22, 2014, 13:20
Default Points that lie between two boundary patches: do they assume a mean value?
  #1
Member
 
Join Date: Feb 2012
Posts: 35
Rep Power: 14
Matt_B is on a distinguished road
I have a cylinder volume identifing a chamber, with water at the bottom and air in the interior region above the water surface. I want to simulate a mass transportation of water from the bottom boundary to the ambient filled with air inside the chamber.
Thus, I defined the water "Bottom" surface with mass fractions Ywater=1 and Yair=0 and the "Side" surface of the chamber as zeroGradient, depending, time step by time step, on the calculation inside the inner region.
What I realized at this point, is that the points of the cells that lie on the circumference shared by the water "Bottom" surface and the Side" wall, seem to assume, already at time=0, a mean values of mass fraction, density and molecular weight between the initial values defined for the two contiguous patches.
I think that this affects the simulation, which behaves in a very odd way, creating a sort of sink of mass, because the value that the simulator calculates has no physical meaning for my Case.
I want to straight assign to that points same values defined for "Bottom" patch, avoiding the simulator to find a mean value between the two contiguous patches: is there a way to do it?

Any hint on that would be appreciated.

Thank you
Matt_B is offline   Reply With Quote

Old   November 23, 2014, 10:28
Default
  #2
Member
 
Join Date: Feb 2012
Posts: 35
Rep Power: 14
Matt_B is on a distinguished road
No one can help me on this issue?
I supposed this was a very easy question for the experts. Or maybe I wasn't very clear with the previous post.
I would like just to know how I could address the points, used to generate the mesh with blockMeshDict, lying at the same time on two different boundaries, with different fields variables definition, to one boundary instead of to the other one.
I found out that the solver, when meets points which share two boundaries, automatically take the mean value of the field defined for the two surfaces: that's exactly what I would like to avoid.

Thank you.

Matteo

Last edited by Matt_B; November 23, 2014 at 12:07.
Matt_B is offline   Reply With Quote

Old   November 24, 2014, 06:19
Default
  #3
Member
 
Artem Shaklein
Join Date: Feb 2010
Location: Russia, Izhevsk
Posts: 43
Rep Power: 16
ARTem is on a distinguished road
Hello, Matt_B.

By points you mean really points (not cell and face centers)? Didn't know that in finite volume method points are used. May be you're making conclusion based on paraview representation of a solution data (because paraview can interpolate cell values to point values)? This way the point value can be mean.

You can move a water surface away from the bottom boundary by modifying initial conditions. I think, this can eliminate some numerical errors.
You can run cycle to change point values to be right ones:
Code:
// the point to be forced corrected
vector thePoint(x,y,z);

forAll(yourField, pointi)
{
    if(abs(mesh.Cp()[pointi] - thePoint) < SMALL) yourField[pointi] = valueAtBottom;
}
Don't know how to get point field coordinated: in fvMesh class there is no Cp() method, with C() being cell centres and Cf() being face centers.
ARTem is offline   Reply With Quote

Old   November 24, 2014, 09:47
Default
  #4
Member
 
Join Date: Feb 2012
Posts: 35
Rep Power: 14
Matt_B is on a distinguished road
Quote:
Originally Posted by ARTem View Post
Hello, Matt_B.

By points you mean really points (not cell and face centers)? Didn't know that in finite volume method points are used. May be you're making conclusion based on paraview representation of a solution data (because paraview can interpolate cell values to point values)? This way the point value can be mean.

You can move a water surface away from the bottom boundary by modifying initial conditions. I think, this can eliminate some numerical errors.
You can run cycle to change point values to be right ones:
Code:
// the point to be forced corrected
vector thePoint(x,y,z);

forAll(yourField, pointi)
{
    if(abs(mesh.Cp()[pointi] - thePoint) < SMALL) yourField[pointi] = valueAtBottom;
}
Don't know how to get point field coordinated: in fvMesh class there is no Cp() method, with C() being cell centres and Cf() being face centers.
Hi Artem!
Thank you very much for your reply, it helped very much to find again the right path. You are right, I just looked at the Paraview representation and saw that 2 points of each cell lying at the bottom circumference shared by the two patches have mean values between these and so I came to wrong conclusion. If this is just a representation, playing no role in calculation process, then I have to look for an other possible reason for my case to blow up.
You are definitely right, Openfoam works with cell centers and face centers, don't understand how I lost this perspective....maybe because I don't succeed to make work my simulation and this goes me crazy.

Matteo
Matt_B is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
[snappyHexMesh] No layers in a small gap bobburnquist OpenFOAM Meshing & Mesh Conversion 6 August 26, 2015 10:38
Accessing multiple boundary patches from a custom boundary condition file ripudaman OpenFOAM Programming & Development 0 October 22, 2014 19:34
Radiation interface hinca CFX 15 January 26, 2014 18:11
Question about heat transfer coefficient setting for CFX Anna Tian CFX 1 June 16, 2013 07:28
Low Mixing time Problem Mavier CFX 5 April 29, 2013 01:00


All times are GMT -4. The time now is 22:44.