mus_particle_logging_module Module

Routines containing routines for logging particle data.



Interfaces

public interface logParticleData

  • public subroutine logParticleData_MEM(particle, plogUnit, myRank, t)

    Routine to log MEM particle data

    Arguments

    Type IntentOptional Attributes Name
    type(mus_particle_MEM_type), intent(in) :: particle
    integer, intent(in) :: plogUnit
    integer, intent(in) :: myRank
    real(kind=rk), intent(in) :: t
  • public subroutine logParticleData_DPS(particle, plogUnit, myRank, t)

    Routine to log DPS particle data

    Arguments

    Type IntentOptional Attributes Name
    type(mus_particle_DPS_type), intent(in) :: particle
    integer, intent(in) :: plogUnit
    integer, intent(in) :: myRank
    real(kind=rk), intent(in) :: t

Functions

public pure function getParticleLogUnit(particleID, myRank) result(plogUnit)

Routine to create a particle logunit based on particle ID

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: particleID
integer, intent(in) :: myRank

Return Value integer


Subroutines

public subroutine mus_particles_logdata_MEM(particleGroup, params, t)

Main routine to log particle data for MEM particles

Arguments

Type IntentOptional Attributes Name
type(mus_particle_group_type), intent(in) :: particleGroup

Particle group to log

type(mus_param_type), intent(in) :: params

Params for access to time control

real(kind=rk), optional :: t

Time to log. If not provided this will be taken from params

public subroutine mus_particles_logdata_DPS(particleGroup, params)

Main routine to log particle data for DPS particles

Arguments

Type IntentOptional Attributes Name
type(mus_particle_group_type), intent(in) :: particleGroup

Particle group to log

type(mus_param_type), intent(in) :: params

Params for access to time control

public subroutine logParticleData_MEM(particle, plogUnit, myRank, t)

Routine to log MEM particle data

Arguments

Type IntentOptional Attributes Name
type(mus_particle_MEM_type), intent(in) :: particle
integer, intent(in) :: plogUnit
integer, intent(in) :: myRank
real(kind=rk), intent(in) :: t

public subroutine logParticleData_DPS(particle, plogUnit, myRank, t)

Routine to log DPS particle data

Arguments

Type IntentOptional Attributes Name
type(mus_particle_DPS_type), intent(in) :: particle
integer, intent(in) :: plogUnit
integer, intent(in) :: myRank
real(kind=rk), intent(in) :: t

public subroutine initParticleLog_MEM(particleID, fileName, plogUnit, fileExists)

Routine to initialize MEM particle log file (e.g. print header)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: particleID
character(len=*), intent(in) :: fileName
integer, intent(in) :: plogUnit
logical, intent(in) :: fileExists

public subroutine initParticleLog_DPS(particleID, fileName, plogUnit, fileExists)

Routine to initialize DPS particle log file (e.g. print header)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: particleID
character(len=*), intent(in) :: fileName
integer, intent(in) :: plogUnit
logical, intent(in) :: fileExists

public subroutine closeParticleLog(plogUnit)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: plogUnit

public subroutine openLogFile(filename, plogUnit, isNewFile)

openLogFile opens a file with name fileName and returns the unit attached to it. It checks whether the file exists and if not

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(inout) :: filename
integer, intent(out) :: plogUnit
logical, intent(out), optional :: isNewFile

public subroutine generateElemListLine(dir, xstart, length, scheme, geometry, elemList)

Debugging routine to create a list of elements along a line so that the properties of these elements can be printed

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: dir(3)
real(kind=rk), intent(in) :: xstart(3)
real(kind=rk), intent(in) :: length
type(mus_scheme_type), intent(in) :: scheme

scheme

type(mus_geom_type), intent(in) :: geometry

geometry

type(dyn_intarray_type), intent(inout) :: elemList

public subroutine dumpdata(tracker, t, scheme, geometry, params)

Debugging routine to dump debug tracking data

Arguments

Type IntentOptional Attributes Name
type(mus_particle_debugtracking_type), intent(inout) :: tracker

Tracker containing file name and elemList

real(kind=rk), intent(in) :: t

Current simulation time

type(mus_scheme_type), intent(inout) :: scheme

Scheme for access to fluid data

type(mus_geom_type), intent(in) :: geometry

Geometry for access to tree

type(mus_param_type), intent(in) :: params

Params

public subroutine mus_log_fluid_momentum(scheme, lev, params, comm)

perform_particle_checks computes the total momentum of the fluid and particle phases and logs this to a file

Arguments

Type IntentOptional Attributes Name
type(mus_scheme_type), intent(inout) :: scheme

scheme for access to auxfield

integer, intent(in) :: lev

level in the octree to compute total momentum on

type(mus_param_type), intent(in) :: params

params for access to dt, dx, etc.

integer :: comm

MPI communicator

public subroutine mus_particles_log_total_momentum(particleGroup, scheme, lev, params, comm, t)

perform_particle_checks computes the total momentum of the fluid and particle phases and logs this to a file

Arguments

Type IntentOptional Attributes Name
type(mus_particle_group_type), intent(in) :: particleGroup

Particle group on this process

type(mus_scheme_type), intent(inout) :: scheme

scheme for access to auxfield

integer, intent(in) :: lev

level in the octree to compute total momentum on

type(mus_param_type), intent(in) :: params

params for access to dt, dx, etc.

integer :: comm

MPI communicator

real(kind=rk) :: t

Current (physical) time

public subroutine dump_particle_timing(proc_logUnit)

Routine to dump particle timing data

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: proc_logUnit

Unit to log local timing data to