extrapolation_abstract_class Module

Houses abstract Extrapolation object


Used by


Interfaces

interface

  • private pure module function hasBoundary(this) result(active)

    Getter for active

    Arguments

    Type IntentOptional Attributes Name
    class(Extrapolation), intent(in) :: this

    Return Value logical

interface

  • private pure module function isLeftBoundary(this) result(leftBoundary)

    Getter for leftBoundary

    Arguments

    Type IntentOptional Attributes Name
    class(Extrapolation), intent(in) :: this

    Return Value logical

interface

  • private pure module function usesStaggeredVars(this) result(staggeredVars)

    Getter for staggeredVars

    Arguments

    Type IntentOptional Attributes Name
    class(Extrapolation), intent(in) :: this

    Return Value logical

interface

  • private pure module function getHaloWidth(this) result(haloWidth)

    Getter for haloWidth

    Arguments

    Type IntentOptional Attributes Name
    class(Extrapolation), intent(in) :: this

    Return Value integer(kind=ik)

interface

  • private module subroutine setOnBoundary(this, partObj, gridObj, numProc)

    Check if this processor has the boundary corresponding with this extrapolation and set active

    Arguments

    Type IntentOptional Attributes Name
    class(Extrapolation), intent(inout) :: this
    type(Partition), intent(in) :: partObj
    type(Grid), intent(in) :: gridObj
    integer(kind=ik), intent(in) :: numProc

interface

  • private module subroutine setLeftBoundary(this, leftBoundary)

    Setter for leftBoundary

    Arguments

    Type IntentOptional Attributes Name
    class(Extrapolation), intent(inout) :: this
    logical, intent(in) :: leftBoundary

interface

  • private module subroutine setStaggeredVars(this, stagVars)

    Setter for staggeredVars

    Arguments

    Type IntentOptional Attributes Name
    class(Extrapolation), intent(inout) :: this
    logical, intent(in) :: stagVars

interface

  • private module subroutine setHaloWidth(this, haloWidth)

    Setter for haloWidth

    Arguments

    Type IntentOptional Attributes Name
    class(Extrapolation), intent(inout) :: this
    integer(kind=ik), intent(in) :: haloWidth

Abstract Interfaces

abstract interface

  • private pure function extrap(this, input) result(res)

    Abstract routine for extrapolation

    Arguments

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

    Return Value real(kind=rk)


Derived Types

type, public, abstract, extends(Object) ::  Extrapolation

Abstract Extrapolation object, responsible for extrapolating fluid quantites onto x grid boundaries

Components

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

True only if user explicitly sets it to true

logical, private :: leftBoundary = .false.
logical, private :: staggeredVars = .false.
logical, private :: active = .false.
integer(kind=ik), private :: haloWidth = 0

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(extrap), public, deferred :: extrapolate