| 145 | 
  | 
         | 
| 146 | 
  | 
        Xiott += Cij; | 
| 147 | 
  | 
        Xiotr += U[i] * Cij; | 
| 148 | 
< | 
        //Xiorr += -U[i] * Cij * U[j] + (6 * viscosity * volume) * I;     | 
| 148 | 
> | 
        // uncorrected here.  Volume correction is added after we assemble Xiorr | 
| 149 | 
  | 
        Xiorr += -U[i] * Cij * U[j];  | 
| 150 | 
  | 
      } | 
| 151 | 
  | 
    } | 
| 152 | 
+ | 
 | 
| 153 | 
+ | 
    // add the volume correction | 
| 154 | 
+ | 
    Xiorr += (6.0 * viscosity * volume) * I;     | 
| 155 | 
  | 
     | 
| 156 | 
< | 
    const RealType convertConstant = 6.023; //convert poise.angstrom to amu/fs | 
| 156 | 
> | 
    const RealType convertConstant = 1.439326479e4; //converts Poise angstroms | 
| 157 | 
> | 
                                                    // to kcal fs mol^-1 Angstrom^-1 | 
| 158 | 
> | 
 | 
| 159 | 
  | 
    Xiott *= convertConstant; | 
| 160 | 
  | 
    Xiotr *= convertConstant; | 
| 161 | 
  | 
    Xiorr *= convertConstant; | 
| 162 | 
  | 
     | 
| 158 | 
– | 
     | 
| 159 | 
– | 
     | 
| 163 | 
  | 
    Mat3x3d tmp; | 
| 164 | 
  | 
    Mat3x3d tmpInv; | 
| 165 | 
  | 
    Vector3d tmpVec; | 
| 206 | 
  | 
    Dr6x6.getSubMatrix(0, 3, Drrt); | 
| 207 | 
  | 
    Dr6x6.getSubMatrix(3, 0, Drtr); | 
| 208 | 
  | 
    Dr6x6.getSubMatrix(3, 3, Drrr); | 
| 209 | 
< | 
    RealType kt = OOPSEConstant::kB * temperature ; | 
| 209 | 
> | 
    RealType kt = OOPSEConstant::kb * temperature ; // in kcal mol^-1 | 
| 210 | 
  | 
    Drtt *= kt; | 
| 211 | 
  | 
    Drrt *= kt; | 
| 212 | 
  | 
    Drtr *= kt; | 
| 213 | 
  | 
    Drrr *= kt; | 
| 214 | 
< | 
    Xirtt *= OOPSEConstant::kb * temperature; | 
| 215 | 
< | 
    Xirtr *= OOPSEConstant::kb * temperature; | 
| 216 | 
< | 
    Xirrr *= OOPSEConstant::kb * temperature; | 
| 214 | 
> | 
    //Xirtt *= OOPSEConstant::kb * temperature; | 
| 215 | 
> | 
    //Xirtr *= OOPSEConstant::kb * temperature; | 
| 216 | 
> | 
    //Xirrr *= OOPSEConstant::kb * temperature; | 
| 217 | 
  | 
     | 
| 218 | 
  | 
    Mat6x6d Xi, D; | 
| 219 | 
  | 
 | 
| 321 | 
  | 
             | 
| 322 | 
  | 
        Xitt += Cij; | 
| 323 | 
  | 
        Xitr += U[i] * Cij; | 
| 324 | 
< | 
            //Xirr += -U[i] * Cij * U[j] + (6 * viscosity * volume) * I;             | 
| 324 | 
> | 
        // uncorrected here.  Volume correction is added after we assemble Xiorr | 
| 325 | 
  | 
        Xirr += -U[i] * Cij * U[j]; | 
| 326 | 
  | 
      } | 
| 327 | 
  | 
    } | 
| 328 | 
+ | 
    // add the volume correction here: | 
| 329 | 
+ | 
    Xirr += (6.0 * viscosity * volume) * I;     | 
| 330 | 
  | 
     | 
| 331 | 
< | 
    const RealType convertConstant = 6.023; //convert poise.angstrom to amu/fs | 
| 331 | 
> | 
    const RealType convertConstant = 1.439326479e4; //converts Poise angstroms | 
| 332 | 
> | 
                                                    // to kcal fs mol^-1 Angstrom^-1 | 
| 333 | 
  | 
    Xitt *= convertConstant; | 
| 334 | 
  | 
    Xitr *= convertConstant; | 
| 335 | 
  | 
    Xirr *= convertConstant; | 
| 336 | 
  | 
     | 
| 337 | 
< | 
    RealType kt = OOPSEConstant::kB * temperature; | 
| 337 | 
> | 
    RealType kt = OOPSEConstant::kb * temperature; // in kcal mol^-1 | 
| 338 | 
  | 
     | 
| 339 | 
  | 
    Mat3x3d Dott; //translational diffusion tensor at arbitrary origin O | 
| 340 | 
  | 
    Mat3x3d Dorr; //rotational diffusion tensor at arbitrary origin O | 
| 428 | 
  | 
    std::cout << "center of diffusion :" << std::endl; | 
| 429 | 
  | 
    std::cout << rod << std::endl; | 
| 430 | 
  | 
    std::cout << "diffusion tensor at center of diffusion " << std::endl; | 
| 431 | 
< | 
    std::cout << "translation(A^2/fs) :" << std::endl; | 
| 431 | 
> | 
    std::cout << "translation(A^2 / fs) :" << std::endl; | 
| 432 | 
  | 
    std::cout << Ddtt << std::endl; | 
| 433 | 
< | 
    std::cout << "translation-rotation(A^3/fs):" << std::endl; | 
| 433 | 
> | 
    std::cout << "translation-rotation(A / fs):" << std::endl; | 
| 434 | 
  | 
    std::cout << Ddtr << std::endl; | 
| 435 | 
< | 
    std::cout << "rotation(A^4/fs):" << std::endl; | 
| 435 | 
> | 
    std::cout << "rotation(fs^-1):" << std::endl; | 
| 436 | 
  | 
    std::cout << Ddrr << std::endl; | 
| 437 | 
  | 
 | 
| 438 | 
  | 
    std::cout << "resistance tensor at center of diffusion " << std::endl; | 
| 448 | 
  | 
    Xid.getSubMatrix(3, 3, Xidrr); | 
| 449 | 
  | 
 | 
| 450 | 
  | 
    std::cout << Xidtt << std::endl; | 
| 451 | 
< | 
    std::cout << "rotation-translation (kcal*fs*mol^-1*Ang^-3):" << std::endl; | 
| 451 | 
> | 
    std::cout << "rotation-translation (kcal*fs*mol^-1*Ang^-1):" << std::endl; | 
| 452 | 
  | 
    std::cout << Xidrt << std::endl; | 
| 453 | 
< | 
    std::cout << "translation-rotation(kcal*fs*mol^-1*Ang^-3):" << std::endl; | 
| 453 | 
> | 
    std::cout << "translation-rotation(kcal*fs*mol^-1*Ang^-1):" << std::endl; | 
| 454 | 
  | 
    std::cout << Xidtr << std::endl; | 
| 455 | 
< | 
    std::cout << "rotation(kcal*fs*mol^-1*Ang^-4):" << std::endl; | 
| 455 | 
> | 
    std::cout << "rotation(kcal*fs*mol^-1):" << std::endl; | 
| 456 | 
  | 
    std::cout << Xidrr << std::endl; | 
| 457 | 
  | 
 | 
| 458 | 
  | 
    return true; |