An observer class that extracts information from complex grid functions.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
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. |
The initialization routine is provided by cobs_init.
The initialization routine for the complex grid function observer.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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. |
The extraction routine is provided by cobs_extract.
The extraction routine for the complex grid function observer.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(cobserver), | intent(inout) | :: | this | The routine is called on this observer. |
The output routine is provided by cobs_output.
The output routine for the complex grid function observer.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(cobserver), | intent(inout) | :: | this | The routine is called on this observer. |
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