log_extrapolation_class Module

Houses logarithmic Extrapolation object


Used by


Interfaces

interface

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

    Logarithmic extrapolation

    Arguments

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

    Return Value real(kind=rk)

interface

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

    Initialization routine for LogExtrapolation object

    Arguments

    Type IntentOptional Attributes Name
    class(LogExtrapolation), 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
    logical, intent(in) :: interpolate

Derived Types

type, public, extends(Extrapolation) ::  LogExtrapolation

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 :: logExterp

Logarithmic extrapolation coefficient used

real(kind=rk), private :: linInterp

Linear interpolation coefficient used when interpolationg

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.

logical, private :: interpolate

Interpolates the second closest value to the boundary using the extrapolation coordinates instead of using the value Associated with the second coordinate

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 => initLogExtrap
procedure, public :: extrapolate => extrapolateLog