STORMM Source Documentation
|
Provide the means to read a series of topology and coordinate files, then organize them into corresponding lists of AtomGraph and PhaseSpace objects. The object can also export coordinates in other formats. Error checking is provided to abort the (test) program or issue a warning, and the object can signal whether dependent tests should be run or aborted. More...
#include <test_system_manager.h>
Public Member Functions | |
std::string | getTopologyBasePath () const |
Return the base path for topologies. | |
std::string | getCoordinateBasePath () const |
Return the base path for coordinates. | |
std::string | getTopologyExtension () const |
Return the extension for topologies. | |
std::string | getCoordinateExtension () const |
Return the extension for coordinates. | |
std::string | getTopologyFile (int index) const |
Return the full name of a topology file according to some index in the list. | |
std::string | getCoordinateFile (int index) const |
Return the full name of a coordinate file according to some index in the list. | |
CoordinateFrame | exportCoordinateFrame (int index) const |
Get a copy of the coordinates for one system as a CoordinateFrame object. | |
PhaseSpace | exportPhaseSpace (int index) const |
Get a copy of the coordinates for one system as a PhaseSpace object. | |
AtomGraph | exportAtomGraph (int index) const |
Export the topology for one system. | |
template<typename T> | |
CoordinateSeries< T > | exportCoordinateSeries (const int base_system, int frame_count, double perturbation_sigma=0.0, int xrs_seed=915083, int scale_bits=0) const |
Get a coordinate series out of the object, based on one system from its repository. | |
TestSystemManager () | |
The constructor takes lists of topologies, then lists of coordinates, with a one-to-one correspondence of files in each list. | |
TestSystemManager (const std::string &topology_base_in, const std::string &topology_extn_in, const std::vector< std::string > &topology_names_in, const std::string &coordinate_base_in, const std::string &coordinate_extn_in, const std::vector< std::string > &coordinate_names_in, ExceptionResponse policy=ExceptionResponse::WARN, TestPriority fault_response_in=TestPriority::ABORT, TestPriority all_go_response_in=TestPriority::CRITICAL, const DynamicsControls &dyncon=DynamicsControls()) | |
TestSystemManager (const std::string &topology_base_in, const std::string &topology_extn_in, const std::vector< std::string > &topology_names_in, const std::string &coordinate_base_in, const std::string &coordinate_extn_in, const std::vector< std::string > &coordinate_names_in, const DynamicsControls &dyncon, ExceptionResponse policy=ExceptionResponse::WARN) | |
TestSystemManager (const std::string &topology_base_in, const std::vector< std::string > &topology_names_in, const std::string &coordinate_base_in, const std::vector< std::string > &coordinate_names_in, ExceptionResponse policy=ExceptionResponse::WARN, TestPriority fault_response_in=TestPriority::ABORT, TestPriority all_go_response_in=TestPriority::CRITICAL, const DynamicsControls &dyncon=DynamicsControls()) | |
TestSystemManager (const std::string &topology_base_in, const std::vector< std::string > &topology_names_in, const std::string &coordinate_base_in, const std::vector< std::string > &coordinate_names_in, const DynamicsControls &dyncon, ExceptionResponse policy=ExceptionResponse::WARN) | |
TestSystemManager (const std::vector< std::string > &topology_names_in, const std::vector< std::string > &coordinate_names_in, ExceptionResponse policy=ExceptionResponse::WARN, TestPriority fault_response_in=TestPriority::ABORT, TestPriority all_go_response_in=TestPriority::CRITICAL, const DynamicsControls &dyncon=DynamicsControls()) | |
TestSystemManager (const std::vector< std::string > &topology_names_in, const std::vector< std::string > &coordinate_names_in, const DynamicsControls &dyncon, ExceptionResponse policy=ExceptionResponse::WARN) | |
int | getSystemCount () const |
Get the number of systems in the object. | |
int | getSystemCount (UnitCellType query_bc) const |
int | getSystemCount (const std::vector< UnitCellType > &query_bc) const |
std::vector< int > | getQualifyingSystems (UnitCellType uc_choice) const |
Get a list of all topologies meeting a specific unit cell type. | |
std::vector< int > | getQualifyingSystems (const std::vector< UnitCellType > &uc_choice) const |
std::vector< int > | getQualifyingSystems (int critical_atom_count, RelationalOperator rel) const |
TestPriority | getTestingStatus () const |
Get the planned course of action for subsequent tests in the event that a file is non-existent, or for any reason unreadable. | |
TestPriority | getTestingStatus (int index) const |
TestPriority | getTestingStatus (const std::vector< int > &indices) const |
const PhaseSpace & | viewCoordinates (int index) |
Get a const reference to the coordinates for one or more systems. | |
const std::vector< PhaseSpace > & | viewCoordinates () |
const AtomGraph & | getTopologyReference (int index) const |
Get a const reference to the topology for one or more systems. | |
const std::vector< AtomGraph > & | getTopologyReference () const |
AtomGraph * | getTopologyPointer (int index) |
Get a pointer to one or more topologies. | |
const AtomGraph * | getTopologyPointer (int index) const |
std::vector< AtomGraph * > | getTopologyPointer () |
const std::vector< AtomGraph * > | getTopologyPointer () const |
PhaseSpaceSynthesis | exportPhaseSpaceSynthesis (const std::vector< int > &index_key, double perturbation_sigma=0.0, int xrs_seed=7108262, int scale_bits=40, int vel_bits=default_velocity_scale_bits, int frc_bits=default_force_scale_bits) const |
Get a synthesis of coordinates with fixed-precision storage ready for positions, velocities, and forces. | |
PhaseSpaceSynthesis | exportPhaseSpaceSynthesis (UnitCellType uc_choice) const |
PhaseSpaceSynthesis | exportPhaseSpaceSynthesis (const std::vector< UnitCellType > &uc_choice) const |
AtomGraphSynthesis | exportAtomGraphSynthesis (const std::vector< int > &index_key, ExceptionResponse policy=ExceptionResponse::SILENT, const GpuDetails &gpu=null_gpu) const |
Get a synthesis of topologies based on a series of system indices from the manager. | |
AtomGraphSynthesis | exportAtomGraphSynthesis (UnitCellType uc_choice, ExceptionResponse policy=ExceptionResponse::SILENT, const GpuDetails &gpu=null_gpu) const |
AtomGraphSynthesis | exportAtomGraphSynthesis (const std::vector< UnitCellType > &uc_choice, ExceptionResponse policy=ExceptionResponse::SILENT, const GpuDetails &gpu=null_gpu) const |
SystemCache | exportSystemCache (const std::vector< int > &index_key, const TestEnvironment &oe, const std::vector< std::string > &x_name_list={}, const std::vector< CoordinateFileKind > &x_type_list={}, const std::vector< std::string > &r_name_list={}, const std::vector< CoordinateFileKind > &r_type_list={}, const std::vector< std::string > &label_list={}) |
Produce a SystemCache based on a compilation of the systems read into the manager. | |
SystemCache | exportSystemCache (const std::string &fnml) |
Provide the means to read a series of topology and coordinate files, then organize them into corresponding lists of AtomGraph and PhaseSpace objects. The object can also export coordinates in other formats. Error checking is provided to abort the (test) program or issue a warning, and the object can signal whether dependent tests should be run or aborted.
stormm::testing::TestSystemManager::TestSystemManager | ( | ) |
The constructor takes lists of topologies, then lists of coordinates, with a one-to-one correspondence of files in each list.
Overloaded:
AtomGraph stormm::testing::TestSystemManager::exportAtomGraph | ( | int | index | ) | const |
Export the topology for one system.
index | The system of interest. |
AtomGraphSynthesis stormm::testing::TestSystemManager::exportAtomGraphSynthesis | ( | const std::vector< int > & | index_key, |
ExceptionResponse | policy = ExceptionResponse::SILENT, | ||
const GpuDetails & | gpu = null_gpu ) const |
Get a synthesis of topologies based on a series of system indices from the manager.
Overloaded:
Descriptions of parameters follow from getPhaseSpaceSynthesis() above, with the addition of:
policy | Specify whether to report abnormal input. In most cases, the AtomGraphSynthesis will report being given a longer list of topologies than was required (unused topologies). For most testing purposes, this is benign, and should not be raised to the end user's attention. |
gpu | Details of the GPU that will handle the workload (this helps in laying out valence work units) |
CoordinateFrame stormm::testing::TestSystemManager::exportCoordinateFrame | ( | int | index | ) | const |
Get a copy of the coordinates for one system as a CoordinateFrame object.
index | The system of interest |
CoordinateSeries< T > stormm::testing::TestSystemManager::exportCoordinateSeries | ( | const int | base_system, |
int | frame_count, | ||
double | perturbation_sigma = 0.0, | ||
int | xrs_seed = 915083, | ||
int | scale_bits = 0 ) const |
Get a coordinate series out of the object, based on one system from its repository.
base_system | |
frame_count | The number of frames in the series, each a copy of the original coordinate set |
perturbation_sigma | The Gaussian width by which to perturb coordinates |
xrs_seed | Random number generator seed |
scale_bits | The number of bits after the decimal to include, if the data type of the coordinate series is integral (fixed precision) |
PhaseSpace stormm::testing::TestSystemManager::exportPhaseSpace | ( | int | index | ) | const |
Get a copy of the coordinates for one system as a PhaseSpace object.
index | The system of interest |
PhaseSpaceSynthesis stormm::testing::TestSystemManager::exportPhaseSpaceSynthesis | ( | const std::vector< int > & | index_key, |
double | perturbation_sigma = 0.0, | ||
int | xrs_seed = 7108262, | ||
int | scale_bits = 40, | ||
int | vel_bits = default_velocity_scale_bits, | ||
int | frc_bits = default_force_scale_bits ) const |
Get a synthesis of coordinates with fixed-precision storage ready for positions, velocities, and forces.
Overloaded:
Parameter descriptions follow from getCoordinateSeries() above, with the addition of:
index_key | A series of system indices from within the TestSystemManager with which to compose the synthesis. Topologies and coordinates will be drawn upon. |
uc_choice | The choice or choices of unit cell to select (one instance of each matching system will be included in the result) |
vel_bits | The number of bits in the fraction for the velocity representation |
frc_bits | The number of bits in the fraction for the force representation |
SystemCache stormm::testing::TestSystemManager::exportSystemCache | ( | const std::vector< int > & | index_key, |
const TestEnvironment & | oe, | ||
const std::vector< std::string > & | x_name_list = {}, | ||
const std::vector< CoordinateFileKind > & | x_type_list = {}, | ||
const std::vector< std::string > & | r_name_list = {}, | ||
const std::vector< CoordinateFileKind > & | r_type_list = {}, | ||
const std::vector< std::string > & | label_list = {} ) |
Produce a SystemCache based on a compilation of the systems read into the manager.
Overloaded:
index_key | A series of system indices from within the TestSystemManager with which to compose the cache. Topologies and coordinates will be drawn upon. |
x_name_list | A list of trajectory file names for each cache item |
x_type_list | A list of file types for each trajectory file to write |
r_name_list | A list of restart file names for each cache item |
r_type_list | A list of file types for each restart file to write |
label_list | A list of labels to apply to each cache item. If provided, this array have the same length as index_key. |
fnml | A string containing the contents of a &files namelist |
std::vector< int > stormm::testing::TestSystemManager::getQualifyingSystems | ( | UnitCellType | uc_choice | ) | const |
Get a list of all topologies meeting a specific unit cell type.
Overloaded:
uc_choice | The unit cell type of interest |
int stormm::testing::TestSystemManager::getSystemCount | ( | ) | const |
Get the number of systems in the object.
Overloaded:
query_bc | The boundary conditions of interest |
TestPriority stormm::testing::TestSystemManager::getTestingStatus | ( | ) | const |
Get the planned course of action for subsequent tests in the event that a file is non-existent, or for any reason unreadable.
Overloaded:
index | Index of the system of interest |
indices | Indices of the systems of interest |
AtomGraph * stormm::testing::TestSystemManager::getTopologyPointer | ( | int | index | ) |
Get a pointer to one or more topologies.
Overloaded:
index | Identifier of a specific topology of interest |
const AtomGraph & stormm::testing::TestSystemManager::getTopologyReference | ( | int | index | ) | const |
Get a const reference to the topology for one or more systems.
Overloaded:
index | The system of interest |
const PhaseSpace & stormm::testing::TestSystemManager::viewCoordinates | ( | int | index | ) |
Get a const reference to the coordinates for one or more systems.
Overloaded:
index | The system of interest |