| 149 | 
  | 
      return nGlobalRigidBodies_; | 
| 150 | 
  | 
    } | 
| 151 | 
  | 
 | 
| 152 | 
< | 
    int getNGlobalConstraints(); | 
| 152 | 
> | 
    /** Returns the number of global bonds */         | 
| 153 | 
> | 
    unsigned int getNGlobalBonds(){ | 
| 154 | 
> | 
      return nGlobalBonds_; | 
| 155 | 
> | 
    } | 
| 156 | 
> | 
 | 
| 157 | 
> | 
    /** Returns the number of global bends */         | 
| 158 | 
> | 
    unsigned int getNGlobalBends() { | 
| 159 | 
> | 
      return nGlobalBends_; | 
| 160 | 
> | 
    } | 
| 161 | 
> | 
 | 
| 162 | 
> | 
    /** Returns the number of global torsions */         | 
| 163 | 
> | 
    unsigned int getNGlobalTorsions() { | 
| 164 | 
> | 
      return nGlobalTorsions_; | 
| 165 | 
> | 
    } | 
| 166 | 
> | 
 | 
| 167 | 
> | 
    /** Returns the number of global inversions */         | 
| 168 | 
> | 
    unsigned int getNGlobalInversions() { | 
| 169 | 
> | 
      return nGlobalInversions_; | 
| 170 | 
> | 
    } | 
| 171 | 
> | 
 | 
| 172 | 
> | 
    unsigned int getNGlobalConstraints() { | 
| 173 | 
> | 
      if (!hasNGlobalConstraints_) calcNConstraints(); | 
| 174 | 
> | 
      return nGlobalConstraints_; | 
| 175 | 
> | 
    } | 
| 176 | 
  | 
    /**  | 
| 177 | 
  | 
     * Returns the number of local molecules. | 
| 178 | 
  | 
     * @return the number of local molecules  | 
| 204 | 
  | 
      return nTorsions_; | 
| 205 | 
  | 
    } | 
| 206 | 
  | 
 | 
| 207 | 
< | 
    /** Returns the number of local torsions */         | 
| 207 | 
> | 
    /** Returns the number of local inversions */         | 
| 208 | 
  | 
    unsigned int getNInversions() { | 
| 209 | 
  | 
      return nInversions_; | 
| 210 | 
  | 
    } | 
| 435 | 
  | 
    bool getCalcBoxDipole() { | 
| 436 | 
  | 
      return calcBoxDipole_; | 
| 437 | 
  | 
    } | 
| 438 | 
+ | 
    bool getCalcBoxQuadrupole() { | 
| 439 | 
+ | 
      return calcBoxQuadrupole_; | 
| 440 | 
+ | 
    } | 
| 441 | 
  | 
 | 
| 442 | 
  | 
    bool getUseAtomicVirial() { | 
| 443 | 
  | 
      return useAtomicVirial_; | 
| 508 | 
  | 
    void setupSimVariables(); | 
| 509 | 
  | 
 | 
| 510 | 
  | 
 | 
| 485 | 
– | 
    /** Determine if we need to accumulate the simulation box dipole */ | 
| 486 | 
– | 
    void setupAccumulateBoxDipole(); | 
| 487 | 
– | 
 | 
| 511 | 
  | 
    /** Calculates the number of degress of freedom in the whole system */ | 
| 512 | 
  | 
    void calcNdf(); | 
| 513 | 
  | 
    void calcNdfRaw(); | 
| 514 | 
  | 
    void calcNdfTrans(); | 
| 515 | 
+ | 
    void calcNConstraints(); | 
| 516 | 
  | 
 | 
| 517 | 
  | 
    /** | 
| 518 | 
  | 
     * Adds molecule stamp and the total number of the molecule with | 
| 543 | 
  | 
    int nGlobalIntegrableObjects_; /**< number of integrable objects in this system */ | 
| 544 | 
  | 
    int nGlobalRigidBodies_;       /**< number of rigid bodies in this system (GLOBAL) */ | 
| 545 | 
  | 
    int nGlobalFluctuatingCharges_;/**< number of fluctuating charges in this system (GLOBAL) */ | 
| 546 | 
< | 
     | 
| 547 | 
< | 
        | 
| 546 | 
> | 
    int nGlobalBonds_;              /**< number of bonds in the system */ | 
| 547 | 
> | 
    int nGlobalBends_;              /**< number of bends in the system */ | 
| 548 | 
> | 
    int nGlobalTorsions_;           /**< number of torsions in the system */ | 
| 549 | 
> | 
    int nGlobalInversions_;         /**< number of inversions in the system */ | 
| 550 | 
> | 
    int nGlobalConstraints_;        /**< number of constraints in the system */ | 
| 551 | 
> | 
    bool hasNGlobalConstraints_; | 
| 552 | 
> | 
 | 
| 553 | 
  | 
    /// Degress of freedom | 
| 554 | 
  | 
    int ndf_;          /**< number of degress of freedom (excludes constraints) (LOCAL) */ | 
| 555 | 
  | 
    int ndfLocal_;     /**< number of degrees of freedom (LOCAL, excludes constraints) */ | 
| 617 | 
  | 
    vector<int> identArray_; | 
| 618 | 
  | 
  public: | 
| 619 | 
  | 
    vector<int> getIdentArray() { return identArray_; } | 
| 620 | 
+ | 
 | 
| 621 | 
+ | 
    /**  | 
| 622 | 
+ | 
     * A vector that contains information about the local region of an | 
| 623 | 
+ | 
     * atom (used for fluctuating charges, etc.)  | 
| 624 | 
+ | 
     */ | 
| 625 | 
  | 
  private: | 
| 626 | 
< | 
     | 
| 626 | 
> | 
    vector<int> regions_; | 
| 627 | 
> | 
  public: | 
| 628 | 
> | 
    vector<int> getRegions() { return regions_; } | 
| 629 | 
> | 
  private: | 
| 630 | 
  | 
    /**  | 
| 631 | 
  | 
     * A vector which contains the fractional contribution of an | 
| 632 | 
  | 
     * atom's mass to the total mass of the cutoffGroup that atom | 
| 680 | 
  | 
     | 
| 681 | 
  | 
    bool calcBoxDipole_; /**< flag to indicate whether or not we calculate  | 
| 682 | 
  | 
                            the simulation box dipole moment */ | 
| 683 | 
+ | 
    bool calcBoxQuadrupole_; /**< flag to indicate whether or not we calculate  | 
| 684 | 
+ | 
                                the simulation box quadrupole moment */ | 
| 685 | 
  | 
     | 
| 686 | 
  | 
    bool useAtomicVirial_; /**< flag to indicate whether or not we use  | 
| 687 | 
  | 
                              Atomic Virials to calculate the pressure */ |