|
[Sponsors] |
November 24, 2006, 18:50 |
Hi,
Considering interFoam,
|
#1 |
Senior Member
Billy
Join Date: Mar 2009
Posts: 167
Rep Power: 17 |
Hi,
Considering interFoam, does OpenFOAM have a boundary condition where it atcs as a wall for one phase and an outlet for the other? |
|
November 25, 2006, 15:54 |
If not, anyone have suggestion
|
#2 |
Senior Member
Billy
Join Date: Mar 2009
Posts: 167
Rep Power: 17 |
If not, anyone have suggestions on how to implement this?
Thanks, |
|
May 21, 2009, 01:04 |
|
#3 | |
Member
Jitao Liu
Join Date: Mar 2009
Location: Jinan , China
Posts: 64
Rep Power: 17 |
Quote:
I am interested in such boundary conditions too. I want to simulate the polymer filling process which is an incompressible two-phase flow with a free interface. For a certain boundary (mold wall),the no-slip bc should be used if the boundary contact with polymer melt, and the traction free bc should be used if the boundary contact with the air. The traction free bc allows air free to leave the cavity. The boundary conditions are switched dynamically according to the filling status there. For the filled mold wall (polymer melt), Γwall,melt : no-slip bc: u = 0, when gamma≥0.5 for the empty mold wall (air), Γwall,air : traction free bc:T · n = 0, when gamma< 0.5 T=-pI+2*mu*D,D=0.5*[grad(u)+grad(u)^T] I don't know how to implement it. Could you give me some hints? Thanks in advance. Jitao Liu |
||
August 21, 2009, 04:23 |
|
#4 | |
New Member
Nurye
Join Date: May 2009
Posts: 13
Rep Power: 17 |
Quote:
My aim is to simulate the polymer filling process which is an incompressible two-phase flow using interFoam. However, I have a problem in implementing switched type boundary condition. Would you help me how to solve this problem? Thanks in advance. Nurye |
||
August 24, 2009, 08:55 |
|
#5 |
Member
Jitao Liu
Join Date: Mar 2009
Location: Jinan , China
Posts: 64
Rep Power: 17 |
Hi Nurye
You can write a new fvPatchField class: a mixed boundary condition manipulating the "fixed value" - "fixed gradient" switch based on gamma: For the filled mold wall (polymer melt), Γwall,melt : no-slip bc: u = 0, when gamma≥0.5 for the empty mold wall (air), Γwall,air : traction free bc:T · n = 0, when gamma< 0.5 T=-pI+2*mu*D,D=0.5*[grad(u)+grad(u)^T] But, if just jumpping from a permeable wall to a non-permeable wall at gamma = 0.5, there will be mass conservation problems.The boundary condition should switch gradually between no-slip and traction free. I will pay more attention to it. Best Regards Jitao Last edited by awacs; August 24, 2009 at 09:11. |
|
August 24, 2009, 13:18 |
|
#6 | |
New Member
Nurye
Join Date: May 2009
Posts: 13
Rep Power: 17 |
Quote:
Thanks Nurye |
||
August 25, 2009, 08:25 |
|
#7 |
Member
Jitao Liu
Join Date: Mar 2009
Location: Jinan , China
Posts: 64
Rep Power: 17 |
Hi Nurye,
You can have a look at the following links: http://www.cfd-online.com/Forums/ope...to-cavity.html http://www.cfd-online.com/Forums/ope...interfoam.html About compilation of user developed libaries --(From the 4th OF Workshop) Usually you would like to do a small modification to an existing library (1) Find the directory of the library you want to modify and copy it to your working directory (2) Find the Make directory that is used when compiling the original library and copy it to your working directory (3) Remove all lines, in Make/files, that don’t correspond to the piece of the library you are compiling (4) Add a line in Make/options saying -I and the path to the lnInclude file that was located next to the original Make directory. This step is necessary since wmake implicitly searches for include files in the directory where the compilation is started, and now we have moved the compilation procedure elsewhere, and must thus explicitly point at the lnInclude directory. (5) Re-name folders, files and entries in Make/files, just as when compiling applications. (6) Re-name the class name in the files so that it can be distinguished from the original one. (7) Type wmake libso So, Firstly, Find the fvPatchField calss that is nearest to what you want (such as outletInletFvPatchField from ../src/finiteVolume/fields/fvPatchFields/derived/outletInlet), copy the whole class file and it's Make directory to your working directory ($WM_PROJECT_USER_DIR). Secondly,modify the Make/files and Make/options. Thirdly,re-name folders, files and entries in Make/files, just as when compiling applications. Re-name the class name in the files so that it can be distinguished from the original one. Then, modify the source file of the new class. The switching based on gamma is something like this: forAll(gammap,id) { if (gammap[id]<0.5) this->valueFraction()[id] = 1; else this->valueFraction()[id] = 0; } Finally, type "wmake libso " to compile the new library. When using user developed library, you should adding the following line to your controlDict: libs ("yourLibraryName.so"); I am new to OpenFOAM and C++. Hoping this can help you. Regards, Jitao P.S. I got some issues when using this BC. The cavity can not be filled completely. I think the boundary condition should switch gradually between no-slip and traction free. I am trying to implement this gradually switching BC. Last edited by awacs; August 27, 2009 at 03:57. |
|
August 27, 2009, 03:05 |
|
#8 |
New Member
Nurye
Join Date: May 2009
Posts: 13
Rep Power: 17 |
Hi Jitao,
Thank you very much for the detail explanation. I will try it now. Then I will tell you the results. Regards, Nurye |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Permeable wall | billy | OpenFOAM Running, Solving & CFD | 0 | August 29, 2006 19:11 |
the boundary condition of permeable wall | lisa | FLUENT | 12 | May 5, 2005 21:58 |
Permeable baffles | m-hack | Siemens | 0 | October 29, 2003 03:14 |
permeable wall | peter.zhao | Main CFD Forum | 0 | October 23, 2000 09:06 |
permeable wall | Sebastien DANIEL | FLUENT | 5 | July 27, 2000 03:31 |