• R/O
  • HTTP
  • SSH
  • HTTPS

提交

標籤
無標籤

Frequently used words (click to add to your profile)

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

Commit MetaInfo

修訂b06fe71ed18b89fd3676c7ab4b516ac477fca99a (tree)
時間2012-06-03 15:35:24
作者Mikiya Fujii <mikiya.fujii@gmai...>
CommiterMikiya Fujii

Log Message

Refactor CalcDiatomicOverlapFirstDerivative #28554

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

Change Summary

差異

--- a/src/cndo/Cndo2.cpp
+++ b/src/cndo/Cndo2.cpp
@@ -3374,7 +3374,7 @@ void Cndo2::CalcDiatomicOverlapFirstDerivative(double*** overlapFirstDeri,
33743374
33753375 double** diatomicOverlap = NULL;
33763376 double** rotatingMatrix = NULL;
3377- double** diaOverlapDeriR = NULL;
3377+ double** diaOverlapFirstDeri = NULL;
33783378 double*** rotMatFirstDerivatives = NULL;
33793379
33803380 try{
@@ -3384,14 +3384,14 @@ void Cndo2::CalcDiatomicOverlapFirstDerivative(double*** overlapFirstDeri,
33843384 MallocerFreer::GetInstance()->Malloc<double>(&rotatingMatrix,
33853385 OrbitalType_end,
33863386 OrbitalType_end);
3387- MallocerFreer::GetInstance()->Malloc<double>(&diaOverlapDeriR, OrbitalType_end, OrbitalType_end);
3387+ MallocerFreer::GetInstance()->Malloc<double>(&diaOverlapFirstDeri, OrbitalType_end, OrbitalType_end);
33883388 MallocerFreer::GetInstance()->Malloc<double>(&rotMatFirstDerivatives,
33893389 OrbitalType_end,
33903390 OrbitalType_end,
33913391 CartesianType_end);
33923392 this->CalcDiatomicOverlapInDiatomicFrame(diatomicOverlap, atomA, atomB);
33933393 this->CalcRotatingMatrix(rotatingMatrix, atomA, atomB);
3394- this->CalcDiatomicOverlapFirstDerivativeInDiatomicFrame(diaOverlapDeriR, atomA, atomB);
3394+ this->CalcDiatomicOverlapFirstDerivativeInDiatomicFrame(diaOverlapFirstDeri, atomA, atomB);
33953395 this->CalcRotatingMatrixFirstDerivatives(rotMatFirstDerivatives, atomA, atomB);
33963396
33973397 // rotate
@@ -3408,7 +3408,7 @@ void Cndo2::CalcDiatomicOverlapFirstDerivative(double*** overlapFirstDeri,
34083408 temp1 += rotatingMatrix[i][k]
34093409 *rotatingMatrix[j][l]
34103410 *(Cartesian[c]/R)
3411- *diaOverlapDeriR[k][l];
3411+ *diaOverlapFirstDeri[k][l];
34123412 temp2 += rotMatFirstDerivatives[i][k][c]
34133413 *rotatingMatrix[j][l]
34143414 *diatomicOverlap[k][l];
@@ -3425,24 +3425,24 @@ void Cndo2::CalcDiatomicOverlapFirstDerivative(double*** overlapFirstDeri,
34253425 catch(MolDSException ex){
34263426 this->FreeDiatomicOverlapFirstDeriTemps(&diatomicOverlap,
34273427 &rotatingMatrix,
3428- &diaOverlapDeriR,
3428+ &diaOverlapFirstDeri,
34293429 &rotMatFirstDerivatives);
34303430 throw ex;
34313431 }
34323432 // free
34333433 this->FreeDiatomicOverlapFirstDeriTemps(&diatomicOverlap,
34343434 &rotatingMatrix,
3435- &diaOverlapDeriR,
3435+ &diaOverlapFirstDeri,
34363436 &rotMatFirstDerivatives);
34373437 }
34383438
34393439 void Cndo2::FreeDiatomicOverlapFirstDeriTemps(double*** diatomicOverlap,
34403440 double*** rotatingMatrix,
3441- double*** diaOverlapDeriR,
3441+ double*** diaOverlapFirstDeri,
34423442 double**** rotMatFirstDerivatives) const{
34433443 MallocerFreer::GetInstance()->Free<double>(diatomicOverlap, OrbitalType_end, OrbitalType_end);
34443444 MallocerFreer::GetInstance()->Free<double>(rotatingMatrix, OrbitalType_end, OrbitalType_end);
3445- MallocerFreer::GetInstance()->Free<double>(diaOverlapDeriR, OrbitalType_end, OrbitalType_end);
3445+ MallocerFreer::GetInstance()->Free<double>(diaOverlapFirstDeri, OrbitalType_end, OrbitalType_end);
34463446 MallocerFreer::GetInstance()->Free<double>(rotMatFirstDerivatives, OrbitalType_end, OrbitalType_end, CartesianType_end);
34473447 }
34483448
--- a/src/cndo/Cndo2.h
+++ b/src/cndo/Cndo2.h
@@ -166,6 +166,9 @@ protected:
166166 void CalcDiatomicOverlapFirstDerivative(double*** overlapFirstDeri,
167167 const MolDS_base_atoms::Atom& atomA,
168168 const MolDS_base_atoms::Atom& atomB) const;
169+ void CalcDiatomicOverlapSecondDerivative(double*** overlapSecondDeri,
170+ const MolDS_base_atoms::Atom& atomA,
171+ const MolDS_base_atoms::Atom& atomB) const;
169172 void FreeDiatomicOverlapFirstDeriTemps(double*** diatomicOverlap,
170173 double*** rotatingMatrix,
171174 double*** diaOverlapDeriR,