STORMM Source Documentation
Loading...
Searching...
No Matches
systemcache.h
1// -*-c++-*-
2#ifndef STORMM_SYSTEM_PREP_H
3#define STORMM_SYSTEM_PREP_H
4
5#include <vector>
6#include "copyright.h"
7#include "Accelerator/gpu_details.h"
8#include "Chemistry/chemical_features.h"
9#include "Chemistry/chemistry_enumerators.h"
10#include "Constants/behavior.h"
11#include "Constants/fixed_precision.h"
12#include "FileManagement/file_enumerators.h"
13#include "MoleculeFormat/mdlmol.h"
14#include "Namelists/nml_dynamics.h"
15#include "Namelists/nml_files.h"
16#include "Namelists/nml_restraint.h"
17#include "Potential/forward_exclusionmask.h"
18#include "Potential/static_exclusionmask.h"
19#include "Restraints/restraint_apparatus.h"
20#include "Topology/atomgraph.h"
21#include "Trajectory/coordinateframe.h"
22#include "Trajectory/phasespace.h"
23#include "Trajectory/trajectory_enumerators.h"
24#include "UnitTesting/stopwatch.h"
25#include "atomgraph_synthesis.h"
26#include "phasespace_synthesis.h"
27#include "static_mask_synthesis.h"
28
29namespace stormm {
30namespace synthesis {
31
32using card::GpuDetails;
33using chemistry::ChemicalFeatures;
34using chemistry::MapRotatableGroups;
35using constants::ExceptionResponse;
36using diskutil::PrintSituation;
37using energy::ForwardExclusionMask;
38using energy::StaticExclusionMask;
39using namelist::DynamicsControls;
40using namelist::FilesControls;
41using namelist::RestraintControls;
42using numerics::default_globalpos_scale_bits;
43using numerics::default_velocity_scale_bits;
44using numerics::default_force_scale_bits;
45using restraints::RestraintApparatus;
46using structure::MdlMol;
47using testing::StopWatch;
48using topology::AtomGraph;
49using trajectory::CoordinateFileKind;
50using trajectory::CoordinateFileRole;
51using trajectory::CoordinateFrame;
52using trajectory::CoordinateFrameReader;
53using trajectory::CoordinateFrameWriter;
54using trajectory::detectCoordinateFileKind;
55using trajectory::PhaseSpace;
56using trajectory::TrajectoryFusion;
57
64public:
65
84 SystemCache(ExceptionResponse policy_in = ExceptionResponse::DIE,
85 MapRotatableGroups map_chemfe_rotators = MapRotatableGroups::NO,
86 PrintSituation expectation_in = PrintSituation::OPEN_NEW);
87
88 SystemCache(const FilesControls &fcon, const std::vector<RestraintControls> &rstcon,
89 const DynamicsControls &dyncon, ExceptionResponse policy_in = ExceptionResponse::DIE,
90 MapRotatableGroups map_chemfe_rotators = MapRotatableGroups::NO,
91 PrintSituation expectation_in = PrintSituation::OPEN_NEW,
92 StopWatch *timer_in = nullptr);
93
94 SystemCache(const FilesControls &fcon, const DynamicsControls &dyncon,
95 ExceptionResponse policy_in = ExceptionResponse::DIE,
96 MapRotatableGroups map_chemfe_rotators = MapRotatableGroups::NO,
97 PrintSituation expectation_in = PrintSituation::OPEN_NEW,
98 StopWatch *timer_in = nullptr);
99
100 SystemCache(const FilesControls &fcon, ExceptionResponse policy_in = ExceptionResponse::DIE,
101 MapRotatableGroups map_chemfe_rotators = MapRotatableGroups::NO,
102 PrintSituation expectation_in = PrintSituation::OPEN_NEW,
103 StopWatch *timer_in = nullptr);
105
109 SystemCache(const SystemCache &original) = default;
110 SystemCache(SystemCache &&original) = default;
111 SystemCache& operator=(const SystemCache &other) = default;
112 SystemCache& operator=(SystemCache &&other) = default;
114
116 int getSystemCount() const;
117
119 int getTopologyCount() const;
120
122 int getLabelCount() const;
123
128 int getRestraintCount() const;
129
144 int getSystemTopologyIndex(int coord_index) const;
145 std::vector<int> getSystemTopologyIndex() const;
147
152 int getSystemExampleIndex(int topology_index) const;
153
165 const AtomGraph* getTopologyPointer(int topology_index) const;
166 AtomGraph* getTopologyPointer(int topology_index);
167 const std::vector<AtomGraph*> getTopologyPointer() const;
168 std::vector<AtomGraph*> getTopologyPointer();
170
175 const AtomGraph& getTopology(int topology_index) const;
176
186 int getTopologyCacheIndex(const AtomGraph *ag) const;
187 int getTopologyCacheIndex(const AtomGraph &ag) const;
189
200 const std::vector<AtomGraph*> getTopologiesMatchingLabel(const std::string &query_label) const;
201 std::vector<AtomGraph*> getTopologiesMatchingLabel(const std::string &query_label);
203
208 const std::string& getLabel(int label_index) const;
209
219 std::vector<std::string> getLabelsMatchingTopology(const AtomGraph *query_ag) const;
220 std::vector<std::string> getLabelsMatchingTopology(const AtomGraph &query_ag) const;
222
228 int getLabelCacheIndex(const std::string &query) const;
229
240 std::vector<int> getMatchingSystemIndices(const AtomGraph* query_ag,
241 const std::string &query_label) const;
242
243 std::vector<int> getMatchingSystemIndices(const AtomGraph &query_ag,
244 const std::string &query_label) const;
245
246 std::vector<int> getMatchingSystemIndices(const AtomGraph *query_ag) const;
247
248 std::vector<int> getMatchingSystemIndices(const AtomGraph &query_ag) const;
249
250 std::vector<int> getMatchingSystemIndices(const std::string &query_label) const;
252
267 int getFirstMatchingSystemIndex(const AtomGraph *query_ag,
268 ExceptionResponse xcpt = ExceptionResponse::DIE) const;
269
270 int getFirstMatchingSystemIndex(const std::string &query_label,
271 ExceptionResponse xcpt = ExceptionResponse::DIE) const;
272
273 int getFirstMatchingSystemIndex(const AtomGraph *query_ag, const std::string &query_label,
274 ExceptionResponse xcpt = ExceptionResponse::DIE) const;
276
287 const AtomGraph* getSystemTopologyPointer(int index) const;
289 const std::vector<AtomGraph*> getSystemTopologyPointer() const;
290 std::vector<AtomGraph*> getSystemTopologyPointer();
292
297 const AtomGraph& getSystemTopology(int index) const;
298
308 exportTopologySynthesis(const GpuDetails &gpu = null_gpu,
309 const ExceptionResponse policy = ExceptionResponse::DIE) const;
310
320 const PhaseSpace* getCoordinatePointer(int index) const;
322 const std::vector<PhaseSpace*> getCoordinatePointer() const;
323 std::vector<PhaseSpace*> getCoordinatePointer();
325
335 const PhaseSpace& getCoordinates(int index) const;
336 const std::vector<PhaseSpace>& getCoordinates() const;
338
341 exportCoordinateSynthesis(int globalpos_scale_bits = default_globalpos_scale_bits,
342 int velocity_scale_bits = default_velocity_scale_bits,
343 int force_scale_bits = default_force_scale_bits) const;
344
354 const MdlMol* getStructureDataEntryPointer(int index) const;
356 const std::vector<MdlMol*> getStructureDataEntryPointer() const;
357 std::vector<MdlMol*> getStructureDataEntryPointer();
359
369 const MdlMol& getStructureDataEntry(int index) const;
370 const std::vector<MdlMol>& getStructureDataEntry() const;
372
381 const ChemicalFeatures* getFeaturesPointer(int index) const;
383 const std::vector<ChemicalFeatures*> getFeaturesPointer() const;
384 std::vector<ChemicalFeatures*> getFeaturesPointer();
386
390 const ChemicalFeatures& getFeatures(int index) const;
391
406 const RestraintApparatus* getRestraintPointer(int index) const;
408 const std::vector<RestraintApparatus*> getRestraintPointer() const;
409 std::vector<RestraintApparatus*> getRestraintPointer();
411
415 const RestraintApparatus& getRestraints(int index) const;
416
426 const std::vector<StaticExclusionMask*> getUniqueStaticMaskPointers() const;
427 std::vector<StaticExclusionMask*> getUniqueStaticMaskPointers();
429
440 const StaticExclusionMask* getSystemStaticMaskPointer(int index) const;
443
448 const StaticExclusionMask& getSystemStaticMask(int index) const;
449
462
467 const ForwardExclusionMask& getSystemForwardMask(int index) const;
468
472 int getTopologyCaseCount(int topology_index) const;
473
478 std::vector<int> getTopologicalCases(int topology_index) const;
479
484 const std::string& getInputCoordinatesName(int system_index) const;
485
500 std::string getTrajectoryName(int system_index) const;
501 const std::string& getTrajectoryName(const AtomGraph *query_ag) const;
502 const std::string& getTrajectoryName(const AtomGraph &query_ag) const;
503 const std::string& getTrajectoryName(const AtomGraph *query_ag,
504 const std::string &query_label) const;
505 const std::string& getTrajectoryName(const AtomGraph &query_ag,
506 const std::string &query_label) const;
507 const std::string& getTrajectoryName(const std::string &query_label) const;
509
524 std::string getCheckpointName(int system_index) const;
525 const std::string& getCheckpointName(const AtomGraph *query_ag) const;
526 const std::string& getCheckpointName(const AtomGraph &query_ag) const;
527 const std::string& getCheckpointName(const AtomGraph *query_ag,
528 const std::string &query_label) const;
529 const std::string& getCheckpointName(const AtomGraph &query_ag,
530 const std::string &query_label) const;
531 const std::string& getCheckpointName(const std::string &query_label) const;
533
537 int getSystemLabelIndex(int system_index) const;
538
542 const std::string& getSystemLabel(int system_index) const;
543
559 CoordinateFileKind getInputCoordinatesKind(const int system_index) const;
560 CoordinateFileKind getInputCoordinatesKind(const AtomGraph *query_ag) const;
561 CoordinateFileKind getInputCoordinatesKind(const AtomGraph &query_ag) const;
562 CoordinateFileKind getInputCoordinatesKind(const AtomGraph *query_ag,
563 const std::string &query_label) const;
564 CoordinateFileKind getInputCoordinatesKind(const AtomGraph &query_ag,
565 const std::string &query_label) const;
566 CoordinateFileKind getInputCoordinatesKind(const std::string &query_label) const;
568
579 CoordinateFileKind getTrajectoryKind(const int system_index) const;
580 CoordinateFileKind getTrajectoryKind(const AtomGraph *query_ag) const;
581 CoordinateFileKind getTrajectoryKind(const AtomGraph &query_ag) const;
582 CoordinateFileKind getTrajectoryKind(const AtomGraph *query_ag,
583 const std::string &query_label) const;
584 CoordinateFileKind getTrajectoryKind(const AtomGraph &query_ag,
585 const std::string &query_label) const;
586 CoordinateFileKind getTrajectoryKind(const std::string &query_label) const;
588
599 CoordinateFileKind getCheckpointKind(const int system_index) const;
600 CoordinateFileKind getCheckpointKind(const AtomGraph *query_ag) const;
601 CoordinateFileKind getCheckpointKind(const AtomGraph &query_ag) const;
602 CoordinateFileKind getCheckpointKind(const AtomGraph *query_ag,
603 const std::string &query_label) const;
604 CoordinateFileKind getCheckpointKind(const AtomGraph &query_ag,
605 const std::string &query_label) const;
606 CoordinateFileKind getCheckpointKind(const std::string &query_label) const;
608
626 PrintSituation getPrintingProtocol() const;
627 PrintSituation getPrintingProtocol(CoordinateFileRole purpose, int system_index) const;
629
631 const SystemCache* getSelfPointer() const;
632
636 void setPrintingProtocol(const PrintSituation expectation_in);
637
639 TrajectoryFusion getTrajectoryFusionProtocol() const;
640
644 void setTrajectoryFusionProtocol(TrajectoryFusion file_merger_protocol_in);
645
646private:
647
650 ExceptionResponse policy;
651
658 PrintSituation expectation;
659
660 // Counts are kept as separate integers, to have a single authoritative number on some central
661 // quantities in this systems cache.
662 int system_count;
663 int topology_count;
664 int label_count;
665 int restraint_count;
670
679 TrajectoryFusion file_merger_protocol;
680
683 std::vector<AtomGraph> topology_cache;
684
687 std::vector<PhaseSpace> coordinates_cache;
688
690 std::vector<MdlMol> sdf_cache;
691
693 std::vector<std::string> label_cache;
694
696 std::vector<ChemicalFeatures> features_cache;
697
699 std::vector<RestraintApparatus> restraints_cache;
700
702 std::vector<StaticExclusionMask> static_masks_cache;
703
705 std::vector<ForwardExclusionMask> forward_masks_cache;
706
710 std::vector<int> topology_indices;
711
713 std::vector<int> label_indices;
714
716 std::vector<int> label_degeneracy;
717
721 std::vector<int> restraint_indices;
722
725 std::vector<int> example_indices;
726
731 std::vector<int> topology_cases;
732
734 std::vector<int> topology_case_bounds;
735
737 std::vector<std::string> system_input_coordinate_names;
738
740 std::vector<std::string> system_trajectory_names;
741
743 std::vector<std::string> system_checkpoint_names;
744
746 std::vector<std::string> system_labels;
747
750 std::vector<int> trajectory_subindices;
751
753 std::vector<int> trajectory_degeneracy;
754
757 std::vector<int> checkpoint_subindices;
758
760 std::vector<int> checkpoint_degeneracy;
761
764 std::vector<int> label_cases;
765
767 std::vector<int> label_case_bounds;
768
770 std::vector<CoordinateFileKind> system_input_coordinate_kinds;
771
773 std::vector<CoordinateFileKind> system_trajectory_kinds;
774
776 std::vector<CoordinateFileKind> system_checkpoint_kinds;
777
782 void checkSystemBounds(int index, const char* caller) const;
783
788 void checkTopologyBounds(int index, const char* caller) const;
789
794 void checkLabelBounds(int index, const char* caller) const;
795
807 bool determineFileMerger(CoordinateFileRole purpose, int system_index) const;
808
825 std::string nondegenerateName(const std::string &fname_in, CoordinateFileRole purpose,
826 int system_index) const;
827};
828
839void extendTopologyList(std::vector<AtomGraph> *list, const std::string &fname,
840 const DynamicsControls &dyncon,
841 ExceptionResponse policy = ExceptionResponse::DIE,
842 const std::string &caller = std::string(""));
843
850// masks appropriately
865StaticExclusionMaskSynthesis createMaskSynthesis(const SystemCache &sc,
866 const std::vector<int> &cached_system_indices);
867
868StaticExclusionMaskSynthesis createMaskSynthesis(const SystemCache &sc);
869
870StaticExclusionMaskSynthesis createMaskSynthesis(const SystemCache &sc,
871 const PhaseSpaceSynthesis *poly_ps);
872
873StaticExclusionMaskSynthesis createMaskSynthesis(const SystemCache &sc,
874 const PhaseSpaceSynthesis &poly_ps);
875
876StaticExclusionMaskSynthesis createMaskSynthesis(const SystemCache &sc,
877 const AtomGraphSynthesis *poly_ps);
878
879StaticExclusionMaskSynthesis createMaskSynthesis(const SystemCache &sc,
880 const AtomGraphSynthesis &poly_ps);
882
883} // namespace synthesis
884} // namespace stormm
885
886#endif
Pertinent aspects of one particular GPU. Condensing the data for each GPU in this manner helps to ens...
Definition gpu_details.h:27
An object to store information about chemical motifs: participation in rings, planarity,...
Definition chemical_features.h:400
This exclusion mask relies on the reality that, in most topologies, the bulk of one atom's exclusions...
Definition forward_exclusionmask.h:43
A simple pair list for an all-to-all calculation with exclusion masks. The list stores masks for 16 x...
Definition static_exclusionmask.h:81
SystemCache(ExceptionResponse policy_in=ExceptionResponse::DIE, MapRotatableGroups map_chemfe_rotators=MapRotatableGroups::NO, PrintSituation expectation_in=PrintSituation::OPEN_NEW)
The constructor takes the output of &files namelist reading, perhaps with some additional command-lin...
Definition systemcache.cpp:57
Object to encapsulate molecular dynamics control information. Like other namelist encapsualtors,...
Definition nml_dynamics.h:123
Distill the results of file identification, producing clean lists of free topologies,...
Definition nml_files.h:229
A collection of all restraints pertaining to a specific topology for the purposes of one simulation,...
Definition restraint_apparatus.h:109
A molecular three-dimensional feature. This special class of MOL object properies has its own data li...
Definition mdlmol.h:101
A collection of one or more AtomGraph objects, with similar components arranged in contiguous arrays ...
Definition atomgraph_synthesis.h:55
A fixed-precision representation of coordinates, velocities, and forces to manage a set of simulation...
Definition phasespace_synthesis.h:325
An exclusion mask object for a compilation of systems. All systems are represented in full detail,...
Definition static_mask_synthesis.h:54
Simple but central struct to store the primitive form of the collection of systems that most STORMM a...
Definition systemcache.h:63
const StaticExclusionMask * getSystemStaticMaskPointer(int index) const
Get a pointer to the static exclusion mask for a particular system. These masks will only have been c...
Definition systemcache.cpp:1677
SystemCache(const SystemCache &original)=default
The default copy and move constructors, copy and move assignment operators will be effective for this...
int getTopologyCacheIndex(const AtomGraph *ag) const
Match a topology to one in the cache. If no match is found, the function will return the number of to...
Definition systemcache.cpp:1168
const std::vector< StaticExclusionMask * > getUniqueStaticMaskPointers() const
Get a vector of all unique static exclusion masks in the system cache, ordered as they appear in the ...
Definition systemcache.cpp:1659
const MdlMol * getStructureDataEntryPointer(int index) const
Get a pointer to one of the MDL MOL objects in the cache.
Definition systemcache.cpp:1545
CoordinateFileKind getTrajectoryKind(const int system_index) const
Get the coordinate file type associated with a particular system's trajectory.
Definition systemcache.cpp:1853
void setTrajectoryFusionProtocol(TrajectoryFusion file_merger_protocol_in)
Set the trajectory fusion protocol.
Definition systemcache.cpp:1962
const SystemCache * getSelfPointer() const
Get a const pointer to the object itself.
Definition systemcache.cpp:1947
const StaticExclusionMask & getSystemStaticMask(int index) const
Get a reference to the static exclusion mask for a particular system. These masks will only have been...
Definition systemcache.cpp:1691
int getSystemLabelIndex(int system_index) const
Get the index of the cached label associated with a particular system in the cache.
Definition systemcache.cpp:1809
const std::string & getLabel(int label_index) const
Get a label from the cache by the numerical index in which it appears in the list of all labels.
Definition systemcache.cpp:1232
const ChemicalFeatures * getFeaturesPointer(int index) const
Get a pointer to the chemical features for a particular system in the cache.
Definition systemcache.cpp:1587
AtomGraphSynthesis exportTopologySynthesis(const GpuDetails &gpu=null_gpu, const ExceptionResponse policy=ExceptionResponse::DIE) const
Return a synthesis of the topologies in the cache, laid out as appropriate for all systems including ...
Definition systemcache.cpp:1482
const AtomGraph * getSystemTopologyPointer(int index) const
Get a pointer to a topology in the cache associated with a particular coordinate set.
Definition systemcache.cpp:1441
const std::vector< AtomGraph * > getTopologiesMatchingLabel(const std::string &query_label) const
Get a list of topologies associated with a particular label. This will return a vector of pointers to...
Definition systemcache.cpp:1196
int getTopologyCount() const
Get the number of topologies.
Definition systemcache.cpp:1095
int getSystemExampleIndex(int topology_index) const
Get the index of a coordinate set which provides an example of the system that one of the topologies ...
Definition systemcache.cpp:1125
PrintSituation getPrintingProtocol() const
When multiple systems' coordinates are to be combined into a particular file, the file may be opened ...
Definition systemcache.cpp:1919
const RestraintApparatus & getRestraints(int index) const
Get a reference to the restraint apparatus for a particular system.
Definition systemcache.cpp:1653
std::vector< int > getMatchingSystemIndices(const AtomGraph *query_ag, const std::string &query_label) const
Return the indices of all systems from within the cache, matching a particular topology and / or a la...
Definition systemcache.cpp:1271
const AtomGraph & getSystemTopology(int index) const
Return a reference to the topology that describes a particular set of coordinates within the SystemCa...
Definition systemcache.cpp:1476
PhaseSpaceSynthesis exportCoordinateSynthesis(int globalpos_scale_bits=default_globalpos_scale_bits, int velocity_scale_bits=default_velocity_scale_bits, int force_scale_bits=default_force_scale_bits) const
Create and return a coordinate synthesis based on entries in the cache.
Definition systemcache.cpp:1537
TrajectoryFusion getTrajectoryFusionProtocol() const
Get the trajectory fusion protocol.
Definition systemcache.cpp:1957
int getTopologyCaseCount(int topology_index) const
Get the number of systems described by a topology of the given index in this cache.
Definition systemcache.cpp:1719
void setPrintingProtocol(const PrintSituation expectation_in)
Set the printing protocol.
Definition systemcache.cpp:1952
const RestraintApparatus * getRestraintPointer(int index) const
Get a pointer to the restraint apparatus for a particular system.
Definition systemcache.cpp:1623
const ForwardExclusionMask * getSystemForwardMaskPointer(int index) const
Get a pointer to the forward exclusion mask for a particular system. These masks will only have been ...
Definition systemcache.cpp:1698
std::vector< std::string > getLabelsMatchingTopology(const AtomGraph *query_ag) const
Get a list of labels associated with a particular topology. This will return copies of each label str...
Definition systemcache.cpp:1238
CoordinateFileKind getInputCoordinatesKind(const int system_index) const
Get the coordinate file type associated with a particular system's input. Raise an error if the syste...
Definition systemcache.cpp:1820
const PhaseSpace & getCoordinates(int index) const
Return a reference to a set of coordinates, velocities, and forces in the cache.
Definition systemcache.cpp:1526
int getFirstMatchingSystemIndex(const AtomGraph *query_ag, ExceptionResponse xcpt=ExceptionResponse::DIE) const
Get the index of the first system matching the topology and / or system label.
Definition systemcache.cpp:1361
const PhaseSpace * getCoordinatePointer(int index) const
Get a pointer to a set of coordinates, velocities, and forces in the cache.
Definition systemcache.cpp:1490
int getSystemTopologyIndex(int coord_index) const
Get the topology index of one of the coordinate sets contained in this cache. This will apply a bound...
Definition systemcache.cpp:1110
const std::string & getSystemLabel(int system_index) const
Get the label associated with a particular system in the cache.
Definition systemcache.cpp:1814
int getLabelCount() const
Get the number of unique labels across all systems.
Definition systemcache.cpp:1100
const MdlMol & getStructureDataEntry(int index) const
Return a reference to one of the MDL MOL entries in the cache.
Definition systemcache.cpp:1576
const AtomGraph * getTopologyPointer(int topology_index) const
Get pointers to one or all of the unique topologies from within the compact topology cache.
Definition systemcache.cpp:1130
int getLabelCacheIndex(const std::string &query) const
Get the index of a particular string label within the cache. The index is found by a deep match to th...
Definition systemcache.cpp:1261
int getSystemCount() const
Get the number of systems.
Definition systemcache.cpp:1090
std::string getTrajectoryName(int system_index) const
Get the name of the trajectory file associated with one of the systems. The name will be manipulated ...
Definition systemcache.cpp:1741
int getRestraintCount() const
Get the number of different restraint apparatuses. Many restraint apparatuses may be unique in the se...
Definition systemcache.cpp:1105
const ChemicalFeatures & getFeatures(int index) const
Get a reference to the chemical features for a particular system in the cache.
Definition systemcache.cpp:1617
const ForwardExclusionMask & getSystemForwardMask(int index) const
Get a reference to the forward exclusion mask for a particular system. These masks will only have bee...
Definition systemcache.cpp:1712
const AtomGraph & getTopology(int topology_index) const
Get a reference to one of the unique topologies from within the topology cache, based on an index int...
Definition systemcache.cpp:1162
std::string getCheckpointName(int system_index) const
Get the name of the checkpoint (restart) file associated with one of the systems. This name will also...
Definition systemcache.cpp:1775
const std::string & getInputCoordinatesName(int system_index) const
Get the input coordinate file name for a particular system. This is not subject to manipulations to d...
Definition systemcache.cpp:1735
SystemCache(ExceptionResponse policy_in=ExceptionResponse::DIE, MapRotatableGroups map_chemfe_rotators=MapRotatableGroups::NO, PrintSituation expectation_in=PrintSituation::OPEN_NEW)
The constructor takes the output of &files namelist reading, perhaps with some additional command-lin...
Definition systemcache.cpp:57
std::vector< int > getTopologicalCases(int topology_index) const
Get a list of indices for all systems in the cache described by the topology of interest.
Definition systemcache.cpp:1724
CoordinateFileKind getCheckpointKind(const int system_index) const
Get the coordinate file type associated with a particular system's checkpoint file.
Definition systemcache.cpp:1886
Object for managing calls to the C-standard function gettimeofday(), calculating deltas and categoriz...
Definition stopwatch.h:23
A struct to hold information relating to an Amber topology. This struct's member functions are limite...
Definition atomgraph.h:50
An object to complement a topology and hold positions, velocities, and forces of all particles in a s...
Definition phasespace.h:141