cobserver Derived Type

type, public, extends(observer) :: cobserver

An observer class that extracts information from complex grid functions.


Inherits

type~~cobserver~~InheritsGraph type~cobserver cobserver type~observer observer type~cobserver->type~observer type~cgf cgf type~cobserver->type~cgf p type~gf gf type~cgf->type~gf type~element_cdata element_cdata type~cgf->type~element_cdata elems type~element_data element_data type~element_cdata->type~element_data

Contents

Source Code


Components

TypeVisibility AttributesNameInitial
integer(kind=ip), public :: nradii

The number of radii the observer should observe at.

integer(kind=ip), public :: ioo_id

The file unit number this observer should use for output.

character(len=:), public, allocatable:: vname

The name of the observer.

real(kind=wp), public, dimension(:), allocatable:: radii

A 1d-array containing the radii that the observer should observe at. On allocation the size is nradii.

integer(kind=ip), public, dimension(:), allocatable:: elem_index

A 1d-array containing the index of all the elements that contains radii.

integer(kind=ip), public, dimension(:), allocatable:: node_index

A 1d-array containing the node index within all the elements that contains radii.

type(cgf), public, pointer:: p

A pointer to the complex grid function that observations will be performed on.

complex(kind=wp), public, dimension(:), allocatable:: extract_data

A 1d-array that will hold the extracted data. On allocation the size is nradii.


Finalization Procedures

final :: close_cobserver

The finalizer.


Type-Bound Procedures

procedure, public :: init => cobs_init

The initialization routine is provided by cobs_init.

  • interface

    public module subroutine cobs_init(this, rad, coord, object)

    The initialization routine for the complex grid function observer.

    Arguments

    Type IntentOptional AttributesName
    class(cobserver), intent(inout) :: this

    The observer that is being initialized.

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

    A 1d array of real values containing the radii for which observations will be performed.

    type(rgf), intent(in) :: coord

    A real grid function containing the coordinates.

    class(*), intent(in), target:: object

    The complex grid function for which observations will be performed.

procedure, public :: extract => cobs_extract

The extraction routine is provided by cobs_extract.

  • interface

    public module subroutine cobs_extract(this)

    The extraction routine for the complex grid function observer.

    Arguments

    Type IntentOptional AttributesName
    class(cobserver), intent(inout) :: this

    The routine is called on this observer.

procedure, public :: output => cobs_output

The output routine is provided by cobs_output.

  • interface

    public module subroutine cobs_output(this)

    The output routine for the complex grid function observer.

    Arguments

    Type IntentOptional AttributesName
    class(cobserver), intent(inout) :: this

    The routine is called on this observer.

Source Code

  type, extends(observer) :: cobserver
  !! An observer class that extracts information from complex grid functions.
    type(cgf), pointer :: p
    !! A pointer to the complex grid function that observations will be
    !! performed on.
    complex(wp), dimension(:), allocatable :: extract_data
    !! A 1d-array that will hold the extracted data. On allocation the size is
    !! [[cobserver:nradii]].
  contains
    procedure :: init => cobs_init
    !! The initialization routine is provided by [[cobs_init]].
    procedure :: extract => cobs_extract
    !! The extraction routine is provided by [[cobs_extract]].
    procedure :: output => cobs_output
    !! The output routine is provided by [[cobs_output]].
    final :: close_cobserver
    !! The finalizer.
  end type cobserver