STORMM Source Documentation
Loading...
Searching...
No Matches
stormm::review::ReportControls Class Reference

Collect output directives relating to the diagnostics file. While the output frequency is controlled by another namelist such as &minimize or &dynamics, STORMM is designed to handle many trajectories and thus the user is faced with a choice of what information to present and in what format. More...

#include <nml_report.h>

Public Member Functions

OutputSyntax getOutputSyntax () const
 Get the output format–what program will be able to read the results?
 
OutputScope getOutputScope () const
 Get the scope of results: will all systems' results be displayed, or some statistical reduction?
 
EnergySample getEnergySamplingMethod () const
 Get the type of energy or state variable sampling (mean, time series, final value).
 
const std::string & getUsername () const
 Get the method for grouping systems.
 
const std::string & getReportVariable () const
 Get the (base) name of the matrix variable under which to store results.
 
timeval getStartDate () const
 Get the date on which the program began to run, taken as the time that this ReportControls object was constructed.
 
const NamelistEmulator & getTranscript () const
 Get the original namelist emulator object as a transcript of the user input.
 
bool printWallTimeData () const
 Indicate whether to print timings data from the calculations.
 
int getReportFileWidth () const
 Get the requested width for the output file.
 
int getReportedQuantityCount () const
 Get the number of reported quantities.
 
const std::vector< StateVariable > & getReportedQuantities () const
 Get a list of the energy components to display. The actual results will depend on whether each energy term is applicable, i.e. kinetic energy will not be displayed in a conjugate gradient energy minimization run and the pressure will not be displayed for a system run in isolated boundary conditions.
 
int getSDFileDataRequestCount () const
 Get the number of data item requests for printing to an SD file.
 
const std::vector< MdlMolDataRequest > & getSDFileDataRequests () const
 Get a list of data items to be displayed in an SD file. Reported quantities can include topological parameters, components of the molecular mechanics energy for the structure, the username, and notes about external factors affecting the final conformation.
 
MdlMolDataRequest getSDFileDataRequest (int index) const
 Get a specific data request to be displayed in an SD file.
 
int getCommonPathLimit () const
 Get the maximum number of common paths to be permitted in system output.
 
int getCommonPathThreshold () const
 Get the required number of times a root path must be repeated in order to become one of the common paths used to condense output tables.
 
int getEnergyDecimalPlaces () const
 Get the number of decimal places with which to express energetic quantities in output tables. This precision will be consistent across all energy quantities.
 
double getOutlierSigmaFactor () const
 Get the multiplier for the number of standard deviations from the mean that defines an outlier among the energetics of a group of systems.
 
int getOutlierCount () const
 Get the maximum number of outliers to report (per group, or per the whole synthesis if there is no grouping) in terms of systems deviating from the expected (mean) energy.
 
void setUsername (const std::string &username_in)
 Set the username.
 
void setReportVariable (const std::string &report_variable_in)
 Set the name of the matrix variable for reporting state quantities (volume, temperature, energy components).
 
void setReportFileWidth (int report_file_width_in)
 Set the report file width.
 
void addDataItem (const MdlMolDataRequest &ask)
 Add a request for a data item in an output SD file.
 
void setCommonPathLimit (int common_path_limit_in)
 Set the upper limit on the number of common paths used to condense output files.
 
void setCommonPathThreshold (int common_path_threshold)
 Set the number of instances that a common root path must appear in order for it to be declared a common path with a token variable to condense output tables.
 
void setEnergyDecimalPlaces (int energy_decimal_places_in)
 Set the number of digits after the decimal with which to express energetic quantities.
 
 ReportControls (ExceptionResponse policy_in=ExceptionResponse::DIE, WrapTextSearch wrap=WrapTextSearch::NO)
 The constructor can prepare an object with default settings or read the corresponding namelist to accept user input.
 
 ReportControls (const TextFile &tf, int *start_line, bool *found_nml, ExceptionResponse policy_in=ExceptionResponse::DIE, WrapTextSearch wrap=WrapTextSearch::NO)
 
 ReportControls (const ReportControls &original)=default
 As with other control objects, copy and move constructors, plus copy and move assignment operators, can all take their default forms.
 
 ReportControls (ReportControls &&original)=default
 
ReportControlsoperator= (const ReportControls &original)=default
 
ReportControlsoperator= (ReportControls &&original)=default
 
void setOutputSyntax (OutputSyntax report_layout_in)
 Set the output format.
 
void setOutputSyntax (const std::string &report_layout_in)
 
void setOutputScope (OutputScope report_scope_in)
 Set the scope of the output.
 
void setOutputScope (const std::string &report_scope_in)
 
void setStateSampling (EnergySample state_sampling_in)
 Set the method for reporting samples of system state variables.
 
void setStateSampling (const std::string &state_sampling_in)
 
void setWallTimeData (bool preference)
 Set the preference for printing wall clock timings.
 
void setWallTimeData (const std::string &preference)
 
void setReportedQuantities (const std::string &quantity_in)
 Set the reported quantities that will be reported. Some quantities are obligatory: Total, total potential, and total kinetic energy; thermodynamic integration energy derivatives (if applicable); pressure and volume (if applicable); and overall system temperature. By default, all components of the molecular mechanics energy are also recorded, but requesting specific components through this function will disable all molecular mechanics energy components not specifically requested.
 
