MOM6
|
Provides functions used with the Piecewise-Parabolic-Method in the vertical ALE algorithm.
Functions/Subroutines | |
subroutine, public | ppm_reconstruction (N, h, u, ppoly_E, ppoly_coef, h_neglect) |
Builds quadratic polynomials coefficients from cell mean and edge values. More... | |
subroutine | ppm_limiter_standard (N, h, u, ppoly_E, h_neglect) |
Adjusts edge values using the standard PPM limiter (Colella & Woodward, JCP 1984) after first checking that the edge values are bounded by neighbors cell averages and that the edge values are monotonic between cell averages. More... | |
subroutine, public | ppm_boundary_extrapolation (N, h, u, ppoly_E, ppoly_coef, h_neglect) |
Reconstruction by parabolas within boundary cells. More... | |
Variables | |
real, parameter | hneglect_dflt = 1.E-30 |
A tiny width that is so small that adding it to cell widths does not change the value due to a computational representation. It is used to avoid division by zero. More... | |
subroutine, public ppm_functions::ppm_boundary_extrapolation | ( | integer, intent(in) | N, |
real, dimension(:), intent(in) | h, | ||
real, dimension(:), intent(in) | u, | ||
real, dimension(:,:), intent(inout) | ppoly_E, | ||
real, dimension(:,:), intent(inout) | ppoly_coef, | ||
real, intent(in), optional | h_neglect | ||
) |
Reconstruction by parabolas within boundary cells.
[in] | n | Number of cells |
[in] | h | cell widths (size N) |
[in] | u | cell averages (size N) |
[in,out] | ppoly_e | edge values of piecewise polynomials, with the same units as u. |
[in,out] | ppoly_coef | coefficients of piecewise polynomials, mainly with the same units as u. |
[in] | h_neglect | A negligibly small width for the purpose of cell reconstructions in the same units as h. |
Definition at line 134 of file PPM_functions.F90.
References hneglect_dflt.
Referenced by mom_remapping::build_reconstructions_1d(), mom_ale::pressure_gradient_ppm(), regrid_interp::regridding_set_ppolys(), and mom_remapping::remapping_unit_tests().
|
private |
Adjusts edge values using the standard PPM limiter (Colella & Woodward, JCP 1984) after first checking that the edge values are bounded by neighbors cell averages and that the edge values are monotonic between cell averages.
[in] | n | Number of cells |
[in] | h | cell widths (size N) |
[in] | u | cell average properties (size N) |
[in,out] | ppoly_e | Potentially modified edge values, with the same units as u. |
[in] | h_neglect | A negligibly small width in the same units as h. |
Definition at line 64 of file PPM_functions.F90.
References regrid_edge_values::bound_edge_values(), and regrid_edge_values::check_discontinuous_edge_values().
Referenced by ppm_reconstruction().
subroutine, public ppm_functions::ppm_reconstruction | ( | integer, intent(in) | N, |
real, dimension(n), intent(in) | h, | ||
real, dimension(n), intent(in) | u, | ||
real, dimension(n,2), intent(inout) | ppoly_E, | ||
real, dimension(n,3), intent(inout) | ppoly_coef, | ||
real, intent(in), optional | h_neglect | ||
) |
Builds quadratic polynomials coefficients from cell mean and edge values.
[in] | n | Number of cells |
[in] | h | Cell widths |
[in] | u | Cell averages |
[in,out] | ppoly_e | Edge values, with the same units as u. |
[in,out] | ppoly_coef | Polynomial coefficients, mainly with the same units as u. |
[in] | h_neglect | A negligibly small width in the same units as h. |
Definition at line 29 of file PPM_functions.F90.
References ppm_limiter_standard().
Referenced by mom_remapping::build_reconstructions_1d(), mom_ale::pressure_gradient_ppm(), regrid_interp::regridding_set_ppolys(), and mom_remapping::remapping_unit_tests().
|
private |
A tiny width that is so small that adding it to cell widths does not change the value due to a computational representation. It is used to avoid division by zero.
Definition at line 23 of file PPM_functions.F90.
Referenced by ppm_boundary_extrapolation().