STORMM Source Documentation
Loading...
Searching...
No Matches
synthesis_enumerators.h
1// -*-c++-*-
2#ifndef STORMM_SYNTHESIS_ENUMERATORS_H
3#define STORMM_SYNTHESIS_ENUMERATORS_H
4
5#include <string>
6#include "copyright.h"
7
8namespace stormm {
9namespace synthesis {
10
15enum class NbwuKind {
16 TILE_GROUPS,
17 SUPERTILES,
18 HONEYCOMB,
20 UNKNOWN
21};
22
24enum class VwuTask {
25 BOND = 0,
26 ANGL,
27 DIHE,
28 UBRD,
29 CBND,
31 CIMP,
32 CDHE,
34 CMAP,
35 INFR14,
36 RPOSN,
37 RBOND,
38 RANGL,
39 RDIHE,
40 VSITE,
41 SETTLE,
42 CGROUP,
43 ALL_TASKS
45};
46
49constexpr int vwu_abstract_length = 32;
50
55enum class VwuAbstractMap {
56 IMPORT = 0,
59 MANIPULATE,
61 CBND,
62 ANGL,
63 CDHE,
64 CMAP,
65 INFR14,
66 RPOSN,
67 RBOND,
68 RANGL,
69 RDIHE,
70 VSITE,
71 SETTLE,
72 CGROUP,
73 CBND_NRG,
74 ANGL_NRG,
75 CDHE_NRG,
76 CMAP_NRG,
77 INFR14_NRG,
78 RPOSN_NRG,
79 RBOND_NRG,
80 RANGL_NRG,
81 RDIHE_NRG,
82 SYSTEM_ID,
85};
86
88enum class VwuGoal {
89 ACCUMULATE,
94 MOVE_PARTICLES
102};
103
109enum class InitializationTask {
110 GENERAL_DYNAMICS,
112 GB_DYNAMICS,
114 GENERAL_MINIMIZATION,
117 GB_MINIMIZATION,
119 LANGEVIN_DYNAMICS,
122 GB_LANGEVIN_DYNAMICS,
125 NONE
126};
127
129enum class StructureSource {
130 SYNTHESIS,
131 SERIES,
132 NONE
133};
134
136enum class SystemGrouping {
137 SOURCE,
141 TOPOLOGY,
142 LABEL
145};
146
149enum class VariableTorsionAdjustment {
150 ADJUST_NEARBY_VALUES,
154 RESTRICT_TO_NEARBY_VALUES,
158 CLUSTER_AND_APPLY_VALUES,
163 DO_NOT_CHANGE
165};
166
172std::string getEnumerationName(NbwuKind input);
173std::string getEnumerationName(VwuTask input);
174std::string getEnumerationName(VwuGoal input);
175std::string getEnumerationName(InitializationTask input);
176std::string getEnumerationName(StructureSource input);
177std::string getEnumerationName(SystemGrouping input);
178std::string getEnumerationName(VariableTorsionAdjustment input);
180
185SystemGrouping translateSystemGrouping(const std::string &input_string);
186
191VariableTorsionAdjustment translateVariableTorsionAdjustment(const std::string &input_string);
192
193} // namespace synthesis
194} // namespace stormm
195
196#endif