Changes in / [c538d1:3d078d]
- Files:
-
- 30 added
- 19 deleted
- 29 edited
Legend:
- Unmodified
- Added
- Removed
-
COPYING
rc538d1 r3d078d 1 <<<<<<< HEAD 1 2 GNU GENERAL PUBLIC LICENSE 2 3 Version 3, 29 June 2007 … … 18 19 GNU General Public License for most of our software; it applies also to 19 20 any other work released this way by its authors. You can apply it to 21 ======= 22 GNU GENERAL PUBLIC LICENSE 23 Version 2, June 1991 24 25 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 26 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 27 Everyone is permitted to copy and distribute verbatim copies 28 of this license document, but changing it is not allowed. 29 30 Preamble 31 32 The licenses for most software are designed to take away your 33 freedom to share and change it. By contrast, the GNU General Public 34 License is intended to guarantee your freedom to share and change free 35 software--to make sure the software is free for all its users. This 36 General Public License applies to most of the Free Software 37 Foundation's software and to any other program whose authors commit to 38 using it. (Some other Free Software Foundation software is covered by 39 the GNU Library General Public License instead.) You can apply it to 40 >>>>>>> FETCH_HEAD 20 41 your programs, too. 21 42 … … 23 44 price. Our General Public Licenses are designed to make sure that you 24 45 have the freedom to distribute copies of free software (and charge for 46 <<<<<<< HEAD 25 47 them if you wish), that you receive source code or can get it if you 26 48 want it, that you can change the software or use pieces of it in new … … 622 644 623 645 How to Apply These Terms to Your New Programs 646 ======= 647 this service if you wish), that you receive source code or can get it 648 if you want it, that you can change the software or use pieces of it 649 in new free programs; and that you know you can do these things. 650 651 To protect your rights, we need to make restrictions that forbid 652 anyone to deny you these rights or to ask you to surrender the rights. 653 These restrictions translate to certain responsibilities for you if you 654 distribute copies of the software, or if you modify it. 655 656 For example, if you distribute copies of such a program, whether 657 gratis or for a fee, you must give the recipients all the rights that 658 you have. You must make sure that they, too, receive or can get the 659 source code. And you must show them these terms so they know their 660 rights. 661 662 We protect your rights with two steps: (1) copyright the software, and 663 (2) offer you this license which gives you legal permission to copy, 664 distribute and/or modify the software. 665 666 Also, for each author's protection and ours, we want to make certain 667 that everyone understands that there is no warranty for this free 668 software. If the software is modified by someone else and passed on, we 669 want its recipients to know that what they have is not the original, so 670 that any problems introduced by others will not reflect on the original 671 authors' reputations. 672 673 Finally, any free program is threatened constantly by software 674 patents. We wish to avoid the danger that redistributors of a free 675 program will individually obtain patent licenses, in effect making the 676 program proprietary. To prevent this, we have made it clear that any 677 patent must be licensed for everyone's free use or not licensed at all. 678 679 The precise terms and conditions for copying, distribution and 680 modification follow. 681 682 683 GNU GENERAL PUBLIC LICENSE 684 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 685 686 0. This License applies to any program or other work which contains 687 a notice placed by the copyright holder saying it may be distributed 688 under the terms of this General Public License. The "Program", below, 689 refers to any such program or work, and a "work based on the Program" 690 means either the Program or any derivative work under copyright law: 691 that is to say, a work containing the Program or a portion of it, 692 either verbatim or with modifications and/or translated into another 693 language. (Hereinafter, translation is included without limitation in 694 the term "modification".) Each licensee is addressed as "you". 695 696 Activities other than copying, distribution and modification are not 697 covered by this License; they are outside its scope. The act of 698 running the Program is not restricted, and the output from the Program 699 is covered only if its contents constitute a work based on the 700 Program (independent of having been made by running the Program). 701 Whether that is true depends on what the Program does. 702 703 1. You may copy and distribute verbatim copies of the Program's 704 source code as you receive it, in any medium, provided that you 705 conspicuously and appropriately publish on each copy an appropriate 706 copyright notice and disclaimer of warranty; keep intact all the 707 notices that refer to this License and to the absence of any warranty; 708 and give any other recipients of the Program a copy of this License 709 along with the Program. 710 711 You may charge a fee for the physical act of transferring a copy, and 712 you may at your option offer warranty protection in exchange for a fee. 713 714 2. You may modify your copy or copies of the Program or any portion 715 of it, thus forming a work based on the Program, and copy and 716 distribute such modifications or work under the terms of Section 1 717 above, provided that you also meet all of these conditions: 718 719 a) You must cause the modified files to carry prominent notices 720 stating that you changed the files and the date of any change. 721 722 b) You must cause any work that you distribute or publish, that in 723 whole or in part contains or is derived from the Program or any 724 part thereof, to be licensed as a whole at no charge to all third 725 parties under the terms of this License. 726 727 c) If the modified program normally reads commands interactively 728 when run, you must cause it, when started running for such 729 interactive use in the most ordinary way, to print or display an 730 announcement including an appropriate copyright notice and a 731 notice that there is no warranty (or else, saying that you provide 732 a warranty) and that users may redistribute the program under 733 these conditions, and telling the user how to view a copy of this 734 License. (Exception: if the Program itself is interactive but 735 does not normally print such an announcement, your work based on 736 the Program is not required to print an announcement.) 737 738 739 These requirements apply to the modified work as a whole. If 740 identifiable sections of that work are not derived from the Program, 741 and can be reasonably considered independent and separate works in 742 themselves, then this License, and its terms, do not apply to those 743 sections when you distribute them as separate works. But when you 744 distribute the same sections as part of a whole which is a work based 745 on the Program, the distribution of the whole must be on the terms of 746 this License, whose permissions for other licensees extend to the 747 entire whole, and thus to each and every part regardless of who wrote it. 748 749 Thus, it is not the intent of this section to claim rights or contest 750 your rights to work written entirely by you; rather, the intent is to 751 exercise the right to control the distribution of derivative or 752 collective works based on the Program. 753 754 In addition, mere aggregation of another work not based on the Program 755 with the Program (or with a work based on the Program) on a volume of 756 a storage or distribution medium does not bring the other work under 757 the scope of this License. 758 759 3. You may copy and distribute the Program (or a work based on it, 760 under Section 2) in object code or executable form under the terms of 761 Sections 1 and 2 above provided that you also do one of the following: 762 763 a) Accompany it with the complete corresponding machine-readable 764 source code, which must be distributed under the terms of Sections 765 1 and 2 above on a medium customarily used for software interchange; or, 766 767 b) Accompany it with a written offer, valid for at least three 768 years, to give any third party, for a charge no more than your 769 cost of physically performing source distribution, a complete 770 machine-readable copy of the corresponding source code, to be 771 distributed under the terms of Sections 1 and 2 above on a medium 772 customarily used for software interchange; or, 773 774 c) Accompany it with the information you received as to the offer 775 to distribute corresponding source code. (This alternative is 776 allowed only for noncommercial distribution and only if you 777 received the program in object code or executable form with such 778 an offer, in accord with Subsection b above.) 779 780 The source code for a work means the preferred form of the work for 781 making modifications to it. For an executable work, complete source 782 code means all the source code for all modules it contains, plus any 783 associated interface definition files, plus the scripts used to 784 control compilation and installation of the executable. However, as a 785 special exception, the source code distributed need not include 786 anything that is normally distributed (in either source or binary 787 form) with the major components (compiler, kernel, and so on) of the 788 operating system on which the executable runs, unless that component 789 itself accompanies the executable. 790 791 If distribution of executable or object code is made by offering 792 access to copy from a designated place, then offering equivalent 793 access to copy the source code from the same place counts as 794 distribution of the source code, even though third parties are not 795 compelled to copy the source along with the object code. 796 797 798 4. You may not copy, modify, sublicense, or distribute the Program 799 except as expressly provided under this License. Any attempt 800 otherwise to copy, modify, sublicense or distribute the Program is 801 void, and will automatically terminate your rights under this License. 802 However, parties who have received copies, or rights, from you under 803 this License will not have their licenses terminated so long as such 804 parties remain in full compliance. 805 806 5. You are not required to accept this License, since you have not 807 signed it. However, nothing else grants you permission to modify or 808 distribute the Program or its derivative works. These actions are 809 prohibited by law if you do not accept this License. Therefore, by 810 modifying or distributing the Program (or any work based on the 811 Program), you indicate your acceptance of this License to do so, and 812 all its terms and conditions for copying, distributing or modifying 813 the Program or works based on it. 814 815 6. Each time you redistribute the Program (or any work based on the 816 Program), the recipient automatically receives a license from the 817 original licensor to copy, distribute or modify the Program subject to 818 these terms and conditions. You may not impose any further 819 restrictions on the recipients' exercise of the rights granted herein. 820 You are not responsible for enforcing compliance by third parties to 821 this License. 822 823 7. If, as a consequence of a court judgment or allegation of patent 824 infringement or for any other reason (not limited to patent issues), 825 conditions are imposed on you (whether by court order, agreement or 826 otherwise) that contradict the conditions of this License, they do not 827 excuse you from the conditions of this License. If you cannot 828 distribute so as to satisfy simultaneously your obligations under this 829 License and any other pertinent obligations, then as a consequence you 830 may not distribute the Program at all. For example, if a patent 831 license would not permit royalty-free redistribution of the Program by 832 all those who receive copies directly or indirectly through you, then 833 the only way you could satisfy both it and this License would be to 834 refrain entirely from distribution of the Program. 835 836 If any portion of this section is held invalid or unenforceable under 837 any particular circumstance, the balance of the section is intended to 838 apply and the section as a whole is intended to apply in other 839 circumstances. 840 841 It is not the purpose of this section to induce you to infringe any 842 patents or other property right claims or to contest validity of any 843 such claims; this section has the sole purpose of protecting the 844 integrity of the free software distribution system, which is 845 implemented by public license practices. Many people have made 846 generous contributions to the wide range of software distributed 847 through that system in reliance on consistent application of that 848 system; it is up to the author/donor to decide if he or she is willing 849 to distribute software through any other system and a licensee cannot 850 impose that choice. 851 852 This section is intended to make thoroughly clear what is believed to 853 be a consequence of the rest of this License. 854 855 856 8. If the distribution and/or use of the Program is restricted in 857 certain countries either by patents or by copyrighted interfaces, the 858 original copyright holder who places the Program under this License 859 may add an explicit geographical distribution limitation excluding 860 those countries, so that distribution is permitted only in or among 861 countries not thus excluded. In such case, this License incorporates 862 the limitation as if written in the body of this License. 863 864 9. The Free Software Foundation may publish revised and/or new versions 865 of the General Public License from time to time. Such new versions will 866 be similar in spirit to the present version, but may differ in detail to 867 address new problems or concerns. 868 869 Each version is given a distinguishing version number. If the Program 870 specifies a version number of this License which applies to it and "any 871 later version", you have the option of following the terms and conditions 872 either of that version or of any later version published by the Free 873 Software Foundation. If the Program does not specify a version number of 874 this License, you may choose any version ever published by the Free Software 875 Foundation. 876 877 10. If you wish to incorporate parts of the Program into other free 878 programs whose distribution conditions are different, write to the author 879 to ask for permission. For software which is copyrighted by the Free 880 Software Foundation, write to the Free Software Foundation; we sometimes 881 make exceptions for this. Our decision will be guided by the two goals 882 of preserving the free status of all derivatives of our free software and 883 of promoting the sharing and reuse of software generally. 884 885 NO WARRANTY 886 887 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 888 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN 889 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 890 PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED 891 OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 892 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS 893 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE 894 PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, 895 REPAIR OR CORRECTION. 896 897 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 898 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 899 REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 900 INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING 901 OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 902 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY 903 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 904 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE 905 POSSIBILITY OF SUCH DAMAGES. 906 907 END OF TERMS AND CONDITIONS 908 909 910 How to Apply These Terms to Your New Programs 911 >>>>>>> FETCH_HEAD 624 912 625 913 If you develop a new program, and you want it to be of the greatest … … 629 917 To do so, attach the following notices to the program. It is safest 630 918 to attach them to the start of each source file to most effectively 919 <<<<<<< HEAD 631 920 state the exclusion of warranty; and each file should have at least 921 ======= 922 convey the exclusion of warranty; and each file should have at least 923 >>>>>>> FETCH_HEAD 632 924 the "copyright" line and a pointer to where the full notice is found. 633 925 … … 635 927 Copyright (C) <year> <name of author> 636 928 929 <<<<<<< HEAD 637 930 This program is free software: you can redistribute it and/or modify 638 931 it under the terms of the GNU General Public License as published by 639 932 the Free Software Foundation, either version 3 of the License, or 933 ======= 934 This program is free software; you can redistribute it and/or modify 935 it under the terms of the GNU General Public License as published by 936 the Free Software Foundation; either version 2 of the License, or 937 >>>>>>> FETCH_HEAD 640 938 (at your option) any later version. 641 939 … … 646 944 647 945 You should have received a copy of the GNU General Public License 946 <<<<<<< HEAD 648 947 along with this program. If not, see <http://www.gnu.org/licenses/>. 649 948 … … 655 954 <program> Copyright (C) <year> <name of author> 656 955 This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 956 ======= 957 along with this program; if not, write to the Free Software 958 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 959 960 961 Also add information on how to contact you by electronic and paper mail. 962 963 If the program is interactive, make it output a short notice like this 964 when it starts in an interactive mode: 965 966 Gnomovision version 69, Copyright (C) year name of author 967 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 968 >>>>>>> FETCH_HEAD 657 969 This is free software, and you are welcome to redistribute it 658 970 under certain conditions; type `show c' for details. 659 971 660 972 The hypothetical commands `show w' and `show c' should show the appropriate 973 <<<<<<< HEAD 661 974 parts of the General Public License. Of course, your program's commands 662 975 might be different; for a GUI interface, you would use an "about box". … … 673 986 Public License instead of this License. But first, please read 674 987 <http://www.gnu.org/philosophy/why-not-lgpl.html>. 988 ======= 989 parts of the General Public License. Of course, the commands you use may 990 be called something other than `show w' and `show c'; they could even be 991 mouse-clicks or menu items--whatever suits your program. 992 993 You should also get your employer (if you work as a programmer) or your 994 school, if any, to sign a "copyright disclaimer" for the program, if 995 necessary. Here is a sample; alter the names: 996 997 Yoyodyne, Inc., hereby disclaims all copyright interest in the program 998 `Gnomovision' (which makes passes at compilers) written by James Hacker. 999 1000 <signature of Ty Coon>, 1 April 1989 1001 Ty Coon, President of Vice 1002 1003 This General Public License does not permit incorporating your program into 1004 proprietary programs. If your program is a subroutine library, you may 1005 consider it more useful to permit linking proprietary applications with the 1006 library. If this is what you want to do, use the GNU Library General 1007 Public License instead of this License. 1008 >>>>>>> FETCH_HEAD -
ChangeLog
rc538d1 r3d078d 1 18.04.2008 2 + essential switch in structure of ESPACK. Instead of having everything 3 relative to pcp, we now have three tantamount packages: pcp, utilities and 4 molecuilder -
README
rc538d1 r3d078d 1 <<<<<<< HEAD 1 2 # Project: Molecuilder 2 3 # … … 6 7 7 8 ... is a tool that started as a mean to edit pcp configuration files (adding/remvoing groups of atoms, measuring bond lengths and so forth) and has grown into the many-body fragmentation test base of a new method coined BOSSANOVA (Bond Order diSSection in an ANOVA (ANalysis Of VAriance) -like fashion). It spills out configuration files for each fragment and includes joining and analyzing programs, to put together the partial energies and forces of each fragment to the total energy and forces. It allows for a complete Born-Oppenheimer molecular dynamics run. 9 ======= 10 # Project: ParallelCarParrinello 11 # Jan Hamaekers 12 # Frederik Heber 13 # 2005 14 # 15 # File: README 16 17 Electronic Structure PACKage 18 19 Is a collection of mathematical-physical programs to calculate via various ab-initio methods 20 such as density functional theory or Hartree-Fock electronic(-magnetic) properties including 21 the molecular (Car&Parrinello) dynamics of a many electron system. Especially, the linear 22 response of the system to a external magnetic field in a perturbation approach in terms of 23 susceptibility and chemical shielding is implemented via the Density Functional Perturbation 24 Theory. It was developed mainly by Jan Hamaekers (pcp) with additional code by Frederik Heber 25 (dfpt part in pcp) and also Ralf Wildenhuis (Gauss) at the Institute for Numerical Simulation 26 at the University of Bonn[1]. 27 28 29 >>>>>>> FETCH_HEAD 8 30 9 31 INSTALLATION NOTES 10 32 ================== 11 33 34 <<<<<<< HEAD 12 35 The following packages are needed 13 36 * GCC or alike 14 37 * GSL (GNU Scientific Library, available at http://www.gnu.org/software/gsl) 15 38 * Boost 1.4 or newer 39 ======= 40 In general gcc or alike is needed to compile the sources, for more specific demands see the README files in the sub directory of each package part. 41 42 LINKS 43 ===== 44 [1] http://www.ins.uni-bonn.de/ 45 >>>>>>> FETCH_HEAD -
src/Actions/AtomAction/ChangeElementAction.cpp
rc538d1 r3d078d 38 38 std::vector<element *> elements; 39 39 40 dialog->query Atom(NAME, &first, MapOfActions::getInstance().getDescription(NAME));41 dialog->query Element("element", &elements, MapOfActions::getInstance().getDescription("element"));40 dialog->queryElement(NAME, &elements, MapOfActions::getInstance().getDescription(NAME)); 41 dialog->queryAtom("atom-by-id", &first, MapOfActions::getInstance().getDescription("atom-by-id")); 42 42 43 43 if(dialog->display()) { -
src/Actions/MapOfActions.cpp
rc538d1 r3d078d 272 272 TypeMap["center-in-box"] = Box; 273 273 TypeMap["change-box"] = Box; 274 TypeMap["change-element"] = Atom;274 TypeMap["change-element"] = Element; 275 275 TypeMap["change-molname"] = String; 276 276 TypeMap["convex-envelope"] = Molecule; … … 323 323 TypeMap["MaxDistance"] = Double; 324 324 TypeMap["molecule-by-id"] = Molecule; 325 TypeMap["molecule-by-name"] = Molecule;325 TypeMap["molecule-by-name"] = String; 326 326 TypeMap["nonconvex-file"] = String; 327 327 TypeMap["order"] = Integer; -
src/Actions/ParserAction/LoadXyzAction.cpp
rc538d1 r3d078d 78 78 if (UniqueList.size() != ListAfter.size()) { // only create if new atoms have been parsed 79 79 MoleculeListClass *molecules = World::getInstance().getMolecules(); 80 molecule *mol= NULL; 81 if (molecules->ListOfMolecules.empty()) { 82 mol = World::getInstance().createMolecule(); 83 molecules->insert(mol); 84 } else { 85 mol = *(molecules->ListOfMolecules.begin()); 86 } 80 molecule *mol = World::getInstance().createMolecule(); 81 molecules->insert(mol); 87 82 for (vector<atom *>::iterator runner = ListAfter.begin(); runner != ListAfter.end(); ++runner) { 88 83 Inserter = UniqueList.insert(*runner); -
src/Actions/WorldAction/ChangeBoxAction.cpp
rc538d1 r3d078d 41 41 if(dialog->display()) { 42 42 DoLog(0) && (Log() << Verbose(0) << "Setting box domain to " << cell_size.getM() << endl); 43 World::getInstance().setDomain(cell_size.getM()); 43 44 delete dialog; 44 45 return Action::success; -
src/Actions/WorldAction/InputAction.cpp
rc538d1 r3d078d 38 38 MoleculeListClass *molecules = World::getInstance().getMolecules(); 39 39 molecule *mol = NULL; 40 st ring filename;40 std::string filename; 41 41 std::ifstream test; 42 42 … … 45 45 if(dialog->display()) { 46 46 DoLog(0) && (Log() << Verbose(0) << "Config file given." << endl); 47 std::string FilenamePrefix = filename.substr(0,filename.find('.')); 48 FormatParserStorage::getInstance().SetOutputPrefixForAll(FilenamePrefix); 49 DoLog(1) && (Log() << Verbose(1) << "Setting config file name prefix to " << FilenamePrefix << "." << endl); 50 test.open(filename.c_str()); 51 if (test == NULL) { 52 DoLog(1) && (Log() << Verbose(1) << "Specified config file " << filename << " not found." << endl); 47 if (filename.find('.') != string::npos) { 48 std::string FilenamePrefix = filename.substr(0,filename.find_last_of('.')); 49 std::string FilenameSuffix = filename.substr(filename.find_last_of('.')+1, filename.length()); 50 DoLog(1) && (Log() << Verbose(1) << "Setting config file name prefix to " << FilenamePrefix << "." << endl); 51 test.open(filename.c_str()); 52 if (test == NULL) { 53 DoLog(1) && (Log() << Verbose(1) << "Specified config file " << filename << " not found." << endl); 54 } else { 55 DoLog(1) && (Log() << Verbose(1) << "Specified config file found, parsing ... "); 56 FormatParserStorage::getInstance().get((std::istream &)test, FilenameSuffix); 57 test.close(); 58 } 59 FormatParserStorage::getInstance().SetOutputPrefixForAll(FilenamePrefix); 60 // set mol to first active molecule 61 if (molecules->ListOfMolecules.size() != 0) { 62 for (MoleculeList::iterator ListRunner = molecules->ListOfMolecules.begin(); ListRunner != molecules->ListOfMolecules.end(); ListRunner++) 63 if ((*ListRunner)->ActiveFlag) { 64 mol = *ListRunner; 65 break; 66 } 67 } 68 if (mol == NULL) { 69 mol = World::getInstance().createMolecule(); 70 mol->ActiveFlag = true; 71 molecules->insert(mol); 72 } 73 mol->SetNameFromFilename(filename.substr(0,filename.find('.')).c_str()); 53 74 } else { 54 DoLog(1) && (Log() << Verbose(1) << "Specified config file found, parsing ... "); 55 FormatParserStorage::getInstance().getPcp().load(&test); 56 test.close(); 75 DoeLog(1) && (eLog() << Verbose(1) << "Input file does not have a suffix, cannot recognize format." << endl); 57 76 } 58 // set mol to first active molecule59 if (molecules->ListOfMolecules.size() != 0) {60 for (MoleculeList::iterator ListRunner = molecules->ListOfMolecules.begin(); ListRunner != molecules->ListOfMolecules.end(); ListRunner++)61 if ((*ListRunner)->ActiveFlag) {62 mol = *ListRunner;63 break;64 }65 }66 if (mol == NULL) {67 mol = World::getInstance().createMolecule();68 mol->ActiveFlag = true;69 molecules->insert(mol);70 }71 mol->SetNameFromFilename(filename.c_str());72 77 delete dialog; 73 78 return Action::success; -
src/Box.cpp
rc538d1 r3d078d 46 46 47 47 void Box::setM(Matrix _M){ 48 ASSERT(_M.at(1,0)==_M.at(0,1),"Matrix used as cell_size was not symmetric"); 49 ASSERT(_M.at(2,0)==_M.at(0,2),"Matrix used as cell_size was not symmetric"); 50 ASSERT(_M.at(1,2)==_M.at(2,1),"Matrix used as cell_size was not symmetric"); 48 ASSERT(_M.determinant()!=0,"Matrix in Box construction was not invertible"); 51 49 *M =_M; 52 50 *Minv = M->invert(); -
src/Descriptors/AtomDescriptor.cpp
rc538d1 r3d078d 82 82 vector<atom*> res; 83 83 World::AtomSet atoms = getAtoms(); 84 atoms_iter_t iter; 85 for(iter=atoms.begin_internal();iter!=atoms.end_internal();++iter) { 86 if(predicate(*iter)){ 87 res.push_back((*iter).second); 88 } 84 for_each(atoms.begin_internal(), 85 atoms.end_internal(), 86 boost::bind(&AtomDescriptor_impl::checkAndAdd, 87 this,&res,_1)); 88 return res; 89 } 90 91 void AtomDescriptor_impl::checkAndAdd(std::vector<atom*> *v,std::pair<atomId_t,atom*> p){ 92 if(predicate(p)){ 93 v->push_back(p.second); 89 94 } 90 return res;91 95 } 92 96 -
src/Descriptors/AtomDescriptor_impl.hpp
rc538d1 r3d078d 50 50 */ 51 51 World::AtomSet& getAtoms(); 52 53 void checkAndAdd(std::vector<atom*>*,std::pair<atomId_t,atom*>); 52 54 }; 53 55 -
src/Descriptors/AtomIdDescriptor.cpp
rc538d1 r3d078d 33 33 34 34 atom *AtomIdDescriptor_impl::find(){ 35 World::AtomSet atoms = getAtoms();35 World::AtomSet &atoms = getAtoms(); 36 36 World::AtomSet::iterator res = atoms.find(id); 37 37 return (res!=atoms.end())?((*res).second):0; -
src/Descriptors/MoleculeDescriptor.cpp
rc538d1 r3d078d 74 74 75 75 molecule* MoleculeDescriptor_impl::find() { 76 World::MoleculeSet molecules = getMolecules();76 World::MoleculeSet &molecules = getMolecules(); 77 77 molecules_iter_t res = find_if(molecules.begin_internal(),molecules.end_internal(),boost::bind(&MoleculeDescriptor_impl::predicate,this,_1)); 78 78 return (res!=molecules.end_internal())?((*res).second):0; … … 81 81 vector<molecule*> MoleculeDescriptor_impl::findAll() { 82 82 vector<molecule*> res; 83 World::MoleculeSet molecules = getMolecules(); 84 molecules_iter_t iter; 85 for(iter=molecules.begin_internal();iter!=molecules.end_internal();++iter) { 86 if(predicate(*iter)){ 87 res.push_back((*iter).second); 88 } 83 World::MoleculeSet &molecules = getMolecules(); 84 for_each(molecules.begin_internal(), 85 molecules.end_internal(), 86 boost::bind(&MoleculeDescriptor_impl::checkAndAdd, 87 this,&res,_1)); 88 return res; 89 } 90 91 void MoleculeDescriptor_impl::checkAndAdd(std::vector<molecule*> *v,std::pair<moleculeId_t,molecule*> p){ 92 if(predicate(p)){ 93 v->push_back(p.second); 89 94 } 90 return res;91 95 } 92 96 -
src/Descriptors/MoleculeDescriptor_impl.hpp
rc538d1 r3d078d 50 50 */ 51 51 World::MoleculeSet& getMolecules(); 52 53 void checkAndAdd(std::vector<molecule*>*,std::pair<moleculeId_t,molecule*>); 52 54 }; 53 55 -
src/Descriptors/MoleculeIdDescriptor.cpp
rc538d1 r3d078d 34 34 35 35 molecule *MoleculeIdDescriptor_impl::find(){ 36 World::MoleculeSet molecules = getMolecules();36 World::MoleculeSet &molecules = getMolecules(); 37 37 World::MoleculeSet::iterator res = molecules.find(id); 38 38 return (res!=molecules.end())?((*res).second):0; -
src/Makefile.am
rc538d1 r3d078d 150 150 DESCRIPTORSOURCE = Descriptors/AtomDescriptor.cpp \ 151 151 Descriptors/AtomIdDescriptor.cpp \ 152 Descriptors/AtomSelectionDescriptor.cpp \ 152 153 Descriptors/AtomTypeDescriptor.cpp \ 153 154 Descriptors/MoleculeDescriptor.cpp \ 154 155 Descriptors/MoleculeIdDescriptor.cpp \ 155 156 Descriptors/MoleculeNameDescriptor.cpp \ 156 Descriptors/MoleculePtrDescriptor.cpp 157 Descriptors/MoleculePtrDescriptor.cpp \ 158 Descriptors/MoleculeSelectionDescriptor.cpp 157 159 158 160 159 161 DESCRIPTORHEADER = Descriptors/AtomDescriptor.hpp \ 160 162 Descriptors/AtomIdDescriptor.hpp \ 163 Descriptors/AtomSelectionDescriptor.hpp \ 161 164 Descriptors/AtomTypeDescriptor.hpp \ 162 165 Descriptors/MoleculeDescriptor.hpp \ 163 166 Descriptors/MoleculeIdDescriptor.hpp \ 164 167 Descriptors/MoleculeNameDescriptor.hpp \ 165 Descriptors/MoleculePtrDescriptor.hpp 168 Descriptors/MoleculePtrDescriptor.hpp \ 169 Descriptors/MoleculeSelectionDescriptor.cpp 166 170 167 171 QTUISOURCE = ${QTUIMOC_TARGETS} \ -
src/Parser/FormatParserStorage.cpp
rc538d1 r3d078d 42 42 ParserSuffix.resize(ParserTypes_end, ""); 43 43 44 ParserSuffix[mpqc] = " conf.in";44 ParserSuffix[mpqc] = "in"; 45 45 ParserSuffix[pcp] = "conf"; 46 ParserSuffix[tremolo] = " conf.data";47 ParserSuffix[xyz] = " conf.xyz";46 ParserSuffix[tremolo] = "data"; 47 ParserSuffix[xyz] = "xyz"; 48 48 } 49 49 … … 133 133 } 134 134 135 /** Parses an istream depending on its suffix 136 * \param &input input stream 137 * \param suffix 138 * \return true - parsing ok, false - suffix unknown 139 */ 140 bool FormatParserStorage::get(std::istream &input, std::string suffix) 141 { 142 if (suffix == ParserSuffix[mpqc]) { 143 getMpqc().load(&input); 144 } else if (suffix == ParserSuffix[pcp]) { 145 getPcp().load(&input); 146 } else if (suffix == ParserSuffix[tremolo]) { 147 getTremolo().load(&input); 148 } else if (suffix == ParserSuffix[xyz]) { 149 getXyz().load(&input); 150 } else { 151 DoeLog(1) && (eLog() << Verbose(1) << "Unknown suffix to for FormatParserStorage::get()." << endl); 152 return false; 153 } 154 return true; 155 } 156 135 157 /** Returns reference to the output MpqcParser, adds if not present. 136 158 * \return reference to the output MpqcParser -
src/Parser/FormatParserStorage.hpp
rc538d1 r3d078d 41 41 void addXyz(); 42 42 43 bool get(std::istream &input, std::string suffix); 43 44 MpqcParser &getMpqc(); 44 45 PcpParser &getPcp(); -
src/Parser/XyzParser.cpp
rc538d1 r3d078d 59 59 if (comment == "") { 60 60 time_t now = time((time_t *)NULL); // Get the system time and put it into 'now' as 'calender time' 61 comment = " \tCreated by molecuilder on ";61 comment = "Created by molecuilder on "; 62 62 // ctime ends in \n\0, we have to cut away the newline 63 63 std::string time(ctime(&now)); … … 68 68 comment += time; 69 69 } 70 *file << World::getInstance().numAtoms() << endl << comment << endl;70 *file << World::getInstance().numAtoms() << endl << "\t" << comment << endl; 71 71 72 72 vector<atom*> atoms = World::getInstance().getAllAtoms(); -
src/World.cpp
rc538d1 r3d078d 9 9 10 10 #include "World.hpp" 11 #include "Patterns/ObservedContainer_impl.hpp" 11 12 #include <functional> 12 13 13 14 #include "atom.hpp" … … 28 29 29 30 #include "Patterns/Singleton_impl.hpp" 31 #include "Patterns/ObservedContainer_impl.hpp" 30 32 31 33 using namespace std; … … 83 85 84 86 void World::setDomain(const Matrix &mat){ 87 OBSERVE; 85 88 *cell_size = mat; 86 89 } … … 88 91 void World::setDomain(double * matrix) 89 92 { 93 OBSERVE; 90 94 Matrix M = ReturnFullMatrixforSymmetric(matrix); 91 95 cell_size->setM(M); … … 98 102 void World::setDefaultName(std::string name) 99 103 { 104 OBSERVE; 100 105 defaultName = name; 101 106 }; … … 485 490 } 486 491 492 /************************** Selection of Atoms and molecules ******************/ 493 494 // Atoms 495 496 void World::clearAtomSelection(){ 497 selectedAtoms.clear(); 498 } 499 500 void World::selectAtom(atom *atom){ 501 ASSERT(atom,"Invalid pointer in selection of atom"); 502 selectedAtoms[atom->getId()]=atom; 503 } 504 505 void World::selectAtom(atomId_t id){ 506 ASSERT(atoms.count(id),"Atom Id selected that was not in the world"); 507 selectedAtoms[id]=atoms[id]; 508 } 509 510 void World::selectAllAtoms(AtomDescriptor descr){ 511 internal_AtomIterator begin = getAtomIter_internal(descr); 512 internal_AtomIterator end = atomEnd_internal(); 513 void (World::*func)(atom*) = &World::selectAtom; // needed for type resolution of overloaded function 514 for_each(begin,end,bind1st(mem_fun(func),this)); // func is select... see above 515 } 516 517 void World::selectAtomsOfMolecule(molecule *_mol){ 518 ASSERT(_mol,"Invalid pointer to molecule in selection of Atoms of Molecule"); 519 // need to make it const to get the fast iterators 520 const molecule *mol = _mol; 521 void (World::*func)(atom*) = &World::selectAtom; // needed for type resolution of overloaded function 522 for_each(mol->begin(),mol->end(),bind1st(mem_fun(func),this)); // func is select... see above 523 } 524 525 void World::selectAtomsOfMolecule(moleculeId_t id){ 526 ASSERT(molecules.count(id),"No molecule with the given id upon Selection of atoms from molecule"); 527 selectAtomsOfMolecule(molecules[id]); 528 } 529 530 void World::unselectAtom(atom *atom){ 531 ASSERT(atom,"Invalid pointer in unselection of atom"); 532 unselectAtom(atom->getId()); 533 } 534 535 void World::unselectAtom(atomId_t id){ 536 ASSERT(atoms.count(id),"Atom Id unselected that was not in the world"); 537 selectedAtoms.erase(id); 538 } 539 540 void World::unselectAllAtoms(AtomDescriptor descr){ 541 internal_AtomIterator begin = getAtomIter_internal(descr); 542 internal_AtomIterator end = atomEnd_internal(); 543 void (World::*func)(atom*) = &World::unselectAtom; // needed for type resolution of overloaded function 544 for_each(begin,end,bind1st(mem_fun(func),this)); // func is unselect... see above 545 } 546 547 void World::unselectAtomsOfMolecule(molecule *_mol){ 548 ASSERT(_mol,"Invalid pointer to molecule in selection of Atoms of Molecule"); 549 // need to make it const to get the fast iterators 550 const molecule *mol = _mol; 551 void (World::*func)(atom*) = &World::unselectAtom; // needed for type resolution of overloaded function 552 for_each(mol->begin(),mol->end(),bind1st(mem_fun(func),this)); // func is unsselect... see above 553 } 554 555 void World::unselectAtomsOfMolecule(moleculeId_t id){ 556 ASSERT(molecules.count(id),"No molecule with the given id upon Selection of atoms from molecule"); 557 unselectAtomsOfMolecule(molecules[id]); 558 } 559 560 // Molecules 561 562 void World::clearMoleculeSelection(){ 563 selectedMolecules.clear(); 564 } 565 566 void World::selectMolecule(molecule *mol){ 567 ASSERT(mol,"Invalid pointer to molecule in selection"); 568 selectedMolecules[mol->getId()]=mol; 569 } 570 571 void World::selectMolecule(moleculeId_t id){ 572 ASSERT(molecules.count(id),"Molecule Id selected that was not in the world"); 573 selectedMolecules[id]=molecules[id]; 574 } 575 576 void World::selectAllMoleculess(MoleculeDescriptor descr){ 577 internal_MoleculeIterator begin = getMoleculeIter_internal(descr); 578 internal_MoleculeIterator end = moleculeEnd_internal(); 579 void (World::*func)(molecule*) = &World::selectMolecule; // needed for type resolution of overloaded function 580 for_each(begin,end,bind1st(mem_fun(func),this)); // func is select... see above 581 } 582 583 void World::selectMoleculeOfAtom(atom *atom){ 584 ASSERT(atom,"Invalid atom pointer in selection of MoleculeOfAtom"); 585 molecule *mol=atom->getMolecule(); 586 // the atom might not be part of a molecule 587 if(mol){ 588 selectMolecule(mol); 589 } 590 } 591 592 void World::selectMoleculeOfAtom(atomId_t id){ 593 ASSERT(atoms.count(id),"No such atom with given ID in selection of Molecules of Atom");\ 594 selectMoleculeOfAtom(atoms[id]); 595 } 596 597 void World::unselectMolecule(molecule *mol){ 598 ASSERT(mol,"invalid pointer in unselection of molecule"); 599 unselectMolecule(mol->getId()); 600 } 601 602 void World::unselectMolecule(moleculeId_t id){ 603 ASSERT(molecules.count(id),"No such molecule with ID in unselection"); 604 selectedMolecules.erase(id); 605 } 606 607 void World::unselectAllMoleculess(MoleculeDescriptor descr){ 608 internal_MoleculeIterator begin = getMoleculeIter_internal(descr); 609 internal_MoleculeIterator end = moleculeEnd_internal(); 610 void (World::*func)(molecule*) = &World::unselectMolecule; // needed for type resolution of overloaded function 611 for_each(begin,end,bind1st(mem_fun(func),this)); // func is unselect... see above 612 } 613 614 void World::unselectMoleculeOfAtom(atom *atom){ 615 ASSERT(atom,"Invalid atom pointer in selection of MoleculeOfAtom"); 616 molecule *mol=atom->getMolecule(); 617 // the atom might not be part of a molecule 618 if(mol){ 619 unselectMolecule(mol); 620 } 621 } 622 623 void World::unselectMoleculeOfAtom(atomId_t id){ 624 ASSERT(atoms.count(id),"No such atom with given ID in selection of Molecules of Atom");\ 625 unselectMoleculeOfAtom(atoms[id]); 626 } 627 628 /******************* Iterators over Selection *****************************/ 629 World::AtomSelectionIterator World::beginAtomSelection(){ 630 return selectedAtoms.begin(); 631 } 632 633 World::AtomSelectionIterator World::endAtomSelection(){ 634 return selectedAtoms.end(); 635 } 636 637 638 World::MoleculeSelectionIterator World::beginMoleculeSelection(){ 639 return selectedMolecules.begin(); 640 } 641 642 World::MoleculeSelectionIterator World::endMoleculeSelection(){ 643 return selectedMolecules.end(); 644 } 645 487 646 /******************************* Singleton Stuff **************************/ 488 647 … … 494 653 ExitFlag(0), 495 654 atoms(this), 655 selectedAtoms(this), 496 656 currAtomId(0), 497 657 lastAtomPoolSize(0), 498 658 numAtomDefragSkips(0), 499 659 molecules(this), 660 selectedMolecules(this), 500 661 currMoleculeId(0), 501 662 molecules_deprecated(new MoleculeListClass(this)) -
src/World.hpp
rc538d1 r3d078d 62 62 friend class MoleculeDescriptor_impl; 63 63 friend class MoleculeDescriptor; 64 // coupling with descriptors over selection 65 friend class AtomSelectionDescriptor_impl; 66 friend class MoleculeSelectionDescriptor_impl; 64 67 65 68 // Actions, calculations etc associated with the World … … 222 225 * All these iterators are observed to track changes. 223 226 * There is a corresponding protected section with unobserved iterators, 224 * which ca be used internally when the extra speed is needed227 * which can be used internally when the extra speed is needed 225 228 */ 226 229 … … 239 242 typedef SelectiveIterator<molecule*,MoleculeSet,MoleculeDescriptor> MoleculeIterator; 240 243 244 /** 245 * returns an iterator over all Molecules matching a given descriptor. 246 * This iterator is observed, so don't keep it around unnecessary to 247 * avoid unintended blocking. 248 */ 241 249 MoleculeIterator getMoleculeIter(MoleculeDescriptor descr); 242 250 MoleculeIterator getMoleculeIter(); 243 251 244 252 MoleculeIterator moleculeEnd(); 253 254 /******** Selections of molecules and Atoms *************/ 255 void clearAtomSelection(); 256 void selectAtom(atom*); 257 void selectAtom(atomId_t); 258 void selectAllAtoms(AtomDescriptor); 259 void selectAtomsOfMolecule(molecule*); 260 void selectAtomsOfMolecule(moleculeId_t); 261 void unselectAtom(atom*); 262 void unselectAtom(atomId_t); 263 void unselectAllAtoms(AtomDescriptor); 264 void unselectAtomsOfMolecule(molecule*); 265 void unselectAtomsOfMolecule(moleculeId_t); 266 267 void clearMoleculeSelection(); 268 void selectMolecule(molecule*); 269 void selectMolecule(moleculeId_t); 270 void selectAllMoleculess(MoleculeDescriptor); 271 void selectMoleculeOfAtom(atom*); 272 void selectMoleculeOfAtom(atomId_t); 273 void unselectMolecule(molecule*); 274 void unselectMolecule(moleculeId_t); 275 void unselectAllMoleculess(MoleculeDescriptor); 276 void unselectMoleculeOfAtom(atom*); 277 void unselectMoleculeOfAtom(atomId_t); 278 279 /******************** Iterators to selections *****************/ 280 typedef AtomSet::iterator AtomSelectionIterator; 281 AtomSelectionIterator beginAtomSelection(); 282 AtomSelectionIterator endAtomSelection(); 283 284 typedef MoleculeSet::iterator MoleculeSelectionIterator; 285 MoleculeSelectionIterator beginMoleculeSelection(); 286 MoleculeSelectionIterator endMoleculeSelection(); 245 287 246 288 protected: … … 308 350 class ThermoStatContainer *Thermostats; 309 351 int ExitFlag; 310 public: 352 private: 353 311 354 AtomSet atoms; 312 private: 355 AtomSet selectedAtoms; 313 356 typedef std::set<std::pair<atomId_t, atomId_t> > atomIdPool_t; 314 315 357 /** 316 358 * stores the pool for all available AtomIds below currAtomId … … 324 366 325 367 MoleculeSet molecules; 368 MoleculeSet selectedMolecules; 326 369 typedef std::set<std::pair<moleculeId_t, moleculeId_t> > moleculeIdPool_t; 370 /** 371 * stores the pool for all available AtomIds below currAtomId 372 * 373 * The pool contains ranges of free ids in the form [bottom,top). 374 */ 327 375 moleculeIdPool_t moleculeIdPool; 328 376 moleculeId_t currMoleculeId; -
src/atom.cpp
rc538d1 r3d078d 330 330 } 331 331 332 molecule* atom::getMolecule(){ 333 return mol; 334 } 335 332 336 void atom::removeFromMolecule(){ 333 337 if(mol){ -
src/atom.hpp
rc538d1 r3d078d 90 90 91 91 void setMolecule(molecule*); 92 molecule* getMolecule(); 92 93 void removeFromMolecule(); 93 94 -
src/unittests/ParserUnitTest.cpp
rc538d1 r3d078d 131 131 \tmolecule = $:molecule\n\ 132 132 )\n"; 133 static string waterXyz = "3\n H2O: water molecule\nO\t0\t0\t0\nH\t0.758602\t0\t0.504284\nH\t0.758602\t0\t-0.504284\n";133 static string waterXyz = "3\n\tH2O: water molecule\nO\t0\t0\t0\nH\t0.758602\t0\t0.504284\nH\t0.758602\t0\t-0.504284\n"; 134 134 static string Tremolo_Atomdata1 = "# ATOMDATA\tId\tname\tType\tx=3\n"; 135 135 static string Tremolo_Atomdata2 = "#\n#ATOMDATA Id name Type x=3\n1 hydrogen H 3.0 4.5 0.1\n\n"; -
tests/Tesselations/defs.in
rc538d1 r3d078d 59 59 fi 60 60 #echo "Molecuilder done with exitcode $exitcode." 61 cd ../.. 61 62 #cat stderr 62 63 #cat stdout 63 grep -E "^[0-9]* [0-9]* [0-9]*$" ../../@srcdir@/$mol/$2/${FILENAME}-$mol.dat | sort -n >reference-triangles.dat64 grep -E "^[0-9]* [0-9]* [0-9]*$" $ {FILENAME}.dat | sort -n >new-triangles.dat65 diff reference-triangles.dat new-triangles.dat 2>diffstderr >diffstdout || exitcode=$?64 grep -E "^[0-9]* [0-9]* [0-9]*$" @srcdir@/$mol/$2/${FILENAME}-$mol.dat | sort -n >$testdir/$RADIUS/reference-triangles.dat 65 grep -E "^[0-9]* [0-9]* [0-9]*$" $testdir/$RADIUS/${FILENAME}.dat | sort -n >$testdir/$RADIUS/new-triangles.dat 66 diff $testdir/$RADIUS/reference-triangles.dat $testdir/$RADIUS/new-triangles.dat 2>$testdir/$RADIUS/diffstderr >$testdir/$RADIUS/diffstdout || exitcode=$? 66 67 #echo "Diff done with exitcode $exitcode." 67 68 #cat diffstderr 68 69 #cat diffstdout 69 cd ../..70 70 test $exitcode = $expected_exitcode || exit 1 71 71 } -
tests/Tesselations/heptan/1.5/NonConvexEnvelope-heptan.dat
rc538d1 r3d078d 1 1 TITLE = "3D CONVEX SHELL" 2 2 VARIABLES = "X" "Y" "Z" "U" 3 ZONE T=" heptan", N=23, E=64, DATAPACKING=POINT, ZONETYPE=FETRIANGLE3 ZONE T="none", N=23, E=64, DATAPACKING=POINT, ZONETYPE=FETRIANGLE 4 4 -7.27e-07 -1.22006 0.930455 18.7229 5 5 -7.27e-07 -1.22006 -0.849545 18.7229 … … 7 7 -1.2492 0.921941 -0.849545 18.7227 8 8 1.2492 0.921941 -0.849545 18.7222 9 1.2492 0.921941 0.930455 27.064110 -2.4985 -1.22006 -0.849545 19.976911 -2.4985 -1.22006 0.930455 27.472712 2.4985 -1.22006 0.930455 19.976913 2.4985 -1.22006 -0.849545 27.47279 1.2492 0.921941 0.930455 18.7222 10 -2.4985 -1.22006 -0.849545 27.4727 11 -2.4985 -1.22006 0.930455 19.9769 12 2.4985 -1.22006 0.930455 27.4727 13 2.4985 -1.22006 -0.849545 19.9769 14 14 -4.6377 -0.336759 0.0404545 21.541 15 15 -3.7477 0.921941 0.930455 18.8853 … … 17 17 4.6377 -0.336759 0.0404545 10.6618 18 18 3.7477 0.921941 -0.849545 18.5406 19 3.7477 0.921941 0.930455 1 2.198819 3.7477 0.921941 0.930455 18.5406 20 20 -7.27e-07 -0.590759 0.0404545 23.0174 21 21 -1.2492 0.292641 0.0404545 23.0167 22 1.2492 0.292641 0.0404545 2 0.163222 1.2492 0.292641 0.0404545 23.0172 23 23 -2.4985 -0.590759 0.0404545 18.9798 24 24 2.4985 -0.590759 0.0404545 18.9798 25 25 -3.7477 0.292641 0.0404545 39.5267 26 3.7477 0.292641 0.0404545 2 3.251226 3.7477 0.292641 0.0404545 20.5497 27 27 28 28 14 15 23 … … 34 34 15 19 23 35 35 5 15 19 36 16 19 23 37 6 16 19 36 38 5 6 19 37 39 5 6 19 … … 42 44 3 4 18 43 45 3 4 18 46 3 18 22 47 3 12 22 44 48 4 18 22 45 49 4 13 22 46 3 18 2247 3 12 2248 50 12 13 22 49 51 12 13 22 50 6 19 23 51 6 16 23 52 11 12 22 53 11 12 22 54 8 11 22 55 8 12 22 52 56 11 13 22 53 57 11 13 22 54 58 7 11 22 55 59 7 13 22 56 11 12 2257 11 12 2258 8 11 2259 8 12 2260 60 14 16 23 61 61 14 16 23 … … 76 76 9 10 21 77 77 9 14 21 78 1017 2179 2 101778 9 17 21 79 1 9 17 80 80 1 2 17 81 81 1 2 17 82 117 2183 1 92184 217 2085 2 72082 2 17 21 83 2 10 21 84 1 17 20 85 1 8 20 86 86 7 8 20 87 87 7 8 20 88 8 11 20 88 89 7 11 20 89 8 11 20 90 8 17 20 91 1 8 17 90 7 17 20 91 2 7 17 -
tests/regression/testsuite-analysis.at
rc538d1 r3d078d 39 39 AT_KEYWORDS([analysis]) 40 40 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Analysis/4/pre/test.conf .], 0) 41 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -v 3 -I -C S --elements 1 --output-file output.csv --bin-output-file bin_output.csv --bin-start 0 --bin-width 1. --bin-end 20 --molecule-by-id 20 8], 0, [stdout], [stderr])41 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -v 3 -I -C S --elements 1 --output-file output.csv --bin-output-file bin_output.csv --bin-start 0 --bin-width 1. --bin-end 20 --molecule-by-id 207], 0, [stdout], [stderr]) 42 42 AT_CHECK([fgrep "Begin of CorrelationToSurface" stdout], 0, [ignore], [ignore]) 43 43 #AT_CHECK([file=output.csv; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Analysis/4/post/$file], 0, [ignore], [ignore]) -
tests/regression/testsuite-domain.at
rc538d1 r3d078d 45 45 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/pre/test.conf .], 0) 46 46 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -o xyz -d "1, 1, 1"], 0, [stdout], [stderr]) 47 AT_CHECK([file=test. conf.xyz;sort -n $file | grep -v "Created by" >$file-sorted], 0, [ignore], [ignore])48 AT_CHECK([file=test. conf.xyz;sort -n ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/post/$file | grep -v "Created by" >$file-sorted2], 0, [ignore], [ignore])49 AT_CHECK([file=test. conf.xyz; diff $file-sorted $file-sorted2], 0, [ignore], [ignore])47 AT_CHECK([file=test.xyz;sort -n $file | grep -v "Created by" >$file-sorted], 0, [ignore], [ignore]) 48 AT_CHECK([file=test.xyz;sort -n ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/post/$file | grep -v "Created by" >$file-sorted2], 0, [ignore], [ignore]) 49 AT_CHECK([file=test.xyz; diff $file-sorted $file-sorted2], 0, [ignore], [ignore]) 50 50 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/pre/test.conf test-x.conf], 0) 51 51 AT_CHECK([../../molecuilder -i test-x.conf -e ${abs_top_srcdir}/src/ -o xyz -d "2, 1, 1"], 0, [stdout], [stderr]) 52 AT_CHECK([file=test-x. conf.xyz;sort -n $file | grep -v "Created by" >$file-sorted], 0, [ignore], [ignore])53 AT_CHECK([file=test-x. conf.xyz;sort -n ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/post/$file | grep -v "Created by" >$file-sorted2], 0, [ignore], [ignore])54 AT_CHECK([file=test-x. conf.xyz; diff $file-sorted $file-sorted2], 0, [ignore], [ignore])52 AT_CHECK([file=test-x.xyz;sort -n $file | grep -v "Created by" >$file-sorted], 0, [ignore], [ignore]) 53 AT_CHECK([file=test-x.xyz;sort -n ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/post/$file | grep -v "Created by" >$file-sorted2], 0, [ignore], [ignore]) 54 AT_CHECK([file=test-x.xyz; diff $file-sorted $file-sorted2], 0, [ignore], [ignore]) 55 55 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/pre/test.conf test-y.conf], 0) 56 56 AT_CHECK([../../molecuilder -i test-y.conf -e ${abs_top_srcdir}/src/ -o xyz -d "1, 2, 1"], 0, [stdout], [stderr]) 57 AT_CHECK([file=test-y. conf.xyz;sort -n $file | grep -v "Created by" >$file-sorted], 0, [ignore], [ignore])58 AT_CHECK([file=test-y. conf.xyz;sort -n ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/post/$file | grep -v "Created by" >$file-sorted2], 0, [ignore], [ignore])59 AT_CHECK([file=test-y. conf.xyz; diff $file-sorted $file-sorted2], 0, [ignore], [ignore])57 AT_CHECK([file=test-y.xyz;sort -n $file | grep -v "Created by" >$file-sorted], 0, [ignore], [ignore]) 58 AT_CHECK([file=test-y.xyz;sort -n ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/post/$file | grep -v "Created by" >$file-sorted2], 0, [ignore], [ignore]) 59 AT_CHECK([file=test-y.xyz; diff $file-sorted $file-sorted2], 0, [ignore], [ignore]) 60 60 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/pre/test.conf test-z.conf], 0) 61 61 AT_CHECK([../../molecuilder -i test-z.conf -e ${abs_top_srcdir}/src/ -o xyz -d "1, 1, 2"], 0, [stdout], [stderr]) 62 AT_CHECK([file=test-z. conf.xyz;sort -n $file | grep -v "Created by" >$file-sorted], 0, [ignore], [ignore])63 AT_CHECK([file=test-z. conf.xyz;sort -n ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/post/$file | grep -v "Created by" >$file-sorted2], 0, [ignore], [ignore])64 AT_CHECK([file=test-z. conf.xyz; diff $file-sorted $file-sorted2], 0, [ignore], [ignore])62 AT_CHECK([file=test-z.xyz;sort -n $file | grep -v "Created by" >$file-sorted], 0, [ignore], [ignore]) 63 AT_CHECK([file=test-z.xyz;sort -n ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/post/$file | grep -v "Created by" >$file-sorted2], 0, [ignore], [ignore]) 64 AT_CHECK([file=test-z.xyz; diff $file-sorted $file-sorted2], 0, [ignore], [ignore]) 65 65 #AT_CHECK([/bin/false], 12, [ignore], [ignore]) 66 66 AT_CLEANUP -
tests/regression/testsuite-simple_configuration.at
rc538d1 r3d078d 18 18 ], [ignore]) 19 19 AT_CHECK([file=test.conf; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/2/post/$file], 0, [ignore], [ignore]) 20 AT_CHECK([file=test. conf.in; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/2/post/$file], 0, [ignore], [ignore])21 AT_CHECK([file=test. conf.xyz; diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/2/post/$file], 0, [ignore], [ignore])20 AT_CHECK([file=test.in; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/2/post/$file], 0, [ignore], [ignore]) 21 AT_CHECK([file=test.xyz; diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/2/post/$file], 0, [ignore], [ignore]) 22 22 AT_CLEANUP 23 23 … … 27 27 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -o mpqc pcp xyz -a 1 --position "10., 10., 10."], 0, [ignore], [ignore]) 28 28 AT_CHECK([file=test.conf; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/3/post/$file], 0, [ignore], [ignore]) 29 AT_CHECK([file=test. conf.in; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/3/post/$file], 0, [ignore], [ignore])30 AT_CHECK([file=test. conf.xyz; diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/3/post/$file], 0, [ignore], [ignore])29 AT_CHECK([file=test.in; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/3/post/$file], 0, [ignore], [ignore]) 30 AT_CHECK([file=test.xyz; diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/3/post/$file], 0, [ignore], [ignore]) 31 31 AT_CHECK([../../molecuilder -i test2.conf -e ${abs_top_srcdir}/src/ -o mpqc pcp xyz -a 1 --position "0., 0., -1."], 0, [ignore], [ignore]) 32 32 AT_CHECK([file=test2.conf; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/3/post/$file], 0, [ignore], [ignore]) 33 AT_CHECK([file=test2. conf.in; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/3/post/$file], 0, [ignore], [ignore])34 AT_CHECK([file=test2. conf.xyz; diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/3/post/$file], 0, [ignore], [ignore])33 AT_CHECK([file=test2.in; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/3/post/$file], 0, [ignore], [ignore]) 34 AT_CHECK([file=test2.xyz; diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/3/post/$file], 0, [ignore], [ignore]) 35 35 AT_CLEANUP 36 36 … … 38 38 AT_SETUP([Simple configuration - Changing element]) 39 39 AT_KEYWORDS([configuration]) 40 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/4/pre/test. conf test.conf], 0)41 AT_CHECK([../../molecuilder -i test. conf -e ${abs_top_srcdir}/src/ -E 0 --element 6], 0, [ignore], [ignore])42 AT_CHECK([file=test. conf; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/4/post/$file], 0, [ignore], [ignore])40 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/4/pre/test.xyz test.xyz], 0) 41 AT_CHECK([../../molecuilder -i test.xyz -e ${abs_top_srcdir}/src/ -E 6 --atom-by-id 0], 0, [ignore], [ignore]) 42 AT_CHECK([file=test.xyz; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/4/post/$file], 0, [ignore], [ignore]) 43 43 AT_CLEANUP 44 44 … … 49 49 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -o mpqc pcp xyz -r 0], 0, [ignore], [ignore]) 50 50 AT_CHECK([file=test.conf; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/5/post/$file], 0, [ignore], [ignore]) 51 AT_CHECK([file=test. conf.in; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/5/post/$file], 0, [ignore], [ignore])52 AT_CHECK([file=test. conf.xyz; diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/5/post/$file], 0, [ignore], [ignore])51 AT_CHECK([file=test.in; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/5/post/$file], 0, [ignore], [ignore]) 52 AT_CHECK([file=test.xyz; diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/5/post/$file], 0, [ignore], [ignore]) 53 53 AT_CLEANUP 54 54 … … 80 80 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/8/pre/test.* .], 0) 81 81 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -o xyz -R 7. --position "7.283585982, 3.275186040, 3.535886037"], 0, [stdout], [stderr]) 82 AT_CHECK([sort -n test. conf.xyz | grep -v "Created by" >test.conf.xyz-sorted], 0, [ignore], [ignore])83 AT_CHECK([sort -n ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/8/post/test. conf.xyz | grep -v "Created by" >${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/8/post/test.conf.xyz-sorted], 0, [ignore], [ignore])84 AT_CHECK([file=test. conf.xyz-sorted; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/8/post/$file], 0, [ignore], [ignore])82 AT_CHECK([sort -n test.xyz | grep -v "Created by" >test.xyz-sorted], 0, [ignore], [ignore]) 83 AT_CHECK([sort -n ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/8/post/test.xyz | grep -v "Created by" >${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/8/post/test.xyz-sorted], 0, [ignore], [ignore]) 84 AT_CHECK([file=test.xyz-sorted; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/8/post/$file], 0, [ignore], [ignore]) 85 85 AT_CLEANUP
Note:
See TracChangeset
for help on using the changeset viewer.