CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   Boundary Conditions for internal faces in 3D interFoam (https://www.cfd-online.com/Forums/openfoam/91046-boundary-conditions-internal-faces-3d-interfoam.html)

unikrsn July 28, 2011 14:04

Boundary Conditions for internal faces in 3D interFoam
 
2 Attachment(s)
Dear Foamers

I kindly need your help with Boundary conditions on 3D InterFoam Simulation for Gasoline Fueltank.

I am suffering with the Boundary Condition for 3D Simulation..
I tried not to define the internal faces in BlockMeshDict.

Then it comes with an error
"This mesh contains patches of type empty but is not 1D or 2D by virtue of the fact that the number of faces of this empty patch is not divisible by the number of cells"

but when i define these internal faces as symmetryPlane or cyclic.. The simulation runs... but i am having problem with Alpha, P & U values...

blockMeshDict
symmetryPlane Internalface
or
cyclic Internalface

Alpha
Internalface
{
type zeroGradient;
}

p
Internalface
{
type buoyantPressure;
value uniform 0;
}

U
Internalface
{
type fixedValue;
value uniform (0 0 0);
}

When I give these conditions for Alpha, p & U... The water in the tanks breaks and Sloshes for some time.. But never moves across the Internal faces... It stay within the Block...

Kindly Provide me an Answer with defining the Boundary conditions for Internal faces in blockMeshDict, p, U & Alpha... For 3d Interfoam...

All works Fine in 2d.. Please telll me.. What i should do for 3d..



Thanks & Regards
Unni

mturcios777 July 28, 2011 14:20

If you get the error about empty faces in a 3D domain, I would first look and determine that your mesh is defined correctly.

Try running blockMesh with the -blockTopology option, converting to VTK with objToVTK and visualize in ParaView. You may find there is a problem with the way you have your blocks connecting.

doubtsincfd July 28, 2011 14:30

Can you please explain more about the problem, as in where the internal face is located, and what do you exactly want to simulate (whether the interface is removed at time t=0 and then the lower tank gets filled or something like that)

If the boundary is symmetric, just specify the type as symmetryPlane in the U, P and alpha dictionaries.

unikrsn July 28, 2011 14:54

Boundary Conditions for internal faces in 3D interFoam
 
2 Attachment(s)
Dear sir,

My internal face is located in the center of the 1st block and the 2nd Block... It is highlighted in Red in the attached picture...

When I dont define them in BlockMeshdict these Faces become Defaultface and the above mentioned error is given...

The Model is based on Dambreak.. There is no Interface i Guess.. I tried editing the BlockMesh to Convert the DamBreak tutorial into a 3d filling tutorial in InterFoam... But after Meshing all the Block seem to be working independent of each other and there is no flow through the faces between the blocks...

Kindly Check the BlockMeshDict File, Alpha, P & U


Thanks & Regards
Unnikrishnan.

doubtsincfd July 28, 2011 20:40

The files you gave are empty. Please repost the files

unikrsn July 29, 2011 04:05

Boundary Conditions for internal faces in 3D interFoam
 
1 Attachment(s)
Dear sir,

Sorry for the Files..
I have attached the correct files now..

Folder: Documents/Fueltank3D_Dambreak_MartinHammas_ver5.0/laminar/damBreak

Thanks for the reply..

Thanks & Regards
Unnikrishnan.

mturcios777 July 29, 2011 13:31

The answer to your problem is in Section 5.3.2 in the User Guide. To have face matching occur, you need to have faces that are defined on the same vertices. When you define the first hex block, it has a face that is coincident with two faces; you are missing the vertices to have perfect matching. It may seem a little odd that OpenFOAM doesn't recognize this and match the faces anyway, but generally OpenFOAM decides only to tell you what is wrong rather than how to fix it (so you can decide on what solution is the best for you, or ask others their opinion ;-) )

To get the proper behaviour, you need another set of vertices on the same plane as the "back" faces that are directly across from points 8,9,24,25. Then you will need to define 2 new blocks and assign their faces to corresponding boundaries.

You might also be able to get the same behaviour using merging, but for a simple rectangular mesh like this its probably easier to just define new blocks.

unikrsn August 1, 2011 12:59

Dear Marco A. Turcios


Thanks a lot for the reply... I was able to run the simulation and it is working well...

Thanks & Regards
Unnikrishnan.

duongquaphim September 27, 2011 09:29

Hi Unnikrishnan,

I am also working with symmetryPlane and interFoam and I found problems with pressure distribution even with the simplest case such as straight channel (please see my post at http://www.cfd-online.com/Forums/ope...interfoam.html). Do you find anything similar to this behaviour in your case. Can you please post or send me your case then I can test since the case you post before wasn't working?

In your case, you applied symmetryPlane for patch Internlface but then used buoyantPressure for p at that patch. It cann't be the case and OpenFOAM really complained on that when I tried to run.

Regards,

Duong

unikrsn September 27, 2011 13:09

symmetricPlane or Cyclicplane problem
 
Dear Duon,

1.

first I tried working with symmetricPlane or Cyclicplane. But it was not required. I made a mistake in matching the faces of my block in blockMesh.

"Section 5.3.2 in the User Guide. To have face matching occur, you need to have faces that are defined on the same vertices. When you define the first hex block, it has a face that is coincident with two faces; you are missing the vertices to have perfect matching. It may seem a little odd that OpenFOAM doesn't recognize this and match the faces anyway"

2.
In blockMeshDict: change the type of empty all2 from empty to something else (e.g. wall or patch).

Reason: empty works only in 2D and if you make more than one block in the z-direction, you are working in 3D.

3.
I checked your file and I found it is different.
If you have a copy in restore and You dont use it... It is ok. else you should change all file to Wall2 or All2 either one.

Curvature.org
Wall2
-> all2
{
type zeroGradient;
}

In U.org you have mentioned it as Wall1 and all other places as Wall2.
In alpha.org as all2.

change and check it out.

but i tried running the same file you send.. It seem to work..
I checked from 1 to 0.002.. There is no error message during interFOAM.

But if you have some other problem with the results. it would be problems with your inputs.

Also copy Alpha.org to Alpha1 every time you run your program.

Thanks & Regards
Unnikrishnan


All times are GMT -4. The time now is 05:50.