| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | ID | ||||
| real(kind=RP), | public, | dimension(NDIM) | :: | x | |||
| integer, | public | :: | numberOfFaces | ||||
| class(ObserverSourcePairClass), | public, | dimension(:), allocatable | :: | sourcePair | |||
| real(kind=RP), | public, | dimension(:,:), allocatable | :: | Pac | |||
| real(kind=RP), | public | :: | tDelay | ||||
| real(kind=RP), | public | :: | tDelayMax | ||||
| logical, | public | :: | active | ||||
| character(len=STR_LEN_OBSERVER), | public | :: | observerName | ||||
| character(len=STR_LEN_OBSERVER), | public | :: | fileName |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ObserverClass) | :: | self | ||||
| class(Zone_t), | intent(in) | :: | sourceZone | |||
| class(HexMesh), | intent(in) | :: | mesh | |||
| integer, | intent(in) | :: | ID | |||
| character(len=*), | intent(in) | :: | solution_file | |||
| logical, | intent(in) | :: | FirstCall | |||
| logical, | intent(in) | :: | interpolate | |||
| integer, | intent(in) | :: | totalNumberOfFaces | |||
| integer, | intent(in), | dimension(:) | :: | elementSide |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ObserverClass), | intent(inout) | :: | self |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ObserverClass) | :: | self | ||||
| class(HexMesh), | intent(in) | :: | mesh | |||
| logical, | intent(in) | :: | isSolid | |||
| integer, | intent(in), | optional | :: | bufferPosition | ||
| logical, | intent(in) | :: | interpolate |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ObserverClass) | :: | self | ||||
| integer, | dimension(:) | :: | iter | |||
| real(kind=RP), | dimension(:) | :: | tsource | |||
| integer | :: | no_of_lines |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ObserverClass) | :: | self | ||||
| integer, | intent(in) | :: | totalNumberOfFaces |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ObserverClass) | :: | self | ||||
| real(kind=RP), | intent(in), | dimension(:) | :: | tsource | ||
| integer, | intent(in) | :: | no_of_lines |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ObserverClass) | :: | self | ||||
| integer, | intent(in), | dimension(self % numberOfFaces) | :: | nDiscard | ||
| integer, | intent(in) | :: | N | |||
| integer, | intent(in) | :: | startIndex | |||
| integer, | intent(in) | :: | no_of_lines |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ObserverClass) | :: | self | ||||
| class(HexMesh), | intent(in) | :: | mesh | |||
| integer, | intent(in) | :: | bufferPosition | |||
| logical, | intent(in) | :: | isSolid | |||
| real(kind=RP), | intent(in) | :: | tsource |
type ObserverClass integer :: ID real(kind=RP), dimension(NDIM) :: x ! position of the observer at global coordinates integer :: numberOfFaces class(ObserverSourcePairClass), dimension(:), allocatable :: sourcePair real(kind=RP), dimension(:,:), allocatable :: Pac ! acoustic pressure, two components and the total (sum) real(kind=RP) :: tDelay real(kind=RP) :: tDelayMax logical :: active character(len=STR_LEN_OBSERVER) :: observerName character(len=STR_LEN_OBSERVER) :: fileName contains procedure :: construct => ObserverConstruct procedure :: destruct => ObserverDestruct procedure :: update => ObserverUpdate procedure :: writeToFile => ObserverWriteToFile procedure :: updateTdelay => ObserverUpdateTdelay procedure :: interpolateSol => ObserverInterpolateSol procedure :: sumIntegrals => ObserverSumIntegrals procedure :: updateOneStep => ObserverUpdateOneStep end type ObserverClass