• R/O
  • HTTP
  • SSH
  • HTTPS

提交

标签
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

修订版1c281a5e6485d165aeb9eff0af17d6e3ee15ecb6 (tree)
时间2011-11-24 22:45:40
作者Mikiya Fujii <mikiya.fujii@gmai...>
CommiterMikiya Fujii

Log Message

CIS analytic force for NDDO series are refactored. #26396 #26626 #26630

git-svn-id: https://svn.sourceforge.jp/svnroot/molds/MolDS/trunk@315 1136aad2-a195-0410-b898-f5ea1d11b9d8

更改概述

差异

--- a/src/mndo/Mndo.cpp
+++ b/src/mndo/Mndo.cpp
@@ -1712,7 +1712,8 @@ void Mndo::CalcForceExcitedElecCoreAttractionPart(double* force,
17121712 for(int mu=firstAOIndexA; mu<firstAOIndexA+numberAOsA; mu++){
17131713 for(int nu=firstAOIndexA; nu<firstAOIndexA+numberAOsA; nu++){
17141714 for(int i=0; i<CartesianType_end; i++){
1715- force[i] += this->zMatrixForce[elecStateIndex][mu][nu]
1715+ force[i] += -1.0
1716+ *this->zMatrixForce[elecStateIndex][mu][nu]
17161717 *this->GetElectronCoreAttractionFirstDerivative(
17171718 atomAIndex,
17181719 atomBIndex,
@@ -1746,7 +1747,8 @@ void Mndo::CalcForceExcitedOverlapPart(double* force,
17461747 atomB->GetValence()[nu-firstAOIndexB]);
17471748 bondParameter *= 0.5;
17481749 for(int i=0; i<CartesianType_end; i++){
1749- force[i] += this->zMatrixForce[elecStateIndex][mu][nu]
1750+ force[i] += -1.0
1751+ *this->zMatrixForce[elecStateIndex][mu][nu]
17501752 *bondParameter
17511753 *overlapDer[mu-firstAOIndexA][nu-firstAOIndexB][i];
17521754 }
@@ -1770,14 +1772,14 @@ void Mndo::CalcForceExcitedTwoElecPart(double* force,
17701772 for(int lambda=firstAOIndexB; lambda<firstAOIndexB+numberAOsB; lambda++){
17711773 for(int sigma=firstAOIndexB; sigma<firstAOIndexB+numberAOsB; sigma++){
17721774 for(int i=0; i<CartesianType_end; i++){
1773- force[i] += this->zMatrixForce[elecStateIndex][mu][nu]
1775+ force[i] -= this->zMatrixForce[elecStateIndex][mu][nu]
17741776 *this->orbitalElectronPopulation[lambda][sigma]
17751777 *twoElecTwoCoreFirstDeriv[mu-firstAOIndexA]
17761778 [nu-firstAOIndexA]
17771779 [lambda-firstAOIndexB]
17781780 [sigma-firstAOIndexB]
17791781 [i];
1780- force[i] -= 0.50
1782+ force[i] += 0.50
17811783 *this->zMatrixForce[elecStateIndex][mu][lambda]
17821784 *this->orbitalElectronPopulation[nu][sigma]
17831785 *twoElecTwoCoreFirstDeriv[mu-firstAOIndexA]
@@ -1909,12 +1911,12 @@ void Mndo::CalcForce(vector<int> elecStates){
19091911 twoElecTwoCoreFirstDeriv);
19101912 // sum up contributions from response part (excited state)
19111913 for(int i=0; i<CartesianType_end; i++){
1912- this->matrixForce[n][b][i] += forceExcitedElecCoreAttPart[i];
1913- this->matrixForce[n][b][i] += forceExcitedOverlapPart[i];
1914- this->matrixForce[n][b][i] += forceExcitedTwoElecPart[i];
1915- this->matrixForce[n][a][i] -= forceExcitedElecCoreAttPart[i];
1916- this->matrixForce[n][a][i] -= forceExcitedOverlapPart[i];
1917- this->matrixForce[n][a][i] -= forceExcitedTwoElecPart[i];
1914+ this->matrixForce[n][a][i] += forceExcitedElecCoreAttPart[i];
1915+ this->matrixForce[n][a][i] += forceExcitedOverlapPart[i];
1916+ this->matrixForce[n][a][i] += forceExcitedTwoElecPart[i];
1917+ this->matrixForce[n][b][i] -= forceExcitedElecCoreAttPart[i];
1918+ this->matrixForce[n][b][i] -= forceExcitedOverlapPart[i];
1919+ this->matrixForce[n][b][i] -= forceExcitedTwoElecPart[i];
19181920 }
19191921
19201922 }