What is the method for checking stability of finite differencing schemes?

In summary: The Von Neumman Stability Analysis is a method used to determine the stability of a solution to a PDE. It uses an amplification factor to determine when the method is stable.
  • #1
eckiller
44
0
Hi,

I am in an undergrad numerical analysis course. Our instructor lectured on some material not found in the book. Specifically, he talked about a way to check stability of finite differencing schemes (for PDE) by studying how each Fourier mode evolves in time. Then you can find an "amplification factor" which can tell you when the method is stable.
Sorry if this is vague, but does it sound familiar to anyone? I would like to know the technical name for this process so I can do further research about it because I do not really understand at present. Also, if anyone knows of any books that cover it, I'd like to know their titles.

Thanks in advance.
 
Physics news on Phys.org
  • #2
Most likely the "amplification factor" in question is at least similar to the ones applied in most numerical time integration methods. The amplification factor/matrix etc. is the 'deciding' factor in determining the stability of the solution during incrementation, its unconditional / conditional stability etc. depending on the PDE formulation ... different PDE solution methods have typically similar time integration schemes in this respect so no real matter whether its extracted from finite element, finite difference or some other form of iterative solution process (well, basically it's a finite difference application "in time").

I'd suggest searching for "time-integration", you've the correct term ... all books on numerical methods that deal with areas requiring time - integration are possible sources (==lots). 'Basic' finite element volumes, whatever you might have at your disposal, have usually this pretty well covered. (If you want we can consider the specific application in more detail.)
 
  • #3
I think I know what you're talking about.

Say you're working with the equation

[tex] \frac{\partial u}{\partial t} = C* \frac{\partial^2 u}{\partial x^2}[/tex]

which has a discretized form like so (superscripts are time steps and subscripts are spatial steps)

[tex] \frac{u^{n+1}-u^n}{\Delta t} = \frac{C}{\Delta x^2} (u^n_{i+1} - 2u^n_i +
u^n_{i-1})[/tex]

Then assume a solution of the form

[tex]\hat{U}(t) = e^{ikx}[/tex]

Plug it into the discretized equation.


[tex]\frac{\hat{U}^{n+1}-\hat{U}^n}{\Delta t} e^{ikx} = \frac{C}{\Delta x^2} \hat{U}^n ( e^{ik(x+\Delta x)} - 2e^{ikx} + e^{ik(x-\Delta x)}) [/tex]

Pull out exp(ikx) on the right and move some stuff from the left to the right to get

[tex] \hat{U}^{n+1} e^{ikx}= \hat{U}^n e^{ikx}+ \frac{C \Delta t}{\Delta x^2}\hat{U}^n e^{ikx} (e^{ik\Delta x} -2 + e^{-ik\Delta x}) [/tex]

Now cancel the exponential and group the rest into a constant alpha and you have.

[tex]\hat{U}^{n+1} = \alpha \hat{U}^n[/tex]

So you see that the solution at the next timestep is the solution from the previous timestep multiplied by some constant, or amplification factor. If alpha is larger than one, as time evolves the solution with grow and grow. Hence it is unstable.

You can see that alpha depends on dt/dx^2 in this case, so if you're looking for a rough first guess of timestep size to make it stable, set dt equal to half of your largest spatial derivative, dx^2/2 in this case.

I think I remember this being referred to as semi-discrete Fourier analysis. You can try searching for that if this is what you're talking about.
 
  • #4
I think this stuff is called the "Von Neumman Stability Analysis".
 
  • #5
Clausius2 said:
I think this stuff is called the "Von Neumman Stability Analysis".
Yes, that's definitely it.
 

What is a finite difference method?

A finite difference method is a numerical technique used to approximate solutions to differential equations by dividing the domain into discrete points and approximating derivatives using the values at these points.

What types of problems can be solved using finite difference methods?

Finite difference methods are commonly used to solve problems in physics, engineering, and other scientific fields that involve differential equations. They can be applied to a wide range of problems, including heat transfer, fluid dynamics, and quantum mechanics.

How accurate are finite difference methods?

The accuracy of a finite difference method depends on the size of the discrete points used and the order of the method. Higher order methods and smaller grid sizes typically result in more accurate solutions. However, even with a small grid size, finite difference methods may introduce some error due to the approximation of derivatives.

What are the advantages of using finite difference methods?

Finite difference methods are relatively easy to implement and require minimal computing resources. They can also handle complex geometries and boundary conditions, making them versatile for a wide range of problems.

Are there any limitations to using finite difference methods?

Finite difference methods may not be suitable for problems with discontinuous or highly oscillatory solutions, as they require a smooth solution to accurately approximate derivatives. They also cannot handle problems with large domains or high-dimensional problems efficiently.

Similar threads

  • Other Physics Topics
Replies
1
Views
2K
  • Differential Equations
Replies
1
Views
3K
  • Differential Equations
Replies
1
Views
2K
  • Differential Equations
Replies
2
Views
2K
Replies
16
Views
2K
  • Differential Equations
Replies
3
Views
2K
Replies
2
Views
1K
Replies
1
Views
952
  • Mechanical Engineering
Replies
1
Views
686
  • Engineering and Comp Sci Homework Help
Replies
3
Views
1K
Back
Top