305 |
|
return i != molecules_.end() ? i->second : NULL; |
306 |
|
} |
307 |
|
|
308 |
< |
double getRcut() { |
308 |
> |
RealType getRcut() { |
309 |
|
return rcut_; |
310 |
|
} |
311 |
|
|
312 |
< |
double getRsw() { |
312 |
> |
RealType getRsw() { |
313 |
|
return rsw_; |
314 |
|
} |
315 |
|
|
316 |
< |
double getList() { |
316 |
> |
RealType getList() { |
317 |
|
return rlist_; |
318 |
|
} |
319 |
|
|
372 |
|
return fortranInitialized_; |
373 |
|
} |
374 |
|
|
375 |
+ |
bool getCalcBoxDipole() { |
376 |
+ |
return calcBoxDipole_; |
377 |
+ |
} |
378 |
+ |
|
379 |
|
//below functions are just forward functions |
380 |
|
//To compose or to inherit is always a hot debate. In general, is-a relation need subclassing, in the |
381 |
|
//the other hand, has-a relation need composing. |
433 |
|
|
434 |
|
friend std::ostream& operator <<(std::ostream& o, SimInfo& info); |
435 |
|
|
436 |
< |
void getCutoff(double& rcut, double& rsw); |
436 |
> |
void getCutoff(RealType& rcut, RealType& rsw); |
437 |
|
|
438 |
|
private: |
439 |
|
|
455 |
|
/** Figure out which polynomial type to use for the switching function */ |
456 |
|
void setupSwitchingFunction(); |
457 |
|
|
458 |
+ |
/** Determine if we need to accumulate the simulation box dipole */ |
459 |
+ |
void setupAccumulateBoxDipole(); |
460 |
+ |
|
461 |
|
/** Calculates the number of degress of freedom in the whole system */ |
462 |
|
void calcNdf(); |
463 |
|
void calcNdfRaw(); |
535 |
|
std::string statFileName_; |
536 |
|
std::string restFileName_; |
537 |
|
|
538 |
< |
double rcut_; /**< cutoff radius*/ |
539 |
< |
double rsw_; /**< radius of switching function*/ |
540 |
< |
double rlist_; /**< neighbor list radius */ |
538 |
> |
RealType rcut_; /**< cutoff radius*/ |
539 |
> |
RealType rsw_; /**< radius of switching function*/ |
540 |
> |
RealType rlist_; /**< neighbor list radius */ |
541 |
|
|
542 |
|
bool fortranInitialized_; /**< flag indicate whether fortran side is initialized */ |
543 |
|
|
544 |
+ |
bool calcBoxDipole_; /**< flag to indicate whether or not we calculate the simulation box dipole moment */ |
545 |
+ |
|
546 |
|
#ifdef IS_MPI |
547 |
|
//in Parallel version, we need MolToProc |
548 |
|
public: |