pqm_functions module reference¶
Piecewise quartic reconstruction functions.
Functions/Subroutines¶
Reconstruction by quartic polynomials within each cell. |
|
Limit the piecewise quartic method reconstruction. |
|
Reconstruction by parabolas within boundary cells. |
|
Reconstruction by parabolas within boundary cells. |
Detailed Description¶
Date of creation: 2008.06.06 L. White.
This module contains routines that handle one-dimensional finite volume reconstruction using the piecewise quartic method (PQM).
Function/Subroutine Documentation¶
-
subroutine
pqm_functions/
pqm_reconstruction
(N, h, u, edge_values, edge_slopes, ppoly_coef, h_neglect, answer_date)¶ 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 :: [in] Number of cells
h :: [in] cell widths (size N) [H]
u :: [in] cell averages (size N) [A]
edge_values :: [inout] Edge value of polynomial [A]
edge_slopes :: [inout] Edge slope of polynomial [A H-1]
ppoly_coef :: [inout] Coefficients of polynomial, mainly [A]
h_neglect :: [in] A negligibly small width for the purpose of cell reconstructions [H]
answer_date :: [in] The vintage of the expressions to use
- Call to:
- Called from:
mom_remapping::build_reconstructions_1d
regrid_interp::regridding_set_ppolys
-
subroutine
pqm_functions/
pqm_limiter
(N, h, u, edge_values, edge_slopes, h_neglect, answer_date)¶ Limit the piecewise quartic method reconstruction.
Standard PQM limiter (White & Adcroft, JCP 2008).
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 :: [in] Number of cells
h :: [in] cell widths (size N) [H]
u :: [in] cell average properties (size N) [A]
edge_values :: [inout] Potentially modified edge values [A]
edge_slopes :: [inout] Potentially modified edge slopes [A H-1]
h_neglect :: [in] A negligibly small width for the purpose of cell reconstructions [H]
answer_date :: [in] The vintage of the expressions to use
- Call to:
regrid_edge_values::bound_edge_values
regrid_edge_values::check_discontinuous_edge_values
hneglect_dflt
- Called from:
-
subroutine
pqm_functions/
pqm_boundary_extrapolation
(N, h, u, edge_values, 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 :: [in] Number of cells
h :: [in] cell widths (size N) [H]
u :: [in] cell averages (size N) [A]
edge_values :: [inout] Edge value of polynomial [A]
ppoly_coef :: [inout] Coefficients of polynomial, mainly [A]
-
subroutine
pqm_functions/
pqm_boundary_extrapolation_v1
(N, h, u, edge_values, edge_slopes, ppoly_coef, 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 :: [in] Number of cells
h :: [in] cell widths (size N) [H]
u :: [in] cell averages (size N) [A]
edge_values :: [inout] Edge value of polynomial [A]
edge_slopes :: [inout] Edge slope of polynomial [A H-1]
ppoly_coef :: [inout] Coefficients of polynomial, mainly [A]
h_neglect :: [in] A negligibly small width for the purpose of cell reconstructions [H]
- Call to:
hneglect_dflt
- Called from:
mom_remapping::build_reconstructions_1d
regrid_interp::regridding_set_ppolys