normalization_abstract_class Module

Houses abstract object responsible for calculating and determining normalization constants


Used by


Interfaces

interface

  • private pure module function getNormalizationValue(this, name) result(val)

    Get normalization value associated with passed name

    Arguments

    Type IntentOptional Attributes Name
    class(Normalization), intent(in) :: this
    character(len=*), intent(in) :: name

    Return Value real(kind=rk)

interface

  • private pure module function getCustomNormalization(this, names, powers, multConst) result(val)

    Get normalization value calculated as the product of normalization values with passed names raised to corresponding powers and optionally multiplied by a constant

    Arguments

    Type IntentOptional Attributes Name
    class(Normalization), intent(in) :: this
    type(StringArray), intent(in), dimension(:) :: names
    real(kind=rk), intent(in), dimension(:) :: powers
    real(kind=rk), intent(in), optional :: multConst

    Return Value real(kind=rk)

interface

  • private pure module subroutine setNormalizationVals(this, normVals)

    Set normalization values array of normalization object

    Arguments

    Type IntentOptional Attributes Name
    class(Normalization), intent(inout) :: this
    type(NamedReal), intent(in), dimension(:) :: normVals

Derived Types

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

Abstract normalization object providing access routines

Components

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

True only if user explicitly sets it to true

type(NamedReal), private, allocatable, dimension(:) :: normalizationVals

Type-Bound Procedures

procedure, public :: isDefined => isDefinedObject
procedure, public :: makeDefined => makeDefinedObject
procedure, public :: makeUndefined => makeUndefinedObject
procedure, public :: getNormalizationValue
procedure, public :: getCustomNormalization
procedure, public :: setNormalizationVals