lin_extrapolation_class Module

Houses linear Extrapolation object


Used by


Interfaces

interface

  • private pure module function extrapolateLin(this, input) result(res)

    Linear extrapolation

    Arguments

    Type IntentOptional Attributes Name
    class(LinExtrapolation), intent(in) :: this
    real(kind=rk), intent(in), dimension(:) :: input

    Return Value real(kind=rk)

interface

  • private module subroutine initLinExtrap(this, partObj, gridObj, numProc, haloWidth, geometryObj, leftBoundary, staggeredVars)

    Initialization routine for LinExtrapolation object

    Arguments

    Type IntentOptional Attributes Name
    class(LinExtrapolation), intent(inout) :: this
    type(Partition), intent(in) :: partObj
    type(Grid), intent(in) :: gridObj
    integer(kind=ik), intent(in) :: numProc
    integer(kind=ik), intent(in) :: haloWidth
    type(Geometry), intent(in) :: geometryObj
    logical, intent(in) :: leftBoundary
    logical, intent(in) :: staggeredVars

Derived Types

type, public, extends(Extrapolation) ::  LinExtrapolation

Linear extrapolation object

Components

Type Visibility Attributes Name Initial
logical, public :: userDefined = .false.

True only if user explicitly sets it to true

real(kind=rk), private :: linExterp

Linear extrapolation coefficient used

integer(kind=ik), public, dimension(2) :: exterpCoords

Coordinates used for extrapolation. Should be the indices of the data closest and second closest to the boundary, respectively.

Type-Bound Procedures

procedure, public :: isDefined => isDefinedObject
procedure, public :: makeDefined => makeDefinedObject
procedure, public :: makeUndefined => makeUndefinedObject
procedure, public :: setOnBoundary
procedure, public :: setLeftBoundary
procedure, public :: setStaggeredVars
procedure, public :: setHaloWidth
procedure, public :: hasBoundary
procedure, public :: isLeftBoundary
procedure, public :: usesStaggeredVars
procedure, public :: getHaloWidth
procedure, public :: init => initLinExtrap
procedure, public :: extrapolate => extrapolateLin