~ubuntu-branches/debian/sid/lammps/sid

« back to all changes in this revision

Viewing changes to lib/atc/PerAtomQuantityLibrary.h

  • Committer: Package Import Robot
  • Author(s): Anton Gladky
  • Date: 2015-04-29 23:44:49 UTC
  • mfrom: (5.1.3 experimental)
  • Revision ID: package-import@ubuntu.com-20150429234449-mbhy9utku6hp6oq8
Tags: 0~20150313.gitfa668e1-1
Upload into unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1058
1058
    virtual int unpack_comm(int index, double *buf) {return 0;};
1059
1059
 
1060
1060
    /** returns size of per-atom communication */
1061
 
    virtual int size_comm() {return 0;};
 
1061
    virtual int size_comm() const {return 0;};
1062
1062
 
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) {};
1382
1382
    /** handles resetting of data */
1383
1383
    virtual void reset() const;
1384
1384
 
1385
 
    /** atomic masses */
1386
 
    FundamentalAtomQuantity * atomMasses_;
1387
 
 
1388
1385
    /** atomic lambdas */
1389
1386
    PerAtomQuantity<double> * atomLambdas_;
1390
1387
 
1396
1393
  };
1397
1394
 
1398
1395
  /**
 
1396
   *  @class  AtomicFluctuatingVelocityRescaled 
 
1397
   *  @brief  Class for computing the atomic rescaling of the velocity fluctuations by the rescaling thermostat 
 
1398
   */
 
1399
 
 
1400
  class AtomicFluctuatingVelocityRescaled : public ProtectedAtomQuantity<double> {
 
1401
 
 
1402
  public:
 
1403
 
 
1404
    // constructor
 
1405
    AtomicFluctuatingVelocityRescaled(ATC_Method * atc,
 
1406
                                      PerAtomQuantity<double> * atomRescaleFactor = NULL,
 
1407
                                      PerAtomQuantity<double> * atomFluctuatingVelocity = NULL,
 
1408
                                      AtomType atomType = INTERNAL);
 
1409
 
 
1410
    // destructor
 
1411
    virtual ~AtomicFluctuatingVelocityRescaled();
 
1412
 
 
1413
  protected:
 
1414
 
 
1415
    /** handles resetting of data */
 
1416
    virtual void reset() const;
 
1417
 
 
1418
    /** atomic rescaling factor */
 
1419
    PerAtomQuantity<double> * atomRescaleFactor_;
 
1420
 
 
1421
    /** atomic fluctuating velocity */
 
1422
    PerAtomQuantity<double> * atomFluctuatingVelocity_;
 
1423
 
 
1424
  private:
 
1425
    
 
1426
    // do not define
 
1427
    AtomicFluctuatingVelocityRescaled();
 
1428
 
 
1429
  };
 
1430
 
 
1431
  /**
 
1432
   *  @class  AtomicCombinedRescaleThermostatError 
 
1433
   *  @brief  Class for computing the atomic error in the rescaling thermostat when used in combination with a specified streaming velocity 
 
1434
   */
 
1435
 
 
1436
  class AtomicCombinedRescaleThermostatError : public ProtectedAtomQuantity<double> {
 
1437
 
 
1438
  public:
 
1439
 
 
1440
    // constructor
 
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);
 
1447
 
 
1448
    // destructor
 
1449
    virtual ~AtomicCombinedRescaleThermostatError();
 
1450
 
 
1451
  protected:
 
1452
 
 
1453
    /** handles resetting of data */
 
1454
    virtual void reset() const;
 
1455
 
 
1456
    /** atomic rescaled fluctuating momentum */
 
1457
    PerAtomQuantity<double> * atomFluctuatingMomentumRescaled_;
 
1458
 
 
1459
    /** atomic mean (prolonged FE) velocity */
 
1460
    PerAtomQuantity<double> * atomMeanVelocity_;
 
1461
 
 
1462
    /** atomic streaming velocity, as computed by rescaling kinetothermostat */
 
1463
    PerAtomQuantity<double> * atomStreamingVelocity_;
 
1464
 
 
1465
    /** atomic masses */
 
1466
    PerAtomQuantity<double> * atomMass_;
 
1467
 
 
1468
  private:
 
1469
    
 
1470
    // do not define
 
1471
    AtomicCombinedRescaleThermostatError();
 
1472
 
 
1473
  };
 
1474
 
 
1475
  /**
1399
1476
   *  @class  AtomicThermostatForce 
1400
1477
   *  @brief  Class for computing the atomic force induced by the GLC-based thermostats 
1401
1478
   */