Changeset 064178
- Timestamp:
- Oct 6, 2011, 9:16:19 AM (13 years ago)
- Branches:
- Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
- Children:
- 29daad
- Parents:
- 81c980b
- git-author:
- Frederik Heber <heber@…> (08/11/11 14:20:59)
- git-committer:
- Frederik Heber <heber@…> (10/06/11 09:16:19)
- Location:
- src
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified src/Helpers/defs.cpp ¶
r81c980b r064178 59 59 const char *STANDARDHBONDDISTANCEDB = "Hbonddistance.db"; //!< default filename of typial bond distance to hydrogen database 60 60 const char *STANDARDHBONDANGLEDB = "Hbondangle.db"; //!< default filename of typial bond angle to hydrogen database 61 const char *STANDARDCOLORDB = "color.db"; //!< default filename of typial bond angle to hydrogen database 61 62 62 63 // some values -
TabularUnified src/Helpers/defs.hpp ¶
r81c980b r064178 69 69 extern "C" const char *STANDARDVALENCEDB; //!< default filename of valence number per element database 70 70 extern "C" const char *STANDARDORBITALDB; //!< default filename of orbitals per element database 71 extern "C" const char *STANDARDHBONDDISTANCEDB; //!< default filename of typial bond distance to hydrogen database 72 extern "C" const char *STANDARDHBONDANGLEDB; //!< default filename of typial bond angle to hydrogen database 71 extern "C" const char *STANDARDHBONDDISTANCEDB; //!< default filename of typical bond distance to hydrogen database 72 extern "C" const char *STANDARDHBONDANGLEDB; //!< default filename of typical bond angle to hydrogen database 73 extern "C" const char *STANDARDCOLORDB; //!< default filename of color database 73 74 74 75 // some values -
TabularUnified src/element.cpp ¶
r81c980b r064178 118 118 } 119 119 120 const unsigned char * element::getColor() const 121 { 122 return color; 123 } 124 120 125 double element::getElectronegativity() const 121 126 { -
TabularUnified src/element.hpp ¶
r81c980b r064178 41 41 atomicNumber_t getNumber() const; 42 42 double getMass() const; 43 const unsigned char *getColor() const; 43 44 double getCovalentRadius() const; 44 45 double getElectronegativity() const; … … 75 76 double HBondDistance[NDIM]; //!< distance in Angstrom of this element to hydrogen (for single, double and triple bonds) 76 77 double HBondAngle[NDIM]; //!< typical angle for one, two, three bonded hydrogen (in degrees) 78 unsigned char color[3]; //!< typical color for this element (from Jmol) 77 79 78 80 std::string name; //!< atom name, i.e. "Hydrogen" -
TabularUnified src/elements_db.cpp ¶
r81c980b r064178 436 436 80 0.12000000000000E+02\n\ 437 437 "; 438 439 const char *ColorDB =\ 440 "# AtomicNumber, symbol, [red, green, blue] component, hex value\n\ 441 1\tH\t255\t255\t255\n\ 442 2\tHe\t217\t255\t255\n\ 443 3\tLi\t204\t128\t255\n\ 444 4\tBe\t194\t255\t0\n\ 445 5\tB\t255\t181\t181\n\ 446 6\tC\t144\t144\t144\n\ 447 7\tN\t48\t80\t248\n\ 448 8\tO\t255\t13\t13\n\ 449 9\tF\t144\t224\t80\n\ 450 10\tNe\t179\t227\t245\n\ 451 11\tNa\t171\t92\t242\n\ 452 12\tMg\t138\t255\t0\n\ 453 13\tAl\t191\t166\t166\n\ 454 14\tSi\t240\t200\t160\n\ 455 15\tP\t255\t128\t0\n\ 456 16\tS\t255\t255\t48\n\ 457 17\tCl\t31\t240\t31\n\ 458 18\tAr\t128\t209\t227\n\ 459 19\tK\t143\t64\t212\n\ 460 20\tCa\t61\t255\t0\n\ 461 21\tSc\t230\t230\t230\n\ 462 22\tTi\t191\t194\t199\n\ 463 23\tV\t166\t166\t171\n\ 464 24\tCr\t138\t153\t199\n\ 465 25\tMn\t156\t122\t199\n\ 466 26\tFe\t224\t102\t51\n\ 467 27\tCo\t240\t144\t160\n\ 468 28\tNi\t80\t208\t80\n\ 469 29\tCu\t200\t128\t51\n\ 470 30\tZn\t125\t128\t176\n\ 471 31\tGa\t194\t143\t143\n\ 472 32\tGe\t102\t143\t143\n\ 473 33\tAs\t189\t128\t227\n\ 474 34\tSe\t255\t161\t0\n\ 475 35\tBr\t166\t41\t41\n\ 476 36\tKr\t92\t184\t209\n\ 477 37\tRb\t112\t46\t176\n\ 478 38\tSr\t0\t255\t0\n\ 479 39\tY\t148\t255\t255\n\ 480 40\tZr\t148\t224\t224\n\ 481 41\tNb\t115\t194\t201\n\ 482 42\tMo\t84\t181\t181\n\ 483 43\tTc\t59\t158\t158\n\ 484 44\tRu\t36\t143\t143\n\ 485 45\tRh\t10\t125\t140\n\ 486 46\tPd\t0\t105\t133\n\ 487 47\tAg\t192\t192\t192\n\ 488 48\tCd\t255\t217\t143\n\ 489 49\tIn\t166\t117\t115\n\ 490 50\tSn\t102\t128\t128\n\ 491 51\tSb\t158\t99\t181\n\ 492 52\tTe\t212\t122\t0\n\ 493 53\tI\t148\t0\t148\n\ 494 54\tXe\t66\t158\t176\n\ 495 55\tCs\t87\t23\t143\n\ 496 56\tBa\t0\t201\t0\n\ 497 57\tLa\t112\t212\t255\n\ 498 58\tCe\t255\t255\t199\n\ 499 59\tPr\t217\t255\t199\n\ 500 60\tNd\t199\t255\t199\n\ 501 61\tPm\t163\t255\t199\n\ 502 62\tSm\t143\t255\t199\n\ 503 63\tEu\t97\t255\t199\n\ 504 64\tGd\t69\t255\t199\n\ 505 65\tTb\t48\t255\t199\n\ 506 66\tDy\t31\t255\t199\n\ 507 67\tHo\t0\t255\t156\n\ 508 68\tEr\t0\t230\t117\n\ 509 69\tTm\t0\t212\t82\n\ 510 70\tYb\t0\t191\t56\n\ 511 71\tLu\t0\t171\t36\n\ 512 72\tHf\t77\t194\t255\n\ 513 73\tTa\t77\t166\t255\n\ 514 74\tW\t33\t148\t214\n\ 515 75\tRe\t38\t125\t171\n\ 516 76\tOs\t38\t102\t150\n\ 517 77\tIr\t23\t84\t135\n\ 518 78\tPt\t208\t208\t224\n\ 519 79\tAu\t255\t209\t35\n\ 520 80\tHg\t184\t184\t208\n\ 521 81\tTl\t166\t84\t77\n\ 522 82\tPb\t87\t89\t97\n\ 523 83\tBi\t158\t79\t181\n\ 524 84\tPo\t171\t92\t0\n\ 525 85\tAt\t117\t79\t69\n\ 526 86\tRn\t66\t130\t150\n\ 527 87\tFr\t66\t0\t102\n\ 528 88\tRa\t0\t125\t0\n\ 529 89\tAc\t112\t171\t250\n\ 530 90\tTh\t0\t186\t255\n\ 531 91\tPa\t0\t161\t255\n\ 532 92\tU\t0\t143\t255\n\ 533 93\tNp\t0\t128\t255\n\ 534 94\tPu\t0\t107\t255\n\ 535 95\tAm\t84\t92\t242\n\ 536 96\tCm\t120\t92\t227\n\ 537 97\tBk\t138\t79\t227\n\ 538 98\tCf\t161\t54\t212\n\ 539 99\tEs\t179\t31\t212\n\ 540 100\tFm\t179\t31\t186\n\ 541 101\tMd\t179\t13\t166\n\ 542 102\tNo\t189\t13\t135\n\ 543 103\tLr\t199\t0\t102\n\ 544 104\tRf\t204\t0\t89\n\ 545 105\tDb\t209\t0\t79\n\ 546 106\tSg\t217\t0\t69\n\ 547 107\tBh\t224\t0\t56\n\ 548 108\tHs\t230\t0\t46\n\ 549 "; -
TabularUnified src/elements_db.hpp ¶
r81c980b r064178 15 15 16 16 17 extern const char *ColorDB; 17 18 extern const char *elementsDB; 18 19 extern const char *ElectronegativitiesDB; -
TabularUnified src/periodentafel.cpp ¶
r81c980b r064178 87 87 LoadHBondLengthsDatabase(input); 88 88 ASSERT(status, "HBond distance entry of element initialization failed"); 89 } 90 { 91 stringstream input(ColorDB,ios_base::in); 92 #ifndef NDEBUG 93 bool status = 94 #endif 95 LoadColorDatabase(input); 96 ASSERT(status, "color entry of element initialization failed"); 89 97 } 90 98 }; … … 531 539 } 532 540 541 /** load the color info. 542 * \param *input stream to parse from 543 * \return true - parsing successful, false - something went wrong 544 */ 545 bool periodentafel::LoadColorDatabase(istream &input) 546 { 547 char dummy[MAXSTRINGSIZE]; 548 if (!input.fail()) { 549 input.getline(dummy, MAXSTRINGSIZE); 550 while (!input.eof()) { 551 atomicNumber_t Z; 552 input >> Z; 553 ASSERT(elements.count(Z), "Element not present"); 554 input >> ws; 555 input >> dummy; 556 { 557 int tmpcolor; // char here will only parse a single char (i.e. only "2" out of "255") 558 for (int i=0;i<3;++i) { 559 input >> ws; 560 input >> tmpcolor; 561 elements[Z]->color[i] = (unsigned char)tmpcolor; 562 } 563 } 564 input >> ws; 565 { 566 const element * tmp = FindElement(Z); 567 // DoLog(0) && (Log() << Verbose(0) << "Element " << tmp->getName() << " has (" 568 // << (int)tmp->color[0] << "," << (int)tmp->color[1] << "," << (int)tmp->color[2] 569 // << ") colors." << std::endl); 570 } 571 } 572 return true; 573 } else 574 return false; 575 } 576 533 577 /** Stores element list to file. 534 578 */ -
TabularUnified src/periodentafel.hpp ¶
r81c980b r064178 62 62 private: 63 63 64 bool LoadColorDatabase(istream &input); 64 65 bool LoadElementsDatabase(std::istream &input); 65 66 bool LoadElectronegativityDatabase(std::istream &input); -
TabularUnified src/unittests/PeriodentafelUnitTest.cpp ¶
r81c980b r064178 89 89 stringstream HbondangleDBstream(HbondangleDB,ios_base::in); 90 90 stringstream HbonddistanceDBstream(HbonddistanceDB,ios_base::in); 91 stringstream ColorDBstream(ColorDB,ios_base::in); 91 92 CPPUNIT_ASSERT(tafel->LoadElementsDatabase(elementsDBstream) && "General element initialization failed"); 92 93 CPPUNIT_ASSERT(tafel->LoadElectronegativityDatabase(ElectronegativityDBstream) && "Electronegativity entry of element initialization failed"); … … 95 96 CPPUNIT_ASSERT(tafel->LoadHBondAngleDatabase(HbondangleDBstream) && "HBond angle entry of element initialization failed"); 96 97 CPPUNIT_ASSERT(tafel->LoadHBondLengthsDatabase(HbonddistanceDBstream) && "HBond distance entry of element initialization failed"); 98 CPPUNIT_ASSERT(tafel->LoadColorDatabase(ColorDBstream) && "color entry of element initialization failed"); 97 99 // check presence of elements 98 100 atomicNumber_t Z = 1;
Note:
See TracChangeset
for help on using the changeset viewer.