Révision | 620c454a5c9286d2bc8fd91da2a2735e8453a104 (tree) |
---|---|
l'heure | 2013-05-22 14:00:44 |
Auteur | Mikiya Fujii <mikiya.fujii@gmai...> |
Commiter | Mikiya Fujii |
validation for excited states dynamics with ZindoS is updated. #31221
git-svn-id: https://svn.sourceforge.jp/svnroot/molds/trunk@1345 1136aad2-a195-0410-b898-f5ea1d11b9d8
@@ -103,7 +103,7 @@ CAPABILITIES: | ||
103 | 103 | ---------|-----|-----|--------|--------|--------|--------|----------|----------|--------------|--------------|-----------------| |
104 | 104 | INDO | OK | -- | -- | -- | OK | -- | -- | -- | -- | -- | -- | |
105 | 105 | ---------|-----|-----|--------|--------|--------|--------|----------|----------|--------------|--------------|-----------------| |
106 | - ZINDO/S | OK | OK | OK | -- | OK | OK | OK | -- | OK | -- | -- | | |
106 | + ZINDO/S | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | -- | | |
107 | 107 | ---------|-----|-----|--------|--------|--------|--------|----------|----------|--------------|--------------|-----------------| |
108 | 108 | MNDO | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | |
109 | 109 | ---------|-----|-----|--------|--------|--------|--------|----------|----------|--------------|--------------|-----------------| |
@@ -78,10 +78,14 @@ void InputParser::SetMessages(){ | ||
78 | 78 | = "Error in base::InputParser::GetInputTerms: Input file is empty.\n"; |
79 | 79 | this->errorMessageNotFoundInputFile |
80 | 80 | = "Error in base::InputParser::StoreInputTermsFromFile: Not found.\n"; |
81 | + this->errorMessageNonValidTheoriesMD | |
82 | + = "Error in base::InputParser::ValidateMdConditions: Theory you set is not supported for MD.\n"; | |
81 | 83 | this->errorMessageNonValidExcitedStatesMD |
82 | 84 | = "Error in base::InputParser::ValidateMdConditions: Excited state on which MD runs or CIS condition are wrong.\n"; |
83 | 85 | this->errorMessageNonValidExcitedStatesMC |
84 | 86 | = "Error in base::InputParser::ValidateMcConditions: Excited state on which MC runs or CIS condition are wrong.\n"; |
87 | + this->errorMessageNonValidTheoriesRPMD | |
88 | + = "Error in base::InputParser::ValidateRpmdConditions: heory you set is not supported for RMPD.\n"; | |
85 | 89 | this->errorMessageNonValidExcitedStatesRPMD |
86 | 90 | = "Error in base::InputParser::ValidateRpmdConditions: Excited state on which RPMD runs or CIS condition are wrong.\n"; |
87 | 91 | this->errorMessageNonValidTheoriesNASCO |
@@ -90,6 +94,8 @@ void InputParser::SetMessages(){ | ||
90 | 94 | = "Error in base::InputParser::ValidateNascoConditions: The Number of electronic states of NASCO should be not over the number of CIS excited states plus 1.\n"; |
91 | 95 | this->errorMessageNonValidInitialElectronicStateNASCO |
92 | 96 | = "Error in base::InputParser::ValidateNascoConditions: The initial electronic states for NASCO should be set to one of the electronic eigenstates used in NASCO.\n"; |
97 | + this->errorMessageNonValidTheoriesOptimization | |
98 | + = "Error in base::InputParser::ValidateOptimizationConditions: heory you set is not supported for optimization.\n"; | |
93 | 99 | this->errorMessageNonValidExcitedStatesOptimization |
94 | 100 | = "Error in base::InputParser::ValidateOptimizationConditions: Excited state on which optimization is carried out or CIS condition are wrong.\n"; |
95 | 101 | this->errorMessageNonValidElectronicStateFrequencies |
@@ -1371,8 +1377,7 @@ void InputParser::ValidateMdConditions(const Molecule& molecule) const{ | ||
1371 | 1377 | // Validate theory |
1372 | 1378 | if(theory == CNDO2 || theory == INDO ){ |
1373 | 1379 | stringstream ss; |
1374 | - ss << this->errorMessageNonValidExcitedStatesMD; | |
1375 | - ss << this->errorMessageElecState << targetStateIndex << endl; | |
1380 | + ss << this->errorMessageNonValidTheoriesMD; | |
1376 | 1381 | ss << this->errorMessageTheory << TheoryTypeStr(theory) << endl; |
1377 | 1382 | throw MolDSException(ss.str()); |
1378 | 1383 | } |
@@ -1383,7 +1388,7 @@ void InputParser::ValidateMdConditions(const Molecule& molecule) const{ | ||
1383 | 1388 | this->ValidateCisConditions(molecule); |
1384 | 1389 | } |
1385 | 1390 | int numberExcitedStatesCIS = Parameters::GetInstance()->GetNumberExcitedStatesCIS(); |
1386 | - if(numberExcitedStatesCIS < targetStateIndex){ | |
1391 | + if(groundStateIndex < targetStateIndex && numberExcitedStatesCIS < targetStateIndex){ | |
1387 | 1392 | stringstream ss; |
1388 | 1393 | ss << this->errorMessageNonValidExcitedStatesMD; |
1389 | 1394 | ss << this->errorMessageElecState << targetStateIndex << endl; |
@@ -1425,10 +1430,9 @@ void InputParser::ValidateRpmdConditions(const Molecule& molecule) const{ | ||
1425 | 1430 | int targetStateIndex = Parameters::GetInstance()->GetElectronicStateIndexRPMD(); |
1426 | 1431 | TheoryType theory = Parameters::GetInstance()->GetCurrentTheory(); |
1427 | 1432 | // Validate theory |
1428 | - if(theory == CNDO2 || theory == INDO || (theory == ZINDOS && groundStateIndex < targetStateIndex)){ | |
1433 | + if(theory == CNDO2 || theory == INDO ){ | |
1429 | 1434 | stringstream ss; |
1430 | - ss << this->errorMessageNonValidExcitedStatesRPMD; | |
1431 | - ss << this->errorMessageElecState << targetStateIndex << endl; | |
1435 | + ss << this->errorMessageNonValidTheoriesRPMD; | |
1432 | 1436 | ss << this->errorMessageTheory << TheoryTypeStr(theory) << endl; |
1433 | 1437 | throw MolDSException(ss.str()); |
1434 | 1438 | } |
@@ -1439,7 +1443,7 @@ void InputParser::ValidateRpmdConditions(const Molecule& molecule) const{ | ||
1439 | 1443 | this->ValidateCisConditions(molecule); |
1440 | 1444 | } |
1441 | 1445 | int numberExcitedStatesCIS = Parameters::GetInstance()->GetNumberExcitedStatesCIS(); |
1442 | - if(numberExcitedStatesCIS < targetStateIndex){ | |
1446 | + if(groundStateIndex < targetStateIndex && numberExcitedStatesCIS < targetStateIndex){ | |
1443 | 1447 | stringstream ss; |
1444 | 1448 | ss << this->errorMessageNonValidExcitedStatesRPMD; |
1445 | 1449 | ss << this->errorMessageElecState << targetStateIndex << endl; |
@@ -1489,9 +1493,9 @@ void InputParser::ValidateOptimizationConditions(const Molecule& molecule) const | ||
1489 | 1493 | int targetStateIndex = Parameters::GetInstance()->GetElectronicStateIndexOptimization(); |
1490 | 1494 | TheoryType theory = Parameters::GetInstance()->GetCurrentTheory(); |
1491 | 1495 | // Validate theory |
1492 | - if(theory == CNDO2 || theory == INDO || (theory == ZINDOS && groundStateIndex < targetStateIndex)){ | |
1496 | + if(theory == CNDO2 || theory == INDO ){ | |
1493 | 1497 | stringstream ss; |
1494 | - ss << this->errorMessageNonValidExcitedStatesOptimization; | |
1498 | + ss << this->errorMessageNonValidTheoriesOptimization; | |
1495 | 1499 | ss << this->errorMessageElecState << targetStateIndex << endl; |
1496 | 1500 | ss << this->errorMessageTheory << TheoryTypeStr(theory) << endl; |
1497 | 1501 | throw MolDSException(ss.str()); |
@@ -1503,7 +1507,7 @@ void InputParser::ValidateOptimizationConditions(const Molecule& molecule) const | ||
1503 | 1507 | this->ValidateCisConditions(molecule); |
1504 | 1508 | } |
1505 | 1509 | int numberExcitedStatesCIS = Parameters::GetInstance()->GetNumberExcitedStatesCIS(); |
1506 | - if(numberExcitedStatesCIS < targetStateIndex){ | |
1510 | + if(groundStateIndex < targetStateIndex && numberExcitedStatesCIS < targetStateIndex){ | |
1507 | 1511 | stringstream ss; |
1508 | 1512 | ss << this->errorMessageNonValidExcitedStatesOptimization; |
1509 | 1513 | ss << this->errorMessageElecState << targetStateIndex << endl; |
@@ -35,12 +35,15 @@ private: | ||
35 | 35 | void SetMessages(); |
36 | 36 | std::string errorMessageInputFileEmpty; |
37 | 37 | std::string errorMessageNotFoundInputFile; |
38 | + std::string errorMessageNonValidTheoriesMD; | |
38 | 39 | std::string errorMessageNonValidExcitedStatesMD; |
39 | 40 | std::string errorMessageNonValidExcitedStatesMC; |
41 | + std::string errorMessageNonValidTheoriesRPMD; | |
40 | 42 | std::string errorMessageNonValidExcitedStatesRPMD; |
41 | 43 | std::string errorMessageNonValidTheoriesNASCO; |
42 | 44 | std::string errorMessageNonValidNumberExcitedStatesNASCO; |
43 | 45 | std::string errorMessageNonValidInitialElectronicStateNASCO; |
46 | + std::string errorMessageNonValidTheoriesOptimization; | |
44 | 47 | std::string errorMessageNonValidExcitedStatesOptimization; |
45 | 48 | std::string errorMessageNonValidElectronicStateFrequencies; |
46 | 49 | std::string errorMessageNonValidTheoryFrequencies; |