|
[Sponsors] |
Implicit vs. explicit treatment of variables at zero gradient outflow boundaries |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
February 21, 2015, 16:37 |
Implicit vs. explicit treatment of variables at zero gradient outflow boundaries
|
#1 |
New Member
Fabian Gabel
Join Date: Oct 2014
Location: Darmstadt
Posts: 13
Rep Power: 12 |
Studying Perić's CAFFA code (collocated FVM discretization and SIMPLE-type algorithm for Navier-Stokes) I came across two different implementations of the Neumann zero gradient outflow boundary condition. In the code the outflow boundary condition for scalars is implemented as
Code:
DO IO=IOS(K)+1,IOS(K)+NOUT(K) IJP=IJPO(IO) IJB=IJO(IO) FI(IJB)=FI(IJP) DPX(IJB)=DPX(IJP) DPY(IJB)=DPY(IJP) CALL FLUXSC(IFI,IJP,IJB,IJO1(IO),IJO2(IO),FMO(IO),C,C, * ONE,ZERO,FI) END DO Code:
DO IO=IOS(K)+1,IOS(K)+NOUT(K) IJP=IJPO(IO) IJB=IJO(IO) DPX(IJB)=DPX(IJP) DPY(IJB)=DPY(IJP) CALL FLUXSC(IFI,IJP,IJB,IJO1(IO),IJO2(IO),FMO(IO),CP,CB, * ONE,ZERO,FI) AP(IJP)=AP(IJP)-CB SU(IJP)=SU(IJP)-CB*FI(IJB) END DO On the other side, the second version uses the zero gradient condition to create a "lagged" (by one outer iteration) Dirichlet boundary condition. As before but this time in an explicit manner. With respect to the implementation, this boundary condition is handled as if it was an inflow (Dirichlet) boundary condition. I have a guess on why someone would decide to choose either one of the two previous approaches and I would appreciate getting some comments on it, maybe even a reference I could read, since I didn't find it in Ferziger/Perić nor in Versteeg: The first approach favors convergence with respect to the number of outer iterations needed, because the boundary values are treated in an implicit way. The second approach (explicit) favors convergence with respect to the solution of the linear system at each outer iteration, because the explicit treatment of the boundary values increases the diagonal dominance of the linear system to be solved. While I have found both described implementations used for scalar transport, I have only come across the second approach for the treatment of outflow boundary conditions for the velocities. Do you have an idea, why the explicit treatment of boundary values at Neumann zero gradient boundaries is recommendable especially for the velocities? Is it maybe, because fixing the mass flux at outflow boundaries is necessary for the velocity outflow boundary condition to be compatible with the Neumann zero gradient boundary condition for the pressure correction? (p. 206 of Ferziger/Perić Computational Methods for Fluid Dynamics (3rd Ed.) seems to imply this) Last edited by eltenedor; February 25, 2015 at 03:42. |
|
Tags |
collocated grid, finite volume, neumann bcs, outflow boundary, simple algorithm |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
outflow boundary condition | ravi_adepu | FLUENT | 11 | January 19, 2018 08:13 |
Boundaries and conservative variables | pankos | Main CFD Forum | 0 | April 2, 2011 04:50 |
Implicit treatment of advection terms and pressure correction | nikosb | Main CFD Forum | 0 | January 17, 2010 17:07 |
Implicit or explicit treatment of convective terms | CH | Main CFD Forum | 1 | March 14, 2007 08:51 |
Point implicit treatment of k-e source terms | andy | Main CFD Forum | 5 | June 9, 2006 12:03 |