recon1d_mplm_wa module reference

Monotonized Piecewise Linear Method 1D reconstruction.

More…

Data Types

mplm_wa

Limited Monotonic PLM reconstruction following White and Adcroft, 2008.

Functions/Subroutines

reconstruct()

Calculate a 1D PLM reconstructions based on h(:) and u(:)

plm_slope_wa()

Returns a limited PLM slope following White and Adcroft, 2008, in the same arbitrary units [A] as the input values.

plm_monotonized_slope()

Returns a limited PLM slope following Colella and Woodward 1984, in the same arbitrary units as the input values [A].

check_reconstruction()

Checks the MPLM_WA reconstruction for consistency.

unit_tests()

Runs PLM reconstruction unit tests and returns True for any fails, False otherwise.

Detailed Description

This implementation of PLM follows White and Adcroft, 2008 [87]. The PLM slopes are first limited following Colella and Woodward, 1984, but are then further limited to ensure the edge values moving across cell boundaries are monotone. The first and last cells are always limited to PCM.

This differs from recon1d_mplm_wa_poly() in the internally not polynomial representations are referred to. in the internally not polynomial representations are referred to.

Type Documentation

type recon1d_mplm_wa/mplm_wa

Limited Monotonic PLM reconstruction following White and Adcroft, 2008.

Type fields:
  • % reconstruct [procedure,private] :: Implementation of the MPLM_WA reconstruction.

  • % check_reconstruction [procedure,private] :: Implementation of check reconstruction for the MPLM_WA reconstruction.

  • % unit_tests [procedure,private] :: Implementation of unit tests for the MPLM_WA reconstruction.

  • % reconstruct_parent [procedure,private] :: Duplicate interface to

Function/Subroutine Documentation

subroutine recon1d_mplm_wa/reconstruct(this, h, u)

Calculate a 1D PLM reconstructions based on h(:) and u(:)

Parameters:
  • this :: [inout] This reconstruction

  • h :: [in] Grid spacing (thickness) [typically H]

  • u :: [in] Cell mean values [A]

Call to:

plm_monotonized_slope plm_slope_wa

function recon1d_mplm_wa/plm_slope_wa(h_l, h_c, h_r, h_neglect, u_l, u_c, u_r) [pure]

Returns a limited PLM slope following White and Adcroft, 2008, in the same arbitrary units [A] as the input values. Note that this is not the same as the Colella and Woodward method.

Parameters:
  • h_l :: [in] Thickness of left cell in arbitrary grid thickness units [H]

  • h_c :: [in] Thickness of center cell in arbitrary grid thickness units [H]

  • h_r :: [in] Thickness of right cell in arbitrary grid thickness units [H]

  • h_neglect :: [in] A negligible thickness [H]

  • u_l :: [in] Value of left cell in arbitrary units [A]

  • u_c :: [in] Value of center cell in arbitrary units [A]

  • u_r :: [in] Value of right cell in arbitrary units [A]

Called from:

reconstruct

function recon1d_mplm_wa/plm_monotonized_slope(u_l, u_c, u_r, s_l, s_c, s_r) [pure]

Returns a limited PLM slope following Colella and Woodward 1984, in the same arbitrary units as the input values [A].

Parameters:
  • u_l :: [in] Value of left cell in arbitrary units [A]

  • u_c :: [in] Value of center cell in arbitrary units [A]

  • u_r :: [in] Value of right cell in arbitrary units [A]

  • s_l :: [in] PLM slope of left cell [A]

  • s_c :: [in] PLM slope of center cell [A]

  • s_r :: [in] PLM slope of right cell [A]

Called from:

reconstruct

function recon1d_mplm_wa/check_reconstruction(this, h, u) [logical]

Checks the MPLM_WA reconstruction for consistency.

Parameters:
  • this :: [in] This reconstruction

  • h :: [in] Grid spacing (thickness) [typically H]

  • u :: [in] Cell mean values [A]

function recon1d_mplm_wa/unit_tests(this, verbose, stdout, stderr) [logical]

Runs PLM reconstruction unit tests and returns True for any fails, False otherwise.

Parameters:
  • this :: [inout] This reconstruction

  • verbose :: [in] True, if verbose

  • stdout :: [in] I/O channel for stdout

  • stderr :: [in] I/O channel for stderr