70 class Globals :
public DataHolder {
72 using intPair = std::pair<int, int>;
78 DeclareParameter(TargetTemp, RealType);
79 DeclareParameter(Ensemble, std::string);
80 DeclareParameter(Dt, RealType);
81 DeclareParameter(RunTime, RealType);
82 DeclareParameter(FinalConfig, std::string);
83 DeclareParameter(SampleTime, RealType);
84 DeclareParameter(ResetTime, RealType);
85 DeclareParameter(StatusTime, RealType);
86 DeclareParameter(CutoffRadius, RealType);
87 DeclareParameter(SwitchingRadius, RealType);
88 DeclareParameter(TempSet,
bool);
89 DeclareParameter(ThermalTime, RealType);
90 DeclareParameter(UsePeriodicBoundaryConditions,
bool);
91 DeclareParameter(ConserveLinearMomentum,
bool);
92 DeclareParameter(ConserveAngularMomentum,
bool);
93 DeclareParameter(TargetPressure, RealType);
94 DeclareParameter(UseAtomicVirial,
bool);
95 DeclareParameter(UseLongRangeCorrections,
bool);
96 DeclareParameter(TauThermostat, RealType);
97 DeclareParameter(TauBarostat, RealType);
98 DeclareParameter(LangevinPistonDrag, RealType);
99 DeclareParameter(ZconsTime, RealType);
100 DeclareParameter(ZconsTol, RealType);
101 DeclareParameter(ZconsForcePolicy, std::string);
102 DeclareParameter(Seed,
unsigned long int);
103 DeclareParameter(UseInitalTime,
bool);
104 DeclareParameter(UseIntialExtendedSystemState,
bool);
105 DeclareParameter(OrthoBoxTolerance, RealType);
106 DeclareParameter(ZconsGap, RealType);
107 DeclareParameter(ZconsFixtime, RealType);
108 DeclareParameter(ZconsUsingSMD,
bool);
109 DeclareParameter(UseThermodynamicIntegration,
bool);
110 DeclareParameter(ThermodynamicIntegrationLambda, RealType);
111 DeclareParameter(ThermodynamicIntegrationK, RealType);
112 DeclareParameter(ForceFieldVariant, std::string);
113 DeclareParameter(ForceFieldFileName, std::string);
114 DeclareParameter(SurfaceTension, RealType);
115 DeclareParameter(PrintPressureTensor,
bool);
116 DeclareParameter(PrintVirialTensor,
bool);
117 DeclareParameter(PrintHeatFlux,
bool);
118 DeclareParameter(TaggedAtomPair, intPair);
119 DeclareParameter(PrintTaggedPairDistance,
bool);
121 DeclareParameter(ElectrostaticScreeningMethod, std::string);
122 DeclareParameter(UseSurfaceTerm,
bool);
123 DeclareParameter(UseSlabGeometry,
bool);
124 DeclareParameter(DampingAlpha, RealType);
125 DeclareParameter(Dielectric, RealType);
126 DeclareParameter(CutoffMethod, std::string);
127 DeclareParameter(SwitchingFunctionType, std::string);
128 DeclareParameter(CompressDumpFile,
bool);
129 DeclareParameter(OutputForceVector,
bool);
130 DeclareParameter(OutputParticlePotential,
bool);
131 DeclareAlterableParameter(OutputElectricField,
bool);
132 DeclareParameter(OutputFluctuatingCharges,
bool);
133 DeclareParameter(OutputSitePotential,
bool);
134 DeclareParameter(OutputDensity,
bool);
135 DeclareParameter(SkinThickness, RealType);
136 DeclareParameter(StatFileFormat, std::string);
137 DeclareParameter(StatFilePrecision,
int);
138 DeclareParameter(HydroPropFile, std::string);
139 DeclareParameter(Viscosity, RealType);
140 DeclareParameter(BeadSize, RealType);
141 DeclareParameter(UseSphericalBoundaryConditions,
bool);
142 DeclareParameter(SkipPairLoop,
bool);
143 DeclareParameter(FrozenBufferRadius, RealType);
144 DeclareParameter(LangevinBufferRadius, RealType);
145 DeclareParameter(AccumulateBoxDipole,
bool);
146 DeclareParameter(AccumulateBoxQuadrupole,
bool);
147 DeclareParameter(NeighborListNeighbors,
int);
148 DeclareParameter(UseMultipleTemperatureMethod,
bool);
149 DeclareParameter(MTM_Ce, RealType);
150 DeclareParameter(MTM_G, RealType);
151 DeclareParameter(MTM_Io, RealType);
152 DeclareParameter(MTM_Sigma, RealType);
153 DeclareParameter(MTM_R, RealType);
154 DeclareParameter(UseRestraints,
bool);
155 DeclareParameter(Restraint_file, std::string);
156 DeclareParameter(HULL_Method, std::string);
157 DeclareParameter(Alpha, RealType);
158 DeclareAlterableParameter(MDfileVersion,
int);
161 DeclareParameter(UniformGradientStrength, RealType);
162 DeclareParameter(UniformGradientDirection1, std::vector<RealType>);
163 DeclareParameter(UniformGradientDirection2, std::vector<RealType>);
164 DeclareParameter(ElectricField, std::vector<RealType>);
165 DeclareParameter(ConstraintTime, RealType);
166 DeclareParameter(PotentialSelection, std::string);
167 DeclareParameter(PrivilegedAxis, std::string);
175 size_t getNComponents() {
return components_.size(); }
176 std::vector<Component*> getComponents() {
return components_; }
177 Component* getComponentAt(
int index) {
return components_.at(index); }
179 size_t getNZconsStamps() {
return zconstraints_.size(); }
180 std::vector<ZConsStamp*> getZconsStamps() {
return zconstraints_; }
181 ZConsStamp* getZconsStampAt(
int index) {
return zconstraints_.at(index); }
183 size_t getNRestraintStamps() {
return restraints_.size(); }
184 std::vector<RestraintStamp*> getRestraintStamps() {
return restraints_; }
186 return restraints_.at(index);
206 virtual void validate();
209 std::vector<Component*> components_;
210 std::vector<ZConsStamp*> zconstraints_;
211 std::vector<RestraintStamp*> restraints_;
212 std::map<std::string, MoleculeStamp*> moleculeStamps_;
213 std::map<std::string, FragmentStamp*> fragmentStamps_;
214 std::pair<int, int> taggedAtomPair_;