81 |
|
#include "applications/staticProps/RNEMDStats.hpp" |
82 |
|
#include "applications/staticProps/NitrileFrequencyMap.hpp" |
83 |
|
#include "applications/staticProps/MultipoleSum.hpp" |
84 |
+ |
#include "applications/staticProps/SurfaceDiffusion.hpp" |
85 |
|
|
86 |
|
using namespace OpenMD; |
87 |
|
|
99 |
|
std::string dumpFileName = args_info.input_arg; |
100 |
|
std::string sele1; |
101 |
|
std::string sele2; |
102 |
+ |
std::string sele3; |
103 |
|
|
104 |
|
// check the first selection argument, or set it to the environment |
105 |
|
// variable, or failing that, set it to "select all" |
131 |
|
} |
132 |
|
} |
133 |
|
|
134 |
+ |
// check the third selection argument, which is only set if |
135 |
+ |
// requested by the user |
136 |
+ |
|
137 |
+ |
if (args_info.sele3_given) sele3 = args_info.sele3_arg; |
138 |
+ |
|
139 |
|
bool batchMode; |
140 |
|
if (args_info.scd_given){ |
141 |
|
if (args_info.sele1_given && |
191 |
|
analyser = new GofRZ(info, dumpFileName, sele1, sele2, maxLen, zmaxLen, |
192 |
|
args_info.nbins_arg, args_info.nbins_z_arg); |
193 |
|
} else if (args_info.r_theta_given) { |
194 |
< |
analyser = new GofRTheta(info, dumpFileName, sele1, sele2, maxLen, |
195 |
< |
args_info.nbins_arg, args_info.nanglebins_arg); |
194 |
> |
if (args_info.sele3_given) |
195 |
> |
analyser = new GofRTheta(info, dumpFileName, sele1, sele2, sele3, maxLen, |
196 |
> |
args_info.nbins_arg, args_info.nanglebins_arg); |
197 |
> |
else |
198 |
> |
analyser = new GofRTheta(info, dumpFileName, sele1, sele2, maxLen, |
199 |
> |
args_info.nbins_arg, args_info.nanglebins_arg); |
200 |
|
} else if (args_info.r_omega_given) { |
201 |
< |
analyser = new GofROmega(info, dumpFileName, sele1, sele2, maxLen, |
202 |
< |
args_info.nbins_arg, args_info.nanglebins_arg); |
201 |
> |
if (args_info.sele3_given) |
202 |
> |
analyser = new GofROmega(info, dumpFileName, sele1, sele2, sele3, maxLen, |
203 |
> |
args_info.nbins_arg, args_info.nanglebins_arg); |
204 |
> |
else |
205 |
> |
analyser = new GofROmega(info, dumpFileName, sele1, sele2, maxLen, |
206 |
> |
args_info.nbins_arg, args_info.nanglebins_arg); |
207 |
> |
|
208 |
|
} else if (args_info.theta_omega_given) { |
209 |
< |
analyser = new GofAngle2(info, dumpFileName, sele1, sele2, |
210 |
< |
args_info.nanglebins_arg); |
209 |
> |
if (args_info.sele3_given) |
210 |
> |
analyser = new GofAngle2(info, dumpFileName, sele1, sele2, sele3, |
211 |
> |
args_info.nanglebins_arg); |
212 |
> |
else |
213 |
> |
analyser = new GofAngle2(info, dumpFileName, sele1, sele2, |
214 |
> |
args_info.nanglebins_arg); |
215 |
|
} else if (args_info.gxyz_given) { |
216 |
|
if (args_info.refsele_given) { |
217 |
|
analyser= new GofXyz(info, dumpFileName, sele1, sele2, |
362 |
|
args_info.molname_arg, |
363 |
|
args_info.begin_arg, args_info.end_arg); |
364 |
|
} else{ |
345 |
– |
std::string sele3 = args_info.sele3_arg; |
365 |
|
analyser = new SCDOrderParameter(info, dumpFileName, |
366 |
|
sele1, sele2, sele3); |
367 |
|
} |
415 |
|
analyser = new Hxy(info, dumpFileName, sele1, args_info.nbins_x_arg, |
416 |
|
args_info.nbins_y_arg, args_info.nbins_arg); |
417 |
|
#endif |
418 |
+ |
}else if (args_info.surfDiffusion_given){ |
419 |
+ |
analyser = new SurfaceDiffusion(info, dumpFileName, sele1, maxLen); |
420 |
|
}else if (args_info.rho_r_given) { |
421 |
|
if (args_info.radius_given){ |
422 |
|
analyser = new RhoR(info, dumpFileName, sele1, maxLen,args_info.nbins_arg,args_info.radius_arg); |