# | Line 35 | Line 35 | |
---|---|---|
35 | * | |
36 | * [1] Meineke, et al., J. Comp. Chem. 26, 252-271 (2005). | |
37 | * [2] Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006). | |
38 | < | * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008). |
38 | > | * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008). |
39 | * [4] Kuang & Gezelter, J. Chem. Phys. 133, 164101 (2010). | |
40 | * [5] Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). | |
41 | */ | |
# | Line 50 | Line 50 | |
50 | #include "utils/simError.h" | |
51 | ||
52 | #include "applications/dynamicProps/DynamicPropsCmd.h" | |
53 | + | #include "applications/dynamicProps/SelectionCorrFunc.hpp" |
54 | #include "applications/dynamicProps/DipoleCorrFunc.hpp" | |
55 | #include "applications/dynamicProps/RCorrFunc.hpp" | |
56 | #include "applications/dynamicProps/VCorrFunc.hpp" | |
57 | #include "applications/dynamicProps/LegendreCorrFunc.hpp" | |
58 | + | #include "applications/dynamicProps/LegendreCorrFuncZ.hpp" |
59 | #include "applications/dynamicProps/RadialRCorrFunc.hpp" | |
60 | #include "applications/dynamicProps/ThetaCorrFunc.hpp" | |
61 | #include "applications/dynamicProps/DirectionalRCorrFunc.hpp" | |
# | Line 61 | Line 63 | |
63 | #include "applications/dynamicProps/StressCorrFunc.hpp" | |
64 | #include "applications/dynamicProps/SystemDipoleCorrFunc.hpp" | |
65 | #include "applications/dynamicProps/MomentumCorrFunc.hpp" | |
66 | + | #include "applications/dynamicProps/cOHz.hpp" |
67 | ||
65 | – | |
66 | – | |
68 | using namespace OpenMD; | |
69 | ||
70 | int main(int argc, char* argv[]){ | |
# | Line 75 | Line 76 | int main(int argc, char* argv[]){ | |
76 | exit(1) ; | |
77 | } | |
78 | ||
78 | – | |
79 | //get the dumpfile name and meta-data file name | |
80 | std::string dumpFileName = args_info.input_arg; | |
81 | ||
82 | std::string sele1; | |
83 | std::string sele2; | |
84 | < | |
84 | > | |
85 | > | // check the first selection argument, or set it to the environment |
86 | > | // variable, or failing that, set it to "select all" |
87 | > | |
88 | if (args_info.sele1_given) { | |
89 | sele1 = args_info.sele1_arg; | |
90 | < | }else { |
90 | > | } else { |
91 | char* sele1Env= getenv("SELECTION1"); | |
92 | if (sele1Env) { | |
93 | sele1 = sele1Env; | |
94 | < | }else { |
95 | < | sprintf( painCave.errMsg, |
93 | < | "neither --sele1 option nor $SELECTION1 is set"); |
94 | < | painCave.severity = OPENMD_ERROR; |
95 | < | painCave.isFatal = 1; |
96 | < | simError(); |
94 | > | } else { |
95 | > | sele1 = "select all"; |
96 | } | |
97 | } | |
98 | < | |
98 | > | |
99 | > | // check the second selection argument, or set it to the environment |
100 | > | // variable, or failing that, set it to the first selection |
101 | > | |
102 | if (args_info.sele2_given) { | |
103 | sele2 = args_info.sele2_arg; | |
104 | < | }else { |
104 | > | } else { |
105 | char* sele2Env = getenv("SELECTION2"); | |
106 | if (sele2Env) { | |
107 | sele2 = sele2Env; | |
108 | < | } else { |
108 | > | } else { |
109 | > | //If sele2 is not specified, then the default behavior |
110 | > | //should be what is already intended for sele1 |
111 | sele2 = sele1; | |
112 | } | |
113 | } | |
# | Line 121 | Line 125 | int main(int argc, char* argv[]){ | |
125 | SimCreator creator; | |
126 | SimInfo* info = creator.createSim(dumpFileName, false); | |
127 | ||
124 | – | |
128 | TimeCorrFunc* corrFunc; | |
129 | if(args_info.sdcorr_given){ | |
130 | corrFunc = new SystemDipoleCorrFunc(info, dumpFileName, sele1, sele2, memSize); | |
131 | + | } else if (args_info.selecorr_given){ |
132 | + | corrFunc = new SelectionCorrFunc(info, dumpFileName, sele1, sele2, memSize); |
133 | } else if (args_info.dcorr_given){ | |
134 | corrFunc = new DipoleCorrFunc(info, dumpFileName, sele1, sele2, memSize); | |
135 | } else if (args_info.rcorr_given) { | |
# | Line 149 | Line 154 | int main(int argc, char* argv[]){ | |
154 | order = args_info.order_arg; | |
155 | else { | |
156 | sprintf( painCave.errMsg, | |
157 | < | "--order must be set if --lcoor is set\n"); |
157 | > | "--order must be set if --lcorr is set\n"); |
158 | painCave.severity = OPENMD_ERROR; | |
159 | painCave.isFatal = 1; | |
160 | simError(); | |
161 | } | |
162 | ||
163 | corrFunc = new LegendreCorrFunc(info, dumpFileName, sele1, sele2, order, memSize); | |
164 | + | } else if (args_info.lcorrZ_given) { |
165 | + | int order; |
166 | + | if (args_info.order_given) |
167 | + | order = args_info.order_arg; |
168 | + | else { |
169 | + | sprintf( painCave.errMsg, |
170 | + | "--order must be set if --lcorrZ is set\n"); |
171 | + | painCave.severity = OPENMD_ERROR; |
172 | + | painCave.isFatal = 1; |
173 | + | simError(); |
174 | + | } |
175 | + | |
176 | + | corrFunc = new LegendreCorrFuncZ(info, dumpFileName, sele1, sele2, order, args_info.nzbins_arg, memSize); |
177 | + | |
178 | + | } else if (args_info.cohZ_given) { |
179 | + | int order; |
180 | + | if (args_info.order_given) |
181 | + | order = args_info.order_arg; |
182 | + | else { |
183 | + | sprintf( painCave.errMsg, |
184 | + | "--order must be set if --cohZ is set\n"); |
185 | + | painCave.severity = OPENMD_ERROR; |
186 | + | painCave.isFatal = 1; |
187 | + | simError(); |
188 | + | } |
189 | + | |
190 | + | corrFunc = new COHZ(info, dumpFileName, sele1, sele2, order, args_info.nzbins_arg, memSize); |
191 | + | |
192 | } | |
193 | ||
194 | + | |
195 | if (args_info.output_given) { | |
196 | corrFunc->setOutputName(args_info.output_arg); | |
197 | } |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |