ppm_functions module reference

Provides functions used with the Piecewise-Parabolic-Method in the vertical ALE algorithm.

More…

Functions/Subroutines

ppm_reconstruction()

Builds quadratic polynomials coefficients from cell mean and edge values.

ppm_limiter_standard()

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.

ppm_monotonicity()

Adjusts edge values using the original monotonicity constraint (Colella & Woodward, JCP 1984) Based on hybgen_ppm_coefs.

ppm_boundary_extrapolation()

Reconstruction by parabolas within boundary cells.

Detailed Description

Provides functions used with the Piecewise-Parabolic-Method in the vertical ALE algorithm.

Function/Subroutine Documentation

subroutine ppm_functions/ppm_reconstruction(N, h, u, edge_values, ppoly_coef, h_neglect, answer_date)

Builds quadratic polynomials coefficients from cell mean and edge values.

Parameters:
  • n :: [in] Number of cells

  • h :: [in] Cell widths [H]

  • u :: [in] Cell averages in arbitrary coordinates [A]

  • edge_values :: [inout] Edge values [A]

  • ppoly_coef :: [inout] Polynomial coefficients, mainly [A]

  • h_neglect :: [in] A negligibly small width [H]

  • answer_date :: [in] The vintage of the expressions to use

Call to:

ppm_limiter_standard

Called from:

remapping_attic::remapping_attic_unit_tests mom_ale::ts_ppm_edge_values

subroutine ppm_functions/ppm_limiter_standard(N, h, u, edge_values, h_neglect, answer_date)

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.

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]

  • h_neglect :: [in] A negligibly small width [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

Called from:

ppm_reconstruction

subroutine ppm_functions/ppm_monotonicity(N, u, edge_values)

Adjusts edge values using the original monotonicity constraint (Colella & Woodward, JCP 1984) Based on hybgen_ppm_coefs.

Parameters:
  • n :: [in] Number of cells

  • u :: [in] cell average properties (size N) [A]

  • edge_values :: [inout] Potentially modified edge values [A]

Called from:

mom_remapping::build_reconstructions_1d regrid_interp::regridding_set_ppolys

subroutine ppm_functions/ppm_boundary_extrapolation(N, h, u, edge_values, ppoly_coef, h_neglect)

Reconstruction by parabolas within boundary cells.

Parameters:
  • n :: [in] Number of cells

  • h :: [in] cell widths (size N) [H]

  • u :: [in] cell averages (size N) [A]

  • edge_values :: [inout] edge values of piecewise polynomials [A]

  • ppoly_coef :: [inout] coefficients of piecewise polynomials, mainly [A]

  • h_neglect :: [in] A negligibly small width for the purpose of cell reconstructions [H]

Call to:

hneglect_dflt

Called from:

remapping_attic::remapping_attic_unit_tests mom_ale::ts_ppm_edge_values