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

"Do-nothing" outlet boundary condition in OpenFOAM

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree1Likes
  • 1 Post By frubicle93

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   September 30, 2022, 11:38
Default "Do-nothing" outlet boundary condition in OpenFOAM
  #1
New Member
 
Join Date: Dec 2021
Posts: 7
Rep Power: 4
frubicle93 is on a distinguished road
I have been attempting to implement "do-nothing" or "traction-free" boundary conditions for outlets in OpenFOAM. This is the condition that

- p n + nu*(n dot grad) u = 0.

I've seen it a lot in theoretical work as it eliminates some terms from the variational formulation of Navier-Stokes (Gresho, 1990), and I think some commercial CFD codes have this as an option.

Has anyone already attempted to implement this BC in OpenFOAM?

It is easy to make this BC starting from the mixed type BC. However, SIMPLE requires more boundary conditions than are required analytically (e.g. zeroGradient pressure at inlets/walls), and I am unsure what to do with the pressure on the outlet patch. If I set p = 0 at the outlet, then the above reduces to zeroGradient. I could set p (or the mean value of p) to any value (which would clearly have a large influence on the result).
MamboJambo likes this.
frubicle93 is offline   Reply With Quote

Old   October 1, 2022, 09:48
Default
  #2
New Member
 
Chen Xiaoxiao
Join Date: Jun 2018
Location: China
Posts: 6
Rep Power: 8
SmileMax is on a distinguished road
You can use codedFixedValue to implement any boundary condition you want.
SmileMax is offline   Reply With Quote

Old   October 1, 2022, 10:53
Default
  #3
New Member
 
Join Date: Dec 2021
Posts: 7
Rep Power: 4
frubicle93 is on a distinguished road
Quote:
Originally Posted by SmileMax View Post
You can use codedFixedValue to implement any boundary condition you want.
Thank you for your reply, Max. However, I don't think codedFixedValue can couple fields as I require. Also, it is a wrapper around fixedValue, so there would have to be some lag in the computation of the normal velocity gradient in the BC.

Implementation of a BC is not the problem, and I have already modified the mixed type BC files to give me what I want.

My problem is to do with the fact that SIMPLE requires more boundary conditions than are required analytically. Analytically, you can solve Navier-Stokes with Dirchlet velocity conditions on some parts of the domain (e.g. inlet part + no-slip part), and with the condition

- p n + nu*(n dot grad) u = 0,

[p=pressure, n=normalVector, nu = kinematicViscosity, u=velocity]

on the rest of the domain (outlet). To get SIMPLE to run, I need to overprescribe the system. Say I use my new BC for velocity. How I choose p at the outlet clearly has a huge effect on what the coupled condition does, when analytically it should be determined as part of the solution.

Is there some error that doesn't converge to zero as the system iterates due to the overprescription of boundary conditions in OpenFOAM?
frubicle93 is offline   Reply With Quote

Old   October 3, 2022, 05:18
Default
  #4
Senior Member
 
Join Date: Apr 2020
Location: UK
Posts: 735
Rep Power: 14
Tobermory will become famous soon enough
I can see that this could be a real problem for a pressure-correction method like SIMPLE - it's not possible to do a simple one step pressure correction to the velocity for the cells at the boundary, since the boundary pressure field keeps changing as the velocity field (and therefore boundary velocity gradient) changes. And we have lost the U/p decoupling that we can assume for the regular SIMPLE algorithm. You need an iterative approach for each "traction outlet" boundary face to find the boundary pressure and velocity gradient that balance each other, and that fit within the rest of the pressure field for the domain ...

Does the system converge if you make a simple choice of boundary pressure (i.e. start with last iteration's value) and then run multiple pressure corrector loops? This would be rather expensive computationally, ofc, so I wonder whether there is any ultimate benefit in this approach?

Apologies if the above has not been too much help ...
Tobermory is offline   Reply With Quote

Old   October 14, 2022, 13:42
Default
  #5
New Member
 
Join Date: Dec 2021
Posts: 23
Rep Power: 4
MamboJambo is on a distinguished road
Is this paper helpfull? https://onlinelibrary.wiley.com/doi/....1002/fld.4039 ?
MamboJambo is offline   Reply With Quote

Old   November 22, 2022, 12:13
Default
  #6
New Member
 
Join Date: Dec 2021
Posts: 7
Rep Power: 4
frubicle93 is on a distinguished road
Thanks for your replies, I didn't see the notification email. I think I need to have a coupled set of custom BC files that satisfy the traction free BC and also ensure that continuity eqn is satisfied. Haven't had time to play with it recently, however.
frubicle93 is offline   Reply With Quote

Old   December 4, 2023, 08:32
Default
  #7
New Member
 
Ali
Join Date: May 2021
Posts: 2
Rep Power: 0
alimokh91 is on a distinguished road
Hi
Did you find a solution to implement this in OpenFOAM?
alimokh91 is offline   Reply With Quote

Reply

Tags
openfoam, outlet boundary condition, simplefoam

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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
Wind turbine simulation Saturn CFX 60 July 17, 2024 06:45
sliding mesh problem in CFX Saima CFX 46 September 11, 2021 08:38
Radiation in semi-transparent media with surface-to-surface model? mpeppels CFX 11 August 22, 2019 08:30
OpenFOAM v3.0+ ?? SBusch OpenFOAM 22 December 26, 2016 15:24
Radiation interface hinca CFX 15 January 26, 2014 18:11


All times are GMT -4. The time now is 07:17.