gaussian_neighborhood_function Derived Type

type, public, extends(neighborhood_function_base) :: gaussian_neighborhood_function

Class that implements the Gaussian Neighborhood Function


Inherits

type~~gaussian_neighborhood_function~~InheritsGraph type~gaussian_neighborhood_function gaussian_neighborhood_function type~neighborhood_function_base neighborhood_function_base type~gaussian_neighborhood_function->type~neighborhood_function_base

Type-Bound Procedures

procedure, public :: create => create_gaussian_neighborhood

  • private subroutine create_gaussian_neighborhood(my_neigh_fn, parameters)

    Class Constructor

    Arguments

    Type IntentOptional Attributes Name
    class(gaussian_neighborhood_function) :: my_neigh_fn

    A gaussian_neighborhood_function object

    real(kind=wp), intent(in), dimension(:) :: parameters

    A real array with the paramters sigma and p

procedure, public :: calculate => calculate_gaussian_neighborhood

  • private function calculate_gaussian_neighborhood(my_neigh_fn, geometric_distance) result(n)

    Function to calculate the value of the Gaussian neighborhood

    Arguments

    Type IntentOptional Attributes Name
    class(gaussian_neighborhood_function) :: my_neigh_fn

    A gaussian_neighborhood_function object

    real(kind=wp), intent(inout) :: geometric_distance

    A real variable with the geometric distnace

    Return Value real(kind=wp)

    A real value

Source Code

    type,extends(neighborhood_function_base) :: gaussian_neighborhood_function
    !! Class that implements the Gaussian Neighborhood Function
        private
            real(kind=wp) :: sigma,p
        contains
            procedure,public :: create => create_gaussian_neighborhood
            procedure,public :: calculate => calculate_gaussian_neighborhood
    end type gaussian_neighborhood_function