A case-study in open-source CFD code verification. Part II: Boundary condition non-orthogonal correction
Abstract This investigation constitutes the follow-up to a previous work in which we applied the manufactured solution procedure to verify the OpenFOAM diffusion operator on different types of meshes. Theoretical convergence orders were observed for Poisson’s equation solver on orthogonal hexahedral grids using several boundary conditions. We noticed that on non-orthogonal grids even slight mesh distortions reduce the theoretical second order convergence rate to first order. Our investigation showed that this loss in convergence order takes place when Dirichlet and/or Neumann boundary conditions are used on non-orthogonal meshes. In this paper, we introduce ways to achieve theoretical second order convergence accuracy, mainly based on applying non-orthogonal correction to Dirichlet and/or Neumann boundary condition schemes. A peculiarity was discovered for the Least-Squares gradient scheme that slightly affects second-order convergence, and which we attribute to the non-orthogonal correction at boundaries in the Least-Squares vector reconstruction library. The verification procedure is performed using the method of manufactured solutions for the Poisson equation and an analytical solution, the SIMPLE solver, for the Navier–Stokes equations. The average and maximum error norms were used to calculate the convergence rate. Comparative results are presented.
Quantitative V&V of CFD simulations and certification of CFD codes
Definitions and equations are provided for the quantitative assessment of numerical (verification) and modelling (validation) errors and uncertainties for CFD simulations and of intervals of certification for CFD codes. Verification, validation, and certification methodology and procedures are described. Examples of application of quantitative certification of RANS codes are presented for ship hydrodynamics. Opportunities and challenges for achieving consensus and standard V&V and certification methodology and procedures are discussed. Copyright © 2005 John Wiley & Sons, Ltd.
An adaptive multigrid method for the euler equations
It is well known that an accurate solution to the Euler equations requires more resolution in some parts of the flow field than others. Just where these regions are, and how fine the mesh spacing must be, depends on characteristics of the solution to be computed, and changes with different flow parameters, such as Mach number, angle of attack, etc. Therefore, it cannot be known in advance of the computation. A solution technique which gets comparable accuracy over the entire flow field, thus using fewer points in smoother regions of the solution and more elsewhere, would clearly be optimal. In this talk, we describe a method of local adaptive grid refinement for the solution of the steady Euler equations in two dimensions, which automatically selects regions requiring mesh refinement by measuring the local truncation error. Our method of refinement uses locally uniform fine rectangles which are superimposed on a global coarse grid. Possibly several nested levels of refined grids will be used until a given accuracy is attained. The fine grid patches are in the same coordinate system as the underlying coarse grid. All the data management is done in the computational plane, where, since we use rectangular grids, the data structures and bookkeeping can be very simple (see figure i). Furthermore, the same data structures and control flow needed for adaptive grid refinement are also required for multigrid convergence acceleration. This can therefore be added with little additional cost. Other adaptive mesh strategies have previously been proposed. Many of them are moving grid point methods, where a logically rectangular mesh is distorted to put more grid points in region where the solution error is large. Brackbill and Saltzman [3] do this by having their mesh minimize a functional which includes terms measuring the solution error, grid smoothness, and grid orthogonality. Rai and Anderson [4] attract the grid points into regions with high error by determining grid point speeds. These methods seem to work well in the examples in the literature, and they do not suffer from the difficulties with conservation that a patched grid method has at the grid interfaces. However, controlling the grid skewness in these methods is very difficult, and will be more so in three dimensions. Our method does not have this drawback. Furthermore, in a moving grid point method, it is still desirable to have a mechanism to add new points if necessary. Recent work by Murman and Usab [5] presents a similar approach to grid adaption using nested grid patches, but does not include a procedure for automatic control of the error. We add here that