• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
Aucun tag

Frequently used words (click to add to your profile)

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

Commit MetaInfo

Révision915e6c28903fb5d522eb837be8881a71e30334c8 (tree)
l'heure2011-09-23 17:22:55
AuteurMikiya Fujii <mikiya.fujii@gmai...>
CommiterMikiya Fujii

Message de Log

base/GTOexpansionSTO.h is added and is not completely implemented.

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

Change Summary

Modification

--- a/src/MolDS.cpp
+++ b/src/MolDS.cpp
@@ -27,6 +27,7 @@
2727 #include"base/MallocerFreer.h"
2828 #include"base/InputParser.h"
2929 #include"base/Parameters.h"
30+#include"base/GTOexpansionSTO.h"
3031 #include"cndo/Cndo2.h"
3132 #include"indo/Indo.h"
3233 #include"zindo/ZindoS.h"
@@ -60,6 +61,7 @@ int main(){
6061 MallocerFreer::GetInstance();
6162 Parameters::GetInstance();
6263 LapackWrapper::GetInstance();
64+ GTOexpansionSTO::GetInstance();
6365
6466
6567 // Parse input
@@ -151,6 +153,7 @@ int main(){
151153 }
152154
153155 //Free
156+ GTOexpansionSTO::DeleteInstance();
154157 LapackWrapper::DeleteInstance();
155158 Parameters::DeleteInstance();
156159 MallocerFreer::DeleteInstance();
--- a/src/base/Enums.h
+++ b/src/base/Enums.h
@@ -44,6 +44,13 @@ RENUMSTR_BEGIN( CartesianType, CartesianTypeStr )
4444 RENUMSTR( CartesianType_end, "CartesianType_end" )
4545 RENUMSTR_END()
4646
47+RENUMSTR_BEGIN( AzimuthalType, AzimuthalTypeStr )
48+ RENUMSTR( sAzimuthal, "s-azimuthal-quantum-number" )
49+ RENUMSTR( pAzimuthal, "p-azimuthal-quantum-number" )
50+ RENUMSTR( dAzimuthal, "d-azimuthal-quantum-number" )
51+ RENUMSTR( AzimuthalType_end, "AzimuthalType_end" )
52+RENUMSTR_END()
53+
4754 RENUMSTR_BEGIN( OrbitalType, OrbitalTypeStr )
4855 RENUMSTR( s, "s" )
4956 RENUMSTR( py, "py" )
@@ -79,6 +86,16 @@ RENUMSTR_BEGIN( AtomType, AtomTypeStr )
7986 RENUMSTR( AtomType_end, "AtomType_end" )
8087 RENUMSTR_END()
8188
89+RENUMSTR_BEGIN( STOnGType, STOnGTypeStr )
90+ RENUMSTR( STO1G, "STO1G" )
91+ RENUMSTR( STO2G, "STO2G" )
92+ RENUMSTR( STO3G, "STO3G" )
93+ RENUMSTR( STO4G, "STO4G" )
94+ RENUMSTR( STO5G, "STO5G" )
95+ RENUMSTR( STO6G, "STO6G" )
96+ RENUMSTR( STOnGType_end, "STOnGType_end" )
97+RENUMSTR_END()
98+
8299 }
83100 #endif
84101
--- /dev/null
+++ b/src/base/GTOexpansionSTO.h
@@ -0,0 +1,158 @@
1+#ifndef INCLUDED_GTOEXPANSIONSTO
2+#define INCLUDED_GTOEXPANSIONSTO
3+
4+#include<stdio.h>
5+#include<stdlib.h>
6+#include<iostream>
7+#include<string>
8+
9+using namespace std;
10+namespace MolDS_base{
11+
12+// GTOexpansionSTO is singleton
13+class GTOexpansionSTO{
14+public:
15+ static GTOexpansionSTO* GetInstance();
16+ static void DeleteInstance();
17+
18+private:
19+ static GTOexpansionSTO* gTOexpansionSTO;
20+ GTOexpansionSTO();
21+ GTOexpansionSTO(GTOexpansionSTO&);
22+ void operator = (GTOexpansionSTO&);
23+ ~GTOexpansionSTO();
24+
25+ void SetCoefficientsExponents();
26+ double exponents[STOnGType_end][ShellType_end][AzimuthalType_end][6];
27+ //[N:expansion number][Shelltype][quasi orbital type:s, p, or d][expansion index].
28+ //This is alpha in (3) of [S_1970]. See Table I and II in [S_1970]
29+ double coefficients[STOnGType_end][ShellType_end][AzimuthalType_end][6];
30+ //[N:expansion number][Shelltype][quasi orbital type:s, p, or d][expansion index].
31+ //This is d in (3) of [S_1970]. See Table I and II in [S_1970]
32+
33+};
34+GTOexpansionSTO* GTOexpansionSTO::gTOexpansionSTO = NULL;
35+
36+GTOexpansionSTO::GTOexpansionSTO(){
37+ this->SetCoefficientsExponents();
38+}
39+
40+GTOexpansionSTO::~GTOexpansionSTO(){
41+}
42+
43+GTOexpansionSTO* GTOexpansionSTO::GetInstance(){
44+ if(gTOexpansionSTO == NULL){
45+ gTOexpansionSTO = new GTOexpansionSTO();
46+ }
47+ return gTOexpansionSTO;
48+}
49+
50+void GTOexpansionSTO::DeleteInstance(){
51+ if(gTOexpansionSTO != NULL){
52+ delete gTOexpansionSTO;
53+ }
54+ gTOexpansionSTO = NULL;
55+}
56+
57+// see Table I and II in [S_1970]
58+void GTOexpansionSTO::SetCoefficientsExponents(){
59+
60+ //STO-1G, k-shell
61+ {
62+ // 1s
63+ exponents[STO1G][k][sAzimuthal][0] = 2.709498091*pow(10.0,-1.0); coefficients[STO1G][k][sAzimuthal][0] = 1.0000;
64+ }
65+
66+ //STO-1G, l-shell
67+ {
68+ // 2s
69+ exponents[STO1G][l][sAzimuthal][0] = 1.012151084*pow(10.0,-1.0); coefficients[STO1G][l][sAzimuthal][0] = 1.0000;
70+ // 2p
71+ exponents[STO1G][l][pAzimuthal][0] = 1.759666885*pow(10.0,-1.0); coefficients[STO1G][l][sAzimuthal][0] = 1.0000;
72+ }
73+
74+ //STO-1G, m-shell
75+ {
76+ // 3s
77+ exponents[STO1G][m][sAzimuthal][0] = 5.296881757*pow(10.0,-1.0); coefficients[STO1G][m][sAzimuthal][0] = 1.0000;
78+ // 3p
79+ exponents[STO1G][m][pAzimuthal][0] = 9.113614253*pow(10.0,-2.0); coefficients[STO1G][m][sAzimuthal][0] = 1.0000;
80+ // 3d
81+ exponents[STO1G][m][dAzimuthal][0] = 1.302270363*pow(10.0,-1.0); coefficients[STO1G][m][sAzimuthal][0] = 1.0000;
82+ }
83+
84+ //STO-2G, k-shell
85+ {
86+ // 1s
87+ exponents[STO2G][k][sAzimuthal][0] = 8.518186635*pow(10.0,-1.0); coefficients[STO2G][k][sAzimuthal][0] = 4.301284983*pow(10,-1.0);
88+ exponents[STO2G][k][sAzimuthal][1] = 1.516232927*pow(10.0,-1.0); coefficients[STO2G][k][sAzimuthal][1] = 6.789135305*pow(10,-1.0);
89+ }
90+/*
91+ //STO-2G, l-shell
92+ {
93+ // 2s
94+ exponents[STO2G][l][sAzimuthal][0] = 1.292278611*pow(10.0,-1.0); coefficients[STO2G][l][sAzimuthal][0] = 7.470867124*pow(10,-1.0);
95+ exponents[STO2G][l][sAzimuthal][1] = 4.908584205*pow(10.0,-2.0); coefficients[STO2G][l][sAzimuthal][1] = 2.855980556*pow(10,-1.0);
96+ // 2p
97+ exponents[STO2G][l][pAzimuthal][0] = *pow(10.0,-.0); coefficients[STO2G][l][pAzimuthal][0] = *pow(10,-.0);
98+ exponents[STO2G][l][pAzimuthal][1] = *pow(10.0,-.0); coefficients[STO2G][l][pAzimuthal][1] = *pow(10,-.0);
99+ }
100+
101+ //STO-2G, m-shell
102+ {
103+ // 3s
104+ exponents[STO2G][m][sAzimuthal][0] = *pow(10.0,-.0); coefficients[STO2G][m][sAzimuthal][0] = *pow(10,-.0);
105+ exponents[STO2G][m][sAzimuthal][1] = *pow(10.0,-.0); coefficients[STO2G][m][sAzimuthal][1] = *pow(10,-.0);
106+ // 3p
107+ exponents[STO2G][m][pAzimuthal][0] = *pow(10.0,-.0); coefficients[STO2G][m][pAzimuthal][0] = *pow(10,-.0);
108+ exponents[STO2G][m][pAzimuthal][1] = *pow(10.0,-.0); coefficients[STO2G][m][pAzimuthal][1] = *pow(10,-.0);
109+ // 3d
110+ exponents[STO2G][m][dAzimuthal][0] = *pow(10.0,-.0); coefficients[STO2G][m][dAzimuthal][0] = *pow(10,-.0);
111+ exponents[STO2G][m][dAzimuthal][1] = *pow(10.0,-.0); coefficients[STO2G][m][dAzimuthal][1] = *pow(10,-.0);
112+ }
113+
114+ //STO-3G, k-shell
115+ {
116+ // 1s
117+ exponents[STO3G][k][sAzimuthal][0] = *pow(10.0,-.0); coefficients[STO3G][k][sAzimuthal][0] = *pow(10,-.0);
118+ exponents[STO3G][k][sAzimuthal][1] = *pow(10.0,-.0); coefficients[STO3G][k][sAzimuthal][1] = *pow(10,-.0);
119+ exponents[STO3G][k][sAzimuthal][2] = *pow(10.0,-.0); coefficients[STO3G][k][sAzimuthal][2] = *pow(10,-.0);
120+ }
121+
122+ //STO-3G, l-shell
123+ {
124+ // 2s
125+ exponents[STO3G][l][sAzimuthal][0] = *pow(10.0,-.0); coefficients[STO3G][l][sAzimuthal][0] = *pow(10,-.0);
126+ exponents[STO3G][l][sAzimuthal][1] = *pow(10.0,-.0); coefficients[STO3G][l][sAzimuthal][1] = *pow(10,-.0);
127+ exponents[STO3G][l][sAzimuthal][2] = *pow(10.0,-.0); coefficients[STO3G][l][sAzimuthal][2] = *pow(10,-.0);
128+ // 2p
129+ exponents[STO3G][l][pAzimuthal][0] = *pow(10.0,-.0); coefficients[STO3G][l][pAzimuthal][0] = *pow(10,-.0);
130+ exponents[STO3G][l][pAzimuthal][1] = *pow(10.0,-.0); coefficients[STO3G][l][pAzimuthal][1] = *pow(10,-.0);
131+ exponents[STO3G][l][pAzimuthal][1] = *pow(10.0,-.0); coefficients[STO3G][l][pAzimuthal][1] = *pow(10,-.0);
132+ }
133+
134+ //STO-3G, m-shell
135+ {
136+ // 3s
137+ exponents[STO3G][m][sAzimuthal][0] = *pow(10.0,-.0); coefficients[STO3G][m][sAzimuthal][0] = *pow(10,-.0);
138+ exponents[STO3G][m][sAzimuthal][1] = *pow(10.0,-.0); coefficients[STO3G][m][sAzimuthal][1] = *pow(10,-.0);
139+ exponents[STO3G][m][sAzimuthal][2] = *pow(10.0,-.0); coefficients[STO3G][m][sAzimuthal][2] = *pow(10,-.0);
140+ // 3p
141+ exponents[STO3G][m][pAzimuthal][0] = *pow(10.0,-.0); coefficients[STO3G][m][pAzimuthal][0] = *pow(10,-.0);
142+ exponents[STO3G][m][pAzimuthal][1] = *pow(10.0,-.0); coefficients[STO3G][m][pAzimuthal][1] = *pow(10,-.0);
143+ exponents[STO3G][m][pAzimuthal][2] = *pow(10.0,-.0); coefficients[STO3G][m][pAzimuthal][2] = *pow(10,-.0);
144+ // 3d
145+ exponents[STO3G][m][dAzimuthal][0] = *pow(10.0,-.0); coefficients[STO3G][m][dAzimuthal][0] = *pow(10,-.0);
146+ exponents[STO3G][m][dAzimuthal][1] = *pow(10.0,-.0); coefficients[STO3G][m][dAzimuthal][1] = *pow(10,-.0);
147+ exponents[STO3G][m][dAzimuthal][2] = *pow(10.0,-.0); coefficients[STO3G][m][dAzimuthal][2] = *pow(10,-.0);
148+ }
149+*/
150+}
151+
152+}
153+#endif
154+
155+
156+
157+
158+