CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > General Forums > Main CFD Forum

New Runge Kutta Question

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

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 30, 2005, 12:40
Default New Runge Kutta Question
  #1
noName
Guest
 
Posts: n/a
Hi --

Could someone tell me what is the best RK method to integrate dissipative dynamical systems? Different methods introduce different amount of numerical dissipation, which lead to incorrect transient reponses (the long term behaviour of the methods agree). The goal is to capture the transient and oscillatory dynamics correctly, dissipate high frequency spurious oscillations, and give the correct long term asymptotic behaviour. Any suggestions?
  Reply With Quote

Old   January 30, 2005, 13:58
Default Re: New Runge Kutta Question
  #2
Runge_Kutta
Guest
 
Posts: n/a
A reasonable ground rule, I would suspect, for this forum is that people ask questions that they would genuinely like to know the answers to rather ones that simply test the audience.

Anyway, the book that discusses your question in great detail is: "Dynamical Systems and Numerical Analysis" by Andrew Stuart and A. R. Humphries.

http://www.amazon.com/exec/obidos/tg...glance&s=books

The second is "Geometric Numerical Integration: Structure Preserving Algorithms for Ordinary Differential Equations" by Ernst Hairer, Christian Lubich, and Gerhard Wanner

http://www.amazon.com/exec/obidos/tg...glance&s=books

Look for a second edition of this soon.

What you are basically looking for are symplectic methods. There are no explicit Runge-Kutta methods which are symplectic. You will need to use implicit Runge-Kutta methods ( or some other class of symplectic methods). Another thing you can do is partition the problem and the use a partitioned Runge-Kutta method. Sometimes one simply would like the symplectic property to some order. You can look into pseudo-symplectic methods. It may also be useful to look into symmetric methods. They were constructed with reversible ODEs in mind but may be useful for dynamical systems. Just like symplectic methods, there also exist pseudo-symmetric methods.

One other issue that comes up is regularity. By this I mean that the system of ODEs that you are integrating may posess fixed points. A Runge-Kutta method will preserve those fixed points but it may create new ones that are not shared with the exact solution. You'd like to not have your numerical method compute spurious solutions. There's a little bit you can do to design in regularity but the best idea is to simply integrate many equations simultaneously an use an error controller.

Did I pass the test??
  Reply With Quote

Old   January 30, 2005, 14:09
Default Re: New Runge Kutta Question
  #3
noName
Guest
 
Posts: n/a
Huh? I am only a undergraduate student seeking opinion before I implement something in a code. I am not trying to test you and will certainly not offer you a job after this discussion. Hence, please reply to my posts only if you want to. I admit that you have been of great help so far!

OK, so I have encountered symplectic RKs several times before, but they don't seem to be the solution. The literature uses these schemes to preserve geometric structure of the ode's mostly for Hamiltonian (non-dissipative) systems. What should I use for a dissipative system, to mimic the exact physical dissipation and not produce any dispersion?

BTW, I have seen *explicit* sympletic RKs for separable Hamiltonians. See:

Candy, J. & Rozmus, W. 1991. "A symplectic integration algorithm for separable Hamiltonian systems," J. Comput. Phys. 92, 230.

Forest, E. & Ruth, R. D. 1990. "Fourth order symplectic integration," Physica 43D, 105.

Maclachlan, R. I. & Atela, P. 1992. "The accuracy of symplectic integrators," Nonlinearity 5, 541.
  Reply With Quote

Old   January 30, 2005, 16:39
Default Re: New Runge Kutta Question
  #4
Runge_Kutta
Guest
 
Posts: n/a
If the coefficients of a Runge-Kutta method satisfy

b_{i}a_{ij} + b_{j}a_{ji} - b_{i}b_{j} = 0 for all i,j = 1,2,...,s

then the method is symplectic. It is also a necessary condition for irreducible methods. If you look at page 318 of

http://www.amazon.com/exec/obidos/tg...glance&s=books

you can read the sentence "Explicit Runge-Kutta methods are never symplectic." There is a caveat to what your references have written that is missing. Check to see if they have pseudo-symplectic integrators, partitioned Runge-Kutta methods, or maybe even a Runge-Kutta Nystrom method. A pure and simple ERK doesn't do it. Here are other statements of the same thing:

http://www.egr.msu.edu/~xbtan/Papers/tan_rk.pdf (first sentence, then eqn (4), then 2 inches below) http://gme.unizar.es/docum/07Pals_00_biarr.pdf (page 4)

The criterion above for symplecticity implies no dissipation. Since you have dissipation and need the integrator to do the same, my only guess (without doing a literature search) is to try symmetric methods. You can be fully symmetric but low order with DIRK methods. The only published pseudo-symmetric methods that I am aware of is by Chartier and Lapotre (1998) (Report 1221)

http://www.irisa.fr/aladin/perso/chartier/

You might simply try taking a 6(5), 7(6), 8(7), or 9(8) ERK pair and clamp down on the tolerance to be sure that traditional methods won't get your job done (I'm assuming your problem is not stiff). My last suggestion is to simply use low phase-error methods. Search for papers by Peter J. van der Houwen and people who cite him.

By the way, variable step sizes often ruin symplecticity without intervention.
  Reply With Quote

Old   January 31, 2005, 14:17
Default Re: New Runge Kutta Question
  #5
Runge_Kutta
Guest
 
Posts: n/a
After rereading what I last posted, I just wanted to clarify one thing. Just because a system of ODEs is dissipative doesn't necessarily imply a symplectic integrator will not work fine on the problem. A symplectic integrator will NOT remove viscous (general diffusive) effects from a Navier-Stokes calculation. Off the top of my head, symplecticity is a statement about the methods' error not anything about the underlying ODEs. If anyone is bored, try using the explicit Runge-Kutta methods which are pseudo-symplectic to solve the Navier-Stokes Equations. It might be useful in any situation where temporal dissipation error ruins everything. Maybe acoustics.

A. Aubry and P. Chartier, Pseudo-symplectic Runge-Kutta methods. BIT, 38 no. 3 pp. 439-461, 1998. http://math.liu.se/BIT/contents/bit38.html#38_3
  Reply With Quote

Reply

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
1D Burgers euqation with 4th Runge Kutta dokeun Main CFD Forum 3 August 8, 2011 06:34
Ruge Kutta programming question for unsteady flow Hooman Main CFD Forum 0 August 5, 2011 07:19
Runge Kutta for unsteady flow Hooman Main CFD Forum 2 August 3, 2011 08:58
Runge Kutta Optimization vasanth Main CFD Forum 6 December 2, 2005 13:07
Diagonally Dominate Runge Kutta Method Anthony Iannetti Main CFD Forum 0 January 23, 2001 21:27


All times are GMT -4. The time now is 05:54.