observers_implementation Submodule

The implementation of the interfaces defined in observers.


Uses

  • module~~observers_implementation~~UsesGraph module~observers_implementation observers_implementation module~observers observers module~observers_implementation->module~observers module~grid_function grid_function module~observers->module~grid_function module~kinds kinds module~observers->module~kinds module~grid_function->module~kinds module~element element module~grid_function->module~element module~element->module~kinds

Contents


Functions

function generate_key(rad) result(key)

Function that generates a head key or heading to add to the top of output files for an observer.

Arguments

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

The radii for this observer.

Return Value character(len=:), allocatable

The return value is the key.


Module Procedures

module procedure robs_init module subroutine robs_init(this, rad, coord, object)

Arguments

Type IntentOptional AttributesName
class(robserver), 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 real grid function for which observations will be performed.

module procedure robs_extract module subroutine robs_extract(this)

Arguments

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

The routine is called on this observer.

module procedure robs_output module subroutine robs_output(this)

Arguments

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

The routine is called on this observer.

module procedure close_robserver module subroutine close_robserver(this)

Arguments

Type IntentOptional AttributesName
type(robserver) :: this

The real grid function observer to be finalized..

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

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.

module procedure cobs_extract module subroutine cobs_extract(this)

Arguments

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

The routine is called on this observer.

module procedure cobs_output module subroutine cobs_output(this)

Arguments

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

The routine is called on this observer.

module procedure close_cobserver module subroutine close_cobserver(this)

Arguments

Type IntentOptional AttributesName
type(cobserver) :: this

The routine is called on this observer.

module procedure find_indices module subroutine find_indices(rad, coord, elem_index, node_index)

Arguments

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

1d array containing the radii to locate.

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

A real grid function containing the coordinates.

integer(kind=ip), intent(out), dimension(:), allocatable:: elem_index

On output contains the indices of the elements containing the provided radii.

integer(kind=ip), intent(out), dimension(:), allocatable:: node_index

On output contains the indices of the nodes inside the elements containing the provided radii.