recon1d_ppm_h4_2018 module reference

Piecewise Parabolic Method 1D reconstruction with h4 interpolation for edges (2018 version)

More…

Data Types

ppm_h4_2018

PPM reconstruction following White and Adcroft, 2008.

Functions/Subroutines

reconstruct()

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

unit_tests()

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

Detailed Description

This implementation of PPM follows White and Adcroft 2008 [87], with cells resorting to PCM for extrema including first and last cells in column. This scheme differs from Colella and Woodward, 1984 [17], in the method of first estimating the fourth-order accurate edge values. This uses numerical expressions that predate a 2019 refactoring. The first and last cells are always limited to PCM.

Type Documentation

type  recon1d_ppm_h4_2018/ppm_h4_2018

PPM reconstruction following White and Adcroft, 2008.

Type fields:
  • % reconstruct :: procedure, private Implementation of the PPM_H4_2018 reconstruction.

  • % unit_tests :: procedure, private Implementation of unit tests for the PPM_H4_2018 reconstruction.

[source]

Function/Subroutine Documentation

subroutine recon1d_ppm_h4_2018/reconstruct(this, h, u)

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

Parameters:
  • this :: this [inout] This reconstruction

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

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

Call to:

regrid_edge_values::bound_edge_values regrid_edge_values::check_discontinuous_edge_values regrid_solvers::solve_linear_system

[source]

function  recon1d_ppm_h4_2018/unit_tests(this, verbose, stdout, stderr)

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

Parameters:
  • this :: this [inout] This reconstruction

  • verbose :: verbose [in] True, if verbose

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

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

[source]

[source]