Changes in / [c538d1:3d078d]


Ignore:
Files:
30 added
19 deleted
29 edited

Legend:

Unmodified
Added
Removed
  • COPYING

    rc538d1 r3d078d  
     1<<<<<<< HEAD
    12                    GNU GENERAL PUBLIC LICENSE
    23                       Version 3, 29 June 2007
     
    1819GNU General Public License for most of our software; it applies also to
    1920any 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
     33freedom to share and change it.  By contrast, the GNU General Public
     34License is intended to guarantee your freedom to share and change free
     35software--to make sure the software is free for all its users.  This
     36General Public License applies to most of the Free Software
     37Foundation's software and to any other program whose authors commit to
     38using it.  (Some other Free Software Foundation software is covered by
     39the GNU Library General Public License instead.)  You can apply it to
     40>>>>>>> FETCH_HEAD
    2041your programs, too.
    2142
     
    2344price.  Our General Public Licenses are designed to make sure that you
    2445have the freedom to distribute copies of free software (and charge for
     46<<<<<<< HEAD
    2547them if you wish), that you receive source code or can get it if you
    2648want it, that you can change the software or use pieces of it in new
     
    622644
    623645            How to Apply These Terms to Your New Programs
     646=======
     647this service if you wish), that you receive source code or can get it
     648if you want it, that you can change the software or use pieces of it
     649in 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
     652anyone to deny you these rights or to ask you to surrender the rights.
     653These restrictions translate to certain responsibilities for you if you
     654distribute copies of the software, or if you modify it.
     655
     656  For example, if you distribute copies of such a program, whether
     657gratis or for a fee, you must give the recipients all the rights that
     658you have.  You must make sure that they, too, receive or can get the
     659source code.  And you must show them these terms so they know their
     660rights.
     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,
     664distribute and/or modify the software.
     665
     666  Also, for each author's protection and ours, we want to make certain
     667that everyone understands that there is no warranty for this free
     668software.  If the software is modified by someone else and passed on, we
     669want its recipients to know that what they have is not the original, so
     670that any problems introduced by others will not reflect on the original
     671authors' reputations.
     672
     673  Finally, any free program is threatened constantly by software
     674patents.  We wish to avoid the danger that redistributors of a free
     675program will individually obtain patent licenses, in effect making the
     676program proprietary.  To prevent this, we have made it clear that any
     677patent must be licensed for everyone's free use or not licensed at all.
     678
     679  The precise terms and conditions for copying, distribution and
     680modification 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
     687a notice placed by the copyright holder saying it may be distributed
     688under the terms of this General Public License.  The "Program", below,
     689refers to any such program or work, and a "work based on the Program"
     690means either the Program or any derivative work under copyright law:
     691that is to say, a work containing the Program or a portion of it,
     692either verbatim or with modifications and/or translated into another
     693language.  (Hereinafter, translation is included without limitation in
     694the term "modification".)  Each licensee is addressed as "you".
     695
     696Activities other than copying, distribution and modification are not
     697covered by this License; they are outside its scope.  The act of
     698running the Program is not restricted, and the output from the Program
     699is covered only if its contents constitute a work based on the
     700Program (independent of having been made by running the Program).
     701Whether that is true depends on what the Program does.
     702
     703  1. You may copy and distribute verbatim copies of the Program's
     704source code as you receive it, in any medium, provided that you
     705conspicuously and appropriately publish on each copy an appropriate
     706copyright notice and disclaimer of warranty; keep intact all the
     707notices that refer to this License and to the absence of any warranty;
     708and give any other recipients of the Program a copy of this License
     709along with the Program.
     710
     711You may charge a fee for the physical act of transferring a copy, and
     712you 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
     715of it, thus forming a work based on the Program, and copy and
     716distribute such modifications or work under the terms of Section 1
     717above, 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
     739These requirements apply to the modified work as a whole.  If
     740identifiable sections of that work are not derived from the Program,
     741and can be reasonably considered independent and separate works in
     742themselves, then this License, and its terms, do not apply to those
     743sections when you distribute them as separate works.  But when you
     744distribute the same sections as part of a whole which is a work based
     745on the Program, the distribution of the whole must be on the terms of
     746this License, whose permissions for other licensees extend to the
     747entire whole, and thus to each and every part regardless of who wrote it.
     748
     749Thus, it is not the intent of this section to claim rights or contest
     750your rights to work written entirely by you; rather, the intent is to
     751exercise the right to control the distribution of derivative or
     752collective works based on the Program.
     753
     754In addition, mere aggregation of another work not based on the Program
     755with the Program (or with a work based on the Program) on a volume of
     756a storage or distribution medium does not bring the other work under
     757the scope of this License.
     758
     759  3. You may copy and distribute the Program (or a work based on it,
     760under Section 2) in object code or executable form under the terms of
     761Sections 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
     780The source code for a work means the preferred form of the work for
     781making modifications to it.  For an executable work, complete source
     782code means all the source code for all modules it contains, plus any
     783associated interface definition files, plus the scripts used to
     784control compilation and installation of the executable.  However, as a
     785special exception, the source code distributed need not include
     786anything that is normally distributed (in either source or binary
     787form) with the major components (compiler, kernel, and so on) of the
     788operating system on which the executable runs, unless that component
     789itself accompanies the executable.
     790
     791If distribution of executable or object code is made by offering
     792access to copy from a designated place, then offering equivalent
     793access to copy the source code from the same place counts as
     794distribution of the source code, even though third parties are not
     795compelled to copy the source along with the object code.
     796
     797
     798  4. You may not copy, modify, sublicense, or distribute the Program
     799except as expressly provided under this License.  Any attempt
     800otherwise to copy, modify, sublicense or distribute the Program is
     801void, and will automatically terminate your rights under this License.
     802However, parties who have received copies, or rights, from you under
     803this License will not have their licenses terminated so long as such
     804parties remain in full compliance.
     805
     806  5. You are not required to accept this License, since you have not
     807signed it.  However, nothing else grants you permission to modify or
     808distribute the Program or its derivative works.  These actions are
     809prohibited by law if you do not accept this License.  Therefore, by
     810modifying or distributing the Program (or any work based on the
     811Program), you indicate your acceptance of this License to do so, and
     812all its terms and conditions for copying, distributing or modifying
     813the Program or works based on it.
     814
     815  6. Each time you redistribute the Program (or any work based on the
     816Program), the recipient automatically receives a license from the
     817original licensor to copy, distribute or modify the Program subject to
     818these terms and conditions.  You may not impose any further
     819restrictions on the recipients' exercise of the rights granted herein.
     820You are not responsible for enforcing compliance by third parties to
     821this License.
     822
     823  7. If, as a consequence of a court judgment or allegation of patent
     824infringement or for any other reason (not limited to patent issues),
     825conditions are imposed on you (whether by court order, agreement or
     826otherwise) that contradict the conditions of this License, they do not
     827excuse you from the conditions of this License.  If you cannot
     828distribute so as to satisfy simultaneously your obligations under this
     829License and any other pertinent obligations, then as a consequence you
     830may not distribute the Program at all.  For example, if a patent
     831license would not permit royalty-free redistribution of the Program by
     832all those who receive copies directly or indirectly through you, then
     833the only way you could satisfy both it and this License would be to
     834refrain entirely from distribution of the Program.
     835
     836If any portion of this section is held invalid or unenforceable under
     837any particular circumstance, the balance of the section is intended to
     838apply and the section as a whole is intended to apply in other
     839circumstances.
     840
     841It is not the purpose of this section to induce you to infringe any
     842patents or other property right claims or to contest validity of any
     843such claims; this section has the sole purpose of protecting the
     844integrity of the free software distribution system, which is
     845implemented by public license practices.  Many people have made
     846generous contributions to the wide range of software distributed
     847through that system in reliance on consistent application of that
     848system; it is up to the author/donor to decide if he or she is willing
     849to distribute software through any other system and a licensee cannot
     850impose that choice.
     851
     852This section is intended to make thoroughly clear what is believed to
     853be a consequence of the rest of this License.
     854
     855
     856  8. If the distribution and/or use of the Program is restricted in
     857certain countries either by patents or by copyrighted interfaces, the
     858original copyright holder who places the Program under this License
     859may add an explicit geographical distribution limitation excluding
     860those countries, so that distribution is permitted only in or among
     861countries not thus excluded.  In such case, this License incorporates
     862the limitation as if written in the body of this License.
     863
     864  9. The Free Software Foundation may publish revised and/or new versions
     865of the General Public License from time to time.  Such new versions will
     866be similar in spirit to the present version, but may differ in detail to
     867address new problems or concerns.
     868
     869Each version is given a distinguishing version number.  If the Program
     870specifies a version number of this License which applies to it and "any
     871later version", you have the option of following the terms and conditions
     872either of that version or of any later version published by the Free
     873Software Foundation.  If the Program does not specify a version number of
     874this License, you may choose any version ever published by the Free Software
     875Foundation.
     876
     877  10. If you wish to incorporate parts of the Program into other free
     878programs whose distribution conditions are different, write to the author
     879to ask for permission.  For software which is copyrighted by the Free
     880Software Foundation, write to the Free Software Foundation; we sometimes
     881make exceptions for this.  Our decision will be guided by the two goals
     882of preserving the free status of all derivatives of our free software and
     883of 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
     888FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
     889OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
     890PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
     891OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
     892MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
     893TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
     894PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
     895REPAIR OR CORRECTION.
     896
     897  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
     898WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
     899REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
     900INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
     901OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
     902TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
     903YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
     904PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
     905POSSIBILITY 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
    624912
    625913  If you develop a new program, and you want it to be of the greatest
     
    629917  To do so, attach the following notices to the program.  It is safest
    630918to attach them to the start of each source file to most effectively
     919<<<<<<< HEAD
    631920state the exclusion of warranty; and each file should have at least
     921=======
     922convey the exclusion of warranty; and each file should have at least
     923>>>>>>> FETCH_HEAD
    632924the "copyright" line and a pointer to where the full notice is found.
    633925
     
    635927    Copyright (C) <year>  <name of author>
    636928
     929<<<<<<< HEAD
    637930    This program is free software: you can redistribute it and/or modify
    638931    it under the terms of the GNU General Public License as published by
    639932    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
    640938    (at your option) any later version.
    641939
     
    646944
    647945    You should have received a copy of the GNU General Public License
     946<<<<<<< HEAD
    648947    along with this program.  If not, see <http://www.gnu.org/licenses/>.
    649948
     
    655954    <program>  Copyright (C) <year>  <name of author>
    656955    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
     961Also add information on how to contact you by electronic and paper mail.
     962
     963If the program is interactive, make it output a short notice like this
     964when 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
    657969    This is free software, and you are welcome to redistribute it
    658970    under certain conditions; type `show c' for details.
    659971
    660972The hypothetical commands `show w' and `show c' should show the appropriate
     973<<<<<<< HEAD
    661974parts of the General Public License.  Of course, your program's commands
    662975might be different; for a GUI interface, you would use an "about box".
     
    673986Public License instead of this License.  But first, please read
    674987<http://www.gnu.org/philosophy/why-not-lgpl.html>.
     988=======
     989parts of the General Public License.  Of course, the commands you use may
     990be called something other than `show w' and `show c'; they could even be
     991mouse-clicks or menu items--whatever suits your program.
     992
     993You should also get your employer (if you work as a programmer) or your
     994school, if any, to sign a "copyright disclaimer" for the program, if
     995necessary.  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
     1003This General Public License does not permit incorporating your program into
     1004proprietary programs.  If your program is a subroutine library, you may
     1005consider it more useful to permit linking proprietary applications with the
     1006library.  If this is what you want to do, use the GNU Library General
     1007Public License instead of this License.
     1008>>>>>>> FETCH_HEAD
  • ChangeLog

    rc538d1 r3d078d  
     118.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
    12# Project: Molecuilder
    23#
     
    67
    78... 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
     19Is a collection of mathematical-physical programs to calculate via various ab-initio methods
     20such as density functional theory or Hartree-Fock electronic(-magnetic) properties including
     21the molecular (Car&Parrinello) dynamics of a many electron system. Especially, the linear
     22response of the system to a external magnetic field in a perturbation approach in terms of
     23susceptibility and chemical shielding is implemented via the Density Functional Perturbation
     24Theory. 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
     26at the University of Bonn[1].
     27
     28
     29>>>>>>> FETCH_HEAD
    830
    931INSTALLATION NOTES
    1032==================
    1133
     34<<<<<<< HEAD
    1235The following packages are needed
    1336* GCC or alike
    1437* GSL (GNU Scientific Library, available at http://www.gnu.org/software/gsl)
    1538* Boost 1.4 or newer
     39=======
     40In 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
     42LINKS
     43=====
     44[1] http://www.ins.uni-bonn.de/
     45>>>>>>> FETCH_HEAD
  • src/Actions/AtomAction/ChangeElementAction.cpp

    rc538d1 r3d078d  
    3838  std::vector<element *> elements;
    3939
    40   dialog->queryAtom(NAME, &first, MapOfActions::getInstance().getDescription(NAME));
    41   dialog->queryElement("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"));
    4242
    4343  if(dialog->display()) {
  • src/Actions/MapOfActions.cpp

    rc538d1 r3d078d  
    272272  TypeMap["center-in-box"] = Box;
    273273  TypeMap["change-box"] = Box;
    274   TypeMap["change-element"] = Atom;
     274  TypeMap["change-element"] = Element;
    275275  TypeMap["change-molname"] = String;
    276276  TypeMap["convex-envelope"] = Molecule;
     
    323323  TypeMap["MaxDistance"] = Double;
    324324  TypeMap["molecule-by-id"] = Molecule;
    325   TypeMap["molecule-by-name"] = Molecule;
     325  TypeMap["molecule-by-name"] = String;
    326326  TypeMap["nonconvex-file"] = String;
    327327  TypeMap["order"] = Integer;
  • src/Actions/ParserAction/LoadXyzAction.cpp

    rc538d1 r3d078d  
    7878        if (UniqueList.size() != ListAfter.size()) { // only create if new atoms have been parsed
    7979          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);
    8782          for (vector<atom *>::iterator runner = ListAfter.begin(); runner != ListAfter.end(); ++runner) {
    8883            Inserter = UniqueList.insert(*runner);
  • src/Actions/WorldAction/ChangeBoxAction.cpp

    rc538d1 r3d078d  
    4141  if(dialog->display()) {
    4242    DoLog(0) && (Log() << Verbose(0) << "Setting box domain to " << cell_size.getM() << endl);
     43    World::getInstance().setDomain(cell_size.getM());
    4344    delete dialog;
    4445    return Action::success;
  • src/Actions/WorldAction/InputAction.cpp

    rc538d1 r3d078d  
    3838  MoleculeListClass *molecules = World::getInstance().getMolecules();
    3939  molecule *mol = NULL;
    40   string filename;
     40  std::string filename;
    4141  std::ifstream test;
    4242
     
    4545  if(dialog->display()) {
    4646    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());
    5374    } 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);
    5776    }
    58     // set mol to first active molecule
    59     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());
    7277    delete dialog;
    7378    return Action::success;
  • src/Box.cpp

    rc538d1 r3d078d  
    4646
    4747void 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");
    5149  *M    =_M;
    5250  *Minv = M->invert();
  • src/Descriptors/AtomDescriptor.cpp

    rc538d1 r3d078d  
    8282  vector<atom*> res;
    8383  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
     91void AtomDescriptor_impl::checkAndAdd(std::vector<atom*> *v,std::pair<atomId_t,atom*> p){
     92  if(predicate(p)){
     93    v->push_back(p.second);
    8994  }
    90   return res;
    9195}
    9296
  • src/Descriptors/AtomDescriptor_impl.hpp

    rc538d1 r3d078d  
    5050   */
    5151  World::AtomSet& getAtoms();
     52
     53  void checkAndAdd(std::vector<atom*>*,std::pair<atomId_t,atom*>);
    5254};
    5355
  • src/Descriptors/AtomIdDescriptor.cpp

    rc538d1 r3d078d  
    3333
    3434atom *AtomIdDescriptor_impl::find(){
    35   World::AtomSet atoms = getAtoms();
     35  World::AtomSet &atoms = getAtoms();
    3636  World::AtomSet::iterator res = atoms.find(id);
    3737  return (res!=atoms.end())?((*res).second):0;
  • src/Descriptors/MoleculeDescriptor.cpp

    rc538d1 r3d078d  
    7474
    7575molecule* MoleculeDescriptor_impl::find() {
    76   World::MoleculeSet molecules = getMolecules();
     76  World::MoleculeSet &molecules = getMolecules();
    7777  molecules_iter_t res = find_if(molecules.begin_internal(),molecules.end_internal(),boost::bind(&MoleculeDescriptor_impl::predicate,this,_1));
    7878  return (res!=molecules.end_internal())?((*res).second):0;
     
    8181vector<molecule*> MoleculeDescriptor_impl::findAll() {
    8282  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
     91void MoleculeDescriptor_impl::checkAndAdd(std::vector<molecule*> *v,std::pair<moleculeId_t,molecule*> p){
     92  if(predicate(p)){
     93    v->push_back(p.second);
    8994  }
    90   return res;
    9195}
    9296
  • src/Descriptors/MoleculeDescriptor_impl.hpp

    rc538d1 r3d078d  
    5050   */
    5151  World::MoleculeSet& getMolecules();
     52
     53  void checkAndAdd(std::vector<molecule*>*,std::pair<moleculeId_t,molecule*>);
    5254};
    5355
  • src/Descriptors/MoleculeIdDescriptor.cpp

    rc538d1 r3d078d  
    3434
    3535molecule *MoleculeIdDescriptor_impl::find(){
    36   World::MoleculeSet molecules = getMolecules();
     36  World::MoleculeSet &molecules = getMolecules();
    3737  World::MoleculeSet::iterator res = molecules.find(id);
    3838  return (res!=molecules.end())?((*res).second):0;
  • src/Makefile.am

    rc538d1 r3d078d  
    150150DESCRIPTORSOURCE = Descriptors/AtomDescriptor.cpp \
    151151  Descriptors/AtomIdDescriptor.cpp \
     152  Descriptors/AtomSelectionDescriptor.cpp \
    152153  Descriptors/AtomTypeDescriptor.cpp \
    153154  Descriptors/MoleculeDescriptor.cpp \
    154155  Descriptors/MoleculeIdDescriptor.cpp \
    155156  Descriptors/MoleculeNameDescriptor.cpp \
    156   Descriptors/MoleculePtrDescriptor.cpp
     157  Descriptors/MoleculePtrDescriptor.cpp \
     158  Descriptors/MoleculeSelectionDescriptor.cpp
    157159                                   
    158160
    159161DESCRIPTORHEADER = Descriptors/AtomDescriptor.hpp \
    160162  Descriptors/AtomIdDescriptor.hpp \
     163  Descriptors/AtomSelectionDescriptor.hpp \
    161164  Descriptors/AtomTypeDescriptor.hpp \
    162165  Descriptors/MoleculeDescriptor.hpp \
    163166  Descriptors/MoleculeIdDescriptor.hpp \
    164167  Descriptors/MoleculeNameDescriptor.hpp \
    165   Descriptors/MoleculePtrDescriptor.hpp
     168  Descriptors/MoleculePtrDescriptor.hpp \
     169  Descriptors/MoleculeSelectionDescriptor.cpp
    166170                                 
    167171QTUISOURCE = ${QTUIMOC_TARGETS} \
  • src/Parser/FormatParserStorage.cpp

    rc538d1 r3d078d  
    4242  ParserSuffix.resize(ParserTypes_end, "");
    4343
    44   ParserSuffix[mpqc] = "conf.in";
     44  ParserSuffix[mpqc] = "in";
    4545  ParserSuffix[pcp] = "conf";
    46   ParserSuffix[tremolo] = "conf.data";
    47   ParserSuffix[xyz] = "conf.xyz";
     46  ParserSuffix[tremolo] = "data";
     47  ParserSuffix[xyz] = "xyz";
    4848}
    4949
     
    133133}
    134134
     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 */
     140bool 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
    135157/** Returns reference to the output MpqcParser, adds if not present.
    136158 * \return reference to the output MpqcParser
  • src/Parser/FormatParserStorage.hpp

    rc538d1 r3d078d  
    4141  void addXyz();
    4242
     43  bool get(std::istream &input, std::string suffix);
    4344  MpqcParser &getMpqc();
    4445  PcpParser &getPcp();
  • src/Parser/XyzParser.cpp

    rc538d1 r3d078d  
    5959  if (comment == "") {
    6060    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 ";
    6262    // ctime ends in \n\0, we have to cut away the newline
    6363    std::string time(ctime(&now));
     
    6868      comment += time;
    6969  }
    70   *file << World::getInstance().numAtoms() << endl << comment << endl;
     70  *file << World::getInstance().numAtoms() << endl << "\t" << comment << endl;
    7171
    7272  vector<atom*> atoms = World::getInstance().getAllAtoms();
  • src/World.cpp

    rc538d1 r3d078d  
    99
    1010#include "World.hpp"
    11 #include "Patterns/ObservedContainer_impl.hpp"
     11
     12#include <functional>
    1213
    1314#include "atom.hpp"
     
    2829
    2930#include "Patterns/Singleton_impl.hpp"
     31#include "Patterns/ObservedContainer_impl.hpp"
    3032
    3133using namespace std;
     
    8385
    8486void World::setDomain(const Matrix &mat){
     87  OBSERVE;
    8588  *cell_size = mat;
    8689}
     
    8891void World::setDomain(double * matrix)
    8992{
     93  OBSERVE;
    9094  Matrix M = ReturnFullMatrixforSymmetric(matrix);
    9195  cell_size->setM(M);
     
    98102void World::setDefaultName(std::string name)
    99103{
     104  OBSERVE;
    100105  defaultName = name;
    101106};
     
    485490}
    486491
     492/************************** Selection of Atoms and molecules ******************/
     493
     494// Atoms
     495
     496void World::clearAtomSelection(){
     497  selectedAtoms.clear();
     498}
     499
     500void World::selectAtom(atom *atom){
     501  ASSERT(atom,"Invalid pointer in selection of atom");
     502  selectedAtoms[atom->getId()]=atom;
     503}
     504
     505void 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
     510void 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
     517void 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
     525void 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
     530void World::unselectAtom(atom *atom){
     531  ASSERT(atom,"Invalid pointer in unselection of atom");
     532  unselectAtom(atom->getId());
     533}
     534
     535void 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
     540void 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
     547void 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
     555void 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
     562void World::clearMoleculeSelection(){
     563  selectedMolecules.clear();
     564}
     565
     566void World::selectMolecule(molecule *mol){
     567  ASSERT(mol,"Invalid pointer to molecule in selection");
     568  selectedMolecules[mol->getId()]=mol;
     569}
     570
     571void 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
     576void 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
     583void 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
     592void 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
     597void World::unselectMolecule(molecule *mol){
     598  ASSERT(mol,"invalid pointer in unselection of molecule");
     599  unselectMolecule(mol->getId());
     600}
     601
     602void World::unselectMolecule(moleculeId_t id){
     603  ASSERT(molecules.count(id),"No such molecule with ID in unselection");
     604  selectedMolecules.erase(id);
     605}
     606
     607void 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
     614void 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
     623void 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 *****************************/
     629World::AtomSelectionIterator World::beginAtomSelection(){
     630  return selectedAtoms.begin();
     631}
     632
     633World::AtomSelectionIterator World::endAtomSelection(){
     634  return selectedAtoms.end();
     635}
     636
     637
     638World::MoleculeSelectionIterator World::beginMoleculeSelection(){
     639  return selectedMolecules.begin();
     640}
     641
     642World::MoleculeSelectionIterator World::endMoleculeSelection(){
     643  return selectedMolecules.end();
     644}
     645
    487646/******************************* Singleton Stuff **************************/
    488647
     
    494653    ExitFlag(0),
    495654    atoms(this),
     655    selectedAtoms(this),
    496656    currAtomId(0),
    497657    lastAtomPoolSize(0),
    498658    numAtomDefragSkips(0),
    499659    molecules(this),
     660    selectedMolecules(this),
    500661    currMoleculeId(0),
    501662    molecules_deprecated(new MoleculeListClass(this))
  • src/World.hpp

    rc538d1 r3d078d  
    6262friend class MoleculeDescriptor_impl;
    6363friend class MoleculeDescriptor;
     64// coupling with descriptors over selection
     65friend class AtomSelectionDescriptor_impl;
     66friend class MoleculeSelectionDescriptor_impl;
    6467
    6568// Actions, calculations etc associated with the World
     
    222225   * All these iterators are observed to track changes.
    223226   * There is a corresponding protected section with unobserved iterators,
    224    * which ca be used internally when the extra speed is needed
     227   * which can be used internally when the extra speed is needed
    225228   */
    226229
     
    239242  typedef SelectiveIterator<molecule*,MoleculeSet,MoleculeDescriptor>   MoleculeIterator;
    240243
     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   */
    241249  MoleculeIterator getMoleculeIter(MoleculeDescriptor descr);
    242250  MoleculeIterator getMoleculeIter();
    243251
    244252  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();
    245287
    246288protected:
     
    308350  class ThermoStatContainer *Thermostats;
    309351  int ExitFlag;
    310 public:
     352private:
     353
    311354  AtomSet atoms;
    312 private:
     355  AtomSet selectedAtoms;
    313356  typedef std::set<std::pair<atomId_t, atomId_t> > atomIdPool_t;
    314 
    315357  /**
    316358   * stores the pool for all available AtomIds below currAtomId
     
    324366
    325367  MoleculeSet molecules;
     368  MoleculeSet selectedMolecules;
    326369  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   */
    327375  moleculeIdPool_t moleculeIdPool;
    328376  moleculeId_t currMoleculeId;
  • src/atom.cpp

    rc538d1 r3d078d  
    330330}
    331331
     332molecule* atom::getMolecule(){
     333  return mol;
     334}
     335
    332336void atom::removeFromMolecule(){
    333337  if(mol){
  • src/atom.hpp

    rc538d1 r3d078d  
    9090
    9191   void setMolecule(molecule*);
     92   molecule* getMolecule();
    9293   void removeFromMolecule();
    9394
  • src/unittests/ParserUnitTest.cpp

    rc538d1 r3d078d  
    131131\tmolecule = $:molecule\n\
    132132)\n";
    133 static string waterXyz = "3\nH2O: water molecule\nO\t0\t0\t0\nH\t0.758602\t0\t0.504284\nH\t0.758602\t0\t-0.504284\n";
     133static 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";
    134134static string Tremolo_Atomdata1 = "# ATOMDATA\tId\tname\tType\tx=3\n";
    135135static 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  
    5959        fi
    6060        #echo "Molecuilder done with exitcode $exitcode."
     61        cd ../..
    6162        #cat stderr
    6263        #cat stdout
    63         grep -E "^[0-9]* [0-9]* [0-9]*$" ../../@srcdir@/$mol/$2/${FILENAME}-$mol.dat | sort -n >reference-triangles.dat
    64         grep -E "^[0-9]* [0-9]* [0-9]*$" ${FILENAME}.dat | sort -n >new-triangles.dat
    65         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=$?
    6667        #echo "Diff done with exitcode $exitcode."
    6768        #cat diffstderr
    6869        #cat diffstdout
    69         cd ../..
    7070        test $exitcode = $expected_exitcode || exit 1
    7171}
  • tests/Tesselations/heptan/1.5/NonConvexEnvelope-heptan.dat

    rc538d1 r3d078d  
    11TITLE = "3D CONVEX SHELL"
    22VARIABLES = "X" "Y" "Z" "U"
    3 ZONE T="heptan", N=23, E=64, DATAPACKING=POINT, ZONETYPE=FETRIANGLE
     3ZONE T="none", N=23, E=64, DATAPACKING=POINT, ZONETYPE=FETRIANGLE
    44-7.27e-07 -1.22006 0.930455 18.7229
    55-7.27e-07 -1.22006 -0.849545 18.7229
     
    77-1.2492 0.921941 -0.849545 18.7227
    881.2492 0.921941 -0.849545 18.7222
    9 1.2492 0.921941 0.930455 27.0641
    10 -2.4985 -1.22006 -0.849545 19.9769
    11 -2.4985 -1.22006 0.930455 27.4727
    12 2.4985 -1.22006 0.930455 19.9769
    13 2.4985 -1.22006 -0.849545 27.4727
     91.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
     122.4985 -1.22006 0.930455 27.4727
     132.4985 -1.22006 -0.849545 19.9769
    1414-4.6377 -0.336759 0.0404545 21.541
    1515-3.7477 0.921941 0.930455 18.8853
     
    17174.6377 -0.336759 0.0404545 10.6618
    18183.7477 0.921941 -0.849545 18.5406
    19 3.7477 0.921941 0.930455 12.1988
     193.7477 0.921941 0.930455 18.5406
    2020-7.27e-07 -0.590759 0.0404545 23.0174
    2121-1.2492 0.292641 0.0404545 23.0167
    22 1.2492 0.292641 0.0404545 20.1632
     221.2492 0.292641 0.0404545 23.0172
    2323-2.4985 -0.590759 0.0404545 18.9798
    24242.4985 -0.590759 0.0404545 18.9798
    2525-3.7477 0.292641 0.0404545 39.5267
    26 3.7477 0.292641 0.0404545 23.2512
     263.7477 0.292641 0.0404545 20.5497
    2727
    282814 15 23
     
    343415 19 23
    35355 15 19
     3616 19 23
     376 16 19
    36385 6 19
    37395 6 19
     
    42443 4 18
    43453 4 18
     463 18 22
     473 12 22
    44484 18 22
    45494 13 22
    46 3 18 22
    47 3 12 22
    485012 13 22
    495112 13 22
    50 6 19 23
    51 6 16 23
     5211 12 22
     5311 12 22
     548 11 22
     558 12 22
    525611 13 22
    535711 13 22
    54587 11 22
    55597 13 22
    56 11 12 22
    57 11 12 22
    58 8 11 22
    59 8 12 22
    606014 16 23
    616114 16 23
     
    76769 10 21
    77779 14 21
    78 10 17 21
    79 2 10 17
     789 17 21
     791 9 17
    80801 2 17
    81811 2 17
    82 1 17 21
    83 1 9 21
    84 2 17 20
    85 2 7 20
     822 17 21
     832 10 21
     841 17 20
     851 8 20
    86867 8 20
    87877 8 20
     888 11 20
    88897 11 20
    89 8 11 20
    90 8 17 20
    91 1 8 17
     907 17 20
     912 7 17
  • tests/regression/testsuite-analysis.at

    rc538d1 r3d078d  
    3939AT_KEYWORDS([analysis])
    4040AT_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 208], 0, [stdout], [stderr])
     41AT_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])
    4242AT_CHECK([fgrep "Begin of CorrelationToSurface" stdout], 0, [ignore], [ignore])
    4343#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  
    4545AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/pre/test.conf .], 0)
    4646AT_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])
     47AT_CHECK([file=test.xyz;sort -n $file | grep -v "Created by" >$file-sorted], 0, [ignore], [ignore])
     48AT_CHECK([file=test.xyz;sort -n ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/post/$file  | grep -v "Created by" >$file-sorted2], 0, [ignore], [ignore])
     49AT_CHECK([file=test.xyz; diff $file-sorted $file-sorted2], 0, [ignore], [ignore])
    5050AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/pre/test.conf test-x.conf], 0)
    5151AT_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])
     52AT_CHECK([file=test-x.xyz;sort -n $file | grep -v "Created by" >$file-sorted], 0, [ignore], [ignore])
     53AT_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])
     54AT_CHECK([file=test-x.xyz; diff $file-sorted $file-sorted2], 0, [ignore], [ignore])
    5555AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/pre/test.conf test-y.conf], 0)
    5656AT_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])
     57AT_CHECK([file=test-y.xyz;sort -n $file | grep -v "Created by" >$file-sorted], 0, [ignore], [ignore])
     58AT_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])
     59AT_CHECK([file=test-y.xyz; diff $file-sorted $file-sorted2], 0, [ignore], [ignore])
    6060AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/pre/test.conf test-z.conf], 0)
    6161AT_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])
     62AT_CHECK([file=test-z.xyz;sort -n $file | grep -v "Created by" >$file-sorted], 0, [ignore], [ignore])
     63AT_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])
     64AT_CHECK([file=test-z.xyz; diff $file-sorted $file-sorted2], 0, [ignore], [ignore])
    6565#AT_CHECK([/bin/false], 12, [ignore], [ignore])
    6666AT_CLEANUP
  • tests/regression/testsuite-simple_configuration.at

    rc538d1 r3d078d  
    1818], [ignore])
    1919AT_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])
     20AT_CHECK([file=test.in; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/2/post/$file], 0, [ignore], [ignore])
     21AT_CHECK([file=test.xyz; diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/2/post/$file], 0, [ignore], [ignore])
    2222AT_CLEANUP
    2323
     
    2727AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -o mpqc pcp xyz -a 1 --position "10., 10., 10."], 0, [ignore], [ignore])
    2828AT_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])
     29AT_CHECK([file=test.in; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/3/post/$file], 0, [ignore], [ignore])
     30AT_CHECK([file=test.xyz; diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/3/post/$file], 0, [ignore], [ignore])
    3131AT_CHECK([../../molecuilder -i test2.conf -e ${abs_top_srcdir}/src/ -o mpqc pcp xyz -a 1 --position "0., 0., -1."], 0, [ignore], [ignore])
    3232AT_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])
     33AT_CHECK([file=test2.in; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/3/post/$file], 0, [ignore], [ignore])
     34AT_CHECK([file=test2.xyz; diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/3/post/$file], 0, [ignore], [ignore])
    3535AT_CLEANUP
    3636
     
    3838AT_SETUP([Simple configuration - Changing element])
    3939AT_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])
     40AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/4/pre/test.xyz test.xyz], 0)
     41AT_CHECK([../../molecuilder -i test.xyz -e ${abs_top_srcdir}/src/ -E 6 --atom-by-id 0], 0, [ignore], [ignore])
     42AT_CHECK([file=test.xyz; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/4/post/$file], 0, [ignore], [ignore])
    4343AT_CLEANUP
    4444
     
    4949AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -o mpqc pcp xyz -r 0], 0, [ignore], [ignore])
    5050AT_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])
     51AT_CHECK([file=test.in; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/5/post/$file], 0, [ignore], [ignore])
     52AT_CHECK([file=test.xyz; diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/5/post/$file], 0, [ignore], [ignore])
    5353AT_CLEANUP
    5454
     
    8080AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/8/pre/test.* .], 0)
    8181AT_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])
     82AT_CHECK([sort -n test.xyz | grep -v "Created by" >test.xyz-sorted], 0, [ignore], [ignore])
     83AT_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])
     84AT_CHECK([file=test.xyz-sorted; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/8/post/$file], 0, [ignore], [ignore])
    8585AT_CLEANUP
Note: See TracChangeset for help on using the changeset viewer.