Monitor_t Derived Type

type, public :: Monitor_t


Components

Type Visibility Attributes Name Initial
character(len=LINE_LENGTH), public :: solution_file
integer, public :: no_of_probes
integer, public :: no_of_surfaceMonitors
integer, public :: no_of_volumeMonitors
integer, public :: no_of_loadBalancingMonitors
integer, public :: bufferLine
integer, public, allocatable :: iter(:)
integer, public :: dt_restriction
logical, public :: write_dt_restriction
real(kind=RP), public, allocatable :: t(:)
real(kind=RP), public, allocatable :: SolverSimuTime(:)
real(kind=RP), public, allocatable :: TotalSimuTime(:)
type(Residuals_t), public :: residuals
class(VolumeMonitor_t), public, allocatable :: volumeMonitors(:)
class(LoadBalancingMonitor_t), public, allocatable :: loadBalancingMonitors(:)
class(Probe_t), public, allocatable :: probes(:)
class(SurfaceMonitor_t), public, allocatable :: surfaceMonitors(:)
type(StatisticsMonitor_t), public :: stats

Type-Bound Procedures

procedure, public :: Construct => Monitors_Construct

  • private subroutine Monitors_Construct(Monitors, mesh, controlVariables)

    Arguments

    Type IntentOptional Attributes Name
    class(Monitor_t) :: Monitors
    class(HexMesh), intent(in) :: mesh
    class(FTValueDictionary), intent(in) :: controlVariables

procedure, public :: WriteLabel => Monitor_WriteLabel

  • private subroutine Monitor_WriteLabel(self)

    Arguments

    Type IntentOptional Attributes Name
    class(Monitor_t) :: self

procedure, public :: WriteUnderlines => Monitor_WriteUnderlines

  • private subroutine Monitor_WriteUnderlines(self)

    Arguments

    Type IntentOptional Attributes Name
    class(Monitor_t) :: self

procedure, public :: WriteValues => Monitor_WriteValues

  • private subroutine Monitor_WriteValues(self)

    Arguments

    Type IntentOptional Attributes Name
    class(Monitor_t) :: self

procedure, public :: UpdateValues => Monitor_UpdateValues

  • private subroutine Monitor_UpdateValues(self, mesh, t, iter, maxResiduals, Autosave, dt)

    Arguments

    Type IntentOptional Attributes Name
    class(Monitor_t) :: self
    class(HexMesh) :: mesh
    real(kind=RP) :: t
    integer :: iter
    real(kind=RP) :: maxResiduals(NCONS)
    logical :: Autosave
    real(kind=RP) :: dt

procedure, public :: WriteToFile => Monitor_WriteToFile

  • private subroutine Monitor_WriteToFile(self, mesh, force)

    Arguments

    Type IntentOptional Attributes Name
    class(Monitor_t) :: self
    class(HexMesh) :: mesh
    logical, optional :: force

procedure, public :: destruct => Monitor_Destruct

  • private subroutine Monitor_Destruct(self)

    Arguments

    Type IntentOptional Attributes Name
    class(Monitor_t) :: self

procedure, public :: copy => Monitor_Assign

  • private impure elemental subroutine Monitor_Assign(to, from)

    Arguments

    Type IntentOptional Attributes Name
    class(Monitor_t), intent(inout) :: to
    type(Monitor_t), intent(in) :: from

generic, public :: assignment(=) => copy

  • private impure elemental subroutine Monitor_Assign(to, from)

    Arguments

    Type IntentOptional Attributes Name
    class(Monitor_t), intent(inout) :: to
    type(Monitor_t), intent(in) :: from

Source Code

   type Monitor_t
      character(len=LINE_LENGTH)                 :: solution_file
      integer                                    :: no_of_probes
      integer                                    :: no_of_surfaceMonitors
      integer                                    :: no_of_volumeMonitors
      integer                                    :: no_of_loadBalancingMonitors
      integer                                    :: bufferLine
      integer                      , allocatable :: iter(:)
      integer                                    :: dt_restriction
      logical                                    :: write_dt_restriction
      real(kind=RP)                , allocatable :: t(:)
      real(kind=RP)                , allocatable :: SolverSimuTime(:)
      real(kind=RP)                , allocatable :: TotalSimuTime(:)
      type(Residuals_t)                          :: residuals
      class(VolumeMonitor_t)       , allocatable :: volumeMonitors(:)
      class(LoadBalancingMonitor_t), allocatable :: loadBalancingMonitors(:)
#ifdef FLOW
      class(Probe_t)               , allocatable :: probes(:)
#endif
#if defined(NAVIERSTOKES) || defined(INCNS)
      class(SurfaceMonitor_t)      , allocatable :: surfaceMonitors(:)
      type(StatisticsMonitor_t)                  :: stats
#endif
      contains
         procedure   :: Construct       => Monitors_Construct
         procedure   :: WriteLabel      => Monitor_WriteLabel
         procedure   :: WriteUnderlines => Monitor_WriteUnderlines
         procedure   :: WriteValues     => Monitor_WriteValues
         procedure   :: UpdateValues    => Monitor_UpdateValues
         procedure   :: WriteToFile     => Monitor_WriteToFile
         procedure   :: destruct        => Monitor_Destruct
         procedure   :: copy            => Monitor_Assign
         generic     :: assignment(=)   => copy
   end type Monitor_t