
[Sponsors] 
September 10, 2002, 10:38 
fractional step

#1 
Guest
Posts: n/a

Sponsored Links
[u*u(n)]/k = 0.5( S(n+1) + S(n) ) where k = time step S = spatial discretization [u(n+1)u*]/k = dP(n+1)/dx So basically it's a Crank Nicolson scheme. By right the scheme should be free from the CFL criteria (if I'm not wrong), but the time step used could not be larger than the grid spacing when I ran it. Is there anything wrong? What could be wrong? 

Sponsored Links 
September 11, 2002, 02:31 
Re: fractional step

#2 
Guest
Posts: n/a

The predictive step should be [u*u(n)]/k = 0.5( S(n*) + S(n) ) . One reason I guessed is the BC condition time laging. Other reasons may be things like what solution scheme for the CN discretization.


September 11, 2002, 03:08 
Re: fractional step

#3 
Guest
Posts: n/a

Hi versi. You mentioned that [u*u(n)]/k = 0.5( S(n*) + S(n) ). I wish to know if it actually makes any difference using [u*u(n)]/k = 0.5( S(n+1) + S(n) ), and I'm actually going to iterate this momentum equation together with the pressure Poisson within the time step to achieve implicitness. Do you think it will affect my time accuracy?
I'm using it on a decaying vortex with known solution, and the pressure boundary condition is a Neumann condition with known a function dP/dn=f(x,y). Also, the pressure I calculate is of P(n+1).So dP(n+1)/dn=f(x,y,n+1). 

September 11, 2002, 17:55 
Re: fractional step

#4 
Guest
Posts: n/a

Nat,
The implicit scheme you have proposed can be used with CFL numbers as high as 25 (I haven't checked for number that are higher). For this, you have to make your implicit iterations converge. An implicit scheme is unconditionally stable does not automatically mean that the iterations would converge. You have to use a proper scheme for convergence. The reason your iterations may not be converging could be because you are executing the first step of the scheme explicitly. If so, you need to modify your scheme (if only superficially) to use an implicit scheme and achieve convergence. Try this. You need to solve the following. [u(n+1)u(n)]/dt = 0.5( S(n+1) + S(n) )  dp/dx You have a guess value of u(n+1) at the "kth" iteration which is u(n+1,k). You need to compute the increment u(n+1,k+1) = u(n+1,k) + du which gets you closer to the actual solution. A*du = residual = [u(n+1,k)u(n)]/dt  0.5( S(n+1,k) + S(n) ) + dp/dx A is a matrix (banded) with contributions from the unsteady, convective and viscous terms. u(n+1,k) is not divergencefree as needed. Let the divergencefree component of u(n+1,k+1) be u'(n+1,k+1). u'(n+1,k+1)  u(n+1,k+1) =  dt * dq/dx where q is the pressure correction to the current pressure field, p. Taking divergence on both sides you get Laplacian{q} =  div[u(n+1,k+1)]/dt. After obtaining q, compute u'(n+1,k+1) which becomes your guess for the next iteration. The boundary condition for q is determined from your pressure boundary condition, since p+q becomes the new pressure field after each iteration. Hope this helps. 

Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
How to write k and epsilon before the abnormal end  xiuying  OpenFOAM Running, Solving & CFD  8  August 27, 2013 15:33 
Upgraded from Karmic Koala 9.10 to Lucid Lynx10.04.3  bookie56  OpenFOAM Installation  8  August 13, 2011 04:03 
Transient simulation not converging  skabilan  OpenFOAM Running, Solving & CFD  12  September 17, 2007 17:48 
IcoFoam parallel woes  msrinath80  OpenFOAM Running, Solving & CFD  9  July 22, 2007 02:58 
Could anybody help me see this error and give help  liugx212  OpenFOAM Running, Solving & CFD  3  January 4, 2006 19:07 
Sponsored Links 