m_monitoring Module

Computes and logs global scalar monitoring quantities to a file.

Tracks the following quantities:

  • Enstrophy:
  • Divergence: and mean (divergence-free check)

Uses

  • module~~m_monitoring~~UsesGraph module~m_monitoring m_monitoring module~m_common m_common module~m_monitoring->module~m_common module~m_field m_field module~m_monitoring->module~m_field module~m_scalar_series m_scalar_series module~m_monitoring->module~m_scalar_series module~m_solver m_solver module~m_monitoring->module~m_solver mpi mpi module~m_common->mpi module~m_field->module~m_common module~m_scalar_series->module~m_common module~m_solver->module~m_common module~m_solver->module~m_field iso_fortran_env iso_fortran_env module~m_solver->iso_fortran_env module~m_allocator m_allocator module~m_solver->module~m_allocator module~m_base_backend m_base_backend module~m_solver->module~m_base_backend module~m_config m_config module~m_solver->module~m_config module~m_ibm m_ibm module~m_solver->module~m_ibm module~m_mesh m_mesh module~m_solver->module~m_mesh module~m_tdsops m_tdsops module~m_solver->module~m_tdsops module~m_time_integrator m_time_integrator module~m_solver->module~m_time_integrator module~m_vector_calculus m_vector_calculus module~m_solver->module~m_vector_calculus module~m_solver->mpi module~m_allocator->module~m_common module~m_allocator->module~m_field module~m_allocator->iso_fortran_env module~m_base_backend->module~m_common module~m_base_backend->module~m_field module~m_base_backend->module~m_allocator module~m_base_backend->module~m_mesh module~m_base_backend->module~m_tdsops module~m_base_backend->mpi module~m_poisson_fft m_poisson_fft module~m_base_backend->module~m_poisson_fft module~m_config->module~m_common module~m_config->iso_fortran_env module~m_ibm->module~m_common module~m_ibm->module~m_field module~m_ibm->iso_fortran_env module~m_ibm->module~m_allocator module~m_ibm->module~m_base_backend module~m_ibm->module~m_mesh module~m_ibm->mpi module~m_io_session m_io_session module~m_ibm->module~m_io_session module~m_mesh->module~m_common module~m_mesh->module~m_field module~m_mesh->iso_fortran_env module~m_mesh->mpi module~m_mesh_content m_mesh_content module~m_mesh->module~m_mesh_content module~m_tdsops->module~m_common module~m_tdsops->iso_fortran_env module~m_time_integrator->module~m_common module~m_time_integrator->module~m_field module~m_time_integrator->module~m_allocator module~m_time_integrator->module~m_base_backend module~m_vector_calculus->module~m_common module~m_vector_calculus->module~m_field module~m_vector_calculus->iso_fortran_env module~m_vector_calculus->module~m_allocator module~m_vector_calculus->module~m_base_backend module~m_vector_calculus->module~m_tdsops module~m_io_session->module~m_common module~m_io_backend m_io_backend module~m_io_session->module~m_io_backend module~m_io_base m_io_base module~m_io_session->module~m_io_base module~m_mesh_content->module~m_common module~m_poisson_fft->module~m_common module~m_poisson_fft->module~m_field module~m_poisson_fft->module~m_mesh module~m_poisson_fft->module~m_tdsops module~m_io_backend->module~m_common module~m_io_backend->iso_fortran_env module~m_io_backend->module~m_io_base module~m_io_base->module~m_common

Used by

  • module~~m_monitoring~~UsedByGraph module~m_monitoring m_monitoring module~m_base_case m_base_case module~m_base_case->module~m_monitoring module~m_case_channel m_case_channel module~m_case_channel->module~m_base_case module~m_case_cylinder m_case_cylinder module~m_case_cylinder->module~m_base_case module~m_case_generic m_case_generic module~m_case_generic->module~m_base_case module~m_case_tgv m_case_tgv module~m_case_tgv->module~m_base_case program~xcompact xcompact program~xcompact->module~m_base_case program~xcompact->module~m_case_channel program~xcompact->module~m_case_cylinder program~xcompact->module~m_case_generic program~xcompact->module~m_case_tgv

Derived Types

type, public ::  monitoring_t

Type-Bound Procedures

procedure, public :: init
procedure, public :: write_step
procedure, public :: finalise

Subroutines

public subroutine init(self, solver, append)

Arguments

Type IntentOptional Attributes Name
class(monitoring_t), intent(inout) :: self
class(solver_t), intent(in) :: solver
logical, intent(in), optional :: append

public subroutine write_step(self, solver, t, u, v, w)

Computes and reports monitoring quantities, writing to both stdout and the monitoring file. Divergence: max and mean (should be ~0)

Arguments

Type IntentOptional Attributes Name
class(monitoring_t), intent(inout) :: self
class(solver_t), intent(inout) :: solver
real(kind=dp), intent(in) :: t
class(field_t), intent(in) :: u
class(field_t), intent(in) :: v
class(field_t), intent(in) :: w

public subroutine finalise(self)

Arguments

Type IntentOptional Attributes Name
class(monitoring_t), intent(inout) :: self