--- trunk/src/applications/hydrodynamics/HydrodynamicsModel.cpp 2006/03/15 20:58:47 900 +++ trunk/src/applications/hydrodynamics/HydrodynamicsModel.cpp 2006/03/16 22:50:48 904 @@ -175,13 +175,13 @@ void HydrodynamicsModel::calcDiffusionTensor() { tmp = Xitt - Xitr.transpose() * XirrInv * Xitr; tmpInv = tmp.inverse(); - Dott = kt*tmpInv; - Dotr = -kt*XirrInv * Xitr * tmpInv; + Dott = tmpInv; + Dotr = -XirrInv * Xitr * tmpInv; tmp = Xirr - Xitr * XittInv * Xitr.transpose(); tmpInv = tmp.inverse(); - Dorr = kt * tmpInv; + Dorr = tmpInv; //calculate center of diffusion tmp(0, 0) = Dorr(1, 1) + Dorr(2, 2); @@ -215,28 +215,34 @@ void HydrodynamicsModel::calcDiffusionTensor() { Ddrr = Dorr; Ddtr = Dotr + Dorr * Uod; - props_.diffCenter = rod; - props_.Ddtt = Ddtt; - props_.Ddtr = Ddtr; - props_.Ddrr = Ddrr; - SquareMatrix Dd; Dd.setSubMatrix(0, 0, Ddtt); Dd.setSubMatrix(0, 3, Ddtr.transpose()); Dd.setSubMatrix(3, 0, Ddtr); Dd.setSubMatrix(3, 3, Ddrr); SquareMatrix Xid; + Ddtt *= kt; + Ddtr *=kt; + Ddrr *= kt; invertMatrix(Dd, Xid); - //Xidtt in units of kcal*fs*mol^-1*Ang^-2 - Xid *= OOPSEConstant::kb*temperature_; + + //Xidtt in units of kcal*fs*mol^-1*Ang^-2 + //Xid /= OOPSEConstant::energyConvert; + Xid *= OOPSEConstant::kb * temperature_; + props_.diffCenter = rod; + props_.Ddtt = Ddtt; + props_.Ddtr = Ddtr; + props_.Ddrr = Ddrr; Xid.getSubMatrix(0, 0, props_.Xidtt); Xid.getSubMatrix(0, 3, props_.Xidrt); Xid.getSubMatrix(3, 0, props_.Xidtr); Xid.getSubMatrix(3, 3, props_.Xidrr); + std::cout << "viscosity = " << viscosity_ << std::endl; + std::cout << "temperature = " << temperature_ << std::endl; std::cout << "center of diffusion :" << std::endl; std::cout << rod << std::endl; std::cout << "diffusion tensor at center of diffusion " << std::endl;