void setReportedQuantities (StateVariable quantities_in)
 
void setReportedQuantities (const std::vector< StateVariable > &quantities_in)
 

Detailed Description

Collect output directives relating to the diagnostics file. While the output frequency is controlled by another namelist such as &minimize or &dynamics, STORMM is designed to handle many trajectories and thus the user is faced with a choice of what information to present and in what format.

Constructor & Destructor Documentation

◆ ReportControls()

stormm::namelist::ReportControls::ReportControls ( ExceptionResponse policy_in = ExceptionResponse::DIE,
WrapTextSearch wrap = WrapTextSearch::NO )

The constructor can prepare an object with default settings or read the corresponding namelist to accept user input.

Parameters
tfInput file translated into RAM
start_lineLine of the input file to begin searching for the &minimize namelist
found_nmlIndicator of whether namelist input was found
policy_inRequested error handling behavior
wrapIndicate that the search for a &minimize namelist should carry on from the beginning of an input file if no such namelist is found starting from the original starting point

Member Function Documentation

◆ addDataItem()

void stormm::namelist::ReportControls::addDataItem ( const MdlMolDataRequest & ask)

Add a request for a data item in an output SD file.

Parameters
askThe requested data item

◆ getSDFileDataRequest()

MdlMolDataRequest stormm::namelist::ReportControls::getSDFileDataRequest ( int index) const

Get a specific data request to be displayed in an SD file.

Parameters
indexIndex of the request to produce

◆ getUsername()

const std::string & stormm::namelist::ReportControls::getUsername ( ) const

Get the method for grouping systems.

Get the name of the user responsible for generating the results.

◆ setCommonPathLimit()

void stormm::namelist::ReportControls::setCommonPathLimit ( int common_path_limit_in)

Set the upper limit on the number of common paths used to condense output files.

Parameters
common_path_limit_inThe maximum number of path shortcuts to create

◆ setCommonPathThreshold()

void stormm::namelist::ReportControls::setCommonPathThreshold ( int common_path_threshold)

Set the number of instances that a common root path must appear in order for it to be declared a common path with a token variable to condense output tables.

Parameters
common_path_thresholdThe number of path tree instances needed to create a shortcut

◆ setEnergyDecimalPlaces()

void stormm::namelist::ReportControls::setEnergyDecimalPlaces ( int energy_decimal_places_in)

Set the number of digits after the decimal with which to express energetic quantities.

Parameters
energy_decimal_places_inThe number of digits after each energy quantity decimal

◆ setOutputScope()

void stormm::namelist::ReportControls::setOutputScope ( OutputScope report_scope_in)

Set the scope of the output.

Overloaded:

  • Supply the enumeration directly
  • Supply a string that can be translated into the enumeration
Parameters
report_scope_inThe breadth of reporting for energies and the outcomes of other state variables across all systems in the calculation

◆ setOutputSyntax()

void stormm::namelist::ReportControls::setOutputSyntax ( OutputSyntax report_layout_in)

Set the output format.

Overloaded:

  • Supply the enumeration directly
  • Supply a string that can be translated into the enumeration
Parameters
report_layout_inThe chosen layout for the output report, setting up for parsing by one of several plotting programs that can be used in analysis

◆ setReportedQuantities()

void stormm::namelist::ReportControls::setReportedQuantities ( const std::string & quantity_in)

Set the reported quantities that will be reported. Some quantities are obligatory: Total, total potential, and total kinetic energy; thermodynamic integration energy derivatives (if applicable); pressure and volume (if applicable); and overall system temperature. By default, all components of the molecular mechanics energy are also recorded, but requesting specific components through this function will disable all molecular mechanics energy components not specifically requested.

Overloaded:

  • Accept a string to translate into some state variable code
  • Accept a single state variable to report
  • Accept a vector of state variables to report
Parameters
quantity_inString indicating some state variable
quantities_inA state variable quantity, or list of quantities, to include in the diagnostics report file

◆ setReportFileWidth()

void stormm::namelist::ReportControls::setReportFileWidth ( int report_file_width_in)

Set the report file width.

Parameters
report_file_width_inThe general width (in ASCII characters) of report output

◆ setReportVariable()

void stormm::namelist::ReportControls::setReportVariable ( const std::string & report_variable_in)

Set the name of the matrix variable for reporting state quantities (volume, temperature, energy components).

Parameters
report_variable_inThe base name of the matrix variable to use

◆ setStateSampling()

void stormm::namelist::ReportControls::setStateSampling ( EnergySample state_sampling_in)

Set the method for reporting samples of system state variables.

Overloaded:

  • Supply the enumeration directly.
  • Supply a string that can be translate into the enumeration.
Parameters
state_sampling_inThe sampling method to set

◆ setUsername()

void stormm::namelist::ReportControls::setUsername ( const std::string & username_in)

Set the username.

Parameters
username_inA username reported in the input file, not detected automatically from the environment (as is the default behavior)

◆ setWallTimeData()

void stormm::namelist::ReportControls::setWallTimeData ( bool preference)

Set the preference for printing wall clock timings.

Overloaded:

  • Accept a single state variable to report
  • Accept a vector of state variables to report
Parameters
preferenceSet to TRUE to activate printing of wall time results

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