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

The writeable abstract for a Watcher class will be provided as a formal argument to various molecular simulations functions that record checks for it. More...

#include <watcher.h>

Collaboration diagram for stormm::review::WatcherWriter:

Public Member Functions

 WatcherWriter (int nsystem_in, int max_reports_in, float force_limit_in, float speed_limit_in, bool track_purge_in, int *nforce_in, int *nspeed_in, int *nrattle_in, int *nshake_in, float4 *forces_in, int *force_steps_in, int *force_stages_in, float4 *speeds_in, int *speed_steps_in, int *speed_stages_in, uint2 *rattle_fails_in, uint2 *shake_fails_in, float *rattle_ext_in, float *shake_ext_in, float *xvel_purge_in, float *yvel_purge_in, float *zvel_purge_in, float *xang_purge_in, float *yang_purge_in, float *zang_purge_in)
 As with other abstracts, the constructor takes a list of all relevant pointers and critical constants.
 
 WatcherWriter (const WatcherWriter &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.
 
 WatcherWriter (WatcherWriter &&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
 
int * nforce
 The number of forces observed to violate the stated bounds.
 
int * nspeed
 
int * nrattle
 
int * nshake
 
float4forces
 Cartesian components and atom indices of large forces.
 
int * force_steps
 Steps on which each large force is observed.
 
int * force_stages
 
float4speeds
 
int * speed_steps
 Steps on which each high speed is observed.
 
int * speed_stages
 
uint2rattle_fails
 Details of RATTLE group convergence failures.
 
uint2shake_fails
 Details of SHAKE group convergence failures.
 
float * rattle_ext
 
float * shake_ext
 The extent to which each SHAKE group failed to converge.
 
float * xvel_purge
 
float * yvel_purge
 A compendium of Cartesian Y velocity purges for each system.
 
float * zvel_purge
 A compendium of Cartesian Z velocity purges for each system.
 
float * xang_purge
 Angular momentum purges about the X axis for each system.
 
float * yang_purge
 Angular momentum purges about the Y axis for each system.
 
float * zang_purge
 Angular momentum purges about the Z axis for each system.
 

Detailed Description

The writeable abstract for a Watcher class will be provided as a formal argument to various molecular simulations functions that record checks for it.

Constructor & Destructor Documentation

◆ WatcherWriter()

stormm::review::WatcherWriter::WatcherWriter ( const WatcherWriter & 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

int* stormm::review::WatcherWriter::force_stages

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

◆ nrattle

int* stormm::review::WatcherWriter::nrattle

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

◆ nshake

int* stormm::review::WatcherWriter::nshake

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

◆ nspeed

int* stormm::review::WatcherWriter::nspeed

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

◆ rattle_ext

float* stormm::review::WatcherWriter::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::WatcherWriter::speed_limit

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

◆ speed_stages

int* stormm::review::WatcherWriter::speed_stages

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

◆ speeds

float4* stormm::review::WatcherWriter::speeds

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

◆ track_purge

const bool stormm::review::WatcherWriter::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

float* stormm::review::WatcherWriter::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: