1058
1058
virtual int unpack_comm(int index, double *buf) {return 0;};
1060
1060
/** returns size of per-atom communication */
1061
virtual int size_comm() {return 0;};
1061
virtual int size_comm() const {return 0;};
1063
1063
/** changes size of temperary lammps storage data if transfer is being used */
1064
1064
virtual void grow_lammps_array(int nmax, const std::string & tag) {};
1396
* @class AtomicFluctuatingVelocityRescaled
1397
* @brief Class for computing the atomic rescaling of the velocity fluctuations by the rescaling thermostat
1400
class AtomicFluctuatingVelocityRescaled : public ProtectedAtomQuantity<double> {
1405
AtomicFluctuatingVelocityRescaled(ATC_Method * atc,
1406
PerAtomQuantity<double> * atomRescaleFactor = NULL,
1407
PerAtomQuantity<double> * atomFluctuatingVelocity = NULL,
1408
AtomType atomType = INTERNAL);
1411
virtual ~AtomicFluctuatingVelocityRescaled();
1415
/** handles resetting of data */
1416
virtual void reset() const;
1418
/** atomic rescaling factor */
1419
PerAtomQuantity<double> * atomRescaleFactor_;
1421
/** atomic fluctuating velocity */
1422
PerAtomQuantity<double> * atomFluctuatingVelocity_;
1427
AtomicFluctuatingVelocityRescaled();
1432
* @class AtomicCombinedRescaleThermostatError
1433
* @brief Class for computing the atomic error in the rescaling thermostat when used in combination with a specified streaming velocity
1436
class AtomicCombinedRescaleThermostatError : public ProtectedAtomQuantity<double> {
1441
AtomicCombinedRescaleThermostatError(ATC_Method * atc,
1442
PerAtomQuantity<double> * atomFluctuatingMomentumRescaled = NULL,
1443
PerAtomQuantity<double> * atomMeanVelocity = NULL,
1444
PerAtomQuantity<double> * atomStreamingVelocity = NULL,
1445
PerAtomQuantity<double> * atomMass = NULL,
1446
AtomType atomType = INTERNAL);
1449
virtual ~AtomicCombinedRescaleThermostatError();
1453
/** handles resetting of data */
1454
virtual void reset() const;
1456
/** atomic rescaled fluctuating momentum */
1457
PerAtomQuantity<double> * atomFluctuatingMomentumRescaled_;
1459
/** atomic mean (prolonged FE) velocity */
1460
PerAtomQuantity<double> * atomMeanVelocity_;
1462
/** atomic streaming velocity, as computed by rescaling kinetothermostat */
1463
PerAtomQuantity<double> * atomStreamingVelocity_;
1465
/** atomic masses */
1466
PerAtomQuantity<double> * atomMass_;
1471
AtomicCombinedRescaleThermostatError();
1399
1476
* @class AtomicThermostatForce
1400
1477
* @brief Class for computing the atomic force induced by the GLC-based thermostats