| 55 |  | #include "utils/ParameterManager.hpp" | 
| 56 |  |  | 
| 57 |  | namespace oopse { | 
| 58 | < | class Globals : public DataHolder { | 
| 58 | > | class Globals : public DataHolder { | 
| 59 |  | public: | 
| 60 | + | typedef std::pair<int, int> intPair; | 
| 61 | + |  | 
| 62 |  | Globals(); | 
| 63 |  | virtual ~Globals(); | 
| 64 |  |  | 
| 65 | < | DeclareParameter(ForceField, std::string); | 
| 66 | < | DeclareParameter(TargetTemp, RealType); | 
| 67 | < | DeclareParameter(Ensemble, std::string); | 
| 68 | < | DeclareParameter(Dt, RealType); | 
| 69 | < | DeclareParameter(RunTime, RealType); | 
| 70 | < | DeclareParameter(InitialConfig, std::string); | 
| 71 | < | DeclareParameter(FinalConfig, std::string); | 
| 72 | < | DeclareParameter(SampleTime, RealType); | 
| 73 | < | DeclareParameter(ResetTime, RealType); | 
| 74 | < | DeclareParameter(StatusTime, RealType); | 
| 75 | < | DeclareParameter(CutoffRadius, RealType); | 
| 76 | < | DeclareParameter(SwitchingRadius, RealType); | 
| 77 | < | DeclareParameter(Dielectric, RealType); | 
| 78 | < | DeclareParameter(TempSet, bool); | 
| 79 | < | DeclareParameter(ThermalTime, RealType); | 
| 80 | < | DeclareParameter(UsePeriodicBoundaryConditions, bool); | 
| 81 | < | DeclareParameter(TargetPressure, RealType); | 
| 82 | < | DeclareParameter(TauThermostat, RealType); | 
| 83 | < | DeclareParameter(TauBarostat, RealType); | 
| 84 | < | DeclareParameter(ZconsTime, RealType); | 
| 85 | < | DeclareParameter(ZconsTol, RealType); | 
| 86 | < | DeclareParameter(ZconsForcePolicy, std::string); | 
| 87 | < | DeclareParameter(Seed, int); | 
| 88 | < | DeclareParameter(UseInitalTime, bool); | 
| 89 | < | DeclareParameter(UseIntialExtendedSystemState, bool); | 
| 90 | < | DeclareParameter(OrthoBoxTolerance, RealType); | 
| 91 | < | DeclareParameter(Minimizer, std::string); | 
| 92 | < | DeclareParameter(MinimizerMaxIter, RealType); | 
| 93 | < | DeclareParameter(MinimizerWriteFrq, int); | 
| 94 | < | DeclareParameter(MinimizerStepSize, RealType); | 
| 95 | < | DeclareParameter(MinimizerFTol, RealType); | 
| 96 | < | DeclareParameter(MinimizerGTol, RealType); | 
| 97 | < | DeclareParameter(MinimizerLSTol, RealType); | 
| 98 | < | DeclareParameter(MinimizerLSMaxIter, int); | 
| 99 | < | DeclareParameter(ZconsGap, RealType); | 
| 100 | < | DeclareParameter(ZconsFixtime, RealType); | 
| 101 | < | DeclareParameter(ZconsUsingSMD, bool); | 
| 102 | < | DeclareParameter(UseSolidThermInt, bool); | 
| 103 | < | DeclareParameter(UseLiquidThermInt, bool); | 
| 104 | < | DeclareParameter(ThermodynamicIntegrationLambda, RealType); | 
| 105 | < | DeclareParameter(ThermodynamicIntegrationK, RealType); | 
| 106 | < | DeclareParameter(ForceFieldVariant, std::string); | 
| 107 | < | DeclareParameter(ForceFieldFileName, std::string); | 
| 108 | < | DeclareParameter(ThermIntDistSpringConst, RealType); | 
| 109 | < | DeclareParameter(ThermIntThetaSpringConst, RealType); | 
| 110 | < | DeclareParameter(ThermIntOmegaSpringConst, RealType); | 
| 111 | < | DeclareParameter(SurfaceTension, RealType); | 
| 112 | < | DeclareParameter(PrintPressureTensor, bool); | 
| 113 | < | DeclareParameter(ElectrostaticSummationMethod, std::string); | 
| 114 | < | DeclareParameter(ElectrostaticScreeningMethod, std::string); | 
| 115 | < | DeclareParameter(DampingAlpha, RealType); | 
| 116 | < | DeclareParameter(CutoffPolicy, std::string); | 
| 117 | < | DeclareParameter(SwitchingFunctionType, std::string); | 
| 118 | < | DeclareParameter(CompressDumpFile, bool); | 
| 119 | < | DeclareParameter(OutputForceVector, bool); | 
| 120 | < | DeclareParameter(SkinThickness, RealType); | 
| 121 | < | DeclareParameter(StatFileFormat, std::string); | 
| 122 | < | DeclareParameter(HydroPropFile, std::string); | 
| 123 | < | DeclareParameter(Viscosity, RealType); | 
| 124 | < | DeclareParameter(BeadSize, RealType); | 
| 125 | < | DeclareParameter(UseSphericalBoundaryConditions, bool); | 
| 126 | < | DeclareParameter(FrozenBufferRadius, RealType); | 
| 127 | < | DeclareParameter(LangevinBufferRadius, RealType); | 
| 128 | < |  | 
| 65 | > | DeclareParameter(ForceField, std::string); | 
| 66 | > | DeclareParameter(TargetTemp, RealType); | 
| 67 | > | DeclareParameter(Ensemble, std::string); | 
| 68 | > | DeclareParameter(Dt, RealType); | 
| 69 | > | DeclareParameter(RunTime, RealType); | 
| 70 | > | DeclareParameter(FinalConfig, std::string); | 
| 71 | > | DeclareParameter(SampleTime, RealType); | 
| 72 | > | DeclareParameter(ResetTime, RealType); | 
| 73 | > | DeclareParameter(StatusTime, RealType); | 
| 74 | > | DeclareParameter(CutoffRadius, RealType); | 
| 75 | > | DeclareParameter(SwitchingRadius, RealType); | 
| 76 | > | DeclareParameter(TempSet, bool); | 
| 77 | > | DeclareParameter(ThermalTime, RealType); | 
| 78 | > | DeclareParameter(UsePeriodicBoundaryConditions, bool); | 
| 79 | > | DeclareParameter(TargetPressure, RealType); | 
| 80 | > | DeclareParameter(UseAtomicVirial, bool); | 
| 81 | > | DeclareParameter(TauThermostat, RealType); | 
| 82 | > | DeclareParameter(TauBarostat, RealType); | 
| 83 | > | DeclareParameter(ZconsTime, RealType); | 
| 84 | > | DeclareParameter(ZconsTol, RealType); | 
| 85 | > | DeclareParameter(ZconsForcePolicy, std::string); | 
| 86 | > | DeclareParameter(Seed, unsigned long int); | 
| 87 | > | DeclareParameter(UseInitalTime, bool); | 
| 88 | > | DeclareParameter(UseIntialExtendedSystemState, bool); | 
| 89 | > | DeclareParameter(OrthoBoxTolerance, RealType); | 
| 90 | > | DeclareParameter(Minimizer, std::string); | 
| 91 | > | DeclareParameter(MinimizerMaxIter, RealType); | 
| 92 | > | DeclareParameter(MinimizerWriteFrq, int); | 
| 93 | > | DeclareParameter(MinimizerStepSize, RealType); | 
| 94 | > | DeclareParameter(MinimizerFTol, RealType); | 
| 95 | > | DeclareParameter(MinimizerGTol, RealType); | 
| 96 | > | DeclareParameter(MinimizerLSTol, RealType); | 
| 97 | > | DeclareParameter(MinimizerLSMaxIter, int); | 
| 98 | > | DeclareParameter(ZconsGap, RealType); | 
| 99 | > | DeclareParameter(ZconsFixtime, RealType); | 
| 100 | > | DeclareParameter(ZconsUsingSMD, bool); | 
| 101 | > | DeclareParameter(UseSolidThermInt, bool); | 
| 102 | > | DeclareParameter(UseLiquidThermInt, bool); | 
| 103 | > | DeclareParameter(ThermodynamicIntegrationLambda, RealType); | 
| 104 | > | DeclareParameter(ThermodynamicIntegrationK, RealType); | 
| 105 | > | DeclareParameter(ForceFieldVariant, std::string); | 
| 106 | > | DeclareParameter(ForceFieldFileName, std::string); | 
| 107 | > | DeclareParameter(ThermIntDistSpringConst, RealType); | 
| 108 | > | DeclareParameter(ThermIntThetaSpringConst, RealType); | 
| 109 | > | DeclareParameter(ThermIntOmegaSpringConst, RealType); | 
| 110 | > | DeclareParameter(SurfaceTension, RealType); | 
| 111 | > | DeclareParameter(PrintPressureTensor, bool); | 
| 112 | > | DeclareParameter(TaggedAtomPair, intPair); | 
| 113 | > | DeclareParameter(PrintTaggedPairDistance, bool); | 
| 114 | > | DeclareParameter(ElectrostaticSummationMethod, std::string); | 
| 115 | > | DeclareParameter(ElectrostaticScreeningMethod, std::string); | 
| 116 | > | DeclareParameter(DampingAlpha, RealType); | 
| 117 | > | DeclareParameter(Dielectric, RealType); | 
| 118 | > | DeclareParameter(CutoffPolicy, std::string); | 
| 119 | > | DeclareParameter(SwitchingFunctionType, std::string); | 
| 120 | > | DeclareParameter(CompressDumpFile, bool); | 
| 121 | > | DeclareParameter(OutputForceVector, bool); | 
| 122 | > | DeclareParameter(SkinThickness, RealType); | 
| 123 | > | DeclareParameter(StatFileFormat, std::string); | 
| 124 | > | DeclareParameter(HydroPropFile, std::string); | 
| 125 | > | DeclareParameter(Viscosity, RealType); | 
| 126 | > | DeclareParameter(BeadSize, RealType); | 
| 127 | > | DeclareParameter(UseSphericalBoundaryConditions, bool); | 
| 128 | > | DeclareParameter(FrozenBufferRadius, RealType); | 
| 129 | > | DeclareParameter(LangevinBufferRadius, RealType); | 
| 130 | > | DeclareParameter(AccumulateBoxDipole, bool); | 
| 131 | > | DeclareParameter(NeighborListNeighbors, int); | 
| 132 | > | DeclareParameter(UseMultipleTemperatureMethod, bool); | 
| 133 | > | DeclareParameter(MTM_Ce, RealType); | 
| 134 | > | DeclareParameter(MTM_G, RealType); | 
| 135 | > | DeclareParameter(MTM_Io, RealType); | 
| 136 | > | DeclareParameter(MTM_Sigma, RealType); | 
| 137 | > | DeclareParameter(MTM_R, RealType); | 
| 138 | > | DeclareParameter(UseRNEMD, bool); | 
| 139 | > | DeclareParameter(RNEMD_swapTime, RealType); | 
| 140 | > | DeclareParameter(RNEMD_nBins, int); | 
| 141 | > | DeclareParameter(RNEMD_swapType, std::string); | 
| 142 | > |  | 
| 143 |  | public: | 
| 144 |  | bool addComponent(Component* comp); | 
| 145 |  | bool addZConsStamp(ZConsStamp* zcons); | 
| 147 |  | int getNComponents() {return components_.size();} | 
| 148 |  | std::vector<Component*> getComponents() {return components_;} | 
| 149 |  | Component* getComponentAt(int index) {return components_.at(index);} | 
| 150 | < |  | 
| 150 | > |  | 
| 151 |  | int getNZconsStamps() {return zconstraints_.size();} | 
| 152 |  | std::vector<ZConsStamp*> getZconsStamps() {return zconstraints_;} | 
| 153 |  | ZConsStamp* getZconsStampAt(int index) {return zconstraints_.at(index);} | 
| 154 | < |  | 
| 154 | > |  | 
| 155 |  | virtual void validate(); | 
| 156 |  | private: | 
| 157 |  |  | 
| 158 |  | std::vector<Component*> components_; | 
| 159 |  | std::vector<ZConsStamp*> zconstraints_; | 
| 160 |  | std::map<std::string, MoleculeStamp*> moleculeStamps_; | 
| 161 | + | std::pair<int, int> taggedAtomPair_; | 
| 162 |  |  | 
| 163 |  | }; | 
| 164 |  | } |