STORMM Source Documentation
Loading...
Searching...
No Matches
stormm::review::WatcherReader Struct Reference

The read-only abstract for the Watcher class is available to make reports out of a Watcher object passed by const reference. More...

#include <watcher.h>

Collaboration diagram for stormm::review::WatcherReader:

Public Member Functions

 WatcherReader (int nsystem_in, int max_reports_in, float force_limit_in, float speed_limit_in, bool track_purge_in, const int *nforce_in, const int *nspeed_in, const int *nrattle_in, const int *nshake_in, const float4 *forces_in, const int *force_steps_in, const int *force_stages_in, const float4 *speeds_in, const int *speed_steps_in, const int *speed_stages_in, const uint2 *rattle_fails_in, const uint2 *shake_fails_in, const float *rattle_ext_in, const float *shake_ext_in, const float *xvel_purge_in, const float *yvel_purge_in, const float *zvel_purge_in, const float *xang_purge_in, const float *yang_purge_in, const float *zang_purge_in)
 As with other abstracts, the constructor takes a list of all relevant pointers and critical constants.
 
 WatcherReader (const WatcherWriter &w)
 
 WatcherReader (const WatcherReader &original)=default
 Like most abstracts, the presence of const members makes copy and move assignment impossible except in very recent C++ implementations. The copy and move constructors are legal and can be taken in their default forms.
 
 WatcherReader (WatcherReader &&original)=default
 

Public Attributes

const int nsystem
 The number of systems tracked by the Watcher object.
 
const int max_reports
 The maximum number of reports to present in any given category.
 
const float force_limit
 The largest force (magnitude) that will not be reported.
 
const float speed_limit
 
const bool track_purge
 
const int * nforce
 The number of forces observed to violate the stated bounds.
 
const int * nspeed
 
const int * nrattle
 
const int * nshake
 
const float4forces
 Cartesian components and atom indices of large forces.
 
const int * force_steps
 Steps on which each large force is observed.
 
const int * force_stages
 
const float4speeds
 
const int * speed_steps
 Steps on which each high speed is observed.
 
const int * speed_stages
 
const uint2rattle_fails
 Details of RATTLE group convergence failures.
 
const uint2shake_fails
 Details of SHAKE group convergence failures.
 
const float * rattle_ext
 
const float * shake_ext
 The extent to which each SHAKE group failed to converge.
 
const float * xvel_purge
 
const float * yvel_purge
 A compendium of Cartesian Y velocity purges for each system.
 
const float * zvel_purge
 A compendium of Cartesian Z velocity purges for each system.
 
const float * xang_purge
 Angular momentum purges about the X axis for each system.
 
const float * yang_purge
 Angular momentum purges about the Y axis for each system.
 
const float * zang_purge
 Angular momentum purges about the Z axis for each system.
 

Detailed Description

The read-only abstract for the Watcher class is available to make reports out of a Watcher object passed by const reference.

Constructor & Destructor Documentation

◆ WatcherReader()

stormm::review::WatcherReader::WatcherReader ( const WatcherReader & original)
default

Like most abstracts, the presence of const members makes copy and move assignment impossible except in very recent C++ implementations. The copy and move constructors are legal and can be taken in their default forms.

Parameters
originalThe original object to copy or move

Member Data Documentation

◆ force_stages

const int* stormm::review::WatcherReader::force_stages

Stages of the integration cycle (this is not the WHITE / BLACK coordinate cycle) in which each large force is observed

◆ nrattle

const int* stormm::review::WatcherReader::nrattle

The number of unconverged RATTLE executions observed over the course of the simulation

◆ nshake

const int* stormm::review::WatcherReader::nshake

The number of unconverged SHAKE executions observed over the course of the simulation

◆ nspeed

const int* stormm::review::WatcherReader::nspeed

The number of particles observed moving faster than has been deemed acceptable

◆ rattle_ext

const float* stormm::review::WatcherReader::rattle_ext

The extent to which each RATTLE group failed to converge. How far from the convergence tolerance did the iterations stop?

◆ speed_limit

const float stormm::review::WatcherReader::speed_limit

The largest particle speed (velocity magnitude) that will not be reported

◆ speed_stages

const int* stormm::review::WatcherReader::speed_stages

Stages of the integration cycle at which each high speed is observed

◆ speeds

const float4* stormm::review::WatcherReader::speeds

Cartesian components and atom indices of high speeds observed in the simulation

◆ track_purge

const bool stormm::review::WatcherReader::track_purge

Indicate whether the Watcher will also track momentum purges, up to a certain number for each system. This is using the Watcher in a capacity rather like the ScoreCard for recording energetic state variables.

◆ xvel_purge

const float* stormm::review::WatcherReader::xvel_purge

A compendium of Cartesian X velocity purges for each system, ordered as the first purge for systems 0, 1, ..., N (where N is the number of systems), the second purge for systems 0, 1, ..., N, up to the Mth purge for all systems


The documentation for this struct was generated from the following files: