UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Development and verification of the generic three dimensional finite volume solver Perera, M. K. Harsha

Abstract

The generic finite volume solver, ANSLib, has been extended to three dimensions and used to verify the accurate computation of three-dimensional advection-diffusion and Poisson problems. A simple cubic domain has been selected as the domain of interest. Over this domain a steady state solution is computed for each model problem with 2nd, 3rd and 4th order accurate schemes. Gauss quadrature is used to evaluate the flux integral to 2nd, 3rd and 4th order accuracy. The flux scheme makes use of the centred scheme to model the viscous term and a simple upwind scheme to model the advective fluxes. In both cases the existing k-exact least-square reconstruction code is used to obtain the solution at each Gauss integration point to 2nd, 3rd and 4th order accuracy. Newton-Krylov implicit time advance is used to obtain the steady state solution, implemented using the GMRES algorithm. Prior to subjecting ANSLib code to physical model problems, the code is first tested for the correct enforcement of boundary constraints, accurate implementation of the solution reconstruction, and flux integral evaluation in three dimensions. Relevant changes are made to the code to obtain the desired behaviour. Analytical solutions for the advection-diffusion and Poisson equations are derived to satisfy Dirichlet and Neumann boundary conditions; these are used to compute the resulting discretized error in numerically converged solutions. Accuracy assessment is completed through a comparison of error norms for different mesh sizes for each test problem. Localized errors on the domain for each problem at steady state are plotted. The efficiency of the code to obtain a numerical converged solution is reported.

Item Media

Item Citations and Data

Rights

For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use.