namespace pqm_functions

Overview

Piecewise quartic reconstruction functions. More…

namespace pqm_functions {

// global functions

subroutine, public pqm_reconstruction(
    N N,
    h h,
    u u,
    ppoly_E ppoly_E,
    ppoly_S ppoly_S,
    ppoly_coef ppoly_coef,
    h_neglect h_neglect
    );

subroutine, public pqm_boundary_extrapolation(N N, h h, u u, ppoly_E ppoly_E, ppoly_coef ppoly_coef);

subroutine, public pqm_boundary_extrapolation_v1(
    N N,
    h h,
    u u,
    ppoly_E ppoly_E,
    ppoly_S ppoly_S,
    ppoly_coef ppoly_coef,
    h_neglect h_neglect
    );

} // namespace pqm_functions

Detailed Documentation

Piecewise quartic reconstruction functions.

Date of creation: 2008.06.06 L. White

This module contains routines that handle one-dimensionnal finite volume reconstruction using the piecewise quartic method (PQM).

Global Functions

subroutine, public pqm_reconstruction(
    N N,
    h h,
    u u,
    ppoly_E ppoly_E,
    ppoly_S ppoly_S,
    ppoly_coef ppoly_coef,
    h_neglect h_neglect
    )

Reconstruction by quartic polynomials within each cell.

It is assumed that the dimension of ‘u’ is equal to the number of cells defining ‘grid’ and ‘ppoly’. No consistency check is performed.

Parameters:

n

Number of cells

h

cell widths (size N)

u

cell averages (size N)

ppoly_e

Edge value of polynomial, with the same units as u.

ppoly_s

Edge slope of polynomial, in the units of u over the units of h.

ppoly_coef

Coefficients of polynomial, mainly with the same units as u.

h_neglect

A negligibly small width for the purpose of cell reconstructions in the same units as h

subroutine, public pqm_boundary_extrapolation(
    N N,
    h h,
    u u,
    ppoly_E ppoly_E,
    ppoly_coef ppoly_coef
    )

Reconstruction by parabolas within boundary cells.

The following explanations apply to the left boundary cell. The same reasoning holds for the right boundary cell.

A parabola needs to be built in the cell and requires three degrees of freedom, which are the right edge value and slope and the cell average. The right edge values and slopes are taken to be that of the neighboring cell (i.e., the left edge value and slope of the neighboring cell). The resulting parabola is not necessarily monotonic and the traditional PPM limiter is used to modify one of the edge values in order to yield a monotonic parabola.

It is assumed that the size of the array ‘u’ is equal to the number of cells defining ‘grid’ and ‘ppoly’. No consistency check is performed here.

Parameters:

n

Number of cells

h

cell widths (size N)

u

cell averages (size N)

ppoly_e

Edge value of polynomial, with the same units as u.

ppoly_coef

Coefficients of polynomial, mainly with the same units as u.

subroutine, public pqm_boundary_extrapolation_v1(
    N N,
    h h,
    u u,
    ppoly_E ppoly_E,
    ppoly_S ppoly_S,
    ppoly_coef ppoly_coef,
    h_neglect h_neglect
    )

Reconstruction by parabolas within boundary cells.

The following explanations apply to the left boundary cell. The same reasoning holds for the right boundary cell.

A parabola needs to be built in the cell and requires three degrees of freedom, which are the right edge value and slope and the cell average. The right edge values and slopes are taken to be that of the neighboring cell (i.e., the left edge value and slope of the neighboring cell). The resulting parabola is not necessarily monotonic and the traditional PPM limiter is used to modify one of the edge values in order to yield a monotonic parabola.

It is assumed that the size of the array ‘u’ is equal to the number of cells defining ‘grid’ and ‘ppoly’. No consistency check is performed here.

Parameters:

n

Number of cells

h

cell widths (size N)

u

cell averages (size N)

ppoly_e

Edge value of polynomial, with the same units as u.

ppoly_s

Edge slope of polynomial, in the units of u over the units of h.

ppoly_coef

Coefficients of polynomial, mainly with the same units as u.

h_neglect

A negligibly small width for the purpose of cell reconstructions in the same units as h.