As an assignment in college, I did a 1d simulation. The problem statement was to solve 1d shock tube problem involving compressible ideal gas as working fluid. For this problem, I solved system of Eulers equations using Roe's Riemann solver. I want to know, to solve the Euler's equations in 2 or 3 dimensions, where should I start? Which is the test problem, i should consider first? (Please don't suggest commercial solvers. I want to write my own code) just I need some help in writing my own code.

What are the good resources that introduce 2d problem in the most practical way?

  • $\begingroup$ Recently I learned the rotational invariance property of the Euler's equations, can that be used for 2d coding? Such the first we align the coordinate system perpendicular to a face, and solve 1d problem, then rotate the frame perpendicular to orthogonal face and repeat? $\endgroup$
    – Subodh
    Jun 4 '12 at 7:56
  • 2
    $\begingroup$ I recommend Chapters 18-21 of LeVeque's FV book: depts.washington.edu/clawpack/book.html The only drawback to this is that the approach is based on fluctuations rather than fluxes (the latter are more mainstream). $\endgroup$ Jun 4 '12 at 18:10

As David Ketcheson suggests, LeVeque's book is a great resource; however, it naturally focuses on the Riemann-solving methods used in CLAWPACK. An alternative to these methods are the non-oscillatory central schemes (e.g. that of Kurganov & Tadmor), which are straightforward to implement and extend naturally to 2-D or 3-D (rather than using dimensional splitting). There's open-source code and large resource of papers at http://www.cscamm.umd.edu/centpack/ .

A paper by Liska & Wendroff (SIAM Journal on Scientific Computing 25(3), 2003, 995-1017) compares various schemes (both Riemann-solving and central) for the Euler equations in 1-D and 2-D, and has a number of test problems that may be useful.


Yes, the 2D problem more-or-less becomes solving a 1D problem in the X direction followed by a 1D problem in the Y direction. The data structures are a little more complicated, the Roe matrix needs to be adjusted for characteristic projection in the second direction, and your CFL condition has to be modified as well.

Clawpack, and in particular Clawpack's 2D examples (http://depts.washington.edu/clawpack/users-4.6/claw/doc/gallery/gallery_2d.html) may be of use to you if you want to peek at someone else's code.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.