Revision | 4a51926abc10769b3671d29b0da67279a254fca6 (tree) |
---|---|
Zeit | 2011-09-29 01:54:22 |
Autor | Mikiya Fujii <mikiya.fujii@gmai...> |
Commiter | Mikiya Fujii |
ZindoS is a little bit refactored.
git-svn-id: https://svn.sourceforge.jp/svnroot/molds/MolDS/trunk@150 1136aad2-a195-0410-b898-f5ea1d11b9d8
@@ -27,16 +27,34 @@ protected: | ||
27 | 27 | virtual void CalcGammaAB(double** gammaAB, Molecule* molecule); |
28 | 28 | virtual void SetMessages(); |
29 | 29 | virtual void SetEnableAtomTypes(); |
30 | - virtual double GetFockDiagElement(Atom* atomA, int atomAIndex, | |
31 | - int mu, Molecule* molecule, double** gammaAB, | |
32 | - double** orbitalElectronPopulation, double* atomicElectronPopulation, | |
30 | + virtual double GetFockDiagElement(Atom* atomA, | |
31 | + int atomAIndex, | |
32 | + int mu, | |
33 | + Molecule* molecule, | |
34 | + double** gammaAB, | |
35 | + double** orbitalElectronPopulation, | |
36 | + double* atomicElectronPopulation, | |
33 | 37 | bool isGuess); |
34 | - virtual double GetFockOffDiagElement(Atom* atomA, Atom* atomB, int atomAIndex, int atomBIndex, | |
35 | - int mu, int nu, Molecule* molecule, double** gammaAB, double** overelap, | |
36 | - double** orbitalElectronPopulation, bool isGuess); | |
37 | - virtual void CalcDiatomicOverlapInDiatomicFrame(double** diatomicOverlap, Atom* atomA, Atom* atomB); | |
38 | - virtual double GetMolecularIntegralElement(int moI, int moJ, int moK, int moL, | |
39 | - Molecule* molecule, double** fockMatrix, double** gammaAB); | |
38 | + virtual double GetFockOffDiagElement(Atom* atomA, | |
39 | + Atom* atomB, | |
40 | + int atomAIndex, | |
41 | + int atomBIndex, | |
42 | + int mu, int nu, | |
43 | + Molecule* molecule, | |
44 | + double** gammaAB, | |
45 | + double** overelap, | |
46 | + double** orbitalElectronPopulation, | |
47 | + bool isGuess); | |
48 | + virtual void CalcDiatomicOverlapInDiatomicFrame(double** diatomicOverlap, | |
49 | + Atom* atomA, | |
50 | + Atom* atomB); | |
51 | + virtual double GetMolecularIntegralElement(int moI, | |
52 | + int moJ, | |
53 | + int moK, | |
54 | + int moL, | |
55 | + Molecule* molecule, | |
56 | + double** fockMatrix, | |
57 | + double** gammaAB); | |
40 | 58 | private: |
41 | 59 | double** matrixCIS; |
42 | 60 | double* excitedEnergies; |
@@ -65,18 +83,32 @@ private: | ||
65 | 83 | const { return rLeft.energy < rRight.energy; } }; |
66 | 84 | void DoesCISDirect(); |
67 | 85 | void DoesCISDavidson(); |
68 | - void CalcRitzVector(double* ritzVector, double** expansionVectors, double** interactionMatrix, | |
69 | - int interactionMatrixDimension, int ritzVectorIndex); | |
70 | - void CalcResidualVectorAndNorm(double* residualVector, double* norm, double* ritzVector, | |
71 | - double* interactionEigenEnergies, int residualVectorIndex); | |
86 | + void CalcRitzVector(double* ritzVector, | |
87 | + double** expansionVectors, | |
88 | + double** interactionMatrix, | |
89 | + int interactionMatrixDimension, | |
90 | + int ritzVectorIndex); | |
91 | + void CalcResidualVectorAndNorm(double* residualVector, | |
92 | + double* norm, | |
93 | + double* ritzVector, | |
94 | + double* interactionEigenEnergies, | |
95 | + int residualVectorIndex); | |
72 | 96 | void SortSingleExcitationSlaterDeterminants(vector<MoEnergy>* moEnergies); |
73 | - void UpdateExpansionVectors(double** expansionVectors, double* interactionEigenEnergies, double* residualVector, | |
74 | - int interactionMatrixDimension, int* notConvergedStates, int residualVectorIndex); | |
75 | - void CalcInteractionMatrix(double** interactionMatrix, double** expansionVectors, int interactionMatrixDimension); | |
76 | - void FreeDavidsonCISTemporaryMtrices(double*** expansionVectors, double** residualVector, double** ritzVector); | |
97 | + void UpdateExpansionVectors(double** expansionVectors, | |
98 | + double* interactionEigenEnergies, | |
99 | + double* residualVector, | |
100 | + int interactionMatrixDimension, | |
101 | + int* notConvergedStates, | |
102 | + int residualVectorIndex); | |
103 | + void CalcInteractionMatrix(double** interactionMatrix, | |
104 | + double** expansionVectors, | |
105 | + int interactionMatrixDimension); | |
106 | + void FreeDavidsonCISTemporaryMtrices(double*** expansionVectors, | |
107 | + double** residualVector, | |
108 | + double** ritzVector); | |
77 | 109 | void FreeDavidsonRoopCISTemporaryMtrices(double*** interactionMatrix, |
78 | - double interactionMatrixDimension, | |
79 | - double** interactionEigenEnergies); | |
110 | + double interactionMatrixDimension, | |
111 | + double** interactionEigenEnergies); | |
80 | 112 | void CalcCISMatrix(double** matrixCIS, int numberOcc, int numberVir); |
81 | 113 | string errorMessageNishimotoMataga; |
82 | 114 | string errorMessageDavidsonNotConverged; |