<previous: Solution Control
up to Table of Contents
next: Tutorials >
open Reference Guide (in this window)
open Applet Page (in new window)


Evaluating the Solution Quality

    Unfortunately, when dealing with non-linear equations, it is often difficult to calculate the correct answer.  Complex schemes in computational fluid machanics iterate over and over in an effort to converge the problem.  It is a subject of debate about how to effectively monitor the level of convergence and do the minimum number of iterations necessary to get the required solution.
    Since Gryphon is a 1-D solver, it has some advantages.  First, the resulting time integration matrices become linear and diagonalized.  Solvers of higher dimensions do not achieve this effect, meaning that at each iteration step, they must do an internal iteration to aproximately calculate the matrix solution.  This is called dual timestepping.  At each time step, Gryphon provides a numerically exact solution to the linearized matrices, accurate to whatever temporal order was selected based on the scheme (usually 2nd order).
    Evaluating the solution does depend somewhat on whether the solution is transient or steady-state.  A transient solution must preserve time accuracy during the run.  Solution accuracy will be a function of the time step used.  Selecting a smaller time step will provide a more accurate solution history.
    Steady problems do not have this restriction.  The residual in a steady problem is driven to zero, meaning that the solution is no longer changing in time and has become "steady."  As discussed earlier, Grpyhon provides real-time updating residual monitors for all three equations.  For transient calculations, this is not necessarily important.  In a time dependent calculation, one would want to watch the residual levels, and cut off the solution after the residuals have become small.  There is no point to doing a time dependent calculation if nothing is changing in time anymore.  A steady calculation has an opposite point of view.  In a steady calculation, one wants to run the solution until the residual levels have reached a sufficiently low level.  This tends to indicates convergence.
    Remember that the residual graphs are plotted on a log scale, meaning that every unit is one order of magnitude of decrease from the starting residual.  Typically, Grpyhon can reach residual levels of -10 or more, indicating a reduction of ten orders of magnitude of residual.  However, this is dependent on the initial conditions.  If one picks good initial conditions, the residual levels may not drop that much since the starting solution is already relatively accurate (and the starting residuals therefore small themselves).  However, general downward trends on the residual monitors are always a good thing.  These curves may not be smooth, particularly while transient shocks are moving through the domain.  They will usually become smooth after this period, but a somewhat "wavy" residual curve is not necessarily bad if the general trend is good.  Also, note that the min-mod limiter can sometimes cause "limit cycling," meaning that the residual will never drop below a few orders of magnitude.
    Another good way to check for convergence is to run the problem as a time dependent problem, even if it is really steady state.  This allows the user to compare the solution history at different time indexes.  Looking at the solution at critical points over a time range will show whether the solution is changing anymore or not.  One should see the solution generally level out after a time.  This is also an indicator of convergence.  It is always easy to delete out the intermediate time levels later using the solution management tool after convergence is assured.
    The different flux schemes and slope limiters will also produce different solutions, even if converged.  One may see Hosder, et al. for information on these subjects.  This is a hard thing to evaluate, but the easiest thing to do it try multiple schemes and see if they give different answers or not!
    Other issues are grid dependency, boundary placement, and similar matters.  Roache (1997) covers matters of this nature.  In general, one wants the highest grid density possible, with points clustered near regions of strong gradients (like around shocks).

    Evaluating a solution is by far the hardest part of computational fluid mechanics.  

<previous: Solution Control
up to Table of Contents
next: Tutorials >