CFD Online Logo CFD Online URL
Home > Forums > Main CFD Forum

Help with basic finite difference doubt.

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

LinkBack Thread Tools Display Modes
Old   March 7, 2007, 20:00
Default Help with basic finite difference doubt.
Guillermo Marraco
Posts: n/a
Hello. I have a doubt on incompressible flow (free surface).

As I understand, doing forward difference (in time) in a finite timestep, lead to a unstable scheme when the timestep is Ax<=At.v . (A meaning Delta greek letter: Ax=delta x; At=delta t, v=x_speed )

I have read some "proof" based on fourier series, but still don't get it.

I suspect that the source of unstability is that incompresibility (zero divergence for vector speed v) is not granted (on a forward difference), for the next time step. And I suspect that on a implicit scheme (like a backward difference) ensures uncompresibility on the future timestep, and simultaneoulsy ensures the backward partial derivative of speed, being this the source of stability. (I think that it is the foundation for SIMPLE/SIMPLER methods, but texts on the matter are some way obscure)

Is this right?

Is there a forward difference scheme (explicit) that, altough painfully slow, is stable for Ax=>At.v ? (maybe it can be accelerated with repeated fast convolutions)

I have read a lot, but have not found a hint on it.
  Reply With Quote

Old   March 8, 2007, 01:11
Default Re: Help with basic finite difference doubt.
Posts: n/a
There are some stability theories based on what are referred to as matrix methods.You might want to have a look at it too.Implicit or explict schemes become unstable at low speeds when you solve it using compressible N-S solver unless you have preconditioning or very small time step.This has got more to do with the change of the pde type and not usually dependent on the numerical discretization.
  Reply With Quote

Old   March 8, 2007, 09:48
Default Re: Help with basic finite difference doubt.
Posts: n/a
Forward differencing leads to instabilities when it violates the direction of information flow dictated by the original PDEs. If you have a fluid flow from left to right, and the flow is governed by a hyperbolic equation, then you would want to difference in the "windward" direction, i.e. using the point i and the point to the left of i. The reason is because information is moving from the left to the right along characteristics and you want the differencing scheme to capture this fundamental behavior.
  Reply With Quote

Old   March 8, 2007, 15:23
Default Re: Help with basic finite difference doubt.
Paolo Lampitella
Posts: n/a
Implicit or explicit schemes refers to the time at which the spatial derivatives are evaluated and so, while using an implicit scheme needs the solution of a system of equations per each time step, the explicit scheme doesn't need such a long procedure and is faster than the implicit one.

When you discretize the time derivative you have

1)Backward: df/dt = ( f(n) - f(n-1) ) / dt

2)Forward: df/dt = ( f(n+1) - f(n) ) / dt

3)Central: df/dt = ( f(n+1) - f(n-1) ) / 2dt

and how many finite difference schemes you want to build. Note that the instability comes out from the combination of time and space derivatives together; usually it comes out from a 2nd order derivative of the truncation error multiplying a negative coefficient. However (maybe i'm not been so clear) this nothing has to do with the compressibility, in fact you have to note that:

1)if you're using an incompressible solver it will have a pressure equation from which derive a pressure field which will drive the velocity field to be incompressible (with machine accuracy). So, whatever kind of time advancement you will utilize, the velocity field will be always not divergence-free without the pressure correction.

2)If you have a compressible solver the pressure will be trated as a thermodynamic variable and instead of the pressure equation you have to solve the energy and the continuity equations with a state equation (p=density*R*T) all coupled.

About the second point it is important to note that you have to use a Mach number (M) bigger than 0 when using a compressible solver or there will be instability. the reason for this can be mathematically explained considering the eigenvalues of a matrix (See Tannehill, Anderson, Pletcher) or most phisically considering that M=0 means a(sound velocity)=Infinity and to exactly capture the pressure variations (becamed instantaneous) you need an inifinitely small time step...and this will never be the case.

  Reply With Quote

