Forgot your password?
typodupeerror

Comment Suggestions (Score 1) 260

This isn't my specialty, but I'm currently finishing my Ph.D. in regularity theory of nonlinear elliptic pde (so I have some knowledge of PDEs :P). I also have written a few numerical solvers for parabolic, elliptic and hyperbolic PDEs. Basically, I agree with what macklin01 said; especially, the statements regarding convergence of characteristics and solvers preserving an entropy criterion. Really, I believe you need to understand your equation a little more theoretically before trying to write a solver for it. If you wish to solve for situations where shocks form, this will limit your choices quite a bit (both pseudo-spectral and FD methods will be poor choices in this scenario). If you are trying to numerically solve such an equation, you should be able to do some analytical calculations to see whether or not shocks will form. If you are not familiar with these calculations, they are spelled out in Evans book on PDE (and there are plenty of ways to analytically approximate wave equations). The only info I have on solving with shocks essentially deals with dividing up your spatial domain and then approximating your solution by solutions to the Riemann problem on each of these subdivided domains (with BCs correlating to the solution from the previous time step). That was from a talk I heard from a few years ago from so the details are a bit hazy. Nonetheless, the issues with shocks are HEAVILY studied.... for various military purposes. If you aren't dealing with shocks and have a somewhat regular spatial domain, pseudo-spectral methods (i.e. using Fourier transforms) will give you good results. Just thinking about it heuristically, you should be able to get an idea for an adequate spectral band for your approximation if you can prove some type of gradient bound for analytic solutions to the problem. If there is no gradient bound (i.e. could mean a shock formation), this probably isn't the place to start. If you are dealing with irregular domains then my guess is to look into FD methods using adaptive grids (i.e. densities would correlate to increasing gradients of numerical approximations). I assume you already know about implicit and explicit FD methods and various interpolations between the two... so I won't belabour that point. I have no knowledge of using FE methods or of the level set methods that macklin01 mentioned in the setting of hyperbolic equations. Sorry. You may also want to look into using fractional time steps. I.e. you take a half time-step using one numerical methodology, then you take the second half of the time step using another. Usually, the first half time step gives you a good approximation with less stability, the second half stabilizes the approximation from the first half. This is a very fast and loose explanation. Fractional time steps are well covered in literature (numerical recipes in C even briefly mentions them). Personally, I have found them very useful when using more exotic numerical methods that weren't so stable. In regards of what to use to write the solver in. Personally, I always have used F90 or perhaps C to code up anything I wrote in this regard; but if you only plan on doing a few runs of the solver to get a few results, then matlab is a good fast alternative to F90. If you plan to run many simulations using your solver, then nothing will beat the speed of a well-coded solver written in F90. As for visualization, time evolution of select level sets is the most obvious choice (like macklin01 said). It really depends on what you want to convey with your data though (as with any visualization). Thus, if you are trying to see just spatial representations of solutions, level sets are a good representation for 3D wave equations. You could also try color scales corresponding to your solution and looking at various slices of your domain; but this obviously requires some knowledge of where to look in your solution domain for certain phenomena. If you want to see shock formations, you could make 3D density plots based on the gradient value of your numerical approximation. Really, there are entire books on visualization of such simulations, these are just some possibilities. Ultimately, I'm a pen-and-paper guy; but I hope some of this information is useful. If all else fails, just read a book on numerical PDE... that's what I did (a few times :P).

Slashdot Top Deals

Lead me not into temptation... I can find it myself.

Working...