stencil Module


Contents


Derived Types

type, public ::  stencil_type

Components

Type Visibility Attributes Name Initial
integer, public, allocatable :: nodes(:)
real, public, allocatable :: coeffs(:)
real, public :: lower
real, public :: upper

Type-Bound Procedures

procedure , public :: apply => apply_stencil Function
procedure , public :: apply_along => apply_stencil_along Function
procedure , public :: get_lower Function
procedure , public :: get_upper Function
procedure , public :: is_equal Function
procedure , public :: flip Function
generic, public :: operator(*) => stencil_mul_real

Functions

public pure function is_equal(self, st, tol)

Arguments

Type IntentOptional Attributes Name
class(stencil_type), intent(in) :: self
type(stencil_type), intent(in) :: st
real, intent(in) :: tol

Return Value logical

public pure elemental function stencil_mul_real(self, a)

Arguments

Type IntentOptional Attributes Name
class(stencil_type), intent(in) :: self
real, intent(in) :: a

Return Value type(stencil_type)

public pure elemental function flip(self)

Arguments

Type IntentOptional Attributes Name
class(stencil_type), intent(in) :: self

Return Value type(stencil_type)

public pure elemental function get_upper(self)

Arguments

Type IntentOptional Attributes Name
class(stencil_type), intent(in) :: self

Return Value real

public pure elemental function get_lower(self)

Arguments

Type IntentOptional Attributes Name
class(stencil_type), intent(in) :: self

Return Value real

public pure function apply_stencil(self, f, ref)

Arguments

Type IntentOptional Attributes Name
class(stencil_type), intent(in) :: self
real, intent(in) :: f(:)
integer, intent(in) :: ref

Return Value real

public pure function apply_stencil_along(self, f)

Arguments

Type IntentOptional Attributes Name
class(stencil_type), intent(in) :: self
real, intent(in) :: f(:)

Return Value real, allocatable, (:)