Old   March 9, 2007, 20:04
Default Re: Help with basic finite difference doubt.
Guillermo Marraco
Posts: n/a
The doubt arises because in forward difference the calculus start from a divergence zero granted condition, but this not garantize that the next step velocity is divergence free (div(v)=0 in incompressible flow).

In forward difference, (in schemes I know), the partial derivative of speed is calculated with momentum equation (av/at=momentum other terms). from this, V(n+1)= V(n)+av/at*At (A uppercase meaning delta, and a lowercase meaning partial derivative). This scheme do not have any guarantee that V(n+1) is divergence(V(n+1))=0 -incompressible-. Then I suposse that a little timestep do not change to much the divergence, and this is reated with the limit At<Ax/v, that mean that the flow originate only from neighbor cells.

If after V(n+1) is calculated, and then is make a presure correction, no more agree with momentum equation.

Instead, implicit schemes iterate in time t(n+1) until V(n+1) agree with divergence free and momentum equation.

I want to make a incompressible, finite difference, free surface solver, with implicit scheme, (and suspect that it can be solved in O(N.log2(N)) time with a direct matrix-divide and conquer solver). But also would like to try a forward difference solver. Note that if you take out the nonlinear a(vē)/ax terms, the forward difference is only a convolution, that in laplace o fourier space converts to a product. Then, multiple iterated timesteps are a simple product with a integer power of the convolution. Trouble arises with the nonlinear term. But it transform from a product in to a convolution in laplace of fourier space. In one space, the derivatives are convolutions, and the trouble is the vē term. In another space derivatives are products, and the trouble is the transform of vē because is now a convolution. Then, I have search for a intermediate transform that converts derivatives and products in the same mathematic thing, and I have found that exist the half fourier transform, doing exactly this, and being only a wavelet transform. Then, probably it can be used for calculating in one step n little timesteps of a finite difference forward scheme. But to explore this scheme (restricted with periodic boundaries), I need to understand better how is that forward difference guarantee incompresibility.
  Reply With Quote

Old   March 10, 2007, 07:38
Default Re: Help with basic finite difference doubt.
Paolo Lampitella
Posts: n/a
Forward or backward are just terms that describe the stencil used to approximate a derivative. Explicit or implicit respectively means that you can or not express the solution at the next time step just knowing that at the previous time step. All this stuff nothing has to do with the satisfaction of the divergence free condition of the velocity at the next time step. In fact the iterations made in implicit schemes are due to the nonlinearity and/or coupling of the system of equations, that is you have to change iteratively the coefficients of a linearized system. What will give you the condition in an incompressible solver is always the pressure correction, whose solution is nested in the iterative process.

I don't really understand well what you say about transforms in other spaces. That is, if you makes a Fourier transform (a formal one because you're using periodic boundary conditions) of the N.S. equations you obtain the spectral N.S. in which the condition can be directly inserted in the mom.eqn. leaving just one eqn. This is right and yes maybe the number of operations per time-step required with a fast-solver should be O(NlogN) but i don't think that a spectral solver has never been applied to free surface flows. Maybe utilizing different basis function in different space directions could help but such a kind of effort is justified if you have to make a DNS. Otherwise i think that the classical approach is that in physical space with a pressure correction.
  Reply With Quote


Thread Tools
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 On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
solving finite journal bearing problem by finite difference Atit Koonsrisuk Main CFD Forum 6 March 29, 2015 08:09
Finite element vs. finite difference Francisco Saldarriaga Main CFD Forum 23 December 17, 2014 09:21
Finite Difference Vs. Finite Volume elankov Main CFD Forum 43 December 18, 2010 17:30
Fininte difference and Finite element Technique Mahendra Singh Mehra FLUENT 3 December 23, 2005 00:49
Finite Volume Vs Finite Difference Mukkarum Main CFD Forum 3 February 8, 2003 12:16

All times are GMT -4. The time now is 18:47.