Changes in / [7f1b51:8859b5]


Ignore:
Files:
30 added
41 deleted
64 edited

Legend:

Unmodified
Added
Removed
  • LinearAlgebra/src/LinearAlgebra/MatrixContent.cpp

    r7f1b51 r8859b5  
    8888MatrixContent::MatrixContent(size_t _rows, size_t _columns, MatrixBaseCase) :
    8989    MatrixDimension(_rows,_columns),
    90     free_content_on_exit(false)
     90    free_content_on_exit(true)
    9191{}
    9292
  • LinearAlgebra/src/LinearAlgebra/MatrixContent.hpp

    r7f1b51 r8859b5  
    189189  {
    190190    ar & boost::serialization::base_object<MatrixDimension>(*this);
    191     if (free_content_on_exit)
    192       gsl_matrix_free(content);
    193191    content = gsl_matrix_calloc(getRows(), getColumns());
    194192    ar & content->size1;
  • LinearAlgebra/src/LinearAlgebra/RealSpaceMatrix.hpp

    r7f1b51 r8859b5  
    179179  void save(Archive & ar, const unsigned int version) const
    180180  {
    181     ar & *content;
     181    ar & content;
    182182  }
    183183  template<class Archive>
    184184  void load(Archive & ar, const unsigned int version)
    185185  {
    186     ar & *content;
     186    ar & content;
     187    createViews();
    187188  }
    188189  BOOST_SERIALIZATION_SPLIT_MEMBER()
  • LinearAlgebra/src/LinearAlgebra/VectorContent.cpp

    r7f1b51 r8859b5  
    5555  VectorDimension(0),
    5656  content(NULL),
    57   free_content_on_exit(false)
     57  free_content_on_exit(true)
    5858{}
    5959
     
    7878VectorContent::VectorContent(VectorBaseCase) :
    7979    VectorDimension(0),
    80     content(NULL),
    8180    free_content_on_exit(false)
    8281{}
     
    113112VectorContent::VectorContent(const size_t _dimension, std::istream &inputstream) :
    114113  VectorDimension(_dimension),
     114  content(NULL),
    115115  free_content_on_exit(true)
    116116{
  • src/Actions/ActionQueue.cpp

    r7f1b51 r8859b5  
    8484#endif
    8585
    86   clearQueue();
     86  // free all actions contained in actionqueue
     87  for (ActionQueue_t::iterator iter = actionqueue.begin(); !actionqueue.empty(); iter = actionqueue.begin()) {
     88    delete *iter;
     89    actionqueue.erase(iter);
     90  }
    8791
    8892  delete history;
     
    9296void ActionQueue::queueAction(const std::string &name, enum Action::QueryOptions state)
    9397{
    94   const Action * const registryaction = AR->getActionByName(name);
    95   queueAction(registryaction, state);
    96 }
    97 
    98 void ActionQueue::queueAction(const Action * const _action, enum Action::QueryOptions state)
     98  queueAction(AR->getActionByName(name), state);
     99}
     100
     101void ActionQueue::queueAction(Action *_action, enum Action::QueryOptions state)
    99102{
    100103  OBSERVE;
     
    113116    std::cerr << "Action " << *boost::get_error_info<ActionNameString>(e) << " has failed." << std::endl;
    114117    World::getInstance().setExitFlag(5);
    115     clearQueue();
    116     lastActionOk = false;
    117     std::cerr << "ActionQueue cleared." << std::endl;
    118   } catch (std::exception &e) {
    119     pushStatus("FAIL: General exception caught, aborting.");
    120     World::getInstance().setExitFlag(134);
    121     clearQueue();
     118    actionqueue.clear();
     119    tempqueue.clear();
    122120    lastActionOk = false;
    123121    std::cerr << "ActionQueue cleared." << std::endl;
     
    182180        pushStatus("FAIL: Action "+*boost::get_error_info<ActionNameString>(e)+" has failed.");
    183181        World::getInstance().setExitFlag(5);
    184         clearQueue();
     182        actionqueue.clear();
     183        tempqueue.clear();
    185184        lastActionOk = false;
    186         std::cerr << "ActionQueue cleared." << std::endl;
    187         CurrentAction = (size_t)-1;
    188       } catch (std::exception &e) {
    189         pushStatus("FAIL: General exception caught, aborting.");
    190         World::getInstance().setExitFlag(134);
    191         clearQueue();
    192185        std::cerr << "ActionQueue cleared." << std::endl;
    193186        CurrentAction = (size_t)-1;
     
    309302}
    310303
    311 void ActionQueue::clearQueue()
    312 {
    313   // free all actions contained in actionqueue
    314   for (ActionQueue_t::iterator iter = actionqueue.begin();
    315       !actionqueue.empty(); iter = actionqueue.begin()) {
    316     delete *iter;
    317     actionqueue.erase(iter);
    318   }
    319   // free all actions contained in tempqueue
    320   for (ActionQueue_t::iterator iter = tempqueue.begin();
    321       !tempqueue.empty(); iter = tempqueue.begin()) {
    322     delete *iter;
    323     tempqueue.erase(iter);
    324   }
    325 }
    326304
    327305const ActionQueue::ActionTokens_t ActionQueue::getListOfActions() const
  • src/Actions/ActionQueue.hpp

    r7f1b51 r8859b5  
    3232void waitQueue();
    3333#endif
    34 
    35 class CommandLineParser;
    3634
    3735namespace MoleCuilder {
     
    8381   * \param state whether Actions needs to be filled via a Dialog or not
    8482   */
    85   void queueAction(const Action * const _action, enum Action::QueryOptions state = Action::Interactive);
     83  void queueAction(Action *_action, enum Action::QueryOptions state = Action::Interactive);
    8684
    8785  /** Returns the spawned action by token \a name.
     
    169167  //!> grant Action access to internal history functions.
    170168  friend class Action;
    171   //!> grant CommandLineParser access to stop and clearQueue()
    172   friend class ::CommandLineParser;
    173169
    174170  /** Wrapper function to add state to ActionHistory.
     
    189185   */
    190186  void clear();
    191 
    192   /** Clears all actions currently present in the actionqueues.
    193    *
    194    */
    195   void clearQueue();
    196187
    197188#ifdef HAVE_ACTION_THREAD
  • src/Actions/AnalysisAction/DipoleAngularCorrelationAction.cpp

    r7f1b51 r8859b5  
    112112
    113113    // free correlation map
    114     delete correlationmap;
     114    delete(correlationmap);
    115115
    116116    // output binned map
     
    122122
    123123    // free binned map
    124     delete binmap;
     124    delete(binmap);
    125125  }
    126126
  • src/Actions/AnalysisAction/DipoleCorrelationAction.cpp

    r7f1b51 r8859b5  
    7373  binmap = BinData( correlationmap, params.BinWidth.get(), params.BinStart.get(), params.BinEnd.get() );
    7474  OutputCorrelationMap<BinPairMap> ( &binoutput, binmap, OutputCorrelation_Header, OutputCorrelation_Value );
    75   delete binmap;
    76   delete correlationmap;
     75  delete(binmap);
     76  delete(correlationmap);
    7777  output.close();
    7878  binoutput.close();
  • src/Actions/AnalysisAction/PairCorrelationAction.cpp

    r7f1b51 r8859b5  
    8585  binmap = BinData( correlationmap, params.BinWidth.get(), params.BinStart.get(), params.BinEnd.get() );
    8686  OutputCorrelationMap<BinPairMap> ( &binoutput, binmap, OutputCorrelation_Header, OutputCorrelation_Value );
    87   delete binmap;
    88   delete correlationmap;
     87  delete(binmap);
     88  delete(correlationmap);
    8989  output.close();
    9090  binoutput.close();
  • src/Actions/AnalysisAction/PointCorrelationAction.cpp

    r7f1b51 r8859b5  
    7979  binmap = BinData( correlationmap, params.BinWidth.get(), params.BinStart.get(), params.BinEnd.get() );
    8080  OutputCorrelationMap<BinPairMap> ( &binoutput, binmap, OutputCorrelation_Header, OutputCorrelation_Value );
    81   delete binmap;
    82   delete correlationmap;
     81  delete(binmap);
     82  delete(correlationmap);
    8383  output.close();
    8484  binoutput.close();
  • src/Actions/AnalysisAction/SurfaceCorrelationAction.cpp

    r7f1b51 r8859b5  
    115115  OutputCorrelationMap<BinPairMap> ( &binoutput, binmap, OutputCorrelation_Header, OutputCorrelation_Value );
    116116  delete TesselStruct;  // surfacemap contains refs to triangles! delete here, not earlier!
    117   delete binmap;
    118   delete surfacemap;
     117  delete(binmap);
     118  delete(surfacemap);
    119119  output.close();
    120120  binoutput.close();
  • src/Actions/CommandAction/ElementDbAction.cpp

    r7f1b51 r8859b5  
    6767  boost::archive::text_oarchive oa(undostream);
    6868  oa << periode;
     69  CommandElementDbState *UndoState =
     70      new CommandElementDbState(
     71          undostream.str(),
     72          params
     73          );
    6974
    7075  // get the path
     
    7883    STATUS("Element list loaded successfully.");
    7984    //periode->Output();
    80     return ActionState::ptr(new CommandElementDbState(undostream.str(),params));
     85    return ActionState::ptr(UndoState);
    8186  } else {
    8287    STATUS("Element list loading failed.");
     88    delete UndoState;
    8389    return Action::failure;
    8490  }
  • src/Actions/FillAction/FillRegularGridAction.cpp

    r7f1b51 r8859b5  
    4444#include "Filling/Cluster.hpp"
    4545#include "Filling/Filler.hpp"
    46 #include "Filling/Preparators/BoxFillerPreparator.hpp"
     46#include "Filling/Inserter/Inserter.hpp"
     47#include "Filling/Inserter/RandomInserter.hpp"
     48#include "Filling/Mesh/CubeMesh.hpp"
     49#include "Filling/Predicates/IsInsideSurface_FillPredicate.hpp"
     50#include "Filling/Predicates/IsVoidNode_FillPredicate.hpp"
     51#include "Filling/Predicates/Ops_FillPredicate.hpp"
     52#include "LinkedCell/linkedcell.hpp"
     53#include "LinkedCell/PointCloudAdaptor.hpp"
    4754#include "molecule.hpp"
    4855#include "MoleculeListClass.hpp"
    4956#include "Parser/FormatParserInterface.hpp"
    5057#include "Parser/FormatParserStorage.hpp"
     58#include "Shapes/BaseShapes.hpp"
     59#include "Tesselation/tesselation.hpp"
     60#include "Tesselation/BoundaryLineSet.hpp"
     61#include "Tesselation/BoundaryTriangleSet.hpp"
     62#include "Tesselation/CandidateForTesselation.hpp"
    5163#include "World.hpp"
     64
    5265
    5366#include <algorithm>
     
    7992  LOG(1, "INFO: Chosen molecule has " << filler->size() << " atoms.");
    8093
    81   // center filler's tip at origin
    82   filler->CenterEdge();
    83 
    84   // prepare the filler preparator
    85   BoxFillerPreparator filler_preparator(filler);
     94  // check for selected molecules and create surfaces from them
     95  std::vector<atom *> atoms(World::getInstance().getSelectedAtoms());
     96  FillPredicate * surface_predicate = NULL;
     97  LinkedCell_deprecated * LC = NULL;
     98  Tesselation * TesselStruct = NULL;
    8699  if (params.SphereRadius.get() != 0.) {
    87     if (World::getInstance().beginAtomSelection() == World::getInstance().endAtomSelection()) {
     100    if ( atoms.size() == 0) {
    88101      STATUS("You have given a sphere radius "+toString(params.SphereRadius.get())
    89102          +" != 0, but have not select any atoms.");
    90103      return Action::failure;
    91104    }
    92     std::vector<atom*> atoms(World::getInstance().getSelectedAtoms());
    93     filler_preparator.addSurfacePredicate(
    94         params.SphereRadius.get(),
    95         atoms);
    96   }
    97   filler_preparator.addVoidPredicate(params.mindistance.get());
    98   filler_preparator.addRandomInserter(
    99       params.RandAtomDisplacement.get(),
    100       params.RandMoleculeDisplacement.get(),
    101       params.DoRotate.get());
    102   filler_preparator.addCubeMesh(
    103       params.counts.get(),
    104       params.offset.get(),
    105       World::getInstance().getDomain().getM());
    106   if (!filler_preparator()) {
    107     STATUS("Filler was not fully constructed.");
    108     return Action::failure;
    109   }
    110 
    111   // use filler
     105    // create adaptor for the selected atoms
     106    PointCloudAdaptor< std::vector<atom *> > cloud(&atoms, std::string("Selected atoms"));
     107
     108    // create tesselation
     109    LC = new LinkedCell_deprecated(cloud, 2.*params.SphereRadius.get());
     110    TesselStruct = new Tesselation;
     111    (*TesselStruct)(cloud, params.SphereRadius.get());
     112
     113    // and create predicate
     114    surface_predicate = new FillPredicate( IsInsideSurface_FillPredicate( *TesselStruct, *LC ) );
     115  }
     116
     117  // create predicate, mesh, and filler
     118  FillRegularGridState *UndoState = NULL;
    112119  bool successflag = false;
    113   FillRegularGridState *UndoState = NULL;
    114120  {
     121    FillPredicate *voidnode_predicate = new FillPredicate(
     122        IsVoidNode_FillPredicate(
     123            Sphere(zeroVec, params.mindistance.get())
     124            )
     125        );
     126    FillPredicate Andpredicate = (*voidnode_predicate);
     127    if (surface_predicate != NULL)
     128      Andpredicate = (Andpredicate) && !(*surface_predicate);
     129    Mesh *mesh = new CubeMesh(params.counts.get(), params.offset.get(), World::getInstance().getDomain().getM());
     130    Inserter *inserter = new Inserter(
     131        Inserter::impl_ptr(
     132            new RandomInserter(
     133                params.RandAtomDisplacement.get(),
     134                params.RandMoleculeDisplacement.get(),
     135                params.DoRotate.get())
     136            )
     137        );
     138
    115139    // fill
    116     Filler *fillerFunction = filler_preparator.obtainFiller();
    117     // TODO: When molecule::getBoundingSphere() does not use a sphere anymore,
    118     // we need to check whether we rotate the molecule randomly. For this to
    119     // work we need a sphere!
    120     const Shape s = filler->getBoundingSphere(params.RandAtomDisplacement.get());
    121     ClusterInterface::Cluster_impl cluster( new Cluster(filler->getAtomIds(), s) );
    122     CopyAtoms_withBonds copyMethod;
    123     Filler::ClusterVector_t ClonedClusters;
    124     successflag = (*fillerFunction)(copyMethod, cluster, ClonedClusters);
    125     delete fillerFunction;
    126 
    127     // append each cluster's atoms to clonedatoms (however not selected ones)
    128     std::vector<const atom *> clonedatoms;
    129     std::vector<AtomicInfo> clonedatominfos;
    130     for (Filler::ClusterVector_t::const_iterator iter = ClonedClusters.begin();
    131         iter != ClonedClusters.end(); ++iter) {
    132       const AtomIdSet &atoms = (*iter)->getAtomIds();
    133       clonedatoms.reserve(clonedatoms.size()+atoms.size());
    134       for (AtomIdSet::const_iterator atomiter = atoms.begin(); atomiter != atoms.end(); ++atomiter)
    135         if (!filler->containsAtom(*atomiter)) {
    136           clonedatoms.push_back( *atomiter );
    137           clonedatominfos.push_back( AtomicInfo(*(*atomiter)) );
    138         }
     140    {
     141      Filler *fillerFunction = new Filler(*mesh, Andpredicate, *inserter);
     142      // TODO: When molecule::getBoundingSphere() does not use a sphere anymore,
     143      // we need to check whether we rotate the molecule randomly. For this to
     144      // work we need a sphere!
     145      const Shape s = filler->getBoundingSphere(params.RandAtomDisplacement.get());
     146      ClusterInterface::Cluster_impl cluster( new Cluster(filler->getAtomIds(), s) );
     147      CopyAtoms_withBonds copyMethod;
     148      Filler::ClusterVector_t ClonedClusters;
     149      successflag = (*fillerFunction)(copyMethod, cluster, ClonedClusters);
     150      delete fillerFunction;
     151
     152      // append each cluster's atoms to clonedatoms (however not selected ones)
     153      std::vector<const atom *> clonedatoms;
     154      std::vector<AtomicInfo> clonedatominfos;
     155      for (Filler::ClusterVector_t::const_iterator iter = ClonedClusters.begin();
     156          iter != ClonedClusters.end(); ++iter) {
     157        const AtomIdSet &atoms = (*iter)->getAtomIds();
     158        clonedatoms.reserve(clonedatoms.size()+atoms.size());
     159        for (AtomIdSet::const_iterator atomiter = atoms.begin(); atomiter != atoms.end(); ++atomiter)
     160          if (!filler->containsAtom(*atomiter)) {
     161            clonedatoms.push_back( *atomiter );
     162            clonedatominfos.push_back( AtomicInfo(*(*atomiter)) );
     163          }
     164      }
     165      std::vector< BondInfo > clonedbonds;
     166      StoreBondInformationFromAtoms(clonedatoms, clonedbonds);
     167      LOG(2, "DEBUG: There are " << clonedatominfos.size() << " newly created atoms.");
     168
     169      if (!successflag) {
     170        STATUS("Insertion failed, removing inserted clusters, translating original one back");
     171        RemoveAtomsFromAtomicInfo(clonedatominfos);
     172        clonedatoms.clear();
     173        SetAtomsFromAtomicInfo(movedatoms);
     174      } else {
     175        std::vector<Vector> MovedToVector(filler->size(), zeroVec);
     176        std::transform(filler->begin(), filler->end(), MovedToVector.begin(),
     177            boost::bind(&AtomInfo::getPosition, _1) );
     178        UndoState = new FillRegularGridState(clonedatominfos,clonedbonds,movedatoms,MovedToVector,params);
     179      }
    139180    }
    140     std::vector< BondInfo > clonedbonds;
    141     StoreBondInformationFromAtoms(clonedatoms, clonedbonds);
    142     LOG(2, "DEBUG: There are " << clonedatominfos.size() << " newly created atoms.");
    143 
    144     if (!successflag) {
    145       STATUS("Insertion failed, removing inserted clusters, translating original one back");
    146       RemoveAtomsFromAtomicInfo(clonedatominfos);
    147       clonedatoms.clear();
    148       SetAtomsFromAtomicInfo(movedatoms);
    149     } else {
    150       std::vector<Vector> MovedToVector(filler->size(), zeroVec);
    151       std::transform(filler->begin(), filler->end(), MovedToVector.begin(),
    152           boost::bind(&AtomInfo::getPosition, _1) );
    153       UndoState = new FillRegularGridState(clonedatominfos,clonedbonds,movedatoms,MovedToVector,params);
    154     }
     181
     182    // remove
     183    delete mesh;
     184    delete inserter;
     185    delete voidnode_predicate;
     186    delete surface_predicate;
     187    delete LC;
     188    delete TesselStruct;
    155189  }
    156190
  • src/Actions/FillAction/FillSurfaceAction.cpp

    r7f1b51 r8859b5  
    4646#include "Filling/Mesh/MeshAdaptor.hpp"
    4747#include "Filling/Predicates/IsVoidNode_FillPredicate.hpp"
    48 #include "Filling/Preparators/ShapeSurfaceFillerPreparator.hpp"
    4948#include "molecule.hpp"
    5049#include "Shapes/BaseShapes.hpp"
    5150#include "Shapes/ShapeRegistry.hpp"
    52 #include "Shapes/ShapeType.hpp"
    5351#include "World.hpp"
    5452
     
    8381
    8482  // center filler's tip at origin
    85   filler->CenterEdge();
     83  Vector max;
     84  filler->CenterEdge(&max);
    8685
    8786  // determine center with respect to alignment axis
     
    9796  {
    9897    Vector translater = -1.*sum;
    99     filler->Translate(translater);
    100   }
    101 
    102   // prepare the filler preparator
    103   if (ShapeRegistry::getInstance().countSelectedShapes() != (size_t)1) {
    104     STATUS("Not exactly one shape selected.");
    105     return Action::failure;
    106   }
    107   const std::vector<Shape*> shapes = ShapeRegistry::getInstance().getSelectedShapes();
    108   const Shape &shape = **shapes.begin();
    109 
    110   // hard check whether shape is of allowed type, not all are implemented
    111   // but these only fail with an assertion, hence not with disable-debug
    112   switch (shape.getType()) {
    113     case NowhereType:
    114     case EverywhereType:
    115       STATUS("The shape type "+toString(shape.getType())+" is currently not supported.");
    116       return Action::failure;
    117       break;
    118     default:
    119       break;
    120   }
    121 
    122   ShapeSurfaceFillerPreparator filler_preparator(filler);
    123   if (params.SphereRadius.get() != 0.) {
    124     if (World::getInstance().beginAtomSelection() == World::getInstance().endAtomSelection()) {
    125       STATUS("You have given a sphere radius "+toString(params.SphereRadius.get())
    126           +" != 0, but have not select any atoms.");
     98    filler->Translate(&translater);
     99  }
     100
     101  // create predicate, mesh, and filler
     102  FillSurfaceState *UndoState = NULL;
     103  bool successflag = false;
     104  {
     105    FillPredicate *voidnode_predicate = new FillPredicate(
     106        IsVoidNode_FillPredicate(
     107            Sphere(zeroVec, params.mindistance.get())
     108            )
     109        );
     110
     111
     112    std::vector<Shape*> selectedShapes = ShapeRegistry::getInstance().getSelectedShapes();
     113    if (selectedShapes.size() != 1){
     114      STATUS("There has to be exactly 1 selected shape.");
    127115      return Action::failure;
    128116    }
    129     std::vector<atom*> atoms(World::getInstance().getSelectedAtoms());
    130     filler_preparator.addSurfacePredicate(
    131         params.SphereRadius.get(),
    132         atoms);
    133   }
    134   filler_preparator.addVoidPredicate(params.mindistance.get());
    135   filler_preparator.addSurfaceRandomInserter(
    136       shape,
    137       params.AlignedAxis.get(),
    138       params.RandAtomDisplacement.get(),
    139       params.RandMoleculeDisplacement.get());
    140   filler_preparator.addShapeMesh(
    141       shape,
    142       params.N.get());
    143   if (!filler_preparator()) {
    144     STATUS("Filler was not fully constructed.");
    145     return Action::failure;
    146   }
    147 
    148   // use filler
    149   bool successflag = false;
    150   FillSurfaceState *UndoState = NULL;
    151   {
     117
     118    boost::function<const NodeSet ()> func =
     119        boost::bind(&Shape::getHomogeneousPointsOnSurface, boost::ref(*selectedShapes[0]), params.N.get());
     120    Mesh *mesh = new MeshAdaptor(func);
     121    Inserter *inserter = new Inserter(
     122        Inserter::impl_ptr(new SurfaceInserter(*selectedShapes[0], params.AlignedAxis.get())));
     123
    152124    // fill
    153125    {
    154       Filler *fillerFunction = filler_preparator.obtainFiller();
     126      Filler *fillerFunction = new Filler(*mesh, *voidnode_predicate, *inserter);
    155127      ClusterInterface::Cluster_impl cluster( new Cluster( filler->getAtomIds(), filler->getBoundingSphere() ) );
    156128      CopyAtoms_withBonds copyMethod;
     
    189161      }
    190162    }
     163
     164    // remove
     165    delete mesh;
     166    delete inserter;
     167    delete voidnode_predicate;
    191168  }
    192169
  • src/Actions/FillAction/FillSurfaceAction.def

    r7f1b51 r8859b5  
    2020// ValueStorage by the token "Z" -> first column: int, Z, "Z"
    2121// "undefine" if no parameters are required, use (NOPARAM_DEFAULT) for each (undefined) default value
    22 #define paramtypes (unsigned int)(double)(double)(double)(double)(Vector)
    23 #define paramtokens ("count")("min-distance")("tesselation-radius")("random-atom-displacement")("random-molecule-displacement")("Alignment-Axis")
    24 #define paramdescriptions ("number of instances to be added, changed according to geometric needs")("minimum distance between added instances")("radius of rolling sphere in tesselating selected molecule's surfaces")("magnitude of random atom displacement")("magnitude of random molecule displacement")("The filler molecule is rotated relative to this alignment axis")
    25 #define paramdefaults (PARAM_DEFAULT(12))(PARAM_DEFAULT(1.))(PARAM_DEFAULT(0.))(PARAM_DEFAULT(0.))(PARAM_DEFAULT(0.))(NOPARAM_DEFAULT)
    26 #define paramreferences (N)(mindistance)(SphereRadius)(RandAtomDisplacement)(RandMoleculeDisplacement)(AlignedAxis)
     22#define paramtypes (unsigned int)(double)(Vector)
     23#define paramtokens ("count")("min-distance")("Alignment-Axis")
     24#define paramdescriptions ("number of instances to be added, changed according to geometric needs")("minimum distance between added instances")("The filler molecule is rotated relative to this alignment axis")
     25#define paramdefaults (PARAM_DEFAULT(12))(PARAM_DEFAULT(1.))(NOPARAM_DEFAULT)
     26#define paramreferences (N)(mindistance)(AlignedAxis)
    2727#define paramvalids \
    2828(DummyValidator< unsigned int >()) \
    29 (BoxLengthValidator()) \
    30 (BoxLengthValidator()) \
    31 (BoxLengthValidator()) \
    3229(BoxLengthValidator()) \
    3330(VectorNotZeroValidator())
     
    3936#define CATEGORY Fill
    4037#define MENUNAME "fill"
    41 #define MENUPOSITION 2
     38#define MENUPOSITION 1
    4239#define ACTIONNAME Surface
    4340#define TOKEN "fill-surface"
  • src/Actions/GlobalListOfActions.hpp

    r7f1b51 r8859b5  
    5050  (FillRegularGrid) \
    5151  (FillSurface) \
    52   (FillSuspendInMolecule) \
    53   (FillVolume) \
    5452  (FragmentationAnalyseFragmentationResults) \
    5553  (FragmentationClearFragmentationResults) \
     
    7068  (MoleculeChangeBondAngle) \
    7169  (MoleculeCopy) \
     70  (MoleculeFillWithMolecule) \
     71  (MoleculeFillVoidWithMolecule) \
    7272  (MoleculeForceAnnealing) \
    7373  (MoleculeLinearInterpolationofTrajectories) \
     
    8080  (MoleculeSaveTemperature) \
    8181  (MoleculeStretchBond) \
     82  (MoleculeSuspendInWater) \
    8283  (MoleculeVerletIntegration) \
    8384  (PotentialFitParticleCharges) \
  • src/Actions/Makefile.am

    r7f1b51 r8859b5  
    215215FILLACTIONSOURCE = \
    216216        Actions/FillAction/FillRegularGridAction.cpp \
    217         Actions/FillAction/FillSurfaceAction.cpp \
    218         Actions/FillAction/SuspendInMoleculeAction.cpp \
    219         Actions/FillAction/FillVolumeAction.cpp
     217        Actions/FillAction/FillSurfaceAction.cpp
    220218FILLACTIONHEADER = \
    221219        Actions/FillAction/FillRegularGridAction.hpp \
    222         Actions/FillAction/FillSurfaceAction.hpp \
    223         Actions/FillAction/SuspendInMoleculeAction.hpp \
    224         Actions/FillAction/FillVolumeAction.hpp
     220        Actions/FillAction/FillSurfaceAction.hpp
    225221FILLACTIONDEFS = \
    226222        Actions/FillAction/FillRegularGridAction.def \
    227         Actions/FillAction/FillSurfaceAction.def \
    228         Actions/FillAction/SuspendInMoleculeAction.def \
    229         Actions/FillAction/FillVolumeAction.def
     223        Actions/FillAction/FillSurfaceAction.def
    230224
    231225
     
    285279  Actions/MoleculeAction/ChangeNameAction.cpp \
    286280  Actions/MoleculeAction/CopyAction.cpp \
     281  Actions/MoleculeAction/FillWithMoleculeAction.cpp \
     282  Actions/MoleculeAction/FillVoidWithMoleculeAction.cpp \
    287283  Actions/MoleculeAction/ForceAnnealingAction.cpp \
    288284  Actions/MoleculeAction/LinearInterpolationofTrajectoriesAction.cpp \
     
    295291  Actions/MoleculeAction/SaveTemperatureAction.cpp \
    296292  Actions/MoleculeAction/StretchBondAction.cpp \
     293  Actions/MoleculeAction/SuspendInWaterAction.cpp \
    297294  Actions/MoleculeAction/VerletIntegrationAction.cpp
    298295MOLECULEACTIONHEADER = \
     
    301298  Actions/MoleculeAction/ChangeNameAction.hpp \
    302299  Actions/MoleculeAction/CopyAction.hpp \
     300  Actions/MoleculeAction/FillWithMoleculeAction.hpp \
     301  Actions/MoleculeAction/FillVoidWithMoleculeAction.hpp \
    303302  Actions/MoleculeAction/ForceAnnealingAction.hpp \
    304303  Actions/MoleculeAction/LinearInterpolationofTrajectoriesAction.hpp \
     
    311310  Actions/MoleculeAction/SaveTemperatureAction.hpp \
    312311  Actions/MoleculeAction/StretchBondAction.hpp \
     312  Actions/MoleculeAction/SuspendInWaterAction.hpp \
    313313  Actions/MoleculeAction/VerletIntegrationAction.hpp
    314314MOLECULEACTIONDEFS = \
     
    317317  Actions/MoleculeAction/ChangeNameAction.def \
    318318  Actions/MoleculeAction/CopyAction.def \
     319  Actions/MoleculeAction/FillWithMoleculeAction.def \
     320  Actions/MoleculeAction/FillVoidWithMoleculeAction.def \
    319321  Actions/MoleculeAction/ForceAnnealingAction.def \
    320322  Actions/MoleculeAction/LinearInterpolationofTrajectoriesAction.def \
     
    327329  Actions/MoleculeAction/SaveTemperatureAction.def \
    328330  Actions/MoleculeAction/StretchBondAction.def \
     331  Actions/MoleculeAction/SuspendInWaterAction.def \
    329332  Actions/MoleculeAction/VerletIntegrationAction.def
    330333
  • src/Actions/MoleculeAction/CopyAction.cpp

    r7f1b51 r8859b5  
    6363      iter != World::getInstance().endMoleculeSelection(); ++iter) {
    6464    molecule * const copy = (iter->second)->CopyMolecule();
    65     Vector Center = (iter->second)->DetermineCenterOfAll();
    66     Center *= -1.;
    67     Center += params.position.get();
     65    Vector *Center = (iter->second)->DetermineCenterOfAll();
     66    *Center *= -1.;
     67    *Center += params.position.get();
    6868    copy->Translate(Center);
     69    delete(Center);
    6970    molecules.push_back(copy->getId());
    7071  }
  • src/Actions/MoleculeAction/RotateAroundSelfByAngleAction.cpp

    r7f1b51 r8859b5  
    7474
    7575    // Creation Line that is the rotation axis
    76     const Vector CenterOfGravity = mol->DetermineCenterOfGravity();
    77     LOG(0,  "Center of gravity is " << CenterOfGravity << ".");
    78     Line RotationAxis(CenterOfGravity, params.Axis.get());
     76    Vector *CenterOfGravity = mol->DetermineCenterOfGravity();
     77    LOG(0,  "Center of gravity is " << *CenterOfGravity << ".");
     78    Line RotationAxis(*CenterOfGravity, params.Axis.get());
     79    delete(CenterOfGravity);
    7980    LOG(0, "Rotate " << mol->getName() << " around self by " << params.angle.get() << " radian around axis " << RotationAxis << ".");
    8081
     
    9293
    9394  BOOST_FOREACH(molecule *mol, state->selectedMolecules) {
    94     const Vector CenterOfGravity = mol->DetermineCenterOfGravity();
    95     LOG(0,  "Center of gravity is " <<CenterOfGravity << ".");
    96     Line RotationAxis(CenterOfGravity, state->params.Axis.get());
     95    Vector *CenterOfGravity = mol->DetermineCenterOfGravity();
     96    LOG(0,  "Center of gravity is " << *CenterOfGravity << ".");
     97    Line RotationAxis(*CenterOfGravity, state->params.Axis.get());
     98    delete(CenterOfGravity);
    9799    LOG(0, "Rotate " << mol->getName() << " around self by " << -state->params.angle.get() << " radian around axis " << RotationAxis << ".");
    98100
     
    109111
    110112  BOOST_FOREACH(molecule *mol, state->selectedMolecules) {
    111     const Vector CenterOfGravity = mol->DetermineCenterOfGravity();
    112     LOG(0,  "Center of gravity is " << CenterOfGravity << ".");
    113     Line RotationAxis(CenterOfGravity, state->params.Axis.get());
     113    Vector *CenterOfGravity = mol->DetermineCenterOfGravity();
     114    LOG(0,  "Center of gravity is " << *CenterOfGravity << ".");
     115    Line RotationAxis(*CenterOfGravity, state->params.Axis.get());
     116    delete(CenterOfGravity);
    114117    LOG(0, "Rotate " << mol->getName() << " around self by " << state->params.angle.get() << " radian around axis " << RotationAxis << ".");
    115118
  • src/Actions/PotentialAction/FitPotentialAction.cpp

    r7f1b51 r8859b5  
    9393  LOG(2, "DEBUG: counts_per_charge is " << counts_per_charge << ".");
    9494  // we want to check each (unique) key only once
    95   for (HomologyContainer::const_key_iterator iter = homologies.key_begin();
    96       iter != homologies.key_end(); iter = homologies.getNextKey(iter)) {
    97     // check if every element has the right number of counts
     95  HomologyContainer::const_key_iterator olditer = homologies.key_end();
     96  for (HomologyContainer::const_key_iterator iter =
     97      homologies.key_begin(); iter != homologies.key_end(); olditer = iter++) {
     98    // if it's the same as the old one, skip it
     99    if (*olditer == *iter)
     100      continue;
     101    // if it's a new key, check if every element has the right number of counts
    98102    Extractors::elementcounts_t::const_iterator countiter = counts_per_charge.begin();
    99103    for (; countiter != counts_per_charge.end(); ++countiter)
  • src/Actions/Process.cpp

    r7f1b51 r8859b5  
    5252Process::~Process()
    5353{
    54   // if active make sure everybody knows we have stopped
    55   if (active)
    56     stop();
     54  // make sure everybody knows we have stoped
     55  stop();
    5756}
    5857
  • src/Analysis/analysis_correlation.cpp

    r7f1b51 r8859b5  
    334334  const LinkedCell::LinkedList intersected_atoms_set(intersected_atoms.begin(), intersected_atoms_end);
    335335
     336  // create map
     337  outmap = new PairCorrelationMap;
     338
    336339  // get linked cell view
    337340  LinkedCell::LinkedCell_View LC = World::getInstance().getLinkedCell(max_distance);
     
    408411  }
    409412
     413  outmap = new CorrelationToPointMap;
    410414  for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin(); MolWalker != molecules.end(); MolWalker++) {
    411415    LOG(2, "Current molecule is " << *MolWalker << ".");
     
    452456  }
    453457
     458  outmap = new CorrelationToPointMap;
    454459  for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin(); MolWalker != molecules.end(); MolWalker++) {
    455460    RealSpaceMatrix FullMatrix = World::getInstance().getDomain().getM();
     
    505510  }
    506511
     512  outmap = new CorrelationToSurfaceMap;
    507513  for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin(); MolWalker != molecules.end(); MolWalker++) {
    508514    LOG(2, "Current molecule is " << (*MolWalker)->name << ".");
     
    560566  }
    561567
     568  outmap = new CorrelationToSurfaceMap;
    562569  double ShortestDistance = 0.;
    563570  BoundaryTriangleSet *ShortestTriangle = NULL;
  • src/Analysis/unittests/CountBondsUnitTest.cpp

    r7f1b51 r8859b5  
    148148void CountBondsTest::HydrogenBridgeBondsTest()
    149149{
    150   double mirror[3];
     150  double *mirror = new double[3];
    151151  CPPUNIT_ASSERT(mirror != NULL && "could not create array of doubles");
    152152  for (int i=0;i<3;i++)
     
    161161  cout << "Case 1: offset of (3,0,0), hence angles are (104.5, 0, 75.5, 180) < 30." << endl;
    162162  Translator  = Vector(3,0,0);
    163   TestMolecule1->Translate(Translator);
     163  TestMolecule1->Translate(&Translator);
    164164  CPPUNIT_ASSERT_EQUAL( 1 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
    165165  CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, oxygen, NULL) );
    166166  Translator = Vector(-3,0,0);
    167   TestMolecule1->Translate(Translator);
     167  TestMolecule1->Translate(&Translator);
    168168
    169169  cout << "Case 2: offset of (0,3,0), hence angle are (14.5, 165.5, 90) < 30 (only three, because other 90 is missing due to first H01 only fulfilling H-bond criteria)." << endl;
    170170  Translator = Vector(0,3,0);
    171   TestMolecule1->Translate(Translator);
     171  TestMolecule1->Translate(&Translator);
    172172  CPPUNIT_ASSERT_EQUAL( 1 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
    173173  Translator = Vector(0,-3,0);
    174   TestMolecule1->Translate(Translator);
     174  TestMolecule1->Translate(&Translator);
    175175
    176176  cout << "Case 3: offset of (0,-3,0) and mirror, hence angle are (165.5, 90, 165.5, 90) > 30." << endl;
    177177  Translator = Vector(0,-3,0);
    178   TestMolecule1->Scale(&mirror[0]);
    179   TestMolecule1->Translate(Translator);
     178  TestMolecule1->Scale((const double ** const)&mirror);
     179  TestMolecule1->Translate(&Translator);
    180180  CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
    181181  Translator = Vector(0,3,0);
    182   TestMolecule1->Translate(Translator);
    183   TestMolecule1->Scale(&mirror[0]);
     182  TestMolecule1->Translate(&Translator);
     183  TestMolecule1->Scale((const double ** const)&mirror);
    184184
    185185  cout << "Case 4: offset of (2,1,0), hence angle are (78, 26.6, 102, 153.4) < 30." << endl;
    186186  Translator = Vector(2,1,0);
    187   TestMolecule1->Translate(Translator);
     187  TestMolecule1->Translate(&Translator);
    188188  CPPUNIT_ASSERT_EQUAL( 1 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
    189189  Translator = Vector(-2,-1,0);
    190   TestMolecule1->Translate(Translator);
     190  TestMolecule1->Translate(&Translator);
    191191
    192192  cout << "Case 5: offset of (0,0,3), hence angle are (90, 90, 90, 90) > 30." << endl;
    193193  Translator = Vector(0,0,3);
    194   TestMolecule1->Translate(Translator);
     194  TestMolecule1->Translate(&Translator);
    195195  CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
    196196  Translator = Vector(0,0,-3);
    197   TestMolecule1->Translate(Translator);
     197  TestMolecule1->Translate(&Translator);
    198198
    199199  cout << "Case 6: offset of (-3,0,0) and mirror, hence angle are (75.5, 180, 104.5, 180) > 30." << endl;
    200200  Translator = Vector(-3,0,0);
    201   TestMolecule1->Scale(&mirror[0]);
    202   TestMolecule1->Translate(Translator);
     201  TestMolecule1->Scale((const double ** const)&mirror);
     202  TestMolecule1->Translate(&Translator);
    203203  CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
    204204  Translator = Vector(3,0,0);
    205   TestMolecule1->Translate(Translator);
    206   TestMolecule1->Scale(&mirror[0]);
     205  TestMolecule1->Translate(&Translator);
     206  TestMolecule1->Scale((const double ** const)&mirror);
    207207
    208208  cout << "Case 7: offset of (3,0,0) and mirror, hence angles are (104.5, 0, 104.5, 0) < 30, but interfering hydrogens." << endl;
    209209  Translator = Vector(3,0,0);
    210   TestMolecule1->Scale(&mirror[0]);
    211   TestMolecule1->Translate(Translator);
     210  TestMolecule1->Scale((const double ** const)&mirror);
     211  TestMolecule1->Translate(&Translator);
    212212  CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
    213213  Translator = Vector(-3,0,0);
    214   TestMolecule1->Translate(Translator);
    215   TestMolecule1->Scale(&mirror[0]);
     214  TestMolecule1->Translate(&Translator);
     215  TestMolecule1->Scale((const double ** const)&mirror);
    216216
    217217  cout << "Case 8: offset of (0,3,0), hence angle are (14.5, 90, 14.5, 90) < 30, but interfering hydrogens." << endl;
    218218  Translator = Vector(0,3,0);
    219   TestMolecule1->Scale(&mirror[0]);
    220   TestMolecule1->Translate(Translator);
     219  TestMolecule1->Scale((const double ** const)&mirror);
     220  TestMolecule1->Translate(&Translator);
    221221  CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
    222222  Translator = Vector(0,-3,0);
    223   TestMolecule1->Translate(Translator);
    224   TestMolecule1->Scale(&mirror[0]);
    225 };
     223  TestMolecule1->Translate(&Translator);
     224  TestMolecule1->Scale((const double ** const)&mirror);
     225
     226  delete[](mirror);
     227};
  • src/Box.cpp

    r7f1b51 r8859b5  
    127127}
    128128
    129 void Box::setM(const RealSpaceMatrix &_M){
     129void Box::setM(RealSpaceMatrix _M){
    130130  ASSERT(_M.determinant()!=0,"Matrix in Box construction was not invertible");
    131131  OBSERVE;
  • src/Box.hpp

    r7f1b51 r8859b5  
    6262   * Set the form of the parallelepiped.
    6363   */
    64   void setM(const RealSpaceMatrix &_M);
     64  void setM(RealSpaceMatrix);
    6565
    6666  Box &operator=(const Box&);
  • src/Filling/Makefile.am

    r7f1b51 r8859b5  
    1313        Filling/Inserter/SimpleInserter.cpp \
    1414        Filling/Inserter/SurfaceInserter.cpp \
    15         Filling/Inserter/SurfaceRandomInserter.cpp \
    1615        Filling/Predicates/AnyFillPredicate.cpp \
    1716        Filling/Predicates/FillPredicate.cpp \
     
    2019        Filling/Predicates/IsValidInDomain_FillPredicate.cpp \
    2120        Filling/Predicates/IsVoidNode_FillPredicate.cpp \
    22         Filling/Predicates/Ops_FillPredicate.cpp \
    23         Filling/Preparators/BaseFillerPreparator.cpp \
    24         Filling/Preparators/BoxFillerPreparator.cpp \
    25         Filling/Preparators/ShapeSurfaceFillerPreparator.cpp \
    26         Filling/Preparators/ShapeVolumeFillerPreparator.cpp
     21        Filling/Predicates/Ops_FillPredicate.cpp
    2722       
    2823FILLINGHEADER = \
     
    3934        Filling/Inserter/SimpleInserter.hpp \
    4035        Filling/Inserter/SurfaceInserter.hpp \
    41         Filling/Inserter/SurfaceRandomInserter.hpp \
    4236        Filling/NodeTypes.hpp \
    4337        Filling/Predicates/AnyFillPredicate.hpp \
     
    5044        Filling/Predicates/IsVoidNode_FillPredicate.hpp \
    5145        Filling/Predicates/Ops_FillPredicate.hpp \
    52         Filling/Predicates/Ops_FillPredicate_impl.hpp \
    53         Filling/Preparators/BaseFillerPreparator.hpp \
    54         Filling/Preparators/BoxFillerPreparator.hpp \
    55         Filling/Preparators/ShapeSurfaceFillerPreparator.hpp \
    56         Filling/Preparators/ShapeVolumeFillerPreparator.hpp
     46        Filling/Predicates/Ops_FillPredicate_impl.hpp
     47                                 
    5748
    5849noinst_LTLIBRARIES += libMolecuilderFilling.la
  • src/Filling/Mesh/MeshAdaptor.hpp

    r7f1b51 r8859b5  
    1818
    1919#include "Filling/NodeTypes.hpp"
    20 #include "Filling/Mesh/Mesh.hpp"
    2120
    2221class MeshAdaptor : public Mesh
  • src/Fragmentation/Exporters/SaturationDistanceMaximizer.cpp

    r7f1b51 r8859b5  
    117117  my_func.df = &jacf;
    118118  my_func.fdf = &funcjacf;
    119   SaturationDistanceMaximizer::Advocate* const advocate = getAdvocate();
    120   my_func.params = advocate;
     119  my_func.params = getAdvocate();
    121120
    122121  // allocate argument and set to zero
     
    159158  // free memory
    160159  gsl_multimin_fdfminimizer_free(s);
    161   my_func.params = NULL;
    162   delete advocate;
    163160  gsl_vector_free(x);
    164161}
  • src/Fragmentation/Homology/HomologyContainer.hpp

    r7f1b51 r8859b5  
    181181  void clear();
    182182
    183   /** Returns the number of keys in the container.
    184    *
    185    * \return size of internal container
    186    */
    187   const size_t size()
    188   { return container.size(); }
    189 
    190183private:
    191184  //!> multimap containing all homologous graph under same key but each with its value
  • src/LinkedCell/linkedcell.cpp

    r7f1b51 r8859b5  
    141141LinkedCell_deprecated::~LinkedCell_deprecated()
    142142{
    143   if (LC != NULL) {
    144     for (index=0;index<N[0]*N[1]*N[2];index++) {
    145       // don't delete pointers are just "borrowed"
    146       LC[index].clear();
    147     }
    148     delete[] LC;
    149   }
     143  if (LC != NULL)
     144  for (index=0;index<N[0]*N[1]*N[2];index++)
     145    LC[index].clear();
     146  delete[](LC);
    150147  for(int i=0;i<NDIM;i++)
    151148    N[i] = 0;
     
    370367      }
    371368    }
    372     delete NeighbourList;
     369    delete(NeighbourList);
    373370  } else
    374371    ELOG(2, "Around vector " << *center << " there are no atoms.");
  • src/LinkedCell/unittests/linkedcellUnitTest.cpp

    r7f1b51 r8859b5  
    378378  CPPUNIT_ASSERT_EQUAL( (size_t)0, ListOfPoints->size() );
    379379  CPPUNIT_ASSERT_EQUAL( true, ListOfPoints->empty() );
    380   delete ListOfPoints;
    381 };
     380  delete(ListOfPoints);
     381};
  • src/LinkedCell/unittests/stubs/ObserverBoxStub.cpp

    r7f1b51 r8859b5  
    9191}
    9292
    93 void Box::setM(const RealSpaceMatrix &_M)
     93void Box::setM(RealSpaceMatrix _M)
    9494{
    9595  OBSERVE;
  • src/Parser/PdbParser.cpp

    r7f1b51 r8859b5  
    295295      for (size_t i = 0; i < MaxMol; ++i)
    296296        delete elementNo[i];
    297       delete[] elementNo;
     297      delete elementNo;
    298298
    299299      // write CONECTs
  • src/Potentials/PartialNucleiChargeFitter.cpp

    r7f1b51 r8859b5  
    227227PartialNucleiChargeFitter::~PartialNucleiChargeFitter()
    228228{
    229   if (PartialCharges != NULL)
    230     delete PartialCharges;
    231 
    232   if (PotentialFromCharges != NULL)
    233     delete PotentialFromCharges;
     229  delete PotentialFromCharges;
    234230}
    235231
     
    239235  const size_t rows = SampledPotential.getDimension();
    240236  const size_t cols = positions.size();
    241 
    242   // allocate memory for PotentialFromCharges
    243   if (PotentialFromCharges != NULL) {
    244     delete PotentialFromCharges;
    245     PotentialFromCharges = NULL;
    246   }
    247237  PotentialFromCharges = new MatrixContent( rows, cols );
    248238  // store step length per axis
     
    295285{
    296286  // prepare PartialCharges
    297   if (PartialCharges != NULL) {
    298     delete PartialCharges;
    299     PartialCharges = NULL;
    300   }
    301287  PartialCharges = new VectorContent(positions.size());
    302288
  • src/Potentials/PotentialRegistry.cpp

    r7f1b51 r8859b5  
    4444{}
    4545
    46 PotentialRegistry::~PotentialRegistry()
    47 {
    48   cleanup();
    49 }
    5046
    5147void PotentialRegistry::registerInstance(EmpiricalPotential *potential)
  • src/Potentials/PotentialRegistry.hpp

    r7f1b51 r8859b5  
    4545private:
    4646  PotentialRegistry();
    47   virtual ~PotentialRegistry();
     47  virtual ~PotentialRegistry() {}
    4848};
    4949
  • src/Potentials/SerializablePotential.hpp

    r7f1b51 r8859b5  
    5353    ParticleTypes(_ParticleTypes)
    5454  {}
    55   virtual ~SerializablePotential() {}
     55  ~SerializablePotential() {}
    5656
    5757  /** Return the token name of this specific potential.
  • src/Tesselation/CandidateForTesselation.cpp

    r7f1b51 r8859b5  
    172172      }
    173173    }
    174     delete ListofPoints;
     174    delete (ListofPoints);
    175175
    176176  }
  • src/Tesselation/boundary.cpp

    r7f1b51 r8859b5  
    183183  LineMap LinesOnBoundary;
    184184  TriangleMap TrianglesOnBoundary;
    185   Vector MolCenter = mol->DetermineCenterOfAll();
     185  Vector *MolCenter = mol->DetermineCenterOfAll();
    186186  Vector helper;
    187187  BoundariesTestPair BoundaryTestPair;
     
    207207    // Boundaries stores non-const TesselPoint ref, hence we need iterator here
    208208    for (molecule::iterator iter = mol->begin(); iter != mol->end(); ++iter) {
    209       ProjectedVector = (*iter)->getPosition() - (MolCenter);
     209      ProjectedVector = (*iter)->getPosition() - (*MolCenter);
    210210      ProjectedVector.ProjectOntoPlane(AxisVector);
    211211
     
    233233          LOG(2, "Keeping new vector due to larger projected distance " << ProjectedVectorNorm << ".");
    234234        } else if (fabs(ProjectedVectorNorm - BoundaryTestPair.first->second.first) < MYEPSILON) {
    235           helper = (*iter)->getPosition() - (MolCenter);
     235          helper = (*iter)->getPosition() - (*MolCenter);
    236236          const double oldhelperNorm = helper.NormSquared();
    237           helper = BoundaryTestPair.first->second.second->getPosition() - (MolCenter);
     237          helper = BoundaryTestPair.first->second.second->getPosition() - (*MolCenter);
    238238          if (helper.NormSquared() < oldhelperNorm) {
    239239            BoundaryTestPair.first->second.second = (*iter);
     
    289289        {
    290290          Vector SideA, SideB, SideC, SideH;
    291           SideA = left->second.second->getPosition() - (MolCenter);
     291          SideA = left->second.second->getPosition() - (*MolCenter);
    292292          SideA.ProjectOntoPlane(AxisVector);
    293293          //          LOG(1, "SideA: " << SideA);
    294294
    295           SideB = right->second.second->getPosition() -(MolCenter);
     295          SideB = right->second.second->getPosition() -(*MolCenter);
    296296          SideB.ProjectOntoPlane(AxisVector);
    297297          //          LOG(1, "SideB: " << SideB);
     
    301301          //          LOG(1, "SideC: " << SideC);
    302302
    303           SideH = runner->second.second->getPosition() -(MolCenter);
     303          SideH = runner->second.second->getPosition() -(*MolCenter);
    304304          SideH.ProjectOntoPlane(AxisVector);
    305305          //          LOG(1, "SideH: " << SideH);
     
    329329    } while (flag);
    330330  }
     331  delete(MolCenter);
    331332  return BoundaryPoints;
    332333};
     
    654655};
    655656
     657/** Creates multiples of the by \a *mol given cluster and suspends them in water with a given final density.
     658 * We get cluster volume by Tesselation::getVolumeOfConvexEnvelope() and its diameters by GetDiametersOfCluster()
     659 * TODO: Here, we need a VolumeOfGeneralEnvelope (i.e. non-convex one)
     660 * \param *out output stream for debugging
     661 * \param *configuration needed for path to store convex envelope file
     662 * \param *mol molecule structure representing the cluster
     663 * \param *&TesselStruct Tesselation structure with triangles on return
     664 * \param ClusterVolume guesstimated cluster volume, if equal 0 we used Tesselation::getVolumeOfConvexEnvelope() instead.
     665 * \param celldensity desired average density in final cell
     666 */
     667void PrepareClustersinWater(config *configuration, molecule *mol, double ClusterVolume, double celldensity)
     668{
     669        //Info FunctionInfo(__func__);
     670  bool IsAngstroem = true;
     671  double *GreatestDiameter = NULL;
     672  Boundaries *BoundaryPoints = NULL;
     673  class Tesselation *TesselStruct = NULL;
     674  Vector BoxLengths;
     675  int repetition[NDIM] = { 1, 1, 1 };
     676  int TotalNoClusters = 1;
     677  double totalmass = 0.;
     678  double clustervolume = 0.;
     679  double cellvolume = 0.;
     680
     681  // transform to PAS by Action
     682  Vector MainAxis(0.,0.,1.);
     683  mol->RotateToPrincipalAxisSystem(MainAxis);
     684
     685  IsAngstroem = configuration->GetIsAngstroem();
     686  BoundaryPoints = GetBoundaryPoints(mol, TesselStruct);
     687  GreatestDiameter = GetDiametersOfCluster(BoundaryPoints, mol, TesselStruct, IsAngstroem);
     688  PointCloudAdaptor< molecule > cloud(mol, mol->name);
     689  LinkedCell_deprecated *LCList = new LinkedCell_deprecated(cloud, 10.);
     690  FindConvexBorder(mol, BoundaryPoints, TesselStruct, (const LinkedCell_deprecated *&)LCList, NULL);
     691  delete (LCList);
     692  delete[] BoundaryPoints;
     693
     694
     695  // some preparations beforehand
     696  if (ClusterVolume == 0)
     697    clustervolume = TesselStruct->getVolumeOfConvexEnvelope(configuration->GetIsAngstroem());
     698  else
     699    clustervolume = ClusterVolume;
     700
     701  delete TesselStruct;
     702
     703  for (int i = 0; i < NDIM; i++)
     704    TotalNoClusters *= repetition[i];
     705
     706  // sum up the atomic masses
     707  for (molecule::const_iterator iter = mol->begin(); iter != mol->end(); ++iter) {
     708      totalmass += (*iter)->getType()->getMass();
     709  }
     710  LOG(0, "RESULT: The summed mass is " << setprecision(10) << totalmass << " atomicmassunit.");
     711  LOG(0, "RESULT: The average density is " << setprecision(10) << totalmass / clustervolume << " atomicmassunit/" << (IsAngstroem ? "angstrom" : "atomiclength") << "^3.");
     712
     713  // solve cubic polynomial
     714  LOG(1, "Solving equidistant suspension in water problem ...");
     715  if (IsAngstroem)
     716    cellvolume = (TotalNoClusters * totalmass / SOLVENTDENSITY_A - (totalmass / clustervolume)) / (celldensity - 1);
     717  else
     718    cellvolume = (TotalNoClusters * totalmass / SOLVENTDENSITY_a0 - (totalmass / clustervolume)) / (celldensity - 1);
     719  LOG(1, "Cellvolume needed for a density of " << celldensity << " g/cm^3 is " << cellvolume << " " << (IsAngstroem ? "angstrom" : "atomiclength") << "^3.");
     720
     721  double minimumvolume = TotalNoClusters * (GreatestDiameter[0] * GreatestDiameter[1] * GreatestDiameter[2]);
     722  LOG(1, "Minimum volume of the convex envelope contained in a rectangular box is " << minimumvolume << " atomicmassunit/" << (IsAngstroem ? "angstrom" : "atomiclength") << "^3.");
     723  if (minimumvolume > cellvolume) {
     724    ELOG(1, "the containing box already has a greater volume than the envisaged cell volume!");
     725    LOG(0, "Setting Box dimensions to minimum possible, the greatest diameters.");
     726    for (int i = 0; i < NDIM; i++)
     727      BoxLengths[i] = GreatestDiameter[i];
     728    mol->CenterEdge(&BoxLengths);
     729  } else {
     730    BoxLengths[0] = (repetition[0] * GreatestDiameter[0] + repetition[1] * GreatestDiameter[1] + repetition[2] * GreatestDiameter[2]);
     731    BoxLengths[1] = (repetition[0] * repetition[1] * GreatestDiameter[0] * GreatestDiameter[1] + repetition[0] * repetition[2] * GreatestDiameter[0] * GreatestDiameter[2] + repetition[1] * repetition[2] * GreatestDiameter[1] * GreatestDiameter[2]);
     732    BoxLengths[2] = minimumvolume - cellvolume;
     733    double x0 = 0.;
     734    double x1 = 0.;
     735    double x2 = 0.;
     736    if (gsl_poly_solve_cubic(BoxLengths[0], BoxLengths[1], BoxLengths[2], &x0, &x1, &x2) == 1) // either 1 or 3 on return
     737      LOG(0, "RESULT: The resulting spacing is: " << x0 << " .");
     738    else {
     739      LOG(0, "RESULT: The resulting spacings are: " << x0 << " and " << x1 << " and " << x2 << " .");
     740      x0 = x2; // sorted in ascending order
     741    }
     742
     743    cellvolume = 1.;
     744    for (int i = 0; i < NDIM; i++) {
     745      BoxLengths[i] = repetition[i] * (x0 + GreatestDiameter[i]);
     746      cellvolume *= BoxLengths[i];
     747    }
     748
     749    // set new box dimensions
     750    LOG(0, "Translating to box with these boundaries.");
     751    mol->SetBoxDimension(&BoxLengths);
     752    mol->CenterInBox();
     753  }
     754  delete[] GreatestDiameter;
     755  // update Box of atoms by boundary
     756  mol->SetBoxDimension(&BoxLengths);
     757  LOG(0, "RESULT: The resulting cell dimensions are: " << BoxLengths[0] << " and " << BoxLengths[1] << " and " << BoxLengths[2] << " with total volume of " << cellvolume << " " << (IsAngstroem ? "angstrom" : "atomiclength") << "^3.");
     758};
     759
     760
     761/** Fills the empty space around other molecules' surface of the simulation box with a filler.
     762 * \param *out output stream for debugging
     763 * \param *List list of molecules already present in box
     764 * \param *TesselStruct contains tesselated surface
     765 * \param *filler molecule which the box is to be filled with
     766 * \param configuration contains box dimensions
     767 * \param MaxDistance fills in molecules only up to this distance (set to -1 if whole of the domain)
     768 * \param distance[NDIM] distance between filling molecules in each direction
     769 * \param boundary length of boundary zone between molecule and filling mollecules
     770 * \param epsilon distance to surface which is not filled
     771 * \param RandAtomDisplacement maximum distance for random displacement per atom
     772 * \param RandMolDisplacement maximum distance for random displacement per filler molecule
     773 * \param DoRandomRotation true - do random rotiations, false - don't
     774 */
     775void FillBoxWithMolecule(MoleculeListClass *List, molecule *filler, config &configuration, const double MaxDistance, const double distance[NDIM], const double boundary, const double RandomAtomDisplacement, const double RandomMolDisplacement, const bool DoRandomRotation)
     776{
     777        //Info FunctionInfo(__func__);
     778  molecule *Filling = World::getInstance().createMolecule();
     779  Vector CurrentPosition;
     780  int N[NDIM];
     781  int n[NDIM];
     782  const RealSpaceMatrix &M = World::getInstance().getDomain().getM();
     783  RealSpaceMatrix Rotations;
     784  const RealSpaceMatrix &MInverse = World::getInstance().getDomain().getMinv();
     785  Vector AtomTranslations;
     786  Vector FillerTranslations;
     787  Vector FillerDistance;
     788  Vector Inserter;
     789  double FillIt = false;
     790  bond::ptr Binder;
     791  double phi[NDIM];
     792  map<molecule *, Tesselation *> TesselStruct;
     793  map<molecule *, LinkedCell_deprecated *> LCList;
     794
     795  for (MoleculeList::iterator ListRunner = List->ListOfMolecules.begin(); ListRunner != List->ListOfMolecules.end(); ListRunner++)
     796    if ((*ListRunner)->getAtomCount() > 0) {
     797      LOG(1, "Pre-creating linked cell lists for molecule " << *ListRunner << ".");
     798      PointCloudAdaptor< molecule > cloud(*ListRunner, (*ListRunner)->name);
     799      LCList[(*ListRunner)] = new LinkedCell_deprecated(cloud, 10.); // get linked cell list
     800      LOG(1, "Pre-creating tesselation for molecule " << *ListRunner << ".");
     801      TesselStruct[(*ListRunner)] = NULL;
     802      FindNonConvexBorder((*ListRunner), TesselStruct[(*ListRunner)], (const LinkedCell_deprecated *&)LCList[(*ListRunner)], 5., NULL);
     803    }
     804
     805  // Center filler at origin
     806  filler->CenterEdge(&Inserter);
     807  const int FillerCount = filler->getAtomCount();
     808  LOG(2, "INFO: Filler molecule has the following bonds:");
     809  for(molecule::iterator AtomRunner = filler->begin(); AtomRunner != filler->end(); ++AtomRunner) {
     810    const BondList& ListOfBonds = (*AtomRunner)->getListOfBonds();
     811    for(BondList::const_iterator BondRunner = ListOfBonds.begin();
     812        BondRunner != ListOfBonds.end();
     813        ++BondRunner) {
     814      if ((*BondRunner)->leftatom == *AtomRunner)
     815        LOG(2, "  " << *(*BondRunner));
     816    }
     817  }
     818
     819  atom * CopyAtoms[FillerCount];
     820
     821  // calculate filler grid in [0,1]^3
     822  FillerDistance = MInverse * Vector(distance[0], distance[1], distance[2]);
     823  for(int i=0;i<NDIM;i++)
     824    N[i] = (int) ceil(1./FillerDistance[i]);
     825  LOG(1, "INFO: Grid steps are " << N[0] << ", " << N[1] << ", " << N[2] << ".");
     826
     827  // initialize seed of random number generator to current time
     828  RandomNumberGenerator &random = RandomNumberGeneratorFactory::getInstance().makeRandomNumberGenerator();
     829  const double rng_min = random.min();
     830  const double rng_max = random.max();
     831  //srand ( time(NULL) );
     832
     833  // go over [0,1]^3 filler grid
     834  for (n[0] = 0; n[0] < N[0]; n[0]++)
     835    for (n[1] = 0; n[1] < N[1]; n[1]++)
     836      for (n[2] = 0; n[2] < N[2]; n[2]++) {
     837        // calculate position of current grid vector in untransformed box
     838        CurrentPosition = M * Vector((double)n[0]/(double)N[0], (double)n[1]/(double)N[1], (double)n[2]/(double)N[2]);
     839        // create molecule random translation vector ...
     840        for (int i=0;i<NDIM;i++)
     841          FillerTranslations[i] = RandomMolDisplacement*(random()/((rng_max-rng_min)/2.) - 1.);
     842        LOG(2, "INFO: Current Position is " << CurrentPosition << "+" << FillerTranslations << ".");
     843
     844        // go through all atoms
     845        for (int i=0;i<FillerCount;i++)
     846          CopyAtoms[i] = NULL;
     847
     848        // have same rotation angles for all molecule's atoms
     849        if (DoRandomRotation)
     850          for (int i=0;i<NDIM;i++)
     851            phi[i] = (random()/(rng_max-rng_min))*(2.*M_PI);
     852
     853        // atom::clone is not const member function, hence we need iterator here
     854        for(molecule::iterator iter = filler->begin(); iter !=filler->end();++iter){
     855
     856          // create atomic random translation vector ...
     857          for (int i=0;i<NDIM;i++)
     858            AtomTranslations[i] = RandomAtomDisplacement*(random()/((rng_max-rng_min)/2.) - 1.);
     859
     860          // ... and rotation matrix
     861          if (DoRandomRotation) {
     862            Rotations.set(0,0,  cos(phi[0])            *cos(phi[2]) + (sin(phi[0])*sin(phi[1])*sin(phi[2])));
     863            Rotations.set(0,1,  sin(phi[0])            *cos(phi[2]) - (cos(phi[0])*sin(phi[1])*sin(phi[2])));
     864            Rotations.set(0,2,              cos(phi[1])*sin(phi[2])                                        );
     865            Rotations.set(1,0, -sin(phi[0])*cos(phi[1])                                                    );
     866            Rotations.set(1,1,  cos(phi[0])*cos(phi[1])                                                    );
     867            Rotations.set(1,2,              sin(phi[1])                                                    );
     868            Rotations.set(2,0, -cos(phi[0])            *sin(phi[2]) + (sin(phi[0])*sin(phi[1])*cos(phi[2])));
     869            Rotations.set(2,1, -sin(phi[0])            *sin(phi[2]) - (cos(phi[0])*sin(phi[1])*cos(phi[2])));
     870            Rotations.set(2,2,              cos(phi[1])*cos(phi[2])                                        );
     871          }
     872
     873          // ... and put at new position
     874          Inserter = (*iter)->getPosition();
     875          if (DoRandomRotation)
     876            Inserter *= Rotations;
     877          Inserter += AtomTranslations + FillerTranslations + CurrentPosition;
     878
     879          // check whether inserter is inside box
     880          Inserter *= MInverse;
     881          FillIt = true;
     882          for (int i=0;i<NDIM;i++)
     883            FillIt = FillIt && (Inserter[i] >= -MYEPSILON) && ((Inserter[i]-1.) <= MYEPSILON);
     884          Inserter *= M;
     885
     886          // Check whether point is in- or outside
     887          for (MoleculeList::iterator ListRunner = List->ListOfMolecules.begin(); ListRunner != List->ListOfMolecules.end(); ListRunner++) {
     888            // get linked cell list
     889            if (TesselStruct[(*ListRunner)] != NULL) {
     890              const double distance = (TesselStruct[(*ListRunner)]->GetDistanceToSurface(Inserter, LCList[(*ListRunner)]));
     891              FillIt = FillIt && (distance > boundary) && ((MaxDistance < 0) || (MaxDistance > distance));
     892            }
     893          }
     894          // insert into Filling
     895          if (FillIt) {
     896            LOG(1, "INFO: Position at " << Inserter << " is outer point.");
     897            // copy atom ...
     898            CopyAtoms[(*iter)->getNr()] = (*iter)->clone();
     899            (*CopyAtoms[(*iter)->getNr()]).setPosition(Inserter);
     900            Filling->AddAtom(CopyAtoms[(*iter)->getNr()]);
     901            LOG(1, "Filling atom " << **iter << ", translated to " << AtomTranslations << ", at final position is " << (CopyAtoms[(*iter)->getNr()]->getPosition()) << ".");
     902          } else {
     903            LOG(1, "INFO: Position at " << Inserter << " is inner point, within boundary or outside of MaxDistance.");
     904            CopyAtoms[(*iter)->getNr()] = NULL;
     905            continue;
     906          }
     907        }
     908        // go through all bonds and add as well
     909        for(molecule::iterator AtomRunner = filler->begin(); AtomRunner != filler->end(); ++AtomRunner) {
     910          const BondList& ListOfBonds = (*AtomRunner)->getListOfBonds();
     911          for(BondList::const_iterator BondRunner = ListOfBonds.begin();
     912              BondRunner != ListOfBonds.end();
     913              ++BondRunner)
     914            if ((*BondRunner)->leftatom == *AtomRunner) {
     915              Binder = (*BondRunner);
     916              if ((CopyAtoms[Binder->leftatom->getNr()] != NULL) && (CopyAtoms[Binder->rightatom->getNr()] != NULL)) {
     917                LOG(3, "Adding Bond between " << *CopyAtoms[Binder->leftatom->getNr()] << " and " << *CopyAtoms[Binder->rightatom->getNr()]<< ".");
     918                Filling->AddBond(CopyAtoms[Binder->leftatom->getNr()], CopyAtoms[Binder->rightatom->getNr()], Binder->getDegree());
     919              }
     920            }
     921        }
     922      }
     923  for (MoleculeList::iterator ListRunner = List->ListOfMolecules.begin(); ListRunner != List->ListOfMolecules.end(); ListRunner++) {
     924    delete LCList[*ListRunner];
     925    delete TesselStruct[(*ListRunner)];
     926  }
     927};
     928
     929/** Rotates given molecule \a Filling and moves its atoms according to given
     930 *  \a RandomAtomDisplacement.
     931 *
     932 *  Note that for rotation to be sensible, the molecule should be centered at
     933 *  the origin. This is not done here!
     934 *
     935 *  \param &Filling molecule whose atoms to displace
     936 *  \param RandomAtomDisplacement magnitude of random displacement
     937 *  \param &Rotations 3D rotation matrix (or unity if no rotation desired)
     938 */
     939void RandomizeMoleculePositions(
     940    molecule *&Filling,
     941    double RandomAtomDisplacement,
     942    RealSpaceMatrix &Rotations,
     943    RandomNumberGenerator &random
     944    )
     945{
     946  const double rng_min = random.min();
     947  const double rng_max = random.max();
     948
     949  Vector AtomTranslations;
     950  for(molecule::iterator miter = Filling->begin(); miter != Filling->end(); ++miter) {
     951    Vector temp = (*miter)->getPosition();
     952    temp *= Rotations;
     953    (*miter)->setPosition(temp);
     954    // create atomic random translation vector ...
     955    for (int i=0;i<NDIM;i++)
     956      AtomTranslations[i] = RandomAtomDisplacement*(random()/((rng_max-rng_min)/2.) - 1.);
     957    (*miter)->setPosition((*miter)->getPosition() + AtomTranslations);
     958  }
     959}
     960
     961/** Removes all atoms of a molecule outside.
     962 *
     963 * If the molecule is empty, it is removed as well.
     964 *
     965 * @param Filling molecule whose atoms to check, removed if eventually left
     966 *        empty.
     967 * @return true - atoms had to be removed, false - no atoms have been removed
     968 */
     969bool RemoveAtomsOutsideDomain(molecule *&Filling)
     970{
     971  bool status = false;
     972  Box &Domain = World::getInstance().getDomain();
     973  // check if all is still inside domain
     974  for(molecule::iterator miter = Filling->begin(); miter != Filling->end(); ) {
     975    // check whether each atom is inside box
     976    if (!Domain.isInside((*miter)->getPosition())) {
     977      status = true;
     978      atom *Walker = *miter;
     979      ++miter;
     980      World::getInstance().destroyAtom(Walker);
     981    } else {
     982      ++miter;
     983    }
     984  }
     985  if (Filling->empty()) {
     986    LOG(0, "Removing molecule " << Filling->getName() << ", all atoms have been removed.");
     987    World::getInstance().destroyMolecule(Filling);
     988    Filling = NULL;
     989  }
     990  return status;
     991}
     992
     993/** Checks whether there are no atoms inside a sphere around \a CurrentPosition
     994 *  except those atoms present in \a *filler.
     995 *  If filler is NULL, then we just call LinkedCell_deprecated::GetPointsInsideSphere() and
     996 *  check whether the return list is empty.
     997 * @param *filler
     998 * @param boundary
     999 * @param CurrentPosition
     1000 */
     1001bool isSpaceAroundPointVoid(
     1002    LinkedCell_deprecated *LC,
     1003    molecule *filler,
     1004    const double boundary,
     1005    Vector &CurrentPosition)
     1006{
     1007  size_t compareTo = 0;
     1008  TesselPointSTLList* liste = LC->GetPointsInsideSphere(boundary == 0. ? MYEPSILON : boundary, &CurrentPosition);
     1009  if (filler != NULL) {
     1010    for (TesselPointSTLList::const_iterator iter = liste->begin();
     1011        iter != liste->end();
     1012        ++iter) {
     1013      for (molecule::iterator miter = filler->begin();
     1014          miter != filler->end();
     1015          ++miter) {
     1016        if (*iter == *miter)
     1017          ++compareTo;
     1018      }
     1019    }
     1020  }
     1021  const bool result = (liste->size() == compareTo);
     1022  if (!result) {
     1023    LOG(0, "Skipping because of the following atoms:");
     1024    for (TesselPointSTLList::const_iterator iter = liste->begin();
     1025        iter != liste->end();
     1026        ++iter) {
     1027      LOG(0, **iter);
     1028    }
     1029  }
     1030  delete(liste);
     1031  return result;
     1032}
     1033
     1034/** Sets given 3x3 matrix to a random rotation matrix.
     1035 *
     1036 * @param a matrix to set
     1037 */
     1038inline void setRandomRotation(RealSpaceMatrix &a)
     1039{
     1040  double phi[NDIM];
     1041  RandomNumberGenerator &random = RandomNumberGeneratorFactory::getInstance().makeRandomNumberGenerator();
     1042  const double rng_min = random.min();
     1043  const double rng_max = random.max();
     1044
     1045  for (int i=0;i<NDIM;i++) {
     1046    phi[i] = (random()/(rng_max-rng_min))*(2.*M_PI);
     1047    LOG(4, "DEBUG: Random angle is " << phi[i] << ".");
     1048  }
     1049
     1050  a.setRotation(phi);
     1051}
     1052
     1053/** Fills the empty space of the simulation box with water.
     1054 * \param *filler molecule which the box is to be filled with
     1055 * \param configuration contains box dimensions
     1056 * \param distance[NDIM] distance between filling molecules in each direction
     1057 * \param boundary length of boundary zone between molecule and filling molecules
     1058 * \param RandAtomDisplacement maximum distance for random displacement per atom
     1059 * \param RandMolDisplacement maximum distance for random displacement per filler molecule
     1060 * \param MinDistance minimum distance to boundary of domain and present molecules
     1061 * \param DoRandomRotation true - do random rotations, false - don't
     1062 */
     1063void FillVoidWithMolecule(
     1064    molecule *&filler,
     1065    config &configuration,
     1066    const double distance[NDIM],
     1067    const double boundary,
     1068    const double RandomAtomDisplacement,
     1069    const double RandomMolDisplacement,
     1070    const double MinDistance,
     1071    const bool DoRandomRotation
     1072    )
     1073{
     1074  //Info FunctionInfo(__func__);
     1075  molecule *Filling = NULL;
     1076  Vector CurrentPosition;
     1077  int N[NDIM];
     1078  int n[NDIM];
     1079  const RealSpaceMatrix &M = World::getInstance().getDomain().getM();
     1080  RealSpaceMatrix Rotations;
     1081  const RealSpaceMatrix &MInverse = World::getInstance().getDomain().getMinv();
     1082  Vector FillerTranslations;
     1083  Vector FillerDistance;
     1084  Vector Inserter;
     1085  double FillIt = false;
     1086  Vector firstInserter;
     1087  bool firstInsertion = true;
     1088  const Box &Domain = World::getInstance().getDomain();
     1089  map<molecule *, LinkedCell_deprecated *> LCList;
     1090  std::vector<molecule *> List = World::getInstance().getAllMolecules();
     1091  MoleculeListClass *MolList = World::getInstance().getMolecules();
     1092
     1093  for (std::vector<molecule *>::iterator ListRunner = List.begin(); ListRunner != List.end(); ListRunner++)
     1094    if ((*ListRunner)->getAtomCount() > 0) {
     1095      LOG(1, "Pre-creating linked cell lists for molecule " << *ListRunner << ".");
     1096      PointCloudAdaptor< molecule > cloud(*ListRunner, (*ListRunner)->name);
     1097      LCList[(*ListRunner)] = new LinkedCell_deprecated(cloud, 10.); // get linked cell list
     1098    }
     1099
     1100  // Center filler at its center of gravity
     1101  Vector *gravity = filler->DetermineCenterOfGravity();
     1102  filler->CenterAtVector(gravity);
     1103  delete gravity;
     1104  //const int FillerCount = filler->getAtomCount();
     1105  LOG(2, "INFO: Filler molecule has the following bonds:");
     1106  for(molecule::iterator AtomRunner = filler->begin(); AtomRunner != filler->end(); ++AtomRunner) {
     1107    const BondList& ListOfBonds = (*AtomRunner)->getListOfBonds();
     1108    for(BondList::const_iterator BondRunner = ListOfBonds.begin();
     1109        BondRunner != ListOfBonds.end();
     1110        ++BondRunner)
     1111      if ((*BondRunner)->leftatom == *AtomRunner)
     1112        LOG(2, "  " << *(*BondRunner));
     1113  }
     1114
     1115  // calculate filler grid in [0,1]^3
     1116  FillerDistance = MInverse * Vector(distance[0], distance[1], distance[2]);
     1117  for(int i=0;i<NDIM;i++)
     1118    N[i] = (int) ceil(1./FillerDistance[i]);
     1119  LOG(1, "INFO: Grid steps are " << N[0] << ", " << N[1] << ", " << N[2] << ".");
     1120
     1121  // initialize seed of random number generator to current time
     1122  RandomNumberGenerator &random = RandomNumberGeneratorFactory::getInstance().makeRandomNumberGenerator();
     1123  const double rng_min = random.min();
     1124  const double rng_max = random.max();
     1125  //srand ( time(NULL) );
     1126
     1127  // go over [0,1]^3 filler grid
     1128  for (n[0] = 0; n[0] < N[0]; n[0]++)
     1129    for (n[1] = 0; n[1] < N[1]; n[1]++)
     1130      for (n[2] = 0; n[2] < N[2]; n[2]++) {
     1131        // calculate position of current grid vector in untransformed box
     1132        CurrentPosition = M * Vector((double)n[0]/(double)N[0], (double)n[1]/(double)N[1], (double)n[2]/(double)N[2]);
     1133        // create molecule random translation vector ...
     1134        for (int i=0;i<NDIM;i++) // have the random values [-1,1]*RandomMolDisplacement
     1135          FillerTranslations[i] = RandomMolDisplacement*(random()/((rng_max-rng_min)/2.) - 1.);
     1136        LOG(2, "INFO: Current Position is " << CurrentPosition << "+" << FillerTranslations << ".");
     1137
     1138        // ... and rotation matrix
     1139        if (DoRandomRotation)
     1140          setRandomRotation(Rotations);
     1141        else
     1142          Rotations.setIdentity();
     1143
     1144
     1145        // Check whether there is anything too close by and whether atom is outside of domain
     1146        FillIt = true;
     1147        for (std::map<molecule *, LinkedCell_deprecated *>::iterator ListRunner = LCList.begin(); ListRunner != LCList.end(); ++ListRunner) {
     1148          FillIt = FillIt && isSpaceAroundPointVoid(
     1149              ListRunner->second,
     1150              (firstInsertion ? filler : NULL),
     1151              boundary,
     1152              CurrentPosition);
     1153          FillIt = FillIt && (Domain.isValid(CurrentPosition))
     1154              && ((Domain.DistanceToBoundary(CurrentPosition) - MinDistance) > -MYEPSILON);
     1155          if (!FillIt)
     1156            break;
     1157        }
     1158
     1159        // insert into Filling
     1160        if (FillIt) {
     1161          Inserter = CurrentPosition + FillerTranslations;
     1162          LOG(1, "INFO: Position at " << Inserter << " is void point.");
     1163          // fill!
     1164          Filling = filler->CopyMolecule();
     1165          RandomizeMoleculePositions(Filling, RandomAtomDisplacement, Rotations, random);
     1166          // translation
     1167          Filling->Translate(&Inserter);
     1168          // remove out-of-bounds atoms
     1169          const bool status = RemoveAtomsOutsideDomain(Filling);
     1170          if ((firstInsertion) && (!status)) { // no atom has been removed
     1171            // remove copied atoms and molecule again
     1172            Filling->removeAtomsinMolecule();
     1173            World::getInstance().destroyMolecule(Filling);
     1174            // and mark is final filler position
     1175            Filling = filler;
     1176            firstInsertion = false;
     1177            firstInserter = Inserter;
     1178          } else {
     1179            // TODO: Remove when World has no MoleculeListClass anymore
     1180            if (Filling)
     1181              MolList->insert(Filling);
     1182          }
     1183        } else {
     1184         LOG(1, "INFO: Position at " << Inserter << " is non-void point, within boundary or outside of MaxDistance.");
     1185          continue;
     1186        }
     1187      }
     1188
     1189  // have we inserted any molecules?
     1190  if (firstInsertion) {
     1191    // If not remove filler
     1192    for(molecule::iterator miter = filler->begin(); !filler->empty(); miter = filler->begin()) {
     1193      atom *Walker = *miter;
     1194      World::getInstance().destroyAtom(Walker);
     1195    }
     1196    World::getInstance().destroyMolecule(filler);
     1197  } else {
     1198    // otherwise translate and randomize to final position
     1199    if (DoRandomRotation)
     1200      setRandomRotation(Rotations);
     1201    else
     1202      Rotations.setIdentity();
     1203    RandomizeMoleculePositions(filler, RandomAtomDisplacement, Rotations, random);
     1204    // translation
     1205    filler->Translate(&firstInserter);
     1206    // remove out-of-bounds atoms
     1207    RemoveAtomsOutsideDomain(filler);
     1208  }
     1209
     1210  LOG(0, MolList->ListOfMolecules.size() << " molecules have been inserted.");
     1211
     1212  for (std::map<molecule *, LinkedCell_deprecated *>::iterator ListRunner = LCList.begin(); !LCList.empty(); ListRunner = LCList.begin()) {
     1213    delete ListRunner->second;
     1214    LCList.erase(ListRunner);
     1215  }
     1216};
     1217
     1218
     1219/** Fills the empty space around other molecules' surface of the simulation box with a filler.
     1220 *
     1221 * Note that we use \a FindNonConvexBorder to determine the surface of the found molecules.
     1222 * There, we use a radius of twice the given \a boundary.
     1223 *
     1224 * \param *out output stream for debugging
     1225 * \param *List list of molecules already present in box
     1226 * \param *TesselStruct contains tesselated surface
     1227 * \param *filler molecule which the box is to be filled with
     1228 * \param configuration contains box dimensions
     1229 * \param MaxSurfaceDistance fills in molecules only up to this distance (set to -1 if whole of the domain)
     1230 * \param distance[NDIM] distance between filling molecules in each direction
     1231 * \param boundary length of boundary zone between molecule and filling molecules
     1232 * \param MinDistance distance to boundary of domain which is not filled
     1233 * \param RandAtomDisplacement maximum distance for random displacement per atom
     1234 * \param RandMolDisplacement maximum distance for random displacement per filler molecule
     1235 * \param DoRandomRotation true - do random rotations, false - don't
     1236 */
     1237void FillBoxWithMolecule(
     1238    MoleculeListClass *MolList,
     1239    molecule *filler,
     1240    config &configuration,
     1241    const double MaxSurfaceDistance,
     1242    const double distance[NDIM],
     1243    const double boundary,
     1244    const double MinDistance,
     1245    const double RandomAtomDisplacement,
     1246    const double RandomMolDisplacement,
     1247    const bool DoRandomRotation)
     1248{
     1249  //Info FunctionInfo(__func__);
     1250  molecule *Filling = NULL;
     1251  Vector CurrentPosition;
     1252  int N[NDIM];
     1253  int n[NDIM];
     1254  const RealSpaceMatrix &M = World::getInstance().getDomain().getM();
     1255  RealSpaceMatrix Rotations;
     1256  const RealSpaceMatrix &MInverse = World::getInstance().getDomain().getMinv();
     1257  Vector FillerTranslations;
     1258  Vector FillerDistance;
     1259  Vector Inserter;
     1260  double FillIt = false;
     1261  Vector firstInserter;
     1262  bool firstInsertion = true;
     1263  const Box &Domain = World::getInstance().getDomain();
     1264  map<molecule *, LinkedCell_deprecated *> LCList;
     1265  std::vector<molecule *> List = World::getInstance().getAllMolecules();
     1266  map<molecule *, Tesselation *> TesselStruct;
     1267
     1268  for (MoleculeList::iterator ListRunner = MolList->ListOfMolecules.begin(); ListRunner != MolList->ListOfMolecules.end(); ListRunner++)
     1269    if ((*ListRunner)->getAtomCount() > 0) {
     1270      LOG(1, "Pre-creating linked cell lists for molecule " << *ListRunner << ".");
     1271      PointCloudAdaptor< molecule > cloud(*ListRunner, (*ListRunner)->name);
     1272      LCList[(*ListRunner)] = new LinkedCell_deprecated(cloud, 4.*boundary); // get linked cell list
     1273      LOG(1, "Pre-creating tesselation for molecule " << *ListRunner << ".");
     1274      TesselStruct[(*ListRunner)] = NULL;
     1275      FindNonConvexBorder((*ListRunner), TesselStruct[(*ListRunner)], (const LinkedCell_deprecated *&)LCList[(*ListRunner)], 2.*boundary, NULL);
     1276    }
     1277
     1278  // Center filler at origin
     1279  filler->CenterEdge(&Inserter);
     1280//  const int FillerCount = filler->getAtomCount();
     1281  LOG(2, "INFO: Filler molecule has the following bonds:");
     1282  for(molecule::iterator AtomRunner = filler->begin(); AtomRunner != filler->end(); ++AtomRunner) {
     1283    const BondList& ListOfBonds = (*AtomRunner)->getListOfBonds();
     1284    for(BondList::const_iterator BondRunner = ListOfBonds.begin();
     1285        BondRunner != ListOfBonds.end();
     1286        ++BondRunner) {
     1287      if ((*BondRunner)->leftatom == *AtomRunner)
     1288        LOG(2, "  " << *(*BondRunner));
     1289    }
     1290  }
     1291
     1292//  atom * CopyAtoms[FillerCount];
     1293
     1294  setVerbosity(4);
     1295
     1296  // calculate filler grid in [0,1]^3
     1297  FillerDistance = MInverse * Vector(distance[0], distance[1], distance[2]);
     1298  for(int i=0;i<NDIM;i++)
     1299    N[i] = (int) ceil(1./FillerDistance[i]);
     1300  LOG(1, "INFO: Grid steps are " << N[0] << ", " << N[1] << ", " << N[2] << ".");
     1301
     1302  // initialize seed of random number generator to current time
     1303  RandomNumberGenerator &random = RandomNumberGeneratorFactory::getInstance().makeRandomNumberGenerator();
     1304  const double rng_min = random.min();
     1305  const double rng_max = random.max();
     1306  //srand ( time(NULL) );
     1307
     1308  // go over [0,1]^3 filler grid
     1309  for (n[0] = 0; n[0] < N[0]; n[0]++)
     1310    for (n[1] = 0; n[1] < N[1]; n[1]++)
     1311      for (n[2] = 0; n[2] < N[2]; n[2]++) {
     1312        // calculate position of current grid vector in untransformed box
     1313        CurrentPosition = M * Vector((double)n[0]/(double)N[0], (double)n[1]/(double)N[1], (double)n[2]/(double)N[2]);
     1314        // create molecule random translation vector ...
     1315        for (int i=0;i<NDIM;i++)
     1316          FillerTranslations[i] = RandomMolDisplacement*(random()/((rng_max-rng_min)/2.) - 1.);
     1317        LOG(1, "INFO: Current Position is " << CurrentPosition << "+" << FillerTranslations << ".");
     1318
     1319        // ... and rotation matrix
     1320        if (DoRandomRotation)
     1321          setRandomRotation(Rotations);
     1322        else
     1323          Rotations.setIdentity();
     1324
     1325
     1326        // Check whether there is anything too close by and whether atom is outside of domain
     1327        FillIt = true;
     1328        for (std::map<molecule *, LinkedCell_deprecated *>::iterator ListRunner = LCList.begin(); ListRunner != LCList.end(); ++ListRunner) {
     1329          // check whether its void
     1330          FillIt = FillIt && isSpaceAroundPointVoid(
     1331              ListRunner->second,
     1332              (firstInsertion ? filler : NULL),
     1333              boundary,
     1334              CurrentPosition);
     1335          if (!FillIt) {
     1336            LOG(2, "REJECT: Position at " << Inserter << " is non-void.");
     1337            break;
     1338          }
     1339          // check whether inside domain
     1340          FillIt = FillIt && (Domain.isValid(CurrentPosition));
     1341          if (!FillIt) {
     1342            LOG(2, "REJECT: Position at " << CurrentPosition << " is "
     1343                << distance << ", hence outside of domain.");
     1344            break;
     1345          }
     1346          // check minimum distance to boundary
     1347          const double distance = (Domain.DistanceToBoundary(CurrentPosition) - MinDistance);
     1348          FillIt = FillIt && (distance > -MYEPSILON);
     1349          if (!FillIt) {
     1350            LOG(2, "REJECT: Position at " << CurrentPosition << " is " << distance << ", less than "
     1351                << MinDistance << " hence, too close to boundary.");
     1352            break;
     1353          }
     1354        }
     1355        // Check whether point is in- or outside of tesselations
     1356        if (FillIt) {
     1357          for (MoleculeList::iterator ListRunner = MolList->ListOfMolecules.begin(); ListRunner != MolList->ListOfMolecules.end(); ListRunner++) {
     1358            // get linked cell list
     1359            if (TesselStruct[(*ListRunner)] != NULL) {
     1360              const double distance = (TesselStruct[(*ListRunner)]->GetDistanceToSurface(Inserter, LCList[(*ListRunner)]));
     1361              LOG(2, "INFO: Distance to surface is " << distance << ".");
     1362              FillIt = FillIt && ((distance == -1.) || (distance > boundary)) && ((MaxSurfaceDistance < 0) || (MaxSurfaceDistance > distance));
     1363              if (!FillIt) {
     1364                LOG(2, "REJECT: Position at " << CurrentPosition << " is in distance of " << distance
     1365                    << " to a surface, less than " << MaxSurfaceDistance  << " hence, too close.");
     1366                break;
     1367              }
     1368            }
     1369          }
     1370        }
     1371
     1372        // insert into Filling
     1373        if (FillIt) {
     1374          Inserter = CurrentPosition + FillerTranslations;
     1375          LOG(2, "ACCEPT: Position at " << CurrentPosition << " is void point.");
     1376          // fill!
     1377          Filling = filler->CopyMolecule();
     1378          RandomizeMoleculePositions(Filling, RandomAtomDisplacement, Rotations, random);
     1379          // translation
     1380          Filling->Translate(&Inserter);
     1381          // remove out-of-bounds atoms
     1382          const bool status = RemoveAtomsOutsideDomain(Filling);
     1383          if ((firstInsertion) && (!status)) { // no atom has been removed
     1384            // remove copied atoms and molecule again
     1385            Filling->removeAtomsinMolecule();
     1386            World::getInstance().destroyMolecule(Filling);
     1387            // and mark is final filler position
     1388            Filling = filler;
     1389            firstInsertion = false;
     1390            firstInserter = Inserter;
     1391          } else {
     1392            // TODO: Remove when World has no MoleculeListClass anymore
     1393            if (Filling)
     1394              MolList->insert(Filling);
     1395          }
     1396        } else {
     1397          LOG(2, "REJECT: Position at " << CurrentPosition << " is non-void point, within boundary or outside of MaxSurfaceDistance.");
     1398          continue;
     1399        }
     1400      }
     1401
     1402  // have we inserted any molecules?
     1403  if (firstInsertion) {
     1404    // If not remove filler
     1405    for(molecule::iterator miter = filler->begin(); !filler->empty(); miter = filler->begin()) {
     1406      atom *Walker = *miter;
     1407      World::getInstance().destroyAtom(Walker);
     1408    }
     1409    World::getInstance().destroyMolecule(filler);
     1410  } else {
     1411    // otherwise translate and randomize to final position
     1412    if (DoRandomRotation)
     1413      setRandomRotation(Rotations);
     1414    else
     1415      Rotations.setIdentity();
     1416    RandomizeMoleculePositions(filler, RandomAtomDisplacement, Rotations, random);
     1417    // translation
     1418    filler->Translate(&firstInserter);
     1419    // remove out-of-bounds atoms
     1420    RemoveAtomsOutsideDomain(filler);
     1421  }
     1422
     1423  LOG(0, MolList->ListOfMolecules.size() << " molecules have been inserted.");
     1424
     1425  for (std::map<molecule *, LinkedCell_deprecated *>::iterator ListRunner = LCList.begin(); !LCList.empty(); ListRunner = LCList.begin()) {
     1426    delete ListRunner->second;
     1427    LCList.erase(ListRunner);
     1428  }
     1429};
     1430
    6561431/** Tesselates the non convex boundary by rolling a virtual sphere along the surface of the molecule.
    6571432 * \param *out output stream for debugging
  • src/Tesselation/boundary.hpp

    r7f1b51 r8859b5  
    4040
    4141double ConvexizeNonconvexEnvelope(class Tesselation *&TesselStruct, const molecule * const mol, const char * const filename);
     42void FillBoxWithMolecule(MoleculeListClass *List, molecule *filler, config &configuration, const double MaxDistance, const double distance[NDIM], const double boundary, const double RandomAtomDisplacement, const double RandomMolDisplacement, const bool DoRandomRotation);
     43void FillVoidWithMolecule(molecule *&filler, config &configuration, const double distance[NDIM], const double boundary, const double RandomAtomDisplacement, const double RandomMolDisplacement, const double MinDistance, const bool DoRandomRotation);
    4244void FindConvexBorder(const molecule* const mol, Boundaries *BoundaryPts, Tesselation *&TesselStruct, const LinkedCell_deprecated *LCList, const char *filename);
    4345Vector* FindEmbeddingHole(MoleculeListClass *mols, molecule *srcmol);
     
    4547Boundaries *GetBoundaryPoints(const molecule *mol, Tesselation *&TesselStruct);
    4648double * GetDiametersOfCluster(const Boundaries *BoundaryPtr, const molecule *mol, Tesselation *&TesselStruct, const bool IsAngstroem);
     49void PrepareClustersinWater(config *configuration, molecule *mol, double ClusterVolume, double celldensity);
    4750bool RemoveAllBoundaryPoints(class Tesselation *&TesselStruct, const molecule * const mol, const char * const filename);
    4851void StoreTrianglesinFile(const molecule * const mol, const Tesselation * const TesselStruct, const char *filename, const char *extraSuffix);
  • src/Tesselation/tesselation.cpp

    r7f1b51 r8859b5  
    161161    }
    162162  }
    163 
    164   delete LinkedList;
    165163}
    166164
     
    10141012      LOG(3, "DEBUG:   " << *(*Runner) << " with distance " << (*Runner)->distance(CandidateLine.OtherOptCenter) << ".");
    10151013  }
    1016   delete ListofPoints;
     1014  delete (ListofPoints);
    10171015
    10181016  return flag;
  • src/UIElements/CommandLineUI/CommandLineParser.cpp

    r7f1b51 r8859b5  
    5252#include "CommandLineParser.hpp"
    5353#include "CommandLineParser_validate.hpp"
    54 #include "World.hpp"
    5554
    5655#include "CodePatterns/Singleton_impl.hpp"
     
    431430void CommandLineParser::Parse()
    432431{
    433   try {
    434     po::store(po::command_line_parser(argc,argv).options(cmdline_options).run(), vm);
    435   } catch (std::exception &e) {
    436     std::cerr << "Something went wrong with parsing the command-line arguments." << std::endl;
    437     World::getInstance().setExitFlag(134);
    438 #ifdef HAVE_ACTION_THREAD
    439     // force action queue to stop thread
    440     ActionQueue::getInstance().stop();
    441 #endif
    442     ActionQueue::getInstance().clearQueue();
    443   }
     432  po::store(po::command_line_parser(argc,argv).options(cmdline_options).run(), vm);
    444433  std::ifstream input;
    445434  input.open("example.cfg");
  • src/UIElements/Views/Qt4/Qt3D/GLWorldView.cpp

    r7f1b51 r8859b5  
    754754  emit hoverChanged(_atom);
    755755}
     756
     757
     758//#include <GL/glu.h>
     759//#include <QtGui/qslider.h>
     760//#include <QtGui/qevent.h>
     761//
     762//#include "ui_dialoglight.h"
     763//
     764//#include "CodePatterns/MemDebug.hpp"
     765//
     766//#include <iostream>
     767//#include <boost/shared_ptr.hpp>
     768//
     769//#include "LinearAlgebra/Line.hpp"
     770//#include "Atom/atom.hpp"
     771//#include "Bond/bond.hpp"
     772//#include "Element/element.hpp"
     773//#include "molecule.hpp"
     774//#include "Element/periodentafel.hpp"
     775//#include "World.hpp"
     776//
     777//#if defined(Q_CC_MSVC)
     778//#pragma warning(disable:4305) // init: truncation from const double to float
     779//#endif
     780//
     781//
     782//GLMoleculeView::GLMoleculeView(QWidget *parent) :
     783//  QGLWidget(parent), Observer("GLMoleculeView"), X(Vector(1,0,0)), Y(Vector(0,1,0)), Z(Vector(0,0,1))
     784//{
     785//    xRot = yRot = zRot = 0.0;    // default object rotation
     786//    scale = 5.;      // default object scale
     787//    object = 0;
     788//    LightPosition[0] = 0.0f;
     789//    LightPosition[1] = 2.0f;
     790//    LightPosition[2] = 2.0f;
     791//    LightPosition[3] = 0.0f;
     792//    LightDiffuse[0] = 0.5f;
     793//    LightDiffuse[1] = 0.5f;
     794//    LightDiffuse[2] = 0.5f;
     795//    LightDiffuse[3] = 0.0f;
     796//    LightAmbient[0] = 0.0f;
     797//    LightAmbient[1] = 0.0f;
     798//    LightAmbient[2] = 0.0f;
     799//    LightAmbient[3] = 0.0f;
     800//
     801//    SelectionColor[0] = 0;
     802//    SelectionColor[1] = 128;
     803//    SelectionColor[2] = 128;
     804//
     805//    MultiViewEnabled = true;
     806//
     807//    isSignaller = false;
     808//
     809//    World::getInstance().signOn(this);
     810//}
     811//
     812///** Destructor of GLMoleculeView.
     813// * Free's the CallList.
     814// */
     815//GLMoleculeView::~GLMoleculeView()
     816//{
     817//    makeCurrent();
     818//    glDeleteLists( object, 1 );
     819//
     820//    World::getInstance().signOff(this);
     821//}
     822//
     823///** Paints the conents of the OpenGL window.
     824// * Clears the GL buffers, enables lighting and depth.
     825// * Window is either quartered (if GLMoleculeView::MultiViewEnabled) and xy, xz, yz planar views
     826// * are added. Uses the CallList, constructed during InitializeGL().
     827// */
     828//void GLMoleculeView::paintGL()
     829//{
     830//  Vector spot;
     831//
     832//  glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
     833//  glShadeModel(GL_SMOOTH);            // Enable Smooth Shading
     834//  glEnable(GL_LIGHTING);              // Enable Light One
     835//  glEnable(GL_DEPTH_TEST);            // Enables Depth Testing
     836//  glDepthFunc(GL_LEQUAL);              // The Type Of Depth Testing To Do
     837//  glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);      // Really Nice Perspective Calculations
     838//
     839//  // 3d viewport
     840//  if (MultiViewEnabled)
     841//    glViewport( 0, 0, (GLint)width/2, (GLint)height/2 );
     842//  else
     843//    glViewport( 0, 0, (GLint)width, (GLint)height );
     844//  glMatrixMode( GL_PROJECTION );
     845//  glLoadIdentity();
     846//  glFrustum( -1.0, 1.0, -1.0, 1.0, 1.0, 50.0 );
     847//  glMatrixMode( GL_MODELVIEW );
     848//  glLoadIdentity();
     849//
     850//  // calculate point of view and direction
     851//  glTranslated(position[0],position[1],position[2]);
     852//  glTranslated(0.0, 0.0, -scale);
     853//  glRotated(xRot, 1.0, 0.0, 0.0);
     854//  glRotated(yRot, 0.0, 1.0, 0.0);
     855//  glRotated(zRot, 0.0, 0.0, 1.0);
     856//
     857//  // render scene
     858//  glCallList(object);
     859//
     860//  // enable light
     861//  glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient);       // Setup The Ambient Light
     862//  glLightfv(GL_LIGHT1, GL_DIFFUSE, LightDiffuse);       // Setup The Diffuse Light
     863//  glLightfv(GL_LIGHT1, GL_POSITION,LightPosition);      // Position The Light
     864//  glEnable(GL_LIGHT1);              // Enable Light One
     865//
     866//  if (MultiViewEnabled) {
     867//    // xy view port
     868//    glViewport( (GLint)width/2, 0, (GLint)width/2, (GLint)height/2 );
     869//    glMatrixMode( GL_PROJECTION );
     870//    glLoadIdentity();
     871//    glScalef(1./scale, 1./scale,1./scale);
     872//    glOrtho(0, width/2, 0, height/2, 0,0);
     873//    glMatrixMode( GL_MODELVIEW );
     874//    glLoadIdentity();
     875//
     876//    // calculate point of view and direction
     877//    view = position;
     878//    spot = Vector(0.,0.,scale);
     879//    top = Vector(0.,1.,0.);
     880//    gluLookAt(
     881//        spot[0], spot[1], spot[2],
     882//        view[0], view[1], view[2],
     883//        top[0], top[1], top[2]);
     884//
     885//    // enable light
     886//    glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient);       // Setup The Ambient Light
     887//    glLightfv(GL_LIGHT1, GL_DIFFUSE, LightDiffuse);       // Setup The Diffuse Light
     888//    glLightfv(GL_LIGHT1, GL_POSITION,LightPosition);      // Position The Light
     889//    glEnable(GL_LIGHT1);              // Enable Light One
     890//
     891//    // render scene
     892//    glCallList(object);
     893//
     894//    // xz viewport
     895//    glViewport( 0, (GLint)height/2, (GLint)width/2, (GLint)height/2 );
     896//    glMatrixMode( GL_PROJECTION );
     897//    glLoadIdentity();
     898//    glScalef(1./scale, 1./scale,1./scale);
     899//    glOrtho(0, width/2, 0, height/2, 0,0);
     900//    glMatrixMode( GL_MODELVIEW );
     901//    glLoadIdentity();
     902//
     903//    // calculate point of view and direction
     904//    view = position;
     905//    spot = Vector(0.,scale,0.);
     906//    top = Vector(1.,0.,0.);
     907//    gluLookAt(
     908//        spot[0], spot[1], spot[2],
     909//        view[0], view[1], view[2],
     910//        top[0], top[1], top[2]);
     911//
     912//    // enable light
     913//    glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient);       // Setup The Ambient Light
     914//    glLightfv(GL_LIGHT1, GL_DIFFUSE, LightDiffuse);       // Setup The Diffuse Light
     915//    glLightfv(GL_LIGHT1, GL_POSITION,LightPosition);      // Position The Light
     916//    glEnable(GL_LIGHT1);              // Enable Light One
     917//
     918//    // render scene
     919//    glCallList(object);
     920//
     921//    //yz viewport
     922//    glViewport( (GLint)width/2, (GLint)height/2, (GLint)width/2, (GLint)height/2 );
     923//    glMatrixMode( GL_PROJECTION );
     924//    glLoadIdentity();
     925//    glScalef(1./scale, 1./scale,1./scale);
     926//    glOrtho(0, width/2, 0, height/2, 0,0);
     927//    glMatrixMode( GL_MODELVIEW );
     928//    glLoadIdentity();
     929//
     930//    // calculate point of view and direction
     931//    view= position;
     932//    spot = Vector(scale,0.,0.);
     933//    top = Vector(0.,1.,0.);
     934//    gluLookAt(
     935//        spot[0], spot[1], spot[2],
     936//        view[0], view[1], view[2],
     937//        top[0], top[1], top[2]);
     938//
     939//    // enable light
     940//    glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient);       // Setup The Ambient Light
     941//    glLightfv(GL_LIGHT1, GL_DIFFUSE, LightDiffuse);       // Setup The Diffuse Light
     942//    glLightfv(GL_LIGHT1, GL_POSITION,LightPosition);      // Position The Light
     943//    glEnable(GL_LIGHT1);              // Enable Light One
     944//
     945//    // render scene
     946//    glCallList(object);
     947//  }
     948//  //CoordinatesBar->setText( QString ("X: %1, Y: %2, Z: %3").arg(position[0]).arg(position[1]).arg(position[2]) );
     949//}
     950//
     951////void polarView{GLdouble distance, GLdouble twist,
     952////   GLdouble elevation, GLdouble azimuth)
     953////{
     954////      glTranslated(0.0, 0.0, -distance);
     955////      glRotated(-twist, 0.0, 0.0, 1.0);
     956////      glRotated(-elevation, 1.0, 0.0, 0.0);
     957////      glRotated(azimuth, 0.0, 0.0, 1.0);
     958////}
     959//
     960///** Make a sphere.
     961// * \param x position
     962// * \param radius radius
     963// * \param color[3] color rgb values
     964// */
     965//void GLMoleculeView::makeSphere(const Vector &x, double radius, const unsigned char color[3])
     966//{
     967//  float blueMaterial[] = { 255./(float)color[0], 255./(float)color[1], 255./(float)color[2], 1 };  // need to recast from [0,255] with integers into [0,1] with floats
     968//  GLUquadricObj* q = gluNewQuadric ();
     969//  gluQuadricOrientation(q, GLU_OUTSIDE);
     970//
     971//  std::cout << "Setting sphere at " << x << " with color r"
     972//      << (int)color[0] << ",g" << (int)color[1] << ",b" << (int)color[2] << "." << endl;
     973//
     974//  glPushMatrix();
     975//  glTranslatef( x[0], x[1], x[2]);
     976////  glRotatef( xRot, 1.0, 0.0, 0.0);
     977////  glRotatef( yRot, 0.0, 1.0, 0.0);
     978////  glRotatef( zRot, 0.0, 0.0, 1.0);
     979//  glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, blueMaterial);
     980//  gluSphere (q, (GLdouble)radius, 10, 10);
     981//  glPopMatrix();
     982//}
     983//
     984///** Make a cylinder.
     985// * \param x origin
     986// * \param y direction
     987// * \param radius thickness
     988// * \param height length
     989// * \color[3] color rgb values
     990// */
     991//void GLMoleculeView::makeCylinder(const Vector &x, const Vector &y, double radius, double height, const unsigned char color[3])
     992//{
     993//  float blueMaterial[] = { 255./(float)color[0], 255./(float)color[1], 255./(float)color[2], 1 };
     994//  GLUquadricObj* q = gluNewQuadric ();
     995//  gluQuadricOrientation(q, GLU_OUTSIDE);
     996//  Vector a,b;
     997//  Vector OtherAxis;
     998//  double alpha;
     999//  a = x - y;
     1000//  // construct rotation axis
     1001//  b = a;
     1002//  b.VectorProduct(Z);
     1003//  Line axis(zeroVec, b);
     1004//  // calculate rotation angle
     1005//  alpha = a.Angle(Z);
     1006//  // construct other axis to check right-hand rule
     1007//  OtherAxis = b;
     1008//  OtherAxis.VectorProduct(Z);
     1009//  // assure right-hand rule for the rotation
     1010//  if (a.ScalarProduct(OtherAxis) < MYEPSILON)
     1011//    alpha = M_PI-alpha;
     1012//  // check
     1013//  Vector a_rotated = axis.rotateVector(a, alpha);
     1014//  std::cout << "Setting cylinder from "// << x << " to " << y
     1015//      << a << " to " << a_rotated << " around " << b << " by " << alpha/M_PI*180. << ", respectively, "
     1016//      << " with color r"
     1017//      << (int)color[0] << ",g" << (int)color[1] << ",b" << (int)color[2] << "." << endl;
     1018//
     1019//  glPushMatrix();
     1020//  glTranslatef( x[0], x[1], x[2]);
     1021//  glRotatef( alpha/M_PI*180., b[0], b[1], b[2]);
     1022//  glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, blueMaterial);
     1023//  gluCylinder (q, (GLdouble)radius, (GLdouble)radius, (GLdouble)height, 10, 10);
     1024//  glPopMatrix();
     1025//}
     1026//
     1027///** Defines the display CallList.
     1028// * Goes through all molecules and their atoms and adds spheres for atoms and cylinders
     1029// * for bonds. Heeds GLMoleculeView::SelectedAtom and GLMoleculeView::SelectedMolecule.
     1030// */
     1031//void GLMoleculeView::initializeGL()
     1032//{
     1033//  double x[3] = {-1, 0, -10};
     1034//  unsigned char white[3] = {255,255,255};
     1035//  Vector Position, OtherPosition;
     1036//  QSize window = size();
     1037//  width = window.width();
     1038//  height = window.height();
     1039//  std::cout << "Setting width to " << width << " and height to " << height << std::endl;
     1040//  GLfloat shininess[] = { 0.0 };
     1041//  GLfloat specular[] = { 0, 0, 0, 1 };
     1042//  glClearColor(0.0f, 0.0f, 0.0f, 0.0f);     // Let OpenGL clear to black
     1043//  object = glGenLists(1);
     1044//  glNewList( object, GL_COMPILE );
     1045//  glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, specular);
     1046//  glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, shininess);
     1047//
     1048//  const std::vector<molecule*> &molecules = World::getInstance().getAllMolecules();
     1049//
     1050//  if (molecules.size() > 0) {
     1051//    for (std::vector<molecule*>::const_iterator Runner = molecules.begin();
     1052//        Runner != molecules.end();
     1053//        Runner++) {
     1054//      for (molecule::const_iterator atomiter = (*Runner)->begin();
     1055//          atomiter != (*Runner)->end();
     1056//          ++atomiter) {
     1057//        // create atom
     1058//        const element *ptr = (*atomiter)->getType();
     1059//        boost::shared_ptr<Vector> MolCenter((*Runner)->DetermineCenterOfGravity());
     1060//        Position = (*atomiter)->getPosition() - *MolCenter;
     1061//        const unsigned char* color = NULL;
     1062//        if ((World::getInstance().isSelected(*atomiter)) || (World::getInstance().isSelected((*Runner))))
     1063//          color = SelectionColor;
     1064//        else
     1065//          color = ptr->getColor();
     1066//        makeSphere(Position, ptr->getVanDerWaalsRadius()*0.25, color);
     1067//
     1068//        // create bonds
     1069//        const BondList &bonds = (*atomiter)->getListOfBonds();
     1070//        for (BondList::const_iterator bonditer = bonds.begin();
     1071//            bonditer != bonds.end();
     1072//            ++bonditer) {
     1073//          if ((*bonditer)->leftatom->getId() == (*atomiter)->getId()) {
     1074//            Position = (*bonditer)->leftatom->getPosition() - *MolCenter;
     1075//            OtherPosition = (*bonditer)->rightatom->getPosition() - *MolCenter;
     1076//            const double distance = sqrt(Position.DistanceSquared(OtherPosition))/2.;
     1077//            const unsigned char *color1 = (*bonditer)->leftatom->getType()->getColor();
     1078//            const unsigned char *color2 = (*bonditer)->rightatom->getType()->getColor();
     1079//            makeCylinder(Position, OtherPosition, 0.1, distance, color1);
     1080//            makeCylinder(OtherPosition, Position, 0.1, distance, color2);
     1081//          }
     1082//        }
     1083//      }
     1084//    }
     1085//  } else {
     1086//    makeSphere( x,1, white);
     1087//  }
     1088//  glEndList();
     1089//}
     1090//
     1091//
     1092///* ================================== SLOTS ============================== */
     1093//
     1094///** Initializes some public variables.
     1095// * \param *ptr pointer to QLabel statusbar
     1096// */
     1097//void GLMoleculeView::init(QLabel *ptr)
     1098//{
     1099//  StatusBar = ptr;
     1100//}
     1101//
     1102///** Initializes the viewport statusbar.
     1103// * \param *ptr pointer to QLabel for showing view pointcoordinates.
     1104// */
     1105//void GLMoleculeView::initCoordinates(QLabel *ptr)
     1106//{
     1107//  CoordinatesBar = ptr;
     1108//}
     1109//
     1110///** Slot to be called when to initialize GLMoleculeView::MolData.
     1111// */
     1112//void GLMoleculeView::createView( )
     1113//{
     1114//  initializeGL();
     1115//  updateGL();
     1116//}
     1117//
     1118///** Slot of window is resized.
     1119// * Copies new width and height to GLMoleculeView::width and GLMoleculeView::height and calls updateGL().
     1120// * \param w new width of window
     1121// * \param h new height of window
     1122// */
     1123//void GLMoleculeView::resizeGL( int w, int h )
     1124//{
     1125//  width = w;
     1126//  height = h;
     1127//  updateGL();
     1128//}
     1129//
     1130///** Sets x rotation angle.
     1131// * sets GLMoleculeView::xRot and calls updateGL().
     1132// * \param degrees new rotation angle in degrees
     1133// */
     1134//void GLMoleculeView::setXRotation( int degrees )
     1135//{
     1136//  xRot = (GLfloat)(degrees % 360);
     1137//  updateGL();
     1138//}
     1139//
     1140//
     1141///** Sets y rotation angle.
     1142// * sets GLMoleculeView::yRot and calls updateGL().
     1143// * \param degrees new rotation angle in degrees
     1144// */
     1145//void GLMoleculeView::setYRotation( int degrees )
     1146//{
     1147//  yRot = (GLfloat)(degrees % 360);
     1148//  updateGL();
     1149//}
     1150//
     1151//
     1152///** Sets z rotation angle.
     1153// * sets GLMoleculeView::zRot and calls updateGL().
     1154// * \param degrees new rotation angle in degrees
     1155// */
     1156//void GLMoleculeView::setZRotation( int degrees )
     1157//{
     1158//  zRot = (GLfloat)(degrees % 360);
     1159//  updateGL();
     1160//}
     1161//
     1162///** Sets the scale of the scene.
     1163// * sets GLMoleculeView::scale and calls updateGL().
     1164// * \param distance distance divided by 100 is the new scale
     1165// */
     1166//void GLMoleculeView::setScale( int distance )
     1167//{
     1168//  scale = (GLfloat)(distance / 100.);
     1169//  updateGL();
     1170//}
     1171//
     1172///** Update the ambient light.
     1173// * \param light[4] light strength per axis and position (w)
     1174// */
     1175//void GLMoleculeView::setLightAmbient( int *light )
     1176//{
     1177//  for(int i=0;i<4;i++)
     1178//    LightAmbient[i] = light[i];
     1179//  updateGL();
     1180//}
     1181//
     1182///** Update the diffuse light.
     1183// * \param light[4] light strength per axis and position (w)
     1184// */
     1185//void GLMoleculeView::setLightDiffuse( int *light )
     1186//{
     1187//  for(int i=0;i<4;i++)
     1188//    LightDiffuse[i] = light[i];
     1189//  updateGL();
     1190//}
     1191//
     1192///** Update the position of light.
     1193// * \param light[4] light strength per axis and position (w)
     1194// */
     1195//void GLMoleculeView::setLightPosition( int *light )
     1196//{
     1197//  for(int i=0;i<4;i++)
     1198//    LightPosition[i] = light[i];
     1199//  updateGL();
     1200//}
     1201//
     1202///** Toggles the boolean GLMoleculeView::MultiViewEnabled.
     1203// * Flips the boolean and calls updateGL().
     1204// */
     1205//void GLMoleculeView::toggleMultiViewEnabled ( )
     1206//{
     1207//  MultiViewEnabled = !MultiViewEnabled;
     1208//  cout << "Setting MultiView to " << MultiViewEnabled << "." << endl;
     1209//  updateGL();
     1210//}
     1211//
     1212///** Launch a dialog to configure the lights.
     1213// */
     1214//void GLMoleculeView::createDialogLight()
     1215//{
     1216////  Ui_DialogLight *Lights = new Ui_DialogLight();
     1217////  if (Lights == NULL)
     1218////    return;
     1219////  // Set up the dynamic dialog here
     1220////  QLineEdit *Field = NULL;
     1221////  Field = Lights->findChild<QLineEdit *>("LightPositionX");
     1222////  if (Field) Field->setText( QString("%1").arg(LightPosition[0]) );
     1223////  Field = Lights->findChild<QLineEdit *>("LightPositionY");
     1224////  if (Field) Field->setText( QString("%1").arg(LightPosition[1]) );
     1225////  Field = Lights->findChild<QLineEdit *>("LightPositionZ");
     1226////  if (Field) Field->setText( QString("%1").arg(LightPosition[2]) );
     1227////  Field = Lights->findChild<QLineEdit *>("LightPositionW");
     1228////  if (Field) Field->setText( QString("%1").arg(LightPosition[3]) );
     1229////
     1230////  Field = Lights->findChild<QLineEdit *>("LightDiffuseX");
     1231////  if (Field) Field->setText( QString("%1").arg(LightDiffuse[0]) );
     1232////  Field = Lights->findChild<QLineEdit *>("LightDiffuseY");
     1233////  if (Field) Field->setText( QString("%1").arg(LightDiffuse[1]) );
     1234////  Field = Lights->findChild<QLineEdit *>("LightDiffuseZ");
     1235////  if (Field) Field->setText( QString("%1").arg(LightDiffuse[2]) );
     1236////  Field = Lights->findChild<QLineEdit *>("LightDiffuseW");
     1237////  if (Field) Field->setText( QString("%1").arg(LightDiffuse[3]) );
     1238////
     1239////  Field = Lights->findChild<QLineEdit *>("LightAmbientX");
     1240////  if (Field) Field->setText( QString("%1").arg(LightAmbient[0]) );
     1241////  Field = Lights->findChild<QLineEdit *>("LightAmbientY");
     1242////  if (Field) Field->setText( QString("%1").arg(LightAmbient[1]) );
     1243////  Field = Lights->findChild<QLineEdit *>("LightAmbientZ");
     1244////  if (Field) Field->setText( QString("%1").arg(LightAmbient[2]) );
     1245////  Field = Lights->findChild<QLineEdit *>("LightAmbientW");
     1246////  if (Field) Field->setText( QString("%1").arg(LightAmbient[3]) );
     1247////
     1248////  if ( Lights->exec() ) {
     1249////    //cout << "User accepted.\n";
     1250////    // The user accepted, act accordingly
     1251////    Field = Lights->findChild<QLineEdit *>("LightPositionX");
     1252////    if (Field) LightPosition[0] = Field->text().toDouble();
     1253////    Field = Lights->findChild<QLineEdit *>("LightPositionY");
     1254////    if (Field) LightPosition[1] = Field->text().toDouble();
     1255////    Field = Lights->findChild<QLineEdit *>("LightPositionZ");
     1256////    if (Field) LightPosition[2] = Field->text().toDouble();
     1257////    Field = Lights->findChild<QLineEdit *>("LightPositionW");
     1258////    if (Field) LightPosition[3] = Field->text().toDouble();
     1259////
     1260////    Field = Lights->findChild<QLineEdit *>("LightDiffuseX");
     1261////    if (Field) LightDiffuse[0] = Field->text().toDouble();
     1262////    Field = Lights->findChild<QLineEdit *>("LightDiffuseY");
     1263////    if (Field) LightDiffuse[1] = Field->text().toDouble();
     1264////    Field = Lights->findChild<QLineEdit *>("LightDiffuseZ");
     1265////    if (Field) LightDiffuse[2] = Field->text().toDouble();
     1266////    Field = Lights->findChild<QLineEdit *>("LightDiffuseW");
     1267////    if (Field) LightDiffuse[3] = Field->text().toDouble();
     1268////
     1269////    Field = Lights->findChild<QLineEdit *>("LightAmbientX");
     1270////    if (Field) LightAmbient[0] = Field->text().toDouble();
     1271////    Field = Lights->findChild<QLineEdit *>("LightAmbientY");
     1272////    if (Field) LightAmbient[1] = Field->text().toDouble();
     1273////    Field = Lights->findChild<QLineEdit *>("LightAmbientZ");
     1274////    if (Field) LightAmbient[2] = Field->text().toDouble();
     1275////    Field = Lights->findChild<QLineEdit *>("LightAmbientW");
     1276////    if (Field) LightAmbient[3] = Field->text().toDouble();
     1277////    updateGL();
     1278////  } else {
     1279////    //cout << "User reclined.\n";
     1280////  }
     1281////  delete(Lights);
     1282//}
     1283//
     1284///** Slot for event of pressed mouse button.
     1285// * Switch discerns between buttons and stores position of event in GLMoleculeView::LeftButtonPos,
     1286// * GLMoleculeView::MiddleButtonPos or GLMoleculeView::RightButtonPos.
     1287// * \param *event structure containing information of the event
     1288// */
     1289//void GLMoleculeView::mousePressEvent(QMouseEvent *event)
     1290//{
     1291//  std::cout << "MousePressEvent." << endl;
     1292//  QPoint *pos = NULL;
     1293//  switch (event->button()) {  // get the right array
     1294//    case Qt::LeftButton:
     1295//      pos = &LeftButtonPos;
     1296//      std::cout << "Left Button" << endl;
     1297//      break;
     1298//    case Qt::MidButton:
     1299//      pos = &MiddleButtonPos;
     1300//      std::cout << "Middle Button" << endl;
     1301//      break;
     1302//    case Qt::RightButton:
     1303//      pos = &RightButtonPos;
     1304//      std::cout << "Right Button" << endl;
     1305//      break;
     1306//    default:
     1307//      break;
     1308//  }
     1309//  if (pos) {    // store the position
     1310//    pos->setX(event->pos().x());
     1311//    pos->setY(event->pos().y());
     1312//    std::cout << "Stored src position is (" << pos->x() << "," << pos->y() << ")." << endl;
     1313//  } else {
     1314//    std::cout << "pos is NULL." << endl;
     1315//  }
     1316//}
     1317//
     1318///** Slot for event of pressed mouse button.
     1319// * Switch discerns between buttons:
     1320// * -# Left Button: Rotates the view of the GLMoleculeView, relative to GLMoleculeView::LeftButtonPos.
     1321// * -# Middle Button: nothing
     1322// * -# Right Button: Shifts the selected molecule or atom, relative to GLMoleculeView::RightButtonPos.
     1323// * \param *event structure containing information of the event
     1324// */
     1325//void GLMoleculeView::mouseReleaseEvent(QMouseEvent *event)
     1326//{
     1327//  std::cout << "MouseReleaseEvent." << endl;
     1328//  QPoint *srcpos = NULL;
     1329//  QPoint destpos = event->pos();
     1330//  int Width = (MultiViewEnabled) ? width/2 : width;
     1331//  int Height = (MultiViewEnabled) ? height/2 : height;
     1332//  std::cout << "Received dest position is (" << destpos.x() << "," << destpos.y() << ")." << endl;
     1333//  switch (event->button()) {  // get the right array
     1334//    case Qt::LeftButton:  // LeftButton rotates the view
     1335//      srcpos = &LeftButtonPos;
     1336//      std::cout << "Left Button" << endl;
     1337//      if (srcpos) {    // subtract the position and act
     1338//        std::cout << "Stored src position is (" << srcpos->x() << "," << srcpos->y() << ")." << endl;
     1339//        destpos -= *srcpos;
     1340//        std::cout << "Resulting diff position is (" << destpos.x() << "," << destpos.y() << ")." << endl;
     1341//        std::cout << "Width and Height are " << Width << "," << Height << "." << endl;
     1342//
     1343//        int pos = (int)floor((double)srcpos->x()/(double)Width) + ((int)floor((double)srcpos->y()/(double)Height))*2;
     1344//        if ((MultiViewEnabled) && (pos != 2)) { // means four regions, and we are in a shifting one
     1345//          // switch between three regions
     1346//          // decide into which of the four screens the initial click has been made
     1347//          std::cout << "Position is " << pos << "." << endl;
     1348//          switch(pos) {
     1349//            case 0:  // lower left = xz
     1350//              position[0] += -destpos.y()/100.;
     1351//              position[2] += destpos.x()/100.;
     1352//              break;
     1353//            case 1: // lower right = yz
     1354//              position[1] += -destpos.y()/100.;
     1355//              position[2] += -destpos.x()/100.;
     1356//              break;
     1357//            case 2:  // upper left = projected
     1358//              std::cout << "This is impossible: Shifting in the projected region, we should rotate!." << endl;
     1359//              break;
     1360//            case 3:  // upper right = xy
     1361//              position[0] += destpos.x()/100.;
     1362//              position[1] += -destpos.y()/100.;
     1363//              break;
     1364//            default:
     1365//              std::cout << "click was not in any of the four regions." << endl;
     1366//              break;
     1367//          }
     1368//          updateGL();
     1369//        } else { // we are in rotation region
     1370//          QWidget *Parent = parentWidget();
     1371//          QSlider *sliderX = Parent->findChild<QSlider *>("sliderX");
     1372//          QSlider *sliderY = Parent->findChild<QSlider *>("sliderY");
     1373//          std::cout << sliderX << " and " << sliderY << endl;
     1374//          if (sliderX) {
     1375//            int xrange = sliderX->maximum() - sliderX->minimum();
     1376//            double xValue = ((destpos.x() + Width) % Width);
     1377//            xValue *= (double)xrange/(double)Width;
     1378//            xValue += sliderX->value();
     1379//            int xvalue = (int) xValue % xrange;
     1380//            std::cout << "Setting x to " << xvalue << " within range " << xrange << "." << endl;
     1381//            setXRotation(xvalue);
     1382//            sliderX->setValue(xvalue);
     1383//          } else {
     1384//            std::cout << "sliderX is NULL." << endl;
     1385//          }
     1386//          if (sliderY) {
     1387//            int yrange = sliderY->maximum() - sliderY->minimum();
     1388//            double yValue = ((destpos.y() + Height) % Height);
     1389//            yValue *= (double)yrange/(double)Height;
     1390//            yValue += sliderY->value();
     1391//            int yvalue = (int) yValue % yrange;
     1392//            std::cout << "Setting y to " << yvalue << " within range " << yrange << "." << endl;
     1393//            setYRotation(yvalue);
     1394//            sliderY->setValue(yvalue);
     1395//          } else {
     1396//            std::cout << "sliderY is NULL." << endl;
     1397//          }
     1398//        }
     1399//      } else {
     1400//        std::cout << "srcpos is NULL." << endl;
     1401//      }
     1402//      break;
     1403//
     1404//    case Qt::MidButton: // MiddleButton has no function so far
     1405//      srcpos = &MiddleButtonPos;
     1406//      std::cout << "Middle Button" << endl;
     1407//      if (srcpos) {    // subtract the position and act
     1408//        QWidget *Parent = parentWidget();
     1409//        QSlider *sliderZ = Parent->findChild<QSlider *>("sliderZ");
     1410//        QSlider *sliderScale = Parent->findChild<QSlider *>("sliderScale");
     1411//        std::cout << sliderZ << " and " << sliderScale << endl;
     1412//        std::cout << "Stored src position is (" << srcpos->x() << "," << srcpos->y() << ")." << endl;
     1413//        destpos -= *srcpos;
     1414//        std::cout << "Resulting diff position is (" << destpos.x() << "," << destpos.y() << ")." << endl;
     1415//        std::cout << "Width and Height are " << Width << "," << Height << "." << endl;
     1416//        if (sliderZ) {
     1417//          int xrange = sliderZ->maximum() - sliderZ->minimum();
     1418//          double xValue = ((destpos.x() + Width) % Width);
     1419//          xValue *= (double)xrange/(double)Width;
     1420//          xValue += sliderZ->value();
     1421//          int xvalue = (int) xValue % xrange;
     1422//          std::cout << "Setting x to " << xvalue << " within range " << xrange << "." << endl;
     1423//          setZRotation(xvalue);
     1424//          sliderZ->setValue(xvalue);
     1425//        } else {
     1426//          std::cout << "sliderZ is NULL." << endl;
     1427//        }
     1428//        if (sliderScale) {
     1429//          int yrange = sliderScale->maximum() - sliderScale->minimum();
     1430//          double yValue = ((destpos.y() + Height) % Height);
     1431//          yValue *= (double)yrange/(double)Height;
     1432//          yValue += sliderScale->value();
     1433//          int yvalue = (int) yValue % yrange;
     1434//          std::cout << "Setting y to " << yvalue << " within range " << yrange << "." << endl;
     1435//          setScale(yvalue);
     1436//          sliderScale->setValue(yvalue);
     1437//        } else {
     1438//          std::cout << "sliderScale is NULL." << endl;
     1439//        }
     1440//      } else {
     1441//        std::cout << "srcpos is NULL." << endl;
     1442//      }
     1443//      break;
     1444//      break;
     1445//
     1446//    case Qt::RightButton:  // RightButton moves eitstdher the selected molecule or atom
     1447//      srcpos = &RightButtonPos;
     1448//      std::cout << "Right Button" << endl;
     1449//      if (srcpos) {    // subtract the position and act
     1450//        std::cout << "Stored src position is (" << srcpos->x() << "," << srcpos->y() << ")." << endl;
     1451//        destpos -= *srcpos;
     1452//        std::cout << "Resulting diff position is (" << destpos.x() << "," << destpos.y() << ")." << endl;
     1453//        std::cout << "Width and Height are " << Width << "," << Height << "." << endl;
     1454//        if (MultiViewEnabled) {
     1455//          // which vector to change
     1456//          Vector SelectedPosition;
     1457//          const std::vector<atom*> &SelectedAtoms = World::getInstance().getSelectedAtoms();
     1458//          const std::vector<molecule*> &SelectedMolecules = World::getInstance().getSelectedMolecules();
     1459//          if (SelectedMolecules.size()) {
     1460//            if (SelectedAtoms.size())
     1461//              SelectedPosition = (*SelectedAtoms.begin())->getPosition();
     1462//            else
     1463//              SelectedPosition = (*(*SelectedMolecules.begin())->begin())->getPosition();
     1464//          }
     1465//          // decide into which of the four screens the initial click has been made
     1466//          int pos = (int)floor((double)srcpos->x()/(double)Width) + ((int)floor((double)srcpos->y()/(double)Height))*2;
     1467//          if (!SelectedPosition.IsZero()) {
     1468//            std::cout << "Position is " << pos << "." << endl;
     1469//            switch(pos) {
     1470//              case 0:  // lower left = xz
     1471//                SelectedPosition[0] += -destpos.y()/100.;
     1472//                SelectedPosition[2] += destpos.x()/100.;
     1473//                break;
     1474//              case 1: // lower right = yz
     1475//                SelectedPosition[1] += -destpos.y()/100.;
     1476//                SelectedPosition[2] += -destpos.x()/100.;
     1477//                break;
     1478//              case 2:  // upper left = projected
     1479//                SelectedPosition[0] += destpos.x()/100.;
     1480//                SelectedPosition[1] += destpos.y()/100.;
     1481//                SelectedPosition[2] += destpos.y()/100.;
     1482//                break;
     1483//              case 3:  // upper right = xy
     1484//                SelectedPosition[0] += destpos.x()/100.;
     1485//                SelectedPosition[1] += -destpos.y()/100.;
     1486//                break;
     1487//              default:
     1488//                std::cout << "click was not in any of the four regions." << endl;
     1489//                break;
     1490//            }
     1491//          } else {
     1492//            std::cout << "Nothing selected." << endl;
     1493//          }
     1494//          // update Tables
     1495//          if (SelectedMolecules.size()) {
     1496//            isSignaller = true;
     1497//            if (SelectedAtoms.size())
     1498//              emit notifyAtomChanged( (*SelectedMolecules.begin()), (*SelectedAtoms.begin()), AtomPosition);
     1499//            else
     1500//              emit notifyMoleculeChanged( (*SelectedMolecules.begin()), MoleculePosition );
     1501//          }
     1502//          // update graphic
     1503//          initializeGL();
     1504//          updateGL();
     1505//        } else {
     1506//          cout << "MultiView is not enabled." << endl;
     1507//        }
     1508//      } else {
     1509//        cout << "srcpos is NULL." << endl;
     1510//      }
     1511//  break;
     1512//
     1513//    default:
     1514//      break;
     1515//  }
     1516//}
     1517//
     1518///* ======================================== SLOTS ================================ */
     1519//
     1520///** Hear announcement of selected molecule.
     1521// * \param *mol pointer to selected molecule
     1522// */
     1523//void GLMoleculeView::hearMoleculeSelected(molecule *mol)
     1524//{
     1525//  if (isSignaller) { // if we emitted the signal, return
     1526//    isSignaller = false;
     1527//    return;
     1528//  }
     1529//  initializeGL();
     1530//  updateGL();
     1531//};
     1532//
     1533///** Hear announcement of selected atom.
     1534// * \param *mol pointer to molecule containing atom
     1535// * \param *Walker pointer to selected atom
     1536// */
     1537//void GLMoleculeView::hearAtomSelected(molecule *mol, atom *Walker)
     1538//{
     1539//  if (isSignaller) { // if we emitted the signal, return
     1540//    isSignaller = false;
     1541//    return;
     1542//  }
     1543//  initializeGL();
     1544//  updateGL();
     1545//};
     1546//
     1547///** Hear announcement of changed molecule.
     1548// * \param *mol pointer to changed molecule
     1549// * \param type of change
     1550// */
     1551//void GLMoleculeView::hearMoleculeChanged(molecule *mol, enum ChangesinMolecule type)
     1552//{
     1553//  if (isSignaller) { // if we emitted the signal, return
     1554//    isSignaller = false;
     1555//    return;
     1556//  }
     1557//  initializeGL();
     1558//  updateGL();
     1559//};
     1560//
     1561///** Hear announcement of changed atom.
     1562// * \param *mol pointer to molecule containing atom
     1563// * \param *Walker pointer to changed atom
     1564// * \param type type of change
     1565// */
     1566//void GLMoleculeView::hearAtomChanged(molecule *mol, atom *Walker, enum ChangesinAtom type)
     1567//{
     1568//  if (isSignaller) { // if we emitted the signal, return
     1569//    isSignaller = false;
     1570//    return;
     1571//  }
     1572//  initializeGL();
     1573//  updateGL();
     1574//};
     1575//
     1576///** Hear announcement of changed element.
     1577// * \param *Runner pointer to changed element
     1578// * \param type of change
     1579// */
     1580//void GLMoleculeView::hearElementChanged(element *Runner, enum ChangesinElement type)
     1581//{
     1582//  if (isSignaller) { // if we emitted the signal, return
     1583//    isSignaller = false;
     1584//    return;
     1585//  }
     1586//  switch(type) {
     1587//    default:
     1588//    case ElementName:
     1589//    case ElementSymbol:
     1590//    case ElementMass:
     1591//    case ElementValence:
     1592//    case ElementZ:
     1593//      break;
     1594//    case ElementCovalent:
     1595//    case ElementVanderWaals:
     1596//      initializeGL();
     1597//      updateGL();
     1598//      break;
     1599//  }
     1600//};
     1601//
     1602///** Hear announcement of added molecule.
     1603// * \param *mol pointer to added molecule
     1604// */
     1605//void GLMoleculeView::hearMoleculeAdded(molecule *mol)
     1606//{
     1607//  if (isSignaller) { // if we emitted the signal, return
     1608//    isSignaller = false;
     1609//    return;
     1610//  }
     1611//  initializeGL();
     1612//  updateGL();
     1613//};
     1614//
     1615///** Hear announcement of added atom.
     1616// * \param *mol pointer to molecule containing atom
     1617// * \param *Walker pointer to added atom
     1618// */
     1619//void GLMoleculeView::hearAtomAdded(molecule *mol, atom *Walker)
     1620//{
     1621//  if (isSignaller) { // if we emitted the signal, return
     1622//    isSignaller = false;
     1623//    return;
     1624//  }
     1625//  initializeGL();
     1626//  updateGL();
     1627//};
     1628//
     1629///** Hear announcement of removed molecule.
     1630// * \param *mol pointer to removed molecule
     1631// */
     1632//void GLMoleculeView::hearMoleculeRemoved(molecule *mol)
     1633//{
     1634//  if (isSignaller) { // if we emitted the signal, return
     1635//    isSignaller = false;
     1636//    return;
     1637//  }
     1638//  initializeGL();
     1639//  updateGL();
     1640//};
     1641//
     1642///** Hear announcement of removed atom.
     1643// * \param *mol pointer to molecule containing atom
     1644// * \param *Walker pointer to removed atom
     1645// */
     1646//void GLMoleculeView::hearAtomRemoved(molecule *mol, atom *Walker)
     1647//{
     1648//  if (isSignaller) { // if we emitted the signal, return
     1649//    isSignaller = false;
     1650//    return;
     1651//  }
     1652//  initializeGL();
     1653//  updateGL();
     1654//};
     1655//
     1656//void GLMoleculeView::update(Observable *publisher)
     1657//{
     1658//  initializeGL();
     1659//  updateGL();
     1660//}
     1661//
     1662///**
     1663// * This method is called when a special named change
     1664// * of the Observable occured
     1665// */
     1666//void GLMoleculeView::recieveNotification(Observable *publisher, Notification_ptr notification)
     1667//{
     1668//  initializeGL();
     1669//  updateGL();
     1670//}
     1671//
     1672///**
     1673// * This method is called when the observed object is destroyed.
     1674// */
     1675//void GLMoleculeView::subjectKilled(Observable *publisher)
     1676//{
     1677//
     1678//}
     1679//
     1680//
     1681//// new stuff
     1682//
     1683///** Returns the ref to the Material for element No \a from the map.
     1684// *
     1685// * \note We create a new one if the element is missing.
     1686// *
     1687// * @param no element no
     1688// * @return ref to QGLMaterial
     1689// */
     1690//QGLMaterial* GLMoleculeView::getMaterial(size_t no)
     1691//{
     1692//  if (ElementNoMaterialMap.find(no) != ElementNoMaterialMap.end()){
     1693//    // get present one
     1694//
     1695//  } else {
     1696//    ASSERT( (no >= 0) && (no < MAX_ELEMENTS),
     1697//        "GLMoleculeView::getMaterial() - Element no "+toString(no)+" is invalid.");
     1698//    // create new one
     1699//    LOG(1, "Creating new material for element "+toString(no)+".");
     1700//    QGLMaterial *newmaterial = new QGLMaterial(this);
     1701//    periodentafel *periode = World::getInstance().getPeriode();
     1702//    element *desiredelement = periode->FindElement(no);
     1703//    ASSERT(desiredelement != NULL,
     1704//        "GLMoleculeView::getMaterial() - desired element "+toString(no)+" not present in periodentafel.");
     1705//    const unsigned char* color = desiredelement->getColor();
     1706//    newmaterial->setAmbientColor( QColor(color[0], color[1], color[2]) );
     1707//    newmaterial->setSpecularColor( QColor(60, 60, 60) );
     1708//    newmaterial->setShininess( QColor(128) );
     1709//    ElementNoMaterialMap.insert( no, newmaterial);
     1710//  }
     1711//}
     1712//
     1713//QGLSceneNode* GLMoleculeView::getAtom(size_t no)
     1714//{
     1715//  // first some sensibility checks
     1716//  ASSERT(World::getInstance().getAtom(AtomById(no)) != NULL,
     1717//      "GLMoleculeView::getAtom() - desired atom "
     1718//      +toString(no)+" not present in the World.");
     1719//  ASSERT(AtomsinSceneMap.find(no) != AtomsinSceneMap.end(),
     1720//      "GLMoleculeView::getAtom() - desired atom "
     1721//      +toString(no)+" not present in the AtomsinSceneMap.");
     1722//
     1723//  return AtomsinSceneMap[no];
     1724//}
     1725//
     1726//QGLSceneNode* GLMoleculeView::getBond(size_t leftno, size_t rightno)
     1727//{
     1728//  // first some sensibility checks
     1729//  ASSERT(World::getInstance().getAtom(AtomById(leftno)) != NULL,
     1730//      "GLMoleculeView::getAtom() - desired atom "
     1731//      +toString(leftno)+" of bond not present in the World.");
     1732//  ASSERT(World::getInstance().getAtom(AtomById(rightno)) != NULL,
     1733//      "GLMoleculeView::getAtom() - desired atom "
     1734//      +toString(rightno)+" of bond not present in the World.");
     1735//  ASSERT(AtomsinSceneMap.find(leftno) != AtomsinSceneMap.end(),
     1736//      "GLMoleculeView::getAtom() - desired atom "
     1737//      +toString(leftno)+" of bond not present in the AtomsinSceneMap.");
     1738//  ASSERT(AtomsinSceneMap.find(rightno) != AtomsinSceneMap.end(),
     1739//      "GLMoleculeView::getAtom() - desired atom "
     1740//      +toString(rightno)+" of bond not present in the AtomsinSceneMap.");
     1741//  ASSERT(leftno == rightno,
     1742//      "GLMoleculeView::getAtom() - bond must not be between the same atom: "
     1743//      +toString(leftno)+" == "+toString(rightno)+".");
     1744//
     1745//  // then return with smaller index first
     1746//  if (leftno > rightno)
     1747//    return AtomsinSceneMap[ make_pair(rightno, leftno) ];
     1748//  else
     1749//    return AtomsinSceneMap[ make_pair(leftno, rightno) ];
     1750//}
     1751//
  • src/UIElements/Views/Qt4/Qt3D/GLWorldView.hpp

    r7f1b51 r8859b5  
    127127};
    128128
     129
     130
     131//#include "CodePatterns/Observer/Observer.hpp"
     132//#include "LinearAlgebra/Vector.hpp"
     133//#include "changetypes.hpp"
     134//
     135//class atom;
     136//class element;
     137//class molecule;
     138//
     139//class GLMoleculeView : public QGLWidget, public Observer
     140//{
     141//    Q_OBJECT
     142//
     143//public:
     144//
     145//    GLMoleculeView( QWidget* parent);
     146//    ~GLMoleculeView();
     147//
     148//public slots:
     149//
     150//    void    setXRotation( int degrees );
     151//    void    setYRotation( int degrees );
     152//    void    setZRotation( int degrees );
     153//    void    setScale( int distance );
     154//    void    setLightPosition( int *light );
     155//    void    setLightDiffuse( int *light );
     156//    void    setLightAmbient( int *light );
     157//    void    createDialogLight();
     158//    void    toggleMultiViewEnabled();
     159//
     160//    void    init( QLabel *ptr );
     161//    void    initCoordinates(QLabel *ptr);
     162//    void    createView();
     163//    void    hearMoleculeSelected(molecule *mol);
     164//    void    hearAtomSelected(molecule *mol, atom *Walker);
     165//    void    hearMoleculeChanged(molecule *mol, enum ChangesinMolecule type);
     166//    void    hearAtomChanged(molecule *mol, atom *Walker, enum ChangesinAtom type);
     167//    void    hearElementChanged(element *Runner, enum ChangesinElement type);
     168//    void    hearMoleculeAdded(molecule *mol);
     169//    void    hearAtomAdded(molecule *mol, atom *Walker);
     170//    void    hearMoleculeRemoved(molecule *mol);
     171//    void    hearAtomRemoved(molecule *mol, atom *Walker);
     172//
     173//signals:
     174//    void    notifyMoleculeSelected( molecule *mol );
     175//    void    notifyAtomSelected( molecule *mol, atom *Walker );
     176//    void    notifyMoleculeChanged( molecule *mol, enum ChangesinMolecule type );
     177//    void    notifyAtomChanged( molecule *mol, atom *Walker, enum ChangesinAtom type );
     178//    void    notifyElementChanged( element *Runner, enum ChangesinElement type );
     179//    void    notifyMoleculeAdded( molecule *mol);
     180//    void    notifyElementAdded( element *Runner);
     181//    void    notifyAtomAdded( molecule *mol, atom *Walker );
     182//    void    notifyMoleculeRemoved( molecule *mol );
     183//    void    notifyAtomRemoved( molecule *mol, atom *Walker );
     184//
     185//protected:
     186//
     187//    void    initializeGL();
     188//    void    paintGL();
     189//    void    resizeGL( int w, int h );
     190//    void    makeSphere(const Vector &x, double radius, const unsigned char color[3]);
     191//    void    makeCylinder(const Vector &x, const Vector &y, double radius, double height, const unsigned char color[3]);
     192//    void mousePressEvent(QMouseEvent* event);
     193//    void mouseReleaseEvent(QMouseEvent* event);
     194//
     195//public:
     196//
     197//    /** Update function as we are an Observer.
     198//     *
     199//     * @param publisher ref to Observable
     200//     */
     201//    void update(Observable *publisher);
     202//
     203//    /**
     204//     * This method is called when a special named change
     205//     * of the Observable occured
     206//     */
     207//    void recieveNotification(Observable *publisher, Notification_ptr notification);
     208//
     209//    /**
     210//     * This method is called when the observed object is destroyed.
     211//     */
     212//    void subjectKilled(Observable *publisher);
     213//
     214//
     215//private:
     216//
     217//    typedef std::map< size_t, node > AtomNodeMap;
     218//    typedef std::map< std::pair< size_t, size_t> , node > BondNodeMap;
     219//    typedef std::map< size_t, QGLMaterial *> ElementMaterialMap;
     220//
     221//    ElementMaterialMap ElementNoMaterialMap;
     222//    AtomNodeMap AtomsinSceneMap;
     223//    BondNodeMap BondsinSceneMap;
     224//
     225//    QGLMaterial* getMaterial(size_t);
     226//    QGLSceneNode* getAtom(size_t);
     227//    QGLSceneNode* getBond(size_t, size_t);
     228//
     229//    // old stuff
     230//
     231//    GLuint object;  // call list for the scene to be rendered
     232//    GLfloat xRot, yRot, zRot, scale;  // rotation angles and scaling (zoom)
     233//    Vector position;  //!< position of observer
     234//    Vector view;      //!< point along line of view
     235//    Vector top;       //!< giving upwards direction
     236//    Vector X,Y,Z;     //!< vectors defining the coordinate system
     237//    int width;        //!< width of window
     238//    int height;       //!< height of window
     239//
     240//  QLabel *StatusBar;  //!< pointer to status bar for messages
     241//  QLabel *CoordinatesBar; //!< pointer to coordinates bar for view port
     242//
     243//  GLfloat LightPosition[4];        //!< Light Position
     244//  GLfloat LightDiffuse[4];         //!< Diffuse Light Values
     245//  GLfloat LightAmbient[4];        //!< Ambient Light Values
     246//
     247//  QPoint LeftButtonPos;     //!< mouse position on mousePressEvent for LeftButton
     248//  QPoint MiddleButtonPos;   //!< mouse position on mousePressEvent for MidButton
     249//  QPoint RightButtonPos;    //!< mouse position on mousePressEvent for RightButton
     250//
     251//  unsigned char SelectionColor[3] ; //!< highlight color
     252//
     253//  bool isSignaller;
     254//
     255//  bool MultiViewEnabled;    //!< if true, split screen into four parts with additional xy,xz,yz views
     256//};
     257
    129258#endif /* GLWORLDVIEW_HPP_ */
  • src/World.cpp

    r7f1b51 r8859b5  
    879879  delete configuration;
    880880  delete Thermostats;
    881   delete homologies;
    882881}
    883882
  • src/builder.cpp

    r7f1b51 r8859b5  
    5353  stopQueue();
    5454#endif
    55   int status = 0;
    5655  if (UIFactory::getInstance().getUIName() == "CommandLine")
    57     status = saveAll();
    58   return status;
     56    return saveAll();
     57  return 0;
    5958}
    6059
  • src/cleanUp.cpp

    r7f1b51 r8859b5  
    5353#include "Fragmentation/Summation/Containers/FragmentationResultContainer.hpp"
    5454
    55 #include "Potentials/PotentialFactory.hpp"
    56 #include "Potentials/PotentialRegistry.hpp"
    57 
    5855#include "RandomNumbers/RandomNumberDistributionFactory.hpp"
    5956#include "RandomNumbers/RandomNumberEngineFactory.hpp"
     
    10097  FragmentationResultContainer::purgeInstance();
    10198  Chronos::purgeInstance();
    102   PotentialFactory::purgeInstance();
    103   PotentialRegistry::purgeInstance();
    10499  RandomNumberDistributionFactory::purgeInstance();
    105100  RandomNumberEngineFactory::purgeInstance();
  • src/documentation/constructs/filling.dox

    r7f1b51 r8859b5  
    7474 * the specific implementations of the class \ref Inserter.
    7575 *
    76  * \section filling-preparators Filling Preparators
    7776 *
    78  * The filling function depends on quite a number of other instances. In order
    79  * to make this a little easier to use, there are so called FillerPreparators
    80  * for various purposes:
    81  * -# BoxFillerPreparator - fills the simulation domain
    82  * -# ShapeSurfaceFillerPreparator - fills on the surface of a selected shape
    83  * -# ShapeVolumeFillerPreparator - fills the volume of a selected shape
    84  *
    85  * These offer various functions to easily install an Inserter, a Mesh, and
    86  * necessary FillPredicates. See the Filling Actions such as
    87  * MoleCuilder::FillVolumeAction as example.
    88  *
    89  * \date 2014-09-04
     77 * \date 2014-03-10
    9078 */
  • src/documentation/tests/tests.dox

    r7f1b51 r8859b5  
    1616 * \page tests Automated Tests
    1717 *
    18  * There are three kinds of tests:
     18 * There are two kinds of tests:
    1919 *
    2020 *  \li \subpage codetest "Code tests"
     
    5959 * every single test for each and every single commit in the code history before
    6060 * it is pushed to the central repository (git has ample means via \a rebase for
    61  * correcting later found errors), both for --disable-debug and --enable-debug.
     61 * correcting later found errors).
    6262 *
    6363 * Before a version tag is given (e.g. v1.1.3) it is to be made sure that also
     
    6565 * runs fine and produces a distributable archive.
    6666 *
    67  * Since v1.4.8 valgrind's memcheck tool runs through as well (on all regression
    68  * tests). There are three glitches, namely regression tests 28-30 which load
    69  * python scripts and cause many PyObject_Free and other errors. These are
    70  * ignored. A python suppression file was tried but to no success.
    71  * Similarly, a valgrind check prior to giving a version tag is to be made
    72  * starting from this version to prevent memory leaks.
    73  *
    74  *
    75  * \date 2014-08-29
     67 * \date 2011-10-31
    7668 *
    7769 */
  • src/molecule.cpp

    r7f1b51 r8859b5  
    751751};
    752752
     753/** Sets the molecule::cell_size to the components of \a *dim (rectangular box)
     754 * \param *dim vector class
     755 */
     756void molecule::SetBoxDimension(Vector *dim)
     757{
     758  RealSpaceMatrix domain;
     759  for(int i =0; i<NDIM;++i)
     760    domain.at(i,i) = dim->at(i);
     761  World::getInstance().setDomain(domain);
     762};
     763
    753764/** Removes atom from molecule list, but does not delete it.
    754765 * \param *pointer atom to be removed
  • src/molecule.hpp

    r7f1b51 r8859b5  
    273273  bool CenterInBox();
    274274  bool BoundInBox();
    275   void CenterEdge();
     275  void CenterEdge(Vector *max);
    276276  void CenterOrigin();
    277277  void CenterPeriodic();
    278   void CenterAtVector(const Vector &newcenter);
    279   void Translate(const Vector &x);
    280   void TranslatePeriodically(const Vector &trans);
    281   void Mirror(const Vector &x);
    282   void Align(const Vector &n);
    283   void Scale(const double *factor);
     278  void CenterAtVector(Vector *newcenter);
     279  void Translate(const Vector *x);
     280  void TranslatePeriodically(const Vector *trans);
     281  void Mirror(const Vector *x);
     282  void Align(Vector *n);
     283  void Scale(const double ** const factor);
    284284  void DeterminePeriodicCenter(Vector &center, const enum HydrogenTreatment _treatment = ExcludeHydrogen);
    285   const Vector DetermineCenterOfGravity() const;
    286   const Vector DetermineCenterOfAll() const;
     285  Vector * DetermineCenterOfGravity() const;
     286  Vector * DetermineCenterOfAll() const;
     287  Vector * DetermineCenterOfBox() const;
    287288  void SetNameFromFilename(const char *filename);
     289  void SetBoxDimension(Vector *dim);
    288290  bool ScanForPeriodicCorrection();
    289291  double VolumeOfConvexEnvelope(bool IsAngstroem);
  • src/molecule_geometry.cpp

    r7f1b51 r8859b5  
    5858/************************************* Functions for class molecule *********************************/
    5959
    60 /** Returns vector pointing to center of the domain.
    61  * \return pointer to center of the domain
    62  */
    63 #ifdef HAVE_INLINE
    64 inline
    65 #else
    66 static
    67 #endif
    68 const Vector DetermineCenterOfBox()
    69 {
    70   Vector a(0.5,0.5,0.5);
    71   const RealSpaceMatrix &M = World::getInstance().getDomain().getM();
    72   a *= M;
    73   return a;
    74 }
    7560
    7661/** Centers the molecule in the box whose lengths are defined by vector \a *BoxLengths.
     
    8065{
    8166  bool status = true;
    82   const Vector Center = DetermineCenterOfAll();
    83   const Vector CenterBox = DetermineCenterOfBox();
     67  const Vector *Center = DetermineCenterOfAll();
     68  const Vector *CenterBox = DetermineCenterOfBox();
    8469  Box &domain = World::getInstance().getDomain();
    8570
    8671  // go through all atoms
    87   Translate(CenterBox - Center);
     72  for (iterator iter = begin(); iter != end(); ++iter) {
     73    if (DoLog(4) && (*Center != *CenterBox))
     74      LOG(4, "INFO: atom before is at " << **iter);
     75    **iter -= *Center;
     76    **iter += *CenterBox;
     77    if (DoLog(4) && (*Center != *CenterBox))
     78      LOG(4, "INFO: atom after is at " << **iter);
     79  }
    8880  getAtomSet().transformNodes(boost::bind(&Box::enforceBoundaryConditions,domain,_1));
    8981
     82  delete(Center);
     83  delete(CenterBox);
    9084  return status;
    91 }
     85};
    9286
    9387
     
    10498
    10599  return status;
    106 }
     100};
    107101
    108102/** Centers the edge of the atoms at (0,0,0).
    109  */
    110 void molecule::CenterEdge()
    111 {
    112   const_iterator iter = begin();
    113   if (iter != end()) {   //list not empty?
    114     Vector min = (*begin())->getPosition();
    115     for (;iter != end(); ++iter) { // continue with second if present
    116       const Vector &currentPos = (*iter)->getPosition();
    117       for (size_t i=0;i<NDIM;++i)
    118         if (min[i] > currentPos[i])
    119           min[i] = currentPos[i];
    120     }
    121     Translate(-1.*min);
    122   }
    123 }
     103 * \param *out output stream for debugging
     104 * \param *max coordinates of other edge, specifying box dimensions.
     105 */
     106void molecule::CenterEdge(Vector *max)
     107{
     108//  Info info(__func__);
     109  Vector *min = new Vector;
     110
     111  const_iterator iter = begin();  // start at first in list
     112  if (iter != end()) { //list not empty?
     113    for (int i=NDIM;i--;) {
     114      max->at(i) = (*iter)->at(i);
     115      min->at(i) = (*iter)->at(i);
     116    }
     117    for (; iter != end(); ++iter) {// continue with second if present
     118      //(*iter)->Output(1,1,out);
     119      for (int i=NDIM;i--;) {
     120        max->at(i) = (max->at(i) < (*iter)->at(i)) ? (*iter)->at(i) : max->at(i);
     121        min->at(i) = (min->at(i) > (*iter)->at(i)) ? (*iter)->at(i) : min->at(i);
     122      }
     123    }
     124    LOG(1, "INFO: Maximum is " << *max << ", Minimum is " << *min << ".");
     125    min->Scale(-1.);
     126    (*max) += (*min);
     127    Translate(min);
     128  }
     129  delete(min);
     130};
    124131
    125132/** Centers the center of the atoms at (0,0,0).
     
    140147    }
    141148    Center.Scale(-1./(double)Num); // divide through total number (and sign for direction)
    142     Translate(Center);
    143   }
    144 }
     149    Translate(&Center);
     150  }
     151};
    145152
    146153/** Returns vector pointing to center of all atoms.
    147154 * \return pointer to center of all vector
    148155 */
    149 const Vector molecule::DetermineCenterOfAll() const
     156Vector * molecule::DetermineCenterOfAll() const
    150157{
    151158  const_iterator iter = begin();  // start at first in list
    152   Vector a;
     159  Vector *a = new Vector();
    153160  double Num = 0;
    154161
    155   a.Zero();
     162  a->Zero();
    156163
    157164  if (iter != end()) {   //list not empty?
    158165    for (; iter != end(); ++iter) {  // continue with second if present
    159166      Num++;
    160       a += (*iter)->getPosition();
    161     }
    162     a.Scale(1./(double)Num); // divide through total mass (and sign for direction)
     167      (*a) += (*iter)->getPosition();
     168    }
     169    a->Scale(1./(double)Num); // divide through total mass (and sign for direction)
    163170  }
    164171  return a;
    165 }
    166 
     172};
     173
     174/** Returns vector pointing to center of the domain.
     175 * \return pointer to center of the domain
     176 */
     177Vector * molecule::DetermineCenterOfBox() const
     178{
     179  Vector *a = new Vector(0.5,0.5,0.5);
     180  const RealSpaceMatrix &M = World::getInstance().getDomain().getM();
     181  (*a) *= M;
     182  return a;
     183};
    167184
    168185/** Returns vector pointing to center of gravity.
     
    170187 * \return pointer to center of gravity vector
    171188 */
    172 const Vector molecule::DetermineCenterOfGravity() const
     189Vector * molecule::DetermineCenterOfGravity() const
    173190{
    174191  const_iterator iter = begin();  // start at first in list
    175   Vector a;
     192  Vector *a = new Vector();
    176193  Vector tmp;
    177194  double Num = 0;
    178195
    179   a.Zero();
     196  a->Zero();
    180197
    181198  if (iter != end()) {   //list not empty?
     
    183200      Num += (*iter)->getType()->getMass();
    184201      tmp = (*iter)->getType()->getMass() * (*iter)->getPosition();
    185       a += tmp;
    186     }
    187     a.Scale(1./Num); // divide through total mass
    188   }
    189   LOG(1, "INFO: Resulting center of gravity: " << a << ".");
     202      (*a) += tmp;
     203    }
     204    a->Scale(1./Num); // divide through total mass
     205  }
     206  LOG(1, "INFO: Resulting center of gravity: " << *a << ".");
    190207  return a;
    191 }
     208};
    192209
    193210/** Centers the center of gravity of the atoms at (0,0,0).
     
    199216  Vector NewCenter;
    200217  DeterminePeriodicCenter(NewCenter);
    201   Translate(-1.*NewCenter);
    202 }
     218  // go through all atoms
     219  for (iterator iter = begin(); iter != end(); ++iter) {
     220    **iter -= NewCenter;
     221  }
     222};
    203223
    204224
     
    207227 * \param *center return vector for translation vector
    208228 */
    209 void molecule::CenterAtVector(const Vector &newcenter)
    210 {
    211   Translate(-1.*newcenter);
    212 }
     229void molecule::CenterAtVector(Vector *newcenter)
     230{
     231  // go through all atoms
     232  for (iterator iter = begin(); iter != end(); ++iter) {
     233    **iter -= *newcenter;
     234  }
     235};
    213236
    214237/** Calculate the inertia tensor of a the molecule.
     
    219242{
    220243  RealSpaceMatrix InertiaTensor;
    221   const Vector CenterOfGravity = DetermineCenterOfGravity();
     244  Vector *CenterOfGravity = DetermineCenterOfGravity();
    222245
    223246  // reset inertia tensor
     
    227250  for (const_iterator iter = begin(); iter != end(); ++iter) {
    228251    Vector x = (*iter)->getPosition();
    229     x -= CenterOfGravity;
     252    x -= *CenterOfGravity;
    230253    const double mass = (*iter)->getType()->getMass();
    231254    InertiaTensor.at(0,0) += mass*(x[1]*x[1] + x[2]*x[2]);
     
    242265  LOG(1, "INFO: The inertia tensor of molecule " << getName() <<  " is:" << InertiaTensor);
    243266
     267  delete CenterOfGravity;
    244268  return InertiaTensor;
    245269}
     
    252276void molecule::RotateToPrincipalAxisSystem(const Vector &Axis)
    253277{
    254   const Vector CenterOfGravity = DetermineCenterOfGravity();
     278  Vector *CenterOfGravity = DetermineCenterOfGravity();
    255279  RealSpaceMatrix InertiaTensor = getInertiaTensor();
    256280
     
    264288
    265289  // obtain first column, eigenvector to biggest eigenvalue
    266   const Vector BiggestEigenvector(InertiaTensor.column(Eigenvalues.SmallestComponent()));
     290  Vector BiggestEigenvector(InertiaTensor.column(Eigenvalues.SmallestComponent()));
    267291  Vector DesiredAxis(Axis.getNormalized());
    268292
     
    278302  // and rotate
    279303  for (iterator iter = begin(); iter != end(); ++iter) {
    280     *(*iter) -= CenterOfGravity;
     304    *(*iter) -= *CenterOfGravity;
    281305    (*iter)->setPosition(RotationAxis.rotateVector((*iter)->getPosition(), alpha));
    282     *(*iter) += CenterOfGravity;
     306    *(*iter) += *CenterOfGravity;
    283307  }
    284308  LOG(0, "STATUS: done.");
     309
     310  delete CenterOfGravity;
    285311}
    286312
     
    293319 * x=(**factor) * x (as suggested by comment)
    294320 */
    295 void molecule::Scale(const double *factor)
     321void molecule::Scale(const double ** const factor)
    296322{
    297323  for (iterator iter = begin(); iter != end(); ++iter) {
    298324    for (size_t j=0;j<(*iter)->getTrajectorySize();j++) {
    299325      Vector temp = (*iter)->getPositionAtStep(j);
    300       temp.ScaleAll(factor);
     326      temp.ScaleAll(*factor);
    301327      (*iter)->setPositionAtStep(j,temp);
    302328    }
     
    307333 * \param trans[] translation vector.
    308334 */
    309 void molecule::Translate(const Vector &trans)
    310 {
    311   getAtomSet().translate(trans);
     335void molecule::Translate(const Vector *trans)
     336{
     337  for (iterator iter = begin(); iter != end(); ++iter) {
     338    for (size_t j=0;j<(*iter)->getTrajectorySize();j++) {
     339      (*iter)->setPositionAtStep(j, (*iter)->getPositionAtStep(j) + (*trans));
     340    }
     341  }
    312342};
    313343
     
    316346 * TODO treatment of trajectories missing
    317347 */
    318 void molecule::TranslatePeriodically(const Vector &trans)
    319 {
    320   Translate(trans);
     348void molecule::TranslatePeriodically(const Vector *trans)
     349{
    321350  Box &domain = World::getInstance().getDomain();
     351
     352  // go through all atoms
     353  for (iterator iter = begin(); iter != end(); ++iter) {
     354    **iter += *trans;
     355  }
    322356  getAtomSet().transformNodes(boost::bind(&Box::enforceBoundaryConditions,domain,_1));
     357
    323358};
    324359
     
    327362 * \param n[] normal vector of mirror plane.
    328363 */
    329 void molecule::Mirror(const Vector &n)
    330 {
    331   Plane p(n,0);
     364void molecule::Mirror(const Vector *n)
     365{
     366  OBSERVE;
     367  Plane p(*n,0);
    332368  getAtomSet().transformNodes(boost::bind(&Plane::mirrorVector,p,_1));
    333369};
     
    345381  Vector Testvector, Translationvector;
    346382  Vector Center;
    347   const BondGraph * const BG = World::getInstance().getBondGraph();
     383  BondGraph *BG = World::getInstance().getBondGraph();
    348384
    349385  do {
     
    396432
    397433  Center.Scale(1./static_cast<double>(getAtomCount()));
    398   CenterAtVector(Center);
     434  CenterAtVector(&Center);
    399435};
    400436
     
    402438 * \param n[] alignment vector.
    403439 */
    404 void molecule::Align(const Vector &n)
     440void molecule::Align(Vector *n)
    405441{
    406442  double alpha, tmp;
    407443  Vector z_axis;
    408   Vector alignment(n);
    409444  z_axis[0] = 0.;
    410445  z_axis[1] = 0.;
     
    413448  // rotate on z-x plane
    414449  LOG(0, "Begin of Aligning all atoms.");
    415   alpha = atan(-alignment.at(0)/alignment.at(2));
     450  alpha = atan(-n->at(0)/n->at(2));
    416451  LOG(1, "INFO: Z-X-angle: " << alpha << " ... ");
    417452  for (iterator iter = begin(); iter != end(); ++iter) {
     
    427462  }
    428463  // rotate n vector
    429   tmp = alignment.at(0);
    430   alignment.at(0) =  cos(alpha) * tmp +  sin(alpha) * alignment.at(2);
    431   alignment.at(2) = -sin(alpha) * tmp +  cos(alpha) * alignment.at(2);
    432   LOG(1, "alignment vector after first rotation: " << alignment);
     464  tmp = n->at(0);
     465  n->at(0) =  cos(alpha) * tmp +  sin(alpha) * n->at(2);
     466  n->at(2) = -sin(alpha) * tmp +  cos(alpha) * n->at(2);
     467  LOG(1, "alignment vector after first rotation: " << n);
    433468
    434469  // rotate on z-y plane
    435   alpha = atan(-alignment.at(1)/alignment.at(2));
     470  alpha = atan(-n->at(1)/n->at(2));
    436471  LOG(1, "INFO: Z-Y-angle: " << alpha << " ... ");
    437472  for (iterator iter = begin(); iter != end(); ++iter) {
     
    447482  }
    448483  // rotate n vector (for consistency check)
    449   tmp = alignment.at(1);
    450   alignment.at(1) =  cos(alpha) * tmp +  sin(alpha) * alignment.at(2);
    451   alignment.at(2) = -sin(alpha) * tmp +  cos(alpha) * alignment.at(2);
    452 
    453   LOG(1, "alignment vector after second rotation: " << alignment);
     484  tmp = n->at(1);
     485  n->at(1) =  cos(alpha) * tmp +  sin(alpha) * n->at(2);
     486  n->at(2) = -sin(alpha) * tmp +  cos(alpha) * n->at(2);
     487
     488
     489  LOG(1, "alignment vector after second rotation: " << n);
    454490  LOG(0, "End of Aligning all atoms.");
    455491};
  • src/moleculelist.cpp

    r7f1b51 r8859b5  
    229229      }
    230230      // Center and size
    231       Vector Center = (*ListRunner)->DetermineCenterOfAll();
    232       (*out) << "\t" << Center << "\t" << sqrt(size) << endl;
     231      Vector *Center = (*ListRunner)->DetermineCenterOfAll();
     232      (*out) << "\t" << *Center << "\t" << sqrt(size) << endl;
     233      delete(Center);
    233234    }
    234235  }
     
    577578//        if (BoxDimension[k] < 1.)
    578579//          BoxDimension[k] += 1.;
    579 //      {
    580 //        RealSpaceMatrix domain;
    581 //        for(int i =0; i<NDIM;++i)
    582 //          domain.at(i,i) = BoxDimension[i];
    583 //        World::getInstance().setDomain(domain);
    584 //      }
     580//      (*ListRunner)->SetBoxDimension(&BoxDimension); // update Box of atoms by boundary
    585581//      for (int k = 0; k < NDIM; k++) {
    586582//        BoxDimension[k] = 2.5 * (World::getInstance().getConfig()->GetIsAngstroem() ? 1. : 1. / AtomicLengthToAngstroem);
  • tests/Python/AllActions/options.dat

    r7f1b51 r8859b5  
    4848default-molname "molname"
    4949deltat  "0.01"
    50 density "1.0"
    5150depth-first-search      "2."
    5251dipole-angular-correlation      "H2O"
     
    216215stretch "1. 1. 1."
    217216stretch-shapes  "1. 2. 3."
     217suspend-in-water        "1.0"
    218218take-best-of            "5"
    219219tesselation-radius      "5."
  • tests/regression/Analysis/DipoleCorrelation-DiscreteAngles/testsuite-analysis-dipole-correlation-discrete-angles.at

    r7f1b51 r8859b5  
    2222
    2323AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Analysis/DipoleCorrelation-DiscreteAngles/pre/water.xyz .], 0)
    24 AT_CHECK([../../molecuilder -i waterbox.xyz -o xyz -B "10, 0., 10, 0, 0, 10" -l water.xyz --select-molecule-by-order -1 --fill-regular-grid --mesh-size 3 3 3 --mesh-offset "0.,0.,0." --min-distance "1." --DoRotate 0], 0, [stdout], [stderr])
     24AT_CHECK([../../molecuilder -i waterbox.xyz -o xyz --change-box "10,0,10,0,0,10" --fill-void water.xyz --distances "3.1,3.1,3.1" --distance-to-boundary "1." --DoRotate 0], 0, [stdout], [stderr])
    2525AT_CHECK([../../molecuilder -i waterbox.xyz -o xyz -I --select-all-molecules --dipole-correlation --bin-start -0.5 --bin-width 1. --bin-end 359.5 --output-file waterbox_values.dat --bin-output-file waterbox_histogram.dat], 0, [stdout], [stderr])
    2626AT_CHECK([file=waterbox_histogram.dat; diff $file ${abs_top_srcdir}/tests/regression/Analysis/DipoleCorrelation-DiscreteAngles/post/waterbox_histogram.dat], 0, [ignore], [ignore])
     
    3333
    3434AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Analysis/DipoleCorrelation-DiscreteAngles/pre/water.xyz .], 0)
    35 AT_CHECK([../../molecuilder -i waterbox-mirrored.xyz -o xyz -B "10, 0., 10, 0, 0, 10" -l water.xyz --select-molecule-by-order -1 --fill-regular-grid --mesh-size 3 3 3 --mesh-offset "0.5,0.5,0.5" --min-distance "1." --DoRotate 0], 0, [stdout], [stderr])
    36 AT_CHECK([../../molecuilder -i waterbox-mirrored.xyz -I -v 3  --create-shape --shape-name "sphere1" --shape-type "sphere" --translation "5.,5.,5.5" --stretch "0.2,0.2,0.2" --select-shape-by-name "sphere1" --select-atoms-inside-volume --select-atoms-molecules --rotate-around-self 180 --axis "0,1,0"], 0, [stdout], [stderr])
     35AT_CHECK([../../molecuilder -i waterbox-mirrored.xyz -o xyz --change-box "10,0,10,0,0,10" --fill-void water.xyz --distances "3.1,3.1,3.1" --distance-to-boundary "1." --DoRotate 0], 0, [stdout], [stderr])
     36AT_CHECK([../../molecuilder -i waterbox-mirrored.xyz -I -v 3  --create-shape --shape-name "sphere1" --shape-type "sphere" --translation "5.,5.,5." --stretch "0.2,0.2,0.2" --select-shape-by-name "sphere1" --select-atoms-inside-volume --select-atoms-molecules --rotate-around-self 180 --axis "0,1,0"], 0, [stdout], [stderr])
    3737AT_CHECK([../../molecuilder -i waterbox-mirrored.xyz -o xyz -I --select-all-molecules --dipole-correlation --bin-start -0.5 --bin-width 1. --bin-end 359.5 --output-file waterbox-mirrored_values.dat --bin-output-file waterbox-mirrored_histogram.dat], 0, [stdout], [stderr])
    3838AT_CHECK([file=waterbox-mirrored_histogram.dat; diff $file ${abs_top_srcdir}/tests/regression/Analysis/DipoleCorrelation-DiscreteAngles/post/waterbox-mirrored_histogram.dat], 0, [ignore], [ignore])
  • tests/regression/Analysis/DipoleCorrelation-Empty/testsuite-analysis-dipole-correlation-empty.at

    r7f1b51 r8859b5  
    2727AT_KEYWORDS([analysis correlation dipole-correlation])
    2828AT_CHECK([../../molecuilder -i hydrogen.xyz -o xyz --add-atom 1 --domain-position "0,0,0"], 0, [stdout], [stderr])
    29 AT_CHECK([../../molecuilder -i hydrogenbox.xyz -B "18.6, 0., 18.6, 0, 0, 18.6" -o xyz -l hydrogen.xyz --select-molecule-by-order -1 --fill-regular-grid --mesh-size 6 6 6 --mesh-offset "0.,0.,0." --DoRotate 0], 0, [stdout], [stderr])
     29AT_CHECK([../../molecuilder -i hydrogenbox.xyz -o xyz --fill-void hydrogen.xyz --distances "3.1,3.1,3.1" --DoRotate 0], 0, [stdout], [stderr])
    3030AT_CHECK([../../molecuilder -i hydrogenbox.xyz -o xyz --select-molecules-by-formula H2O --dipole-correlation --bin-start 0 --bin-width 1. --bin-end 359 --output-file hydrogenbox_values.dat --bin-output-file hydrogenbox_histogram.dat], 0, [stdout], [stderr])
    3131AT_CHECK([file=hydrogenbox_histogram.dat; diff $file ${abs_top_srcdir}/tests/regression/Analysis/DipoleCorrelation-Empty/post/hydrogenbox_histogram.dat], 0, [ignore], [ignore])
  • tests/regression/Atoms/Add/testsuite-atoms-add.at

    r7f1b51 r8859b5  
    5353AT_SETUP([Atoms - adding outside boundary fails])
    5454AT_KEYWORDS([atoms boundary add-atom])
    55 # this does not fail
    56 AT_XFAIL_IF([/bin/true])
    5755
    58 AT_CHECK([../../molecuilder -i test2.conf -o mpqc pcp xyz tremolo pdb --set-boundary-conditions Ignore Ignore Ignore -a 1 --domain-position "0., 0., -1."], 5, [ignore], [ignore])
     56AT_CHECK([../../molecuilder -i test2.conf -o mpqc pcp xyz tremolo pdb --set-boundary-conditions "Ignore,Ignore,Ignore" -a 1 --domain-position "0., 0., -1."], 5, [ignore], [ignore])
    5957
    6058AT_CLEANUP
  • tests/regression/Filling/RegularGrid/post/solved_double_sles.data

    r7f1b51 r8859b5  
    115115113     H12     SLES    1       8.7336  11.8825 28.784  HAL3    111     0       0       0       0.09   
    116116114     H12     SLES    1       7.0942  11.2524 28.3633 HAL3    111     0       0       0       0.09   
    117 115     OW      TIP3    0       1.4199  1.4199  1.9239  OW      116     117     0       0       -0.834 
    118 116     HW      TIP3    0       2.1789  1.4199  2.4279  HW      115     0       0       0       0.417   
    119 117     HW      TIP3    0       2.1789  1.4199  1.4199  HW      115     0       0       0       0.417   
    120 118     OW      TIP3    0       1.4199  1.4199  4.7637  OW      119     120     0       0       -0.834 
    121 119     HW      TIP3    0       2.1789  1.4199  5.2677  HW      118     0       0       0       0.417   
    122 120     HW      TIP3    0       2.1789  1.4199  4.2597  HW      118     0       0       0       0.417   
    123 121     OW      TIP3    0       1.4199  1.4199  7.6035  OW      122     123     0       0       -0.834 
    124 122     HW      TIP3    0       2.1789  1.4199  8.1075  HW      121     0       0       0       0.417   
    125 123     HW      TIP3    0       2.1789  1.4199  7.0995  HW      121     0       0       0       0.417   
    126 124     OW      TIP3    0       1.4199  1.4199  10.4433 OW      125     126     0       0       -0.834 
    127 125     HW      TIP3    0       2.1789  1.4199  10.9473 HW      124     0       0       0       0.417   
    128 126     HW      TIP3    0       2.1789  1.4199  9.9393  HW      124     0       0       0       0.417   
    129 127     OW      TIP3    0       1.4199  1.4199  13.2831 OW      128     129     0       0       -0.834 
    130 128     HW      TIP3    0       2.1789  1.4199  13.7871 HW      127     0       0       0       0.417   
    131 129     HW      TIP3    0       2.1789  1.4199  12.7791 HW      127     0       0       0       0.417   
    132 130     OW      TIP3    0       1.4199  4.2597  1.9239  OW      131     132     0       0       -0.834 
    133 131     HW      TIP3    0       2.1789  4.2597  2.4279  HW      130     0       0       0       0.417   
    134 132     HW      TIP3    0       2.1789  4.2597  1.4199  HW      130     0       0       0       0.417   
    135 133     OW      TIP3    0       1.4199  4.2597  4.7637  OW      134     135     0       0       -0.834 
    136 134     HW      TIP3    0       2.1789  4.2597  5.2677  HW      133     0       0       0       0.417   
    137 135     HW      TIP3    0       2.1789  4.2597  4.2597  HW      133     0       0       0       0.417   
    138 136     OW      TIP3    0       1.4199  4.2597  7.6035  OW      137     138     0       0       -0.834 
    139 137     HW      TIP3    0       2.1789  4.2597  8.1075  HW      136     0       0       0       0.417   
    140 138     HW      TIP3    0       2.1789  4.2597  7.0995  HW      136     0       0       0       0.417   
    141 139     OW      TIP3    0       1.4199  4.2597  10.4433 OW      140     141     0       0       -0.834 
    142 140     HW      TIP3    0       2.1789  4.2597  10.9473 HW      139     0       0       0       0.417   
    143 141     HW      TIP3    0       2.1789  4.2597  9.9393  HW      139     0       0       0       0.417   
    144 142     OW      TIP3    0       1.4199  4.2597  13.2831 OW      143     144     0       0       -0.834 
    145 143     HW      TIP3    0       2.1789  4.2597  13.7871 HW      142     0       0       0       0.417   
    146 144     HW      TIP3    0       2.1789  4.2597  12.7791 HW      142     0       0       0       0.417   
    147 145     OW      TIP3    0       1.4199  7.0995  1.9239  OW      146     147     0       0       -0.834 
    148 146     HW      TIP3    0       2.1789  7.0995  2.4279  HW      145     0       0       0       0.417   
    149 147     HW      TIP3    0       2.1789  7.0995  1.4199  HW      145     0       0       0       0.417   
    150 148     OW      TIP3    0       1.4199  7.0995  4.7637  OW      149     150     0       0       -0.834 
    151 149     HW      TIP3    0       2.1789  7.0995  5.2677  HW      148     0       0       0       0.417   
    152 150     HW      TIP3    0       2.1789  7.0995  4.2597  HW      148     0       0       0       0.417   
    153 151     OW      TIP3    0       1.4199  7.0995  7.6035  OW      152     153     0       0       -0.834 
    154 152     HW      TIP3    0       2.1789  7.0995  8.1075  HW      151     0       0       0       0.417   
    155 153     HW      TIP3    0       2.1789  7.0995  7.0995  HW      151     0       0       0       0.417   
    156 154     OW      TIP3    0       1.4199  7.0995  10.4433 OW      155     156     0       0       -0.834 
    157 155     HW      TIP3    0       2.1789  7.0995  10.9473 HW      154     0       0       0       0.417   
    158 156     HW      TIP3    0       2.1789  7.0995  9.9393  HW      154     0       0       0       0.417   
    159 157     OW      TIP3    0       1.4199  7.0995  13.2831 OW      158     159     0       0       -0.834 
    160 158     HW      TIP3    0       2.1789  7.0995  13.7871 HW      157     0       0       0       0.417   
    161 159     HW      TIP3    0       2.1789  7.0995  12.7791 HW      157     0       0       0       0.417   
    162 160     OW      TIP3    0       1.4199  9.9393  1.9239  OW      161     162     0       0       -0.834 
    163 161     HW      TIP3    0       2.1789  9.9393  2.4279  HW      160     0       0       0       0.417   
    164 162     HW      TIP3    0       2.1789  9.9393  1.4199  HW      160     0       0       0       0.417   
    165 163     OW      TIP3    0       1.4199  9.9393  4.7637  OW      164     165     0       0       -0.834 
    166 164     HW      TIP3    0       2.1789  9.9393  5.2677  HW      163     0       0       0       0.417   
    167 165     HW      TIP3    0       2.1789  9.9393  4.2597  HW      163     0       0       0       0.417   
    168 166     OW      TIP3    0       1.4199  9.9393  7.6035  OW      167     168     0       0       -0.834 
    169 167     HW      TIP3    0       2.1789  9.9393  8.1075  HW      166     0       0       0       0.417   
    170 168     HW      TIP3    0       2.1789  9.9393  7.0995  HW      166     0       0       0       0.417   
    171 169     OW      TIP3    0       1.4199  9.9393  10.4433 OW      170     171     0       0       -0.834 
    172 170     HW      TIP3    0       2.1789  9.9393  10.9473 HW      169     0       0       0       0.417   
    173 171     HW      TIP3    0       2.1789  9.9393  9.9393  HW      169     0       0       0       0.417   
    174 172     OW      TIP3    0       1.4199  9.9393  13.2831 OW      173     174     0       0       -0.834 
    175 173     HW      TIP3    0       2.1789  9.9393  13.7871 HW      172     0       0       0       0.417   
    176 174     HW      TIP3    0       2.1789  9.9393  12.7791 HW      172     0       0       0       0.417   
    177 175     OW      TIP3    0       1.4199  12.7791 1.9239  OW      176     177     0       0       -0.834 
    178 176     HW      TIP3    0       2.1789  12.7791 2.4279  HW      175     0       0       0       0.417   
    179 177     HW      TIP3    0       2.1789  12.7791 1.4199  HW      175     0       0       0       0.417   
    180 178     OW      TIP3    0       1.4199  12.7791 4.7637  OW      179     180     0       0       -0.834 
    181 179     HW      TIP3    0       2.1789  12.7791 5.2677  HW      178     0       0       0       0.417   
    182 180     HW      TIP3    0       2.1789  12.7791 4.2597  HW      178     0       0       0       0.417   
    183 181     OW      TIP3    0       1.4199  12.7791 7.6035  OW      182     183     0       0       -0.834 
    184 182     HW      TIP3    0       2.1789  12.7791 8.1075  HW      181     0       0       0       0.417   
    185 183     HW      TIP3    0       2.1789  12.7791 7.0995  HW      181     0       0       0       0.417   
    186 184     OW      TIP3    0       1.4199  12.7791 10.4433 OW      185     186     0       0       -0.834 
    187 185     HW      TIP3    0       2.1789  12.7791 10.9473 HW      184     0       0       0       0.417   
    188 186     HW      TIP3    0       2.1789  12.7791 9.9393  HW      184     0       0       0       0.417   
    189 187     OW      TIP3    0       1.4199  12.7791 13.2831 OW      188     189     0       0       -0.834 
    190 188     HW      TIP3    0       2.1789  12.7791 13.7871 HW      187     0       0       0       0.417   
    191 189     HW      TIP3    0       2.1789  12.7791 12.7791 HW      187     0       0       0       0.417   
    192 190     OW      TIP3    0       4.2597  1.4199  1.9239  OW      191     192     0       0       -0.834 
    193 191     HW      TIP3    0       5.0187  1.4199  2.4279  HW      190     0       0       0       0.417   
    194 192     HW      TIP3    0       5.0187  1.4199  1.4199  HW      190     0       0       0       0.417   
    195 193     OW      TIP3    0       4.2597  1.4199  4.7637  OW      194     195     0       0       -0.834 
    196 194     HW      TIP3    0       5.0187  1.4199  5.2677  HW      193     0       0       0       0.417   
    197 195     HW      TIP3    0       5.0187  1.4199  4.2597  HW      193     0       0       0       0.417   
    198 196     OW      TIP3    0       4.2597  1.4199  7.6035  OW      197     198     0       0       -0.834 
    199 197     HW      TIP3    0       5.0187  1.4199  8.1075  HW      196     0       0       0       0.417   
    200 198     HW      TIP3    0       5.0187  1.4199  7.0995  HW      196     0       0       0       0.417   
    201 199     OW      TIP3    0       4.2597  1.4199  10.4433 OW      200     201     0       0       -0.834 
    202 200     HW      TIP3    0       5.0187  1.4199  10.9473 HW      199     0       0       0       0.417   
    203 201     HW      TIP3    0       5.0187  1.4199  9.9393  HW      199     0       0       0       0.417   
    204 202     OW      TIP3    0       4.2597  1.4199  13.2831 OW      203     204     0       0       -0.834 
    205 203     HW      TIP3    0       5.0187  1.4199  13.7871 HW      202     0       0       0       0.417   
    206 204     HW      TIP3    0       5.0187  1.4199  12.7791 HW      202     0       0       0       0.417   
    207 205     OW      TIP3    0       4.2597  4.2597  1.9239  OW      206     207     0       0       -0.834 
    208 206     HW      TIP3    0       5.0187  4.2597  2.4279  HW      205     0       0       0       0.417   
    209 207     HW      TIP3    0       5.0187  4.2597  1.4199  HW      205     0       0       0       0.417   
    210 208     OW      TIP3    0       4.2597  4.2597  4.7637  OW      209     210     0       0       -0.834 
    211 209     HW      TIP3    0       5.0187  4.2597  5.2677  HW      208     0       0       0       0.417   
    212 210     HW      TIP3    0       5.0187  4.2597  4.2597  HW      208     0       0       0       0.417   
    213 211     OW      TIP3    0       4.2597  4.2597  7.6035  OW      212     213     0       0       -0.834 
    214 212     HW      TIP3    0       5.0187  4.2597  8.1075  HW      211     0       0       0       0.417   
    215 213     HW      TIP3    0       5.0187  4.2597  7.0995  HW      211     0       0       0       0.417   
    216 214     OW      TIP3    0       4.2597  4.2597  10.4433 OW      215     216     0       0       -0.834 
    217 215     HW      TIP3    0       5.0187  4.2597  10.9473 HW      214     0       0       0       0.417   
    218 216     HW      TIP3    0       5.0187  4.2597  9.9393  HW      214     0       0       0       0.417   
    219 217     OW      TIP3    0       4.2597  4.2597  13.2831 OW      218     219     0       0       -0.834 
    220 218     HW      TIP3    0       5.0187  4.2597  13.7871 HW      217     0       0       0       0.417   
    221 219     HW      TIP3    0       5.0187  4.2597  12.7791 HW      217     0       0       0       0.417   
    222 220     OW      TIP3    0       4.2597  7.0995  1.9239  OW      221     222     0       0       -0.834 
    223 221     HW      TIP3    0       5.0187  7.0995  2.4279  HW      220     0       0       0       0.417   
    224 222     HW      TIP3    0       5.0187  7.0995  1.4199  HW      220     0       0       0       0.417   
    225 223     OW      TIP3    0       4.2597  7.0995  4.7637  OW      224     225     0       0       -0.834 
    226 224     HW      TIP3    0       5.0187  7.0995  5.2677  HW      223     0       0       0       0.417   
    227 225     HW      TIP3    0       5.0187  7.0995  4.2597  HW      223     0       0       0       0.417   
    228 226     OW      TIP3    0       4.2597  7.0995  7.6035  OW      227     228     0       0       -0.834 
    229 227     HW      TIP3    0       5.0187  7.0995  8.1075  HW      226     0       0       0       0.417   
    230 228     HW      TIP3    0       5.0187  7.0995  7.0995  HW      226     0       0       0       0.417   
    231 229     OW      TIP3    0       4.2597  7.0995  10.4433 OW      230     231     0       0       -0.834 
    232 230     HW      TIP3    0       5.0187  7.0995  10.9473 HW      229     0       0       0       0.417   
    233 231     HW      TIP3    0       5.0187  7.0995  9.9393  HW      229     0       0       0       0.417   
    234 232     OW      TIP3    0       4.2597  7.0995  13.2831 OW      233     234     0       0       -0.834 
    235 233     HW      TIP3    0       5.0187  7.0995  13.7871 HW      232     0       0       0       0.417   
    236 234     HW      TIP3    0       5.0187  7.0995  12.7791 HW      232     0       0       0       0.417   
    237 235     OW      TIP3    0       4.2597  9.9393  1.9239  OW      236     237     0       0       -0.834 
    238 236     HW      TIP3    0       5.0187  9.9393  2.4279  HW      235     0       0       0       0.417   
    239 237     HW      TIP3    0       5.0187  9.9393  1.4199  HW      235     0       0       0       0.417   
    240 238     OW      TIP3    0       4.2597  9.9393  4.7637  OW      239     240     0       0       -0.834 
    241 239     HW      TIP3    0       5.0187  9.9393  5.2677  HW      238     0       0       0       0.417   
    242 240     HW      TIP3    0       5.0187  9.9393  4.2597  HW      238     0       0       0       0.417   
    243 241     OW      TIP3    0       4.2597  9.9393  7.6035  OW      242     243     0       0       -0.834 
    244 242     HW      TIP3    0       5.0187  9.9393  8.1075  HW      241     0       0       0       0.417   
    245 243     HW      TIP3    0       5.0187  9.9393  7.0995  HW      241     0       0       0       0.417   
    246 244     OW      TIP3    0       4.2597  9.9393  10.4433 OW      245     246     0       0       -0.834 
    247 245     HW      TIP3    0       5.0187  9.9393  10.9473 HW      244     0       0       0       0.417   
    248 246     HW      TIP3    0       5.0187  9.9393  9.9393  HW      244     0       0       0       0.417   
    249 247     OW      TIP3    0       4.2597  9.9393  13.2831 OW      248     249     0       0       -0.834 
    250 248     HW      TIP3    0       5.0187  9.9393  13.7871 HW      247     0       0       0       0.417   
    251 249     HW      TIP3    0       5.0187  9.9393  12.7791 HW      247     0       0       0       0.417   
    252 250     OW      TIP3    0       4.2597  12.7791 1.9239  OW      251     252     0       0       -0.834 
    253 251     HW      TIP3    0       5.0187  12.7791 2.4279  HW      250     0       0       0       0.417   
    254 252     HW      TIP3    0       5.0187  12.7791 1.4199  HW      250     0       0       0       0.417   
    255 253     OW      TIP3    0       4.2597  12.7791 4.7637  OW      254     255     0       0       -0.834 
    256 254     HW      TIP3    0       5.0187  12.7791 5.2677  HW      253     0       0       0       0.417   
    257 255     HW      TIP3    0       5.0187  12.7791 4.2597  HW      253     0       0       0       0.417   
    258 256     OW      TIP3    0       4.2597  12.7791 7.6035  OW      257     258     0       0       -0.834 
    259 257     HW      TIP3    0       5.0187  12.7791 8.1075  HW      256     0       0       0       0.417   
    260 258     HW      TIP3    0       5.0187  12.7791 7.0995  HW      256     0       0       0       0.417   
    261 259     OW      TIP3    0       4.2597  12.7791 10.4433 OW      260     261     0       0       -0.834 
    262 260     HW      TIP3    0       5.0187  12.7791 10.9473 HW      259     0       0       0       0.417   
    263 261     HW      TIP3    0       5.0187  12.7791 9.9393  HW      259     0       0       0       0.417   
    264 262     OW      TIP3    0       4.2597  12.7791 13.2831 OW      263     264     0       0       -0.834 
    265 263     HW      TIP3    0       5.0187  12.7791 13.7871 HW      262     0       0       0       0.417   
    266 264     HW      TIP3    0       5.0187  12.7791 12.7791 HW      262     0       0       0       0.417   
    267 265     OW      TIP3    0       7.0995  1.4199  1.9239  OW      266     267     0       0       -0.834 
    268 266     HW      TIP3    0       7.8585  1.4199  2.4279  HW      265     0       0       0       0.417   
    269 267     HW      TIP3    0       7.8585  1.4199  1.4199  HW      265     0       0       0       0.417   
    270 268     OW      TIP3    0       7.0995  1.4199  4.7637  OW      269     270     0       0       -0.834 
    271 269     HW      TIP3    0       7.8585  1.4199  5.2677  HW      268     0       0       0       0.417   
    272 270     HW      TIP3    0       7.8585  1.4199  4.2597  HW      268     0       0       0       0.417   
    273 271     OW      TIP3    0       7.0995  1.4199  7.6035  OW      272     273     0       0       -0.834 
    274 272     HW      TIP3    0       7.8585  1.4199  8.1075  HW      271     0       0       0       0.417   
    275 273     HW      TIP3    0       7.8585  1.4199  7.0995  HW      271     0       0       0       0.417   
    276 274     OW      TIP3    0       7.0995  1.4199  10.4433 OW      275     276     0       0       -0.834 
    277 275     HW      TIP3    0       7.8585  1.4199  10.9473 HW      274     0       0       0       0.417   
    278 276     HW      TIP3    0       7.8585  1.4199  9.9393  HW      274     0       0       0       0.417   
    279 277     OW      TIP3    0       7.0995  1.4199  13.2831 OW      278     279     0       0       -0.834 
    280 278     HW      TIP3    0       7.8585  1.4199  13.7871 HW      277     0       0       0       0.417   
    281 279     HW      TIP3    0       7.8585  1.4199  12.7791 HW      277     0       0       0       0.417   
    282 280     OW      TIP3    0       7.0995  4.2597  1.9239  OW      281     282     0       0       -0.834 
    283 281     HW      TIP3    0       7.8585  4.2597  2.4279  HW      280     0       0       0       0.417   
    284 282     HW      TIP3    0       7.8585  4.2597  1.4199  HW      280     0       0       0       0.417   
    285 283     OW      TIP3    0       7.0995  4.2597  4.7637  OW      284     285     0       0       -0.834 
    286 284     HW      TIP3    0       7.8585  4.2597  5.2677  HW      283     0       0       0       0.417   
    287 285     HW      TIP3    0       7.8585  4.2597  4.2597  HW      283     0       0       0       0.417   
    288 286     OW      TIP3    0       7.0995  4.2597  7.6035  OW      287     288     0       0       -0.834 
    289 287     HW      TIP3    0       7.8585  4.2597  8.1075  HW      286     0       0       0       0.417   
    290 288     HW      TIP3    0       7.8585  4.2597  7.0995  HW      286     0       0       0       0.417   
    291 289     OW      TIP3    0       7.0995  4.2597  10.4433 OW      290     291     0       0       -0.834 
    292 290     HW      TIP3    0       7.8585  4.2597  10.9473 HW      289     0       0       0       0.417   
    293 291     HW      TIP3    0       7.8585  4.2597  9.9393  HW      289     0       0       0       0.417   
    294 292     OW      TIP3    0       7.0995  4.2597  13.2831 OW      293     294     0       0       -0.834 
    295 293     HW      TIP3    0       7.8585  4.2597  13.7871 HW      292     0       0       0       0.417   
    296 294     HW      TIP3    0       7.8585  4.2597  12.7791 HW      292     0       0       0       0.417   
    297 295     OW      TIP3    0       7.0995  7.0995  1.9239  OW      296     297     0       0       -0.834 
    298 296     HW      TIP3    0       7.8585  7.0995  2.4279  HW      295     0       0       0       0.417   
    299 297     HW      TIP3    0       7.8585  7.0995  1.4199  HW      295     0       0       0       0.417   
    300 298     OW      TIP3    0       7.0995  7.0995  4.7637  OW      299     300     0       0       -0.834 
    301 299     HW      TIP3    0       7.8585  7.0995  5.2677  HW      298     0       0       0       0.417   
    302 300     HW      TIP3    0       7.8585  7.0995  4.2597  HW      298     0       0       0       0.417   
    303 301     OW      TIP3    0       7.0995  7.0995  7.6035  OW      302     303     0       0       -0.834 
    304 302     HW      TIP3    0       7.8585  7.0995  8.1075  HW      301     0       0       0       0.417   
    305 303     HW      TIP3    0       7.8585  7.0995  7.0995  HW      301     0       0       0       0.417   
    306 304     OW      TIP3    0       7.0995  7.0995  10.4433 OW      305     306     0       0       -0.834 
    307 305     HW      TIP3    0       7.8585  7.0995  10.9473 HW      304     0       0       0       0.417   
    308 306     HW      TIP3    0       7.8585  7.0995  9.9393  HW      304     0       0       0       0.417   
    309 307     OW      TIP3    0       7.0995  9.9393  1.9239  OW      308     309     0       0       -0.834 
    310 308     HW      TIP3    0       7.8585  9.9393  2.4279  HW      307     0       0       0       0.417   
    311 309     HW      TIP3    0       7.8585  9.9393  1.4199  HW      307     0       0       0       0.417   
    312 310     OW      TIP3    0       7.0995  9.9393  4.7637  OW      311     312     0       0       -0.834 
    313 311     HW      TIP3    0       7.8585  9.9393  5.2677  HW      310     0       0       0       0.417   
    314 312     HW      TIP3    0       7.8585  9.9393  4.2597  HW      310     0       0       0       0.417   
    315 313     OW      TIP3    0       7.0995  12.7791 1.9239  OW      314     315     0       0       -0.834 
    316 314     HW      TIP3    0       7.8585  12.7791 2.4279  HW      313     0       0       0       0.417   
    317 315     HW      TIP3    0       7.8585  12.7791 1.4199  HW      313     0       0       0       0.417   
    318 316     OW      TIP3    0       7.0995  12.7791 4.7637  OW      317     318     0       0       -0.834 
    319 317     HW      TIP3    0       7.8585  12.7791 5.2677  HW      316     0       0       0       0.417   
    320 318     HW      TIP3    0       7.8585  12.7791 4.2597  HW      316     0       0       0       0.417   
    321 319     OW      TIP3    0       9.9393  1.4199  1.9239  OW      320     321     0       0       -0.834 
    322 320     HW      TIP3    0       10.6983 1.4199  2.4279  HW      319     0       0       0       0.417   
    323 321     HW      TIP3    0       10.6983 1.4199  1.4199  HW      319     0       0       0       0.417   
    324 322     OW      TIP3    0       9.9393  1.4199  4.7637  OW      323     324     0       0       -0.834 
    325 323     HW      TIP3    0       10.6983 1.4199  5.2677  HW      322     0       0       0       0.417   
    326 324     HW      TIP3    0       10.6983 1.4199  4.2597  HW      322     0       0       0       0.417   
    327 325     OW      TIP3    0       9.9393  1.4199  7.6035  OW      326     327     0       0       -0.834 
    328 326     HW      TIP3    0       10.6983 1.4199  8.1075  HW      325     0       0       0       0.417   
    329 327     HW      TIP3    0       10.6983 1.4199  7.0995  HW      325     0       0       0       0.417   
    330 328     OW      TIP3    0       9.9393  1.4199  10.4433 OW      329     330     0       0       -0.834 
    331 329     HW      TIP3    0       10.6983 1.4199  10.9473 HW      328     0       0       0       0.417   
    332 330     HW      TIP3    0       10.6983 1.4199  9.9393  HW      328     0       0       0       0.417   
    333 331     OW      TIP3    0       9.9393  1.4199  13.2831 OW      332     333     0       0       -0.834 
    334 332     HW      TIP3    0       10.6983 1.4199  13.7871 HW      331     0       0       0       0.417   
    335 333     HW      TIP3    0       10.6983 1.4199  12.7791 HW      331     0       0       0       0.417   
    336 334     OW      TIP3    0       9.9393  4.2597  1.9239  OW      335     336     0       0       -0.834 
    337 335     HW      TIP3    0       10.6983 4.2597  2.4279  HW      334     0       0       0       0.417   
    338 336     HW      TIP3    0       10.6983 4.2597  1.4199  HW      334     0       0       0       0.417   
    339 337     OW      TIP3    0       9.9393  4.2597  4.7637  OW      338     339     0       0       -0.834 
    340 338     HW      TIP3    0       10.6983 4.2597  5.2677  HW      337     0       0       0       0.417   
    341 339     HW      TIP3    0       10.6983 4.2597  4.2597  HW      337     0       0       0       0.417   
    342 340     OW      TIP3    0       9.9393  4.2597  7.6035  OW      341     342     0       0       -0.834 
    343 341     HW      TIP3    0       10.6983 4.2597  8.1075  HW      340     0       0       0       0.417   
    344 342     HW      TIP3    0       10.6983 4.2597  7.0995  HW      340     0       0       0       0.417   
    345 343     OW      TIP3    0       9.9393  4.2597  10.4433 OW      344     345     0       0       -0.834 
    346 344     HW      TIP3    0       10.6983 4.2597  10.9473 HW      343     0       0       0       0.417   
    347 345     HW      TIP3    0       10.6983 4.2597  9.9393  HW      343     0       0       0       0.417   
    348 346     OW      TIP3    0       9.9393  4.2597  13.2831 OW      347     348     0       0       -0.834 
    349 347     HW      TIP3    0       10.6983 4.2597  13.7871 HW      346     0       0       0       0.417   
    350 348     HW      TIP3    0       10.6983 4.2597  12.7791 HW      346     0       0       0       0.417   
    351 349     OW      TIP3    0       9.9393  7.0995  1.9239  OW      350     351     0       0       -0.834 
    352 350     HW      TIP3    0       10.6983 7.0995  2.4279  HW      349     0       0       0       0.417   
    353 351     HW      TIP3    0       10.6983 7.0995  1.4199  HW      349     0       0       0       0.417   
    354 352     OW      TIP3    0       9.9393  7.0995  4.7637  OW      353     354     0       0       -0.834 
    355 353     HW      TIP3    0       10.6983 7.0995  5.2677  HW      352     0       0       0       0.417   
    356 354     HW      TIP3    0       10.6983 7.0995  4.2597  HW      352     0       0       0       0.417   
    357 355     OW      TIP3    0       9.9393  7.0995  7.6035  OW      356     357     0       0       -0.834 
    358 356     HW      TIP3    0       10.6983 7.0995  8.1075  HW      355     0       0       0       0.417   
    359 357     HW      TIP3    0       10.6983 7.0995  7.0995  HW      355     0       0       0       0.417   
    360 358     OW      TIP3    0       9.9393  7.0995  10.4433 OW      359     360     0       0       -0.834 
    361 359     HW      TIP3    0       10.6983 7.0995  10.9473 HW      358     0       0       0       0.417   
    362 360     HW      TIP3    0       10.6983 7.0995  9.9393  HW      358     0       0       0       0.417   
    363 361     OW      TIP3    0       9.9393  7.0995  13.2831 OW      362     363     0       0       -0.834 
    364 362     HW      TIP3    0       10.6983 7.0995  13.7871 HW      361     0       0       0       0.417   
    365 363     HW      TIP3    0       10.6983 7.0995  12.7791 HW      361     0       0       0       0.417   
    366 364     OW      TIP3    0       9.9393  9.9393  1.9239  OW      365     366     0       0       -0.834 
    367 365     HW      TIP3    0       10.6983 9.9393  2.4279  HW      364     0       0       0       0.417   
    368 366     HW      TIP3    0       10.6983 9.9393  1.4199  HW      364     0       0       0       0.417   
    369 367     OW      TIP3    0       9.9393  9.9393  4.7637  OW      368     369     0       0       -0.834 
    370 368     HW      TIP3    0       10.6983 9.9393  5.2677  HW      367     0       0       0       0.417   
    371 369     HW      TIP3    0       10.6983 9.9393  4.2597  HW      367     0       0       0       0.417   
    372 370     OW      TIP3    0       9.9393  9.9393  7.6035  OW      371     372     0       0       -0.834 
    373 371     HW      TIP3    0       10.6983 9.9393  8.1075  HW      370     0       0       0       0.417   
    374 372     HW      TIP3    0       10.6983 9.9393  7.0995  HW      370     0       0       0       0.417   
    375 373     OW      TIP3    0       9.9393  9.9393  10.4433 OW      374     375     0       0       -0.834 
    376 374     HW      TIP3    0       10.6983 9.9393  10.9473 HW      373     0       0       0       0.417   
    377 375     HW      TIP3    0       10.6983 9.9393  9.9393  HW      373     0       0       0       0.417   
    378 376     OW      TIP3    0       9.9393  9.9393  13.2831 OW      377     378     0       0       -0.834 
    379 377     HW      TIP3    0       10.6983 9.9393  13.7871 HW      376     0       0       0       0.417   
    380 378     HW      TIP3    0       10.6983 9.9393  12.7791 HW      376     0       0       0       0.417   
    381 379     OW      TIP3    0       9.9393  12.7791 1.9239  OW      380     381     0       0       -0.834 
    382 380     HW      TIP3    0       10.6983 12.7791 2.4279  HW      379     0       0       0       0.417   
    383 381     HW      TIP3    0       10.6983 12.7791 1.4199  HW      379     0       0       0       0.417   
    384 382     OW      TIP3    0       9.9393  12.7791 4.7637  OW      383     384     0       0       -0.834 
    385 383     HW      TIP3    0       10.6983 12.7791 5.2677  HW      382     0       0       0       0.417   
    386 384     HW      TIP3    0       10.6983 12.7791 4.2597  HW      382     0       0       0       0.417   
    387 385     OW      TIP3    0       9.9393  12.7791 7.6035  OW      386     387     0       0       -0.834 
    388 386     HW      TIP3    0       10.6983 12.7791 8.1075  HW      385     0       0       0       0.417   
    389 387     HW      TIP3    0       10.6983 12.7791 7.0995  HW      385     0       0       0       0.417   
    390 388     OW      TIP3    0       9.9393  12.7791 10.4433 OW      389     390     0       0       -0.834 
    391 389     HW      TIP3    0       10.6983 12.7791 10.9473 HW      388     0       0       0       0.417   
    392 390     HW      TIP3    0       10.6983 12.7791 9.9393  HW      388     0       0       0       0.417   
    393 391     OW      TIP3    0       9.9393  12.7791 13.2831 OW      392     393     0       0       -0.834 
    394 392     HW      TIP3    0       10.6983 12.7791 13.7871 HW      391     0       0       0       0.417   
    395 393     HW      TIP3    0       10.6983 12.7791 12.7791 HW      391     0       0       0       0.417   
    396 394     OW      TIP3    0       12.7791 1.4199  1.9239  OW      395     396     0       0       -0.834 
    397 395     HW      TIP3    0       13.5381 1.4199  2.4279  HW      394     0       0       0       0.417   
    398 396     HW      TIP3    0       13.5381 1.4199  1.4199  HW      394     0       0       0       0.417   
    399 397     OW      TIP3    0       12.7791 1.4199  4.7637  OW      398     399     0       0       -0.834 
    400 398     HW      TIP3    0       13.5381 1.4199  5.2677  HW      397     0       0       0       0.417   
    401 399     HW      TIP3    0       13.5381 1.4199  4.2597  HW      397     0       0       0       0.417   
    402 400     OW      TIP3    0       12.7791 1.4199  7.6035  OW      401     402     0       0       -0.834 
    403 401     HW      TIP3    0       13.5381 1.4199  8.1075  HW      400     0       0       0       0.417   
    404 402     HW      TIP3    0       13.5381 1.4199  7.0995  HW      400     0       0       0       0.417   
    405 403     OW      TIP3    0       12.7791 1.4199  10.4433 OW      404     405     0       0       -0.834 
    406 404     HW      TIP3    0       13.5381 1.4199  10.9473 HW      403     0       0       0       0.417   
    407 405     HW      TIP3    0       13.5381 1.4199  9.9393  HW      403     0       0       0       0.417   
    408 406     OW      TIP3    0       12.7791 1.4199  13.2831 OW      407     408     0       0       -0.834 
    409 407     HW      TIP3    0       13.5381 1.4199  13.7871 HW      406     0       0       0       0.417   
    410 408     HW      TIP3    0       13.5381 1.4199  12.7791 HW      406     0       0       0       0.417   
    411 409     OW      TIP3    0       12.7791 4.2597  1.9239  OW      410     411     0       0       -0.834 
    412 410     HW      TIP3    0       13.5381 4.2597  2.4279  HW      409     0       0       0       0.417   
    413 411     HW      TIP3    0       13.5381 4.2597  1.4199  HW      409     0       0       0       0.417   
    414 412     OW      TIP3    0       12.7791 4.2597  4.7637  OW      413     414     0       0       -0.834 
    415 413     HW      TIP3    0       13.5381 4.2597  5.2677  HW      412     0       0       0       0.417   
    416 414     HW      TIP3    0       13.5381 4.2597  4.2597  HW      412     0       0       0       0.417   
    417 415     OW      TIP3    0       12.7791 4.2597  7.6035  OW      416     417     0       0       -0.834 
    418 416     HW      TIP3    0       13.5381 4.2597  8.1075  HW      415     0       0       0       0.417   
    419 417     HW      TIP3    0       13.5381 4.2597  7.0995  HW      415     0       0       0       0.417   
    420 418     OW      TIP3    0       12.7791 4.2597  10.4433 OW      419     420     0       0       -0.834 
    421 419     HW      TIP3    0       13.5381 4.2597  10.9473 HW      418     0       0       0       0.417   
    422 420     HW      TIP3    0       13.5381 4.2597  9.9393  HW      418     0       0       0       0.417   
    423 421     OW      TIP3    0       12.7791 4.2597  13.2831 OW      422     423     0       0       -0.834 
    424 422     HW      TIP3    0       13.5381 4.2597  13.7871 HW      421     0       0       0       0.417   
    425 423     HW      TIP3    0       13.5381 4.2597  12.7791 HW      421     0       0       0       0.417   
    426 424     OW      TIP3    0       12.7791 7.0995  1.9239  OW      425     426     0       0       -0.834 
    427 425     HW      TIP3    0       13.5381 7.0995  2.4279  HW      424     0       0       0       0.417   
    428 426     HW      TIP3    0       13.5381 7.0995  1.4199  HW      424     0       0       0       0.417   
    429 427     OW      TIP3    0       12.7791 7.0995  4.7637  OW      428     429     0       0       -0.834 
    430 428     HW      TIP3    0       13.5381 7.0995  5.2677  HW      427     0       0       0       0.417   
    431 429     HW      TIP3    0       13.5381 7.0995  4.2597  HW      427     0       0       0       0.417   
    432 430     OW      TIP3    0       12.7791 7.0995  7.6035  OW      431     432     0       0       -0.834 
    433 431     HW      TIP3    0       13.5381 7.0995  8.1075  HW      430     0       0       0       0.417   
    434 432     HW      TIP3    0       13.5381 7.0995  7.0995  HW      430     0       0       0       0.417   
    435 433     OW      TIP3    0       12.7791 7.0995  10.4433 OW      434     435     0       0       -0.834 
    436 434     HW      TIP3    0       13.5381 7.0995  10.9473 HW      433     0       0       0       0.417   
    437 435     HW      TIP3    0       13.5381 7.0995  9.9393  HW      433     0       0       0       0.417   
    438 436     OW      TIP3    0       12.7791 7.0995  13.2831 OW      437     438     0       0       -0.834 
    439 437     HW      TIP3    0       13.5381 7.0995  13.7871 HW      436     0       0       0       0.417   
    440 438     HW      TIP3    0       13.5381 7.0995  12.7791 HW      436     0       0       0       0.417   
    441 439     OW      TIP3    0       12.7791 9.9393  1.9239  OW      440     441     0       0       -0.834 
    442 440     HW      TIP3    0       13.5381 9.9393  2.4279  HW      439     0       0       0       0.417   
    443 441     HW      TIP3    0       13.5381 9.9393  1.4199  HW      439     0       0       0       0.417   
    444 442     OW      TIP3    0       12.7791 9.9393  4.7637  OW      443     444     0       0       -0.834 
    445 443     HW      TIP3    0       13.5381 9.9393  5.2677  HW      442     0       0       0       0.417   
    446 444     HW      TIP3    0       13.5381 9.9393  4.2597  HW      442     0       0       0       0.417   
    447 445     OW      TIP3    0       12.7791 9.9393  7.6035  OW      446     447     0       0       -0.834 
    448 446     HW      TIP3    0       13.5381 9.9393  8.1075  HW      445     0       0       0       0.417   
    449 447     HW      TIP3    0       13.5381 9.9393  7.0995  HW      445     0       0       0       0.417   
    450 448     OW      TIP3    0       12.7791 9.9393  10.4433 OW      449     450     0       0       -0.834 
    451 449     HW      TIP3    0       13.5381 9.9393  10.9473 HW      448     0       0       0       0.417   
    452 450     HW      TIP3    0       13.5381 9.9393  9.9393  HW      448     0       0       0       0.417   
    453 451     OW      TIP3    0       12.7791 9.9393  13.2831 OW      452     453     0       0       -0.834 
    454 452     HW      TIP3    0       13.5381 9.9393  13.7871 HW      451     0       0       0       0.417   
    455 453     HW      TIP3    0       13.5381 9.9393  12.7791 HW      451     0       0       0       0.417   
    456 454     OW      TIP3    0       12.7791 12.7791 1.9239  OW      455     456     0       0       -0.834 
    457 455     HW      TIP3    0       13.5381 12.7791 2.4279  HW      454     0       0       0       0.417   
    458 456     HW      TIP3    0       13.5381 12.7791 1.4199  HW      454     0       0       0       0.417   
    459 457     OW      TIP3    0       12.7791 12.7791 4.7637  OW      458     459     0       0       -0.834 
    460 458     HW      TIP3    0       13.5381 12.7791 5.2677  HW      457     0       0       0       0.417   
    461 459     HW      TIP3    0       13.5381 12.7791 4.2597  HW      457     0       0       0       0.417   
    462 460     OW      TIP3    0       12.7791 12.7791 7.6035  OW      461     462     0       0       -0.834 
    463 461     HW      TIP3    0       13.5381 12.7791 8.1075  HW      460     0       0       0       0.417   
    464 462     HW      TIP3    0       13.5381 12.7791 7.0995  HW      460     0       0       0       0.417   
    465 463     OW      TIP3    0       12.7791 12.7791 10.4433 OW      464     465     0       0       -0.834 
    466 464     HW      TIP3    0       13.5381 12.7791 10.9473 HW      463     0       0       0       0.417   
    467 465     HW      TIP3    0       13.5381 12.7791 9.9393  HW      463     0       0       0       0.417   
    468 466     OW      TIP3    0       12.7791 12.7791 13.2831 OW      467     468     0       0       -0.834 
    469 467     HW      TIP3    0       13.5381 12.7791 13.7871 HW      466     0       0       0       0.417   
    470 468     HW      TIP3    0       13.5381 12.7791 12.7791 HW      466     0       0       0       0.417   
     117115     OW      TIP3    0       1.4199  1.4199  1.4199  OW      116     117     0       0       -0.834 
     118116     HW      TIP3    0       2.1789  1.4199  1.9239  HW      115     0       0       0       0.417   
     119117     HW      TIP3    0       2.1789  1.4199  0.9159  HW      115     0       0       0       0.417   
     120118     OW      TIP3    0       1.4199  1.4199  4.2597  OW      119     120     0       0       -0.834 
     121119     HW      TIP3    0       2.1789  1.4199  4.7637  HW      118     0       0       0       0.417   
     122120     HW      TIP3    0       2.1789  1.4199  3.7557  HW      118     0       0       0       0.417   
     123121     OW      TIP3    0       1.4199  1.4199  7.0995  OW      122     123     0       0       -0.834 
     124122     HW      TIP3    0       2.1789  1.4199  7.6035  HW      121     0       0       0       0.417   
     125123     HW      TIP3    0       2.1789  1.4199  6.5955  HW      121     0       0       0       0.417   
     126124     OW      TIP3    0       1.4199  1.4199  9.9393  OW      125     126     0       0       -0.834 
     127125     HW      TIP3    0       2.1789  1.4199  10.4433 HW      124     0       0       0       0.417   
     128126     HW      TIP3    0       2.1789  1.4199  9.4353  HW      124     0       0       0       0.417   
     129127     OW      TIP3    0       1.4199  1.4199  12.7791 OW      128     129     0       0       -0.834 
     130128     HW      TIP3    0       2.1789  1.4199  13.2831 HW      127     0       0       0       0.417   
     131129     HW      TIP3    0       2.1789  1.4199  12.2751 HW      127     0       0       0       0.417   
     132130     OW      TIP3    0       1.4199  4.2597  1.4199  OW      131     132     0       0       -0.834 
     133131     HW      TIP3    0       2.1789  4.2597  1.9239  HW      130     0       0       0       0.417   
     134132     HW      TIP3    0       2.1789  4.2597  0.9159  HW      130     0       0       0       0.417   
     135133     OW      TIP3    0       1.4199  4.2597  4.2597  OW      134     135     0       0       -0.834 
     136134     HW      TIP3    0       2.1789  4.2597  4.7637  HW      133     0       0       0       0.417   
     137135     HW      TIP3    0       2.1789  4.2597  3.7557  HW      133     0       0       0       0.417   
     138136     OW      TIP3    0       1.4199  4.2597  7.0995  OW      137     138     0       0       -0.834 
     139137     HW      TIP3    0       2.1789  4.2597  7.6035  HW      136     0       0       0       0.417   
     140138     HW      TIP3    0       2.1789  4.2597  6.5955  HW      136     0       0       0       0.417   
     141139     OW      TIP3    0       1.4199  4.2597  9.9393  OW      140     141     0       0       -0.834 
     142140     HW      TIP3    0       2.1789  4.2597  10.4433 HW      139     0       0       0       0.417   
     143141     HW      TIP3    0       2.1789  4.2597  9.4353  HW      139     0       0       0       0.417   
     144142     OW      TIP3    0       1.4199  4.2597  12.7791 OW      143     144     0       0       -0.834 
     145143     HW      TIP3    0       2.1789  4.2597  13.2831 HW      142     0       0       0       0.417   
     146144     HW      TIP3    0       2.1789  4.2597  12.2751 HW      142     0       0       0       0.417   
     147145     OW      TIP3    0       1.4199  7.0995  1.4199  OW      146     147     0       0       -0.834 
     148146     HW      TIP3    0       2.1789  7.0995  1.9239  HW      145     0       0       0       0.417   
     149147     HW      TIP3    0       2.1789  7.0995  0.9159  HW      145     0       0       0       0.417   
     150148     OW      TIP3    0       1.4199  7.0995  4.2597  OW      149     150     0       0       -0.834 
     151149     HW      TIP3    0       2.1789  7.0995  4.7637  HW      148     0       0       0       0.417   
     152150     HW      TIP3    0       2.1789  7.0995  3.7557  HW      148     0       0       0       0.417   
     153151     OW      TIP3    0       1.4199  7.0995  7.0995  OW      152     153     0       0       -0.834 
     154152     HW      TIP3    0       2.1789  7.0995  7.6035  HW      151     0       0       0       0.417   
     155153     HW      TIP3    0       2.1789  7.0995  6.5955  HW      151     0       0       0       0.417   
     156154     OW      TIP3    0       1.4199  7.0995  9.9393  OW      155     156     0       0       -0.834 
     157155     HW      TIP3    0       2.1789  7.0995  10.4433 HW      154     0       0       0       0.417   
     158156     HW      TIP3    0       2.1789  7.0995  9.4353  HW      154     0       0       0       0.417   
     159157     OW      TIP3    0       1.4199  7.0995  12.7791 OW      158     159     0       0       -0.834 
     160158     HW      TIP3    0       2.1789  7.0995  13.2831 HW      157     0       0       0       0.417   
     161159     HW      TIP3    0       2.1789  7.0995  12.2751 HW      157     0       0       0       0.417   
     162160     OW      TIP3    0       1.4199  9.9393  1.4199  OW      161     162     0       0       -0.834 
     163161     HW      TIP3    0       2.1789  9.9393  1.9239  HW      160     0       0       0       0.417   
     164162     HW      TIP3    0       2.1789  9.9393  0.9159  HW      160     0       0       0       0.417   
     165163     OW      TIP3    0       1.4199  9.9393  4.2597  OW      164     165     0       0       -0.834 
     166164     HW      TIP3    0       2.1789  9.9393  4.7637  HW      163     0       0       0       0.417   
     167165     HW      TIP3    0       2.1789  9.9393  3.7557  HW      163     0       0       0       0.417   
     168166     OW      TIP3    0       1.4199  9.9393  7.0995  OW      167     168     0       0       -0.834 
     169167     HW      TIP3    0       2.1789  9.9393  7.6035  HW      166     0       0       0       0.417   
     170168     HW      TIP3    0       2.1789  9.9393  6.5955  HW      166     0       0       0       0.417   
     171169     OW      TIP3    0       1.4199  9.9393  9.9393  OW      170     171     0       0       -0.834 
     172170     HW      TIP3    0       2.1789  9.9393  10.4433 HW      169     0       0       0       0.417   
     173171     HW      TIP3    0       2.1789  9.9393  9.4353  HW      169     0       0       0       0.417   
     174172     OW      TIP3    0       1.4199  9.9393  12.7791 OW      173     174     0       0       -0.834 
     175173     HW      TIP3    0       2.1789  9.9393  13.2831 HW      172     0       0       0       0.417   
     176174     HW      TIP3    0       2.1789  9.9393  12.2751 HW      172     0       0       0       0.417   
     177175     OW      TIP3    0       1.4199  12.7791 1.4199  OW      176     177     0       0       -0.834 
     178176     HW      TIP3    0       2.1789  12.7791 1.9239  HW      175     0       0       0       0.417   
     179177     HW      TIP3    0       2.1789  12.7791 0.9159  HW      175     0       0       0       0.417   
     180178     OW      TIP3    0       1.4199  12.7791 4.2597  OW      179     180     0       0       -0.834 
     181179     HW      TIP3    0       2.1789  12.7791 4.7637  HW      178     0       0       0       0.417   
     182180     HW      TIP3    0       2.1789  12.7791 3.7557  HW      178     0       0       0       0.417   
     183181     OW      TIP3    0       1.4199  12.7791 7.0995  OW      182     183     0       0       -0.834 
     184182     HW      TIP3    0       2.1789  12.7791 7.6035  HW      181     0       0       0       0.417   
     185183     HW      TIP3    0       2.1789  12.7791 6.5955  HW      181     0       0       0       0.417   
     186184     OW      TIP3    0       1.4199  12.7791 9.9393  OW      185     186     0       0       -0.834 
     187185     HW      TIP3    0       2.1789  12.7791 10.4433 HW      184     0       0       0       0.417   
     188186     HW      TIP3    0       2.1789  12.7791 9.4353  HW      184     0       0       0       0.417   
     189187     OW      TIP3    0       1.4199  12.7791 12.7791 OW      188     189     0       0       -0.834 
     190188     HW      TIP3    0       2.1789  12.7791 13.2831 HW      187     0       0       0       0.417   
     191189     HW      TIP3    0       2.1789  12.7791 12.2751 HW      187     0       0       0       0.417   
     192190     OW      TIP3    0       4.2597  1.4199  1.4199  OW      191     192     0       0       -0.834 
     193191     HW      TIP3    0       5.0187  1.4199  1.9239  HW      190     0       0       0       0.417   
     194192     HW      TIP3    0       5.0187  1.4199  0.9159  HW      190     0       0       0       0.417   
     195193     OW      TIP3    0       4.2597  1.4199  4.2597  OW      194     195     0       0       -0.834 
     196194     HW      TIP3    0       5.0187  1.4199  4.7637  HW      193     0       0       0       0.417   
     197195     HW      TIP3    0       5.0187  1.4199  3.7557  HW      193     0       0       0       0.417   
     198196     OW      TIP3    0       4.2597  1.4199  7.0995  OW      197     198     0       0       -0.834 
     199197     HW      TIP3    0       5.0187  1.4199  7.6035  HW      196     0       0       0       0.417   
     200198     HW      TIP3    0       5.0187  1.4199  6.5955  HW      196     0       0       0       0.417   
     201199     OW      TIP3    0       4.2597  1.4199  9.9393  OW      200     201     0       0       -0.834 
     202200     HW      TIP3    0       5.0187  1.4199  10.4433 HW      199     0       0       0       0.417   
     203201     HW      TIP3    0       5.0187  1.4199  9.4353  HW      199     0       0       0       0.417   
     204202     OW      TIP3    0       4.2597  1.4199  12.7791 OW      203     204     0       0       -0.834 
     205203     HW      TIP3    0       5.0187  1.4199  13.2831 HW      202     0       0       0       0.417   
     206204     HW      TIP3    0       5.0187  1.4199  12.2751 HW      202     0       0       0       0.417   
     207205     OW      TIP3    0       4.2597  4.2597  1.4199  OW      206     207     0       0       -0.834 
     208206     HW      TIP3    0       5.0187  4.2597  1.9239  HW      205     0       0       0       0.417   
     209207     HW      TIP3    0       5.0187  4.2597  0.9159  HW      205     0       0       0       0.417   
     210208     OW      TIP3    0       4.2597  4.2597  4.2597  OW      209     210     0       0       -0.834 
     211209     HW      TIP3    0       5.0187  4.2597  4.7637  HW      208     0       0       0       0.417   
     212210     HW      TIP3    0       5.0187  4.2597  3.7557  HW      208     0       0       0       0.417   
     213211     OW      TIP3    0       4.2597  4.2597  7.0995  OW      212     213     0       0       -0.834 
     214212     HW      TIP3    0       5.0187  4.2597  7.6035  HW      211     0       0       0       0.417   
     215213     HW      TIP3    0       5.0187  4.2597  6.5955  HW      211     0       0       0       0.417   
     216214     OW      TIP3    0       4.2597  4.2597  9.9393  OW      215     216     0       0       -0.834 
     217215     HW      TIP3    0       5.0187  4.2597  10.4433 HW      214     0       0       0       0.417   
     218216     HW      TIP3    0       5.0187  4.2597  9.4353  HW      214     0       0       0       0.417   
     219217     OW      TIP3    0       4.2597  4.2597  12.7791 OW      218     219     0       0       -0.834 
     220218     HW      TIP3    0       5.0187  4.2597  13.2831 HW      217     0       0       0       0.417   
     221219     HW      TIP3    0       5.0187  4.2597  12.2751 HW      217     0       0       0       0.417   
     222220     OW      TIP3    0       4.2597  7.0995  1.4199  OW      221     222     0       0       -0.834 
     223221     HW      TIP3    0       5.0187  7.0995  1.9239  HW      220     0       0       0       0.417   
     224222     HW      TIP3    0       5.0187  7.0995  0.9159  HW      220     0       0       0       0.417   
     225223     OW      TIP3    0       4.2597  7.0995  4.2597  OW      224     225     0       0       -0.834 
     226224     HW      TIP3    0       5.0187  7.0995  4.7637  HW      223     0       0       0       0.417   
     227225     HW      TIP3    0       5.0187  7.0995  3.7557  HW      223     0       0       0       0.417   
     228226     OW      TIP3    0       4.2597  7.0995  7.0995  OW      227     228     0       0       -0.834 
     229227     HW      TIP3    0       5.0187  7.0995  7.6035  HW      226     0       0       0       0.417   
     230228     HW      TIP3    0       5.0187  7.0995  6.5955  HW      226     0       0       0       0.417   
     231229     OW      TIP3    0       4.2597  7.0995  9.9393  OW      230     231     0       0       -0.834 
     232230     HW      TIP3    0       5.0187  7.0995  10.4433 HW      229     0       0       0       0.417   
     233231     HW      TIP3    0       5.0187  7.0995  9.4353  HW      229     0       0       0       0.417   
     234232     OW      TIP3    0       4.2597  7.0995  12.7791 OW      233     234     0       0       -0.834 
     235233     HW      TIP3    0       5.0187  7.0995  13.2831 HW      232     0       0       0       0.417   
     236234     HW      TIP3    0       5.0187  7.0995  12.2751 HW      232     0       0       0       0.417   
     237235     OW      TIP3    0       4.2597  9.9393  1.4199  OW      236     237     0       0       -0.834 
     238236     HW      TIP3    0       5.0187  9.9393  1.9239  HW      235     0       0       0       0.417   
     239237     HW      TIP3    0       5.0187  9.9393  0.9159  HW      235     0       0       0       0.417   
     240238     OW      TIP3    0       4.2597  9.9393  4.2597  OW      239     240     0       0       -0.834 
     241239     HW      TIP3    0       5.0187  9.9393  4.7637  HW      238     0       0       0       0.417   
     242240     HW      TIP3    0       5.0187  9.9393  3.7557  HW      238     0       0       0       0.417   
     243241     OW      TIP3    0       4.2597  9.9393  7.0995  OW      242     243     0       0       -0.834 
     244242     HW      TIP3    0       5.0187  9.9393  7.6035  HW      241     0       0       0       0.417   
     245243     HW      TIP3    0       5.0187  9.9393  6.5955  HW      241     0       0       0       0.417   
     246244     OW      TIP3    0       4.2597  9.9393  9.9393  OW      245     246     0       0       -0.834 
     247245     HW      TIP3    0       5.0187  9.9393  10.4433 HW      244     0       0       0       0.417   
     248246     HW      TIP3    0       5.0187  9.9393  9.4353  HW      244     0       0       0       0.417   
     249247     OW      TIP3    0       4.2597  9.9393  12.7791 OW      248     249     0       0       -0.834 
     250248     HW      TIP3    0       5.0187  9.9393  13.2831 HW      247     0       0       0       0.417   
     251249     HW      TIP3    0       5.0187  9.9393  12.2751 HW      247     0       0       0       0.417   
     252250     OW      TIP3    0       4.2597  12.7791 1.4199  OW      251     252     0       0       -0.834 
     253251     HW      TIP3    0       5.0187  12.7791 1.9239  HW      250     0       0       0       0.417   
     254252     HW      TIP3    0       5.0187  12.7791 0.9159  HW      250     0       0       0       0.417   
     255253     OW      TIP3    0       4.2597  12.7791 4.2597  OW      254     255     0       0       -0.834 
     256254     HW      TIP3    0       5.0187  12.7791 4.7637  HW      253     0       0       0       0.417   
     257255     HW      TIP3    0       5.0187  12.7791 3.7557  HW      253     0       0       0       0.417   
     258256     OW      TIP3    0       4.2597  12.7791 7.0995  OW      257     258     0       0       -0.834 
     259257     HW      TIP3    0       5.0187  12.7791 7.6035  HW      256     0       0       0       0.417   
     260258     HW      TIP3    0       5.0187  12.7791 6.5955  HW      256     0       0       0       0.417   
     261259     OW      TIP3    0       4.2597  12.7791 9.9393  OW      260     261     0       0       -0.834 
     262260     HW      TIP3    0       5.0187  12.7791 10.4433 HW      259     0       0       0       0.417   
     263261     HW      TIP3    0       5.0187  12.7791 9.4353  HW      259     0       0       0       0.417   
     264262     OW      TIP3    0       4.2597  12.7791 12.7791 OW      263     264     0       0       -0.834 
     265263     HW      TIP3    0       5.0187  12.7791 13.2831 HW      262     0       0       0       0.417   
     266264     HW      TIP3    0       5.0187  12.7791 12.2751 HW      262     0       0       0       0.417   
     267265     OW      TIP3    0       7.0995  1.4199  1.4199  OW      266     267     0       0       -0.834 
     268266     HW      TIP3    0       7.8585  1.4199  1.9239  HW      265     0       0       0       0.417   
     269267     HW      TIP3    0       7.8585  1.4199  0.9159  HW      265     0       0       0       0.417   
     270268     OW      TIP3    0       7.0995  1.4199  4.2597  OW      269     270     0       0       -0.834 
     271269     HW      TIP3    0       7.8585  1.4199  4.7637  HW      268     0       0       0       0.417   
     272270     HW      TIP3    0       7.8585  1.4199  3.7557  HW      268     0       0       0       0.417   
     273271     OW      TIP3    0       7.0995  1.4199  7.0995  OW      272     273     0       0       -0.834 
     274272     HW      TIP3    0       7.8585  1.4199  7.6035  HW      271     0       0       0       0.417   
     275273     HW      TIP3    0       7.8585  1.4199  6.5955  HW      271     0       0       0       0.417   
     276274     OW      TIP3    0       7.0995  1.4199  9.9393  OW      275     276     0       0       -0.834 
     277275     HW      TIP3    0       7.8585  1.4199  10.4433 HW      274     0       0       0       0.417   
     278276     HW      TIP3    0       7.8585  1.4199  9.4353  HW      274     0       0       0       0.417   
     279277     OW      TIP3    0       7.0995  1.4199  12.7791 OW      278     279     0       0       -0.834 
     280278     HW      TIP3    0       7.8585  1.4199  13.2831 HW      277     0       0       0       0.417   
     281279     HW      TIP3    0       7.8585  1.4199  12.2751 HW      277     0       0       0       0.417   
     282280     OW      TIP3    0       7.0995  4.2597  1.4199  OW      281     282     0       0       -0.834 
     283281     HW      TIP3    0       7.8585  4.2597  1.9239  HW      280     0       0       0       0.417   
     284282     HW      TIP3    0       7.8585  4.2597  0.9159  HW      280     0       0       0       0.417   
     285283     OW      TIP3    0       7.0995  4.2597  4.2597  OW      284     285     0       0       -0.834 
     286284     HW      TIP3    0       7.8585  4.2597  4.7637  HW      283     0       0       0       0.417   
     287285     HW      TIP3    0       7.8585  4.2597  3.7557  HW      283     0       0       0       0.417   
     288286     OW      TIP3    0       7.0995  4.2597  7.0995  OW      287     288     0       0       -0.834 
     289287     HW      TIP3    0       7.8585  4.2597  7.6035  HW      286     0       0       0       0.417   
     290288     HW      TIP3    0       7.8585  4.2597  6.5955  HW      286     0       0       0       0.417   
     291289     OW      TIP3    0       7.0995  4.2597  9.9393  OW      290     291     0       0       -0.834 
     292290     HW      TIP3    0       7.8585  4.2597  10.4433 HW      289     0       0       0       0.417   
     293291     HW      TIP3    0       7.8585  4.2597  9.4353  HW      289     0       0       0       0.417   
     294292     OW      TIP3    0       7.0995  4.2597  12.7791 OW      293     294     0       0       -0.834 
     295293     HW      TIP3    0       7.8585  4.2597  13.2831 HW      292     0       0       0       0.417   
     296294     HW      TIP3    0       7.8585  4.2597  12.2751 HW      292     0       0       0       0.417   
     297295     OW      TIP3    0       7.0995  7.0995  1.4199  OW      296     297     0       0       -0.834 
     298296     HW      TIP3    0       7.8585  7.0995  1.9239  HW      295     0       0       0       0.417   
     299297     HW      TIP3    0       7.8585  7.0995  0.9159  HW      295     0       0       0       0.417   
     300298     OW      TIP3    0       7.0995  7.0995  4.2597  OW      299     300     0       0       -0.834 
     301299     HW      TIP3    0       7.8585  7.0995  4.7637  HW      298     0       0       0       0.417   
     302300     HW      TIP3    0       7.8585  7.0995  3.7557  HW      298     0       0       0       0.417   
     303301     OW      TIP3    0       7.0995  7.0995  7.0995  OW      302     303     0       0       -0.834 
     304302     HW      TIP3    0       7.8585  7.0995  7.6035  HW      301     0       0       0       0.417   
     305303     HW      TIP3    0       7.8585  7.0995  6.5955  HW      301     0       0       0       0.417   
     306304     OW      TIP3    0       7.0995  7.0995  9.9393  OW      305     306     0       0       -0.834 
     307305     HW      TIP3    0       7.8585  7.0995  10.4433 HW      304     0       0       0       0.417   
     308306     HW      TIP3    0       7.8585  7.0995  9.4353  HW      304     0       0       0       0.417   
     309307     OW      TIP3    0       7.0995  9.9393  1.4199  OW      308     309     0       0       -0.834 
     310308     HW      TIP3    0       7.8585  9.9393  1.9239  HW      307     0       0       0       0.417   
     311309     HW      TIP3    0       7.8585  9.9393  0.9159  HW      307     0       0       0       0.417   
     312310     OW      TIP3    0       7.0995  9.9393  4.2597  OW      311     312     0       0       -0.834 
     313311     HW      TIP3    0       7.8585  9.9393  4.7637  HW      310     0       0       0       0.417   
     314312     HW      TIP3    0       7.8585  9.9393  3.7557  HW      310     0       0       0       0.417   
     315313     OW      TIP3    0       7.0995  12.7791 1.4199  OW      314     315     0       0       -0.834 
     316314     HW      TIP3    0       7.8585  12.7791 1.9239  HW      313     0       0       0       0.417   
     317315     HW      TIP3    0       7.8585  12.7791 0.9159  HW      313     0       0       0       0.417   
     318316     OW      TIP3    0       7.0995  12.7791 4.2597  OW      317     318     0       0       -0.834 
     319317     HW      TIP3    0       7.8585  12.7791 4.7637  HW      316     0       0       0       0.417   
     320318     HW      TIP3    0       7.8585  12.7791 3.7557  HW      316     0       0       0       0.417   
     321319     OW      TIP3    0       9.9393  1.4199  1.4199  OW      320     321     0       0       -0.834 
     322320     HW      TIP3    0       10.6983 1.4199  1.9239  HW      319     0       0       0       0.417   
     323321     HW      TIP3    0       10.6983 1.4199  0.9159  HW      319     0       0       0       0.417   
     324322     OW      TIP3    0       9.9393  1.4199  4.2597  OW      323     324     0       0       -0.834 
     325323     HW      TIP3    0       10.6983 1.4199  4.7637  HW      322     0       0       0       0.417   
     326324     HW      TIP3    0       10.6983 1.4199  3.7557  HW      322     0       0       0       0.417   
     327325     OW      TIP3    0       9.9393  1.4199  7.0995  OW      326     327     0       0       -0.834 
     328326     HW      TIP3    0       10.6983 1.4199  7.6035  HW      325     0       0       0       0.417   
     329327     HW      TIP3    0       10.6983 1.4199  6.5955  HW      325     0       0       0       0.417   
     330328     OW      TIP3    0       9.9393  1.4199  9.9393  OW      329     330     0       0       -0.834 
     331329     HW      TIP3    0       10.6983 1.4199  10.4433 HW      328     0       0       0       0.417   
     332330     HW      TIP3    0       10.6983 1.4199  9.4353  HW      328     0       0       0       0.417   
     333331     OW      TIP3    0       9.9393  1.4199  12.7791 OW      332     333     0       0       -0.834 
     334332     HW      TIP3    0       10.6983 1.4199  13.2831 HW      331     0       0       0       0.417   
     335333     HW      TIP3    0       10.6983 1.4199  12.2751 HW      331     0       0       0       0.417   
     336334     OW      TIP3    0       9.9393  4.2597  1.4199  OW      335     336     0       0       -0.834 
     337335     HW      TIP3    0       10.6983 4.2597  1.9239  HW      334     0       0       0       0.417   
     338336     HW      TIP3    0       10.6983 4.2597  0.9159  HW      334     0       0       0       0.417   
     339337     OW      TIP3    0       9.9393  4.2597  4.2597  OW      338     339     0       0       -0.834 
     340338     HW      TIP3    0       10.6983 4.2597  4.7637  HW      337     0       0       0       0.417   
     341339     HW      TIP3    0       10.6983 4.2597  3.7557  HW      337     0       0       0       0.417   
     342340     OW      TIP3    0       9.9393  4.2597  7.0995  OW      341     342     0       0       -0.834 
     343341     HW      TIP3    0       10.6983 4.2597  7.6035  HW      340     0       0       0       0.417   
     344342     HW      TIP3    0       10.6983 4.2597  6.5955  HW      340     0       0       0       0.417   
     345343     OW      TIP3    0       9.9393  4.2597  9.9393  OW      344     345     0       0       -0.834 
     346344     HW      TIP3    0       10.6983 4.2597  10.4433 HW      343     0       0       0       0.417   
     347345     HW      TIP3    0       10.6983 4.2597  9.4353  HW      343     0       0       0       0.417   
     348346     OW      TIP3    0       9.9393  4.2597  12.7791 OW      347     348     0       0       -0.834 
     349347     HW      TIP3    0       10.6983 4.2597  13.2831 HW      346     0       0       0       0.417   
     350348     HW      TIP3    0       10.6983 4.2597  12.2751 HW      346     0       0       0       0.417   
     351349     OW      TIP3    0       9.9393  7.0995  1.4199  OW      350     351     0       0       -0.834 
     352350     HW      TIP3    0       10.6983 7.0995  1.9239  HW      349     0       0       0       0.417   
     353351     HW      TIP3    0       10.6983 7.0995  0.9159  HW      349     0       0       0       0.417   
     354352     OW      TIP3    0       9.9393  7.0995  4.2597  OW      353     354     0       0       -0.834 
     355353     HW      TIP3    0       10.6983 7.0995  4.7637  HW      352     0       0       0       0.417   
     356354     HW      TIP3    0       10.6983 7.0995  3.7557  HW      352     0       0       0       0.417   
     357355     OW      TIP3    0       9.9393  7.0995  7.0995  OW      356     357     0       0       -0.834 
     358356     HW      TIP3    0       10.6983 7.0995  7.6035  HW      355     0       0       0       0.417   
     359357     HW      TIP3    0       10.6983 7.0995  6.5955  HW      355     0       0       0       0.417   
     360358     OW      TIP3    0       9.9393  7.0995  9.9393  OW      359     360     0       0       -0.834 
     361359     HW      TIP3    0       10.6983 7.0995  10.4433 HW      358     0       0       0       0.417   
     362360     HW      TIP3    0       10.6983 7.0995  9.4353  HW      358     0       0       0       0.417   
     363361     OW      TIP3    0       9.9393  7.0995  12.7791 OW      362     363     0       0       -0.834 
     364362     HW      TIP3    0       10.6983 7.0995  13.2831 HW      361     0       0       0       0.417   
     365363     HW      TIP3    0       10.6983 7.0995  12.2751 HW      361     0       0       0       0.417   
     366364     OW      TIP3    0       9.9393  9.9393  1.4199  OW      365     366     0       0       -0.834 
     367365     HW      TIP3    0       10.6983 9.9393  1.9239  HW      364     0       0       0       0.417   
     368366     HW      TIP3    0       10.6983 9.9393  0.9159  HW      364     0       0       0       0.417   
     369367     OW      TIP3    0       9.9393  9.9393  4.2597  OW      368     369     0       0       -0.834 
     370368     HW      TIP3    0       10.6983 9.9393  4.7637  HW      367     0       0       0       0.417   
     371369     HW      TIP3    0       10.6983 9.9393  3.7557  HW      367     0       0       0       0.417   
     372370     OW      TIP3    0       9.9393  9.9393  7.0995  OW      371     372     0       0       -0.834 
     373371     HW      TIP3    0       10.6983 9.9393  7.6035  HW      370     0       0       0       0.417   
     374372     HW      TIP3    0       10.6983 9.9393  6.5955  HW      370     0       0       0       0.417   
     375373     OW      TIP3    0       9.9393  9.9393  9.9393  OW      374     375     0       0       -0.834 
     376374     HW      TIP3    0       10.6983 9.9393  10.4433 HW      373     0       0       0       0.417   
     377375     HW      TIP3    0       10.6983 9.9393  9.4353  HW      373     0       0       0       0.417   
     378376     OW      TIP3    0       9.9393  9.9393  12.7791 OW      377     378     0       0       -0.834 
     379377     HW      TIP3    0       10.6983 9.9393  13.2831 HW      376     0       0       0       0.417   
     380378     HW      TIP3    0       10.6983 9.9393  12.2751 HW      376     0       0       0       0.417   
     381379     OW      TIP3    0       9.9393  12.7791 1.4199  OW      380     381     0       0       -0.834 
     382380     HW      TIP3    0       10.6983 12.7791 1.9239  HW      379     0       0       0       0.417   
     383381     HW      TIP3    0       10.6983 12.7791 0.9159  HW      379     0       0       0       0.417   
     384382     OW      TIP3    0       9.9393  12.7791 4.2597  OW      383     384     0       0       -0.834 
     385383     HW      TIP3    0       10.6983 12.7791 4.7637  HW      382     0       0       0       0.417   
     386384     HW      TIP3    0       10.6983 12.7791 3.7557  HW      382     0       0       0       0.417   
     387385     OW      TIP3    0       9.9393  12.7791 7.0995  OW      386     387     0       0       -0.834 
     388386     HW      TIP3    0       10.6983 12.7791 7.6035  HW      385     0       0       0       0.417   
     389387     HW      TIP3    0       10.6983 12.7791 6.5955  HW      385     0       0       0       0.417   
     390388     OW      TIP3    0       9.9393  12.7791 9.9393  OW      389     390     0       0       -0.834 
     391389     HW      TIP3    0       10.6983 12.7791 10.4433 HW      388     0       0       0       0.417   
     392390     HW      TIP3    0       10.6983 12.7791 9.4353  HW      388     0       0       0       0.417   
     393391     OW      TIP3    0       9.9393  12.7791 12.7791 OW      392     393     0       0       -0.834 
     394392     HW      TIP3    0       10.6983 12.7791 13.2831 HW      391     0       0       0       0.417   
     395393     HW      TIP3    0       10.6983 12.7791 12.2751 HW      391     0       0       0       0.417   
     396394     OW      TIP3    0       12.7791 1.4199  1.4199  OW      395     396     0       0       -0.834 
     397395     HW      TIP3    0       13.5381 1.4199  1.9239  HW      394     0       0       0       0.417   
     398396     HW      TIP3    0       13.5381 1.4199  0.9159  HW      394     0       0       0       0.417   
     399397     OW      TIP3    0       12.7791 1.4199  4.2597  OW      398     399     0       0       -0.834 
     400398     HW      TIP3    0       13.5381 1.4199  4.7637  HW      397     0       0       0       0.417   
     401399     HW      TIP3    0       13.5381 1.4199  3.7557  HW      397     0       0       0       0.417   
     402400     OW      TIP3    0       12.7791 1.4199  7.0995  OW      401     402     0       0       -0.834 
     403401     HW      TIP3    0       13.5381 1.4199  7.6035  HW      400     0       0       0       0.417   
     404402     HW      TIP3    0       13.5381 1.4199  6.5955  HW      400     0       0       0       0.417   
     405403     OW      TIP3    0       12.7791 1.4199  9.9393  OW      404     405     0       0       -0.834 
     406404     HW      TIP3    0       13.5381 1.4199  10.4433 HW      403     0       0       0       0.417   
     407405     HW      TIP3    0       13.5381 1.4199  9.4353  HW      403     0       0       0       0.417   
     408406     OW      TIP3    0       12.7791 1.4199  12.7791 OW      407     408     0       0       -0.834 
     409407     HW      TIP3    0       13.5381 1.4199  13.2831 HW      406     0       0       0       0.417   
     410408     HW      TIP3    0       13.5381 1.4199  12.2751 HW      406     0       0       0       0.417   
     411409     OW      TIP3    0       12.7791 4.2597  1.4199  OW      410     411     0       0       -0.834 
     412410     HW      TIP3    0       13.5381 4.2597  1.9239  HW      409     0       0       0       0.417   
     413411     HW      TIP3    0       13.5381 4.2597  0.9159  HW      409     0       0       0       0.417   
     414412     OW      TIP3    0       12.7791 4.2597  4.2597  OW      413     414     0       0       -0.834 
     415413     HW      TIP3    0       13.5381 4.2597  4.7637  HW      412     0       0       0       0.417   
     416414     HW      TIP3    0       13.5381 4.2597  3.7557  HW      412     0       0       0       0.417   
     417415     OW      TIP3    0       12.7791 4.2597  7.0995  OW      416     417     0       0       -0.834 
     418416     HW      TIP3    0       13.5381 4.2597  7.6035  HW      415     0       0       0       0.417   
     419417     HW      TIP3    0       13.5381 4.2597  6.5955  HW      415     0       0       0       0.417   
     420418     OW      TIP3    0       12.7791 4.2597  9.9393  OW      419     420     0       0       -0.834 
     421419     HW      TIP3    0       13.5381 4.2597  10.4433 HW      418     0       0       0       0.417   
     422420     HW      TIP3    0       13.5381 4.2597  9.4353  HW      418     0       0       0       0.417   
     423421     OW      TIP3    0       12.7791 4.2597  12.7791 OW      422     423     0       0       -0.834 
     424422     HW      TIP3    0       13.5381 4.2597  13.2831 HW      421     0       0       0       0.417   
     425423     HW      TIP3    0       13.5381 4.2597  12.2751 HW      421     0       0       0       0.417   
     426424     OW      TIP3    0       12.7791 7.0995  1.4199  OW      425     426     0       0       -0.834 
     427425     HW      TIP3    0       13.5381 7.0995  1.9239  HW      424     0       0       0       0.417   
     428426     HW      TIP3    0       13.5381 7.0995  0.9159  HW      424     0       0       0       0.417   
     429427     OW      TIP3    0       12.7791 7.0995  4.2597  OW      428     429     0       0       -0.834 
     430428     HW      TIP3    0       13.5381 7.0995  4.7637  HW      427     0       0       0       0.417   
     431429     HW      TIP3    0       13.5381 7.0995  3.7557  HW      427     0       0       0       0.417   
     432430     OW      TIP3    0       12.7791 7.0995  7.0995  OW      431     432     0       0       -0.834 
     433431     HW      TIP3    0       13.5381 7.0995  7.6035  HW      430     0       0       0       0.417   
     434432     HW      TIP3    0       13.5381 7.0995  6.5955  HW      430     0       0       0       0.417   
     435433     OW      TIP3    0       12.7791 7.0995  9.9393  OW      434     435     0       0       -0.834 
     436434     HW      TIP3    0       13.5381 7.0995  10.4433 HW      433     0       0       0       0.417   
     437435     HW      TIP3    0       13.5381 7.0995  9.4353  HW      433     0       0       0       0.417   
     438436     OW      TIP3    0       12.7791 7.0995  12.7791 OW      437     438     0       0       -0.834 
     439437     HW      TIP3    0       13.5381 7.0995  13.2831 HW      436     0       0       0       0.417   
     440438     HW      TIP3    0       13.5381 7.0995  12.2751 HW      436     0       0       0       0.417   
     441439     OW      TIP3    0       12.7791 9.9393  1.4199  OW      440     441     0       0       -0.834 
     442440     HW      TIP3    0       13.5381 9.9393  1.9239  HW      439     0       0       0       0.417   
     443441     HW      TIP3    0       13.5381 9.9393  0.9159  HW      439     0       0       0       0.417   
     444442     OW      TIP3    0       12.7791 9.9393  4.2597  OW      443     444     0       0       -0.834 
     445443     HW      TIP3    0       13.5381 9.9393  4.7637  HW      442     0       0       0       0.417   
     446444     HW      TIP3    0       13.5381 9.9393  3.7557  HW      442     0       0       0       0.417   
     447445     OW      TIP3    0       12.7791 9.9393  7.0995  OW      446     447     0       0       -0.834 
     448446     HW      TIP3    0       13.5381 9.9393  7.6035  HW      445     0       0       0       0.417   
     449447     HW      TIP3    0       13.5381 9.9393  6.5955  HW      445     0       0       0       0.417   
     450448     OW      TIP3    0       12.7791 9.9393  9.9393  OW      449     450     0       0       -0.834 
     451449     HW      TIP3    0       13.5381 9.9393  10.4433 HW      448     0       0       0       0.417   
     452450     HW      TIP3    0       13.5381 9.9393  9.4353  HW      448     0       0       0       0.417   
     453451     OW      TIP3    0       12.7791 9.9393  12.7791 OW      452     453     0       0       -0.834 
     454452     HW      TIP3    0       13.5381 9.9393  13.2831 HW      451     0       0       0       0.417   
     455453     HW      TIP3    0       13.5381 9.9393  12.2751 HW      451     0       0       0       0.417   
     456454     OW      TIP3    0       12.7791 12.7791 1.4199  OW      455     456     0       0       -0.834 
     457455     HW      TIP3    0       13.5381 12.7791 1.9239  HW      454     0       0       0       0.417   
     458456     HW      TIP3    0       13.5381 12.7791 0.9159  HW      454     0       0       0       0.417   
     459457     OW      TIP3    0       12.7791 12.7791 4.2597  OW      458     459     0       0       -0.834 
     460458     HW      TIP3    0       13.5381 12.7791 4.7637  HW      457     0       0       0       0.417   
     461459     HW      TIP3    0       13.5381 12.7791 3.7557  HW      457     0       0       0       0.417   
     462460     OW      TIP3    0       12.7791 12.7791 7.0995  OW      461     462     0       0       -0.834 
     463461     HW      TIP3    0       13.5381 12.7791 7.6035  HW      460     0       0       0       0.417   
     464462     HW      TIP3    0       13.5381 12.7791 6.5955  HW      460     0       0       0       0.417   
     465463     OW      TIP3    0       12.7791 12.7791 9.9393  OW      464     465     0       0       -0.834 
     466464     HW      TIP3    0       13.5381 12.7791 10.4433 HW      463     0       0       0       0.417   
     467465     HW      TIP3    0       13.5381 12.7791 9.4353  HW      463     0       0       0       0.417   
     468466     OW      TIP3    0       12.7791 12.7791 12.7791 OW      467     468     0       0       -0.834 
     469467     HW      TIP3    0       13.5381 12.7791 13.2831 HW      466     0       0       0       0.417   
     470468     HW      TIP3    0       13.5381 12.7791 12.2751 HW      466     0       0       0       0.417   
  • tests/regression/Filling/RegularGrid/post/solved_single_sles.data

    r7f1b51 r8859b5  
    585856      H12     SLES    1       8.7336  6.8825  28.784  HAL3    54      0       0       0       0.09   
    595957      H12     SLES    1       7.0942  6.2524  28.3633 HAL3    54      0       0       0       0.09   
    60 58      OW      TIP3    0       1.4199  1.66216 2.04563 OW      59      60      0       0       -0.834 
    61 59      HW      TIP3    0       2.1789  1.66216 2.54963 HW      58      0       0       0       0.417   
    62 60      HW      TIP3    0       2.1789  1.66216 1.54163 HW      58      0       0       0       0.417   
    63 61      OW      TIP3    0       1.4199  1.66216 5.1289  OW      62      63      0       0       -0.834 
    64 62      HW      TIP3    0       2.1789  1.66216 5.6329  HW      61      0       0       0       0.417   
    65 63      HW      TIP3    0       2.1789  1.66216 4.6249  HW      61      0       0       0       0.417   
    66 64      OW      TIP3    0       1.4199  1.66216 8.21216 OW      65      66      0       0       -0.834 
    67 65      HW      TIP3    0       2.1789  1.66216 8.71616 HW      64      0       0       0       0.417   
    68 66      HW      TIP3    0       2.1789  1.66216 7.70816 HW      64      0       0       0       0.417   
    69 67      OW      TIP3    0       1.4199  1.66216 11.2954 OW      68      69      0       0       -0.834 
    70 68      HW      TIP3    0       2.1789  1.66216 11.7994 HW      67      0       0       0       0.417   
    71 69      HW      TIP3    0       2.1789  1.66216 10.7914 HW      67      0       0       0       0.417   
    72 70      OW      TIP3    0       1.4199  1.66216 14.3787 OW      71      72      0       0       -0.834 
    73 71      HW      TIP3    0       2.1789  1.66216 14.8827 HW      70      0       0       0       0.417   
    74 72      HW      TIP3    0       2.1789  1.66216 13.8747 HW      70      0       0       0       0.417   
    75 73      OW      TIP3    0       1.4199  1.66216 17.4619 OW      74      75      0       0       -0.834 
    76 74      HW      TIP3    0       2.1789  1.66216 17.966  HW      73      0       0       0       0.417   
    77 75      HW      TIP3    0       2.1789  1.66216 16.958  HW      73      0       0       0       0.417   
    78 76      OW      TIP3    0       1.4199  1.66216 20.5452 OW      77      78      0       0       -0.834 
    79 77      HW      TIP3    0       2.1789  1.66216 21.0492 HW      76      0       0       0       0.417   
    80 78      HW      TIP3    0       2.1789  1.66216 20.0412 HW      76      0       0       0       0.417   
    81 79      OW      TIP3    0       1.4199  1.66216 23.6285 OW      80      81      0       0       -0.834 
    82 80      HW      TIP3    0       2.1789  1.66216 24.1325 HW      79      0       0       0       0.417   
    83 81      HW      TIP3    0       2.1789  1.66216 23.1245 HW      79      0       0       0       0.417   
    84 82      OW      TIP3    0       1.4199  1.66216 26.7117 OW      83      84      0       0       -0.834 
    85 83      HW      TIP3    0       2.1789  1.66216 27.2157 HW      82      0       0       0       0.417   
    86 84      HW      TIP3    0       2.1789  1.66216 26.2077 HW      82      0       0       0       0.417   
    87 85      OW      TIP3    0       1.4199  1.66216 29.795  OW      86      87      0       0       -0.834 
    88 86      HW      TIP3    0       2.1789  1.66216 30.299  HW      85      0       0       0       0.417   
    89 87      HW      TIP3    0       2.1789  1.66216 29.291  HW      85      0       0       0       0.417   
    90 88      OW      TIP3    0       1.4199  1.66216 32.8783 OW      89      90      0       0       -0.834 
    91 89      HW      TIP3    0       2.1789  1.66216 33.3823 HW      88      0       0       0       0.417   
    92 90      HW      TIP3    0       2.1789  1.66216 32.3743 HW      88      0       0       0       0.417   
    93 91      OW      TIP3    0       1.4199  4.98648 2.04563 OW      92      93      0       0       -0.834 
    94 92      HW      TIP3    0       2.1789  4.98648 2.54963 HW      91      0       0       0       0.417   
    95 93      HW      TIP3    0       2.1789  4.98648 1.54163 HW      91      0       0       0       0.417   
    96 94      OW      TIP3    0       1.4199  4.98648 5.1289  OW      95      96      0       0       -0.834 
    97 95      HW      TIP3    0       2.1789  4.98648 5.6329  HW      94      0       0       0       0.417   
    98 96      HW      TIP3    0       2.1789  4.98648 4.6249  HW      94      0       0       0       0.417   
    99 97      OW      TIP3    0       1.4199  4.98648 8.21216 OW      98      99      0       0       -0.834 
    100 98      HW      TIP3    0       2.1789  4.98648 8.71616 HW      97      0       0       0       0.417   
    101 99      HW      TIP3    0       2.1789  4.98648 7.70816 HW      97      0       0       0       0.417   
    102 100     OW      TIP3    0       1.4199  4.98648 11.2954 OW      101     102     0       0       -0.834 
    103 101     HW      TIP3    0       2.1789  4.98648 11.7994 HW      100     0       0       0       0.417   
    104 102     HW      TIP3    0       2.1789  4.98648 10.7914 HW      100     0       0       0       0.417   
    105 103     OW      TIP3    0       1.4199  4.98648 14.3787 OW      104     105     0       0       -0.834 
    106 104     HW      TIP3    0       2.1789  4.98648 14.8827 HW      103     0       0       0       0.417   
    107 105     HW      TIP3    0       2.1789  4.98648 13.8747 HW      103     0       0       0       0.417   
    108 106     OW      TIP3    0       1.4199  4.98648 17.4619 OW      107     108     0       0       -0.834 
    109 107     HW      TIP3    0       2.1789  4.98648 17.966  HW      106     0       0       0       0.417   
    110 108     HW      TIP3    0       2.1789  4.98648 16.958  HW      106     0       0       0       0.417   
    111 109     OW      TIP3    0       1.4199  4.98648 20.5452 OW      110     111     0       0       -0.834 
    112 110     HW      TIP3    0       2.1789  4.98648 21.0492 HW      109     0       0       0       0.417   
    113 111     HW      TIP3    0       2.1789  4.98648 20.0412 HW      109     0       0       0       0.417   
    114 112     OW      TIP3    0       1.4199  4.98648 23.6285 OW      113     114     0       0       -0.834 
    115 113     HW      TIP3    0       2.1789  4.98648 24.1325 HW      112     0       0       0       0.417   
    116 114     HW      TIP3    0       2.1789  4.98648 23.1245 HW      112     0       0       0       0.417   
    117 115     OW      TIP3    0       1.4199  4.98648 26.7117 OW      116     117     0       0       -0.834 
    118 116     HW      TIP3    0       2.1789  4.98648 27.2157 HW      115     0       0       0       0.417   
    119 117     HW      TIP3    0       2.1789  4.98648 26.2077 HW      115     0       0       0       0.417   
    120 118     OW      TIP3    0       1.4199  4.98648 29.795  OW      119     120     0       0       -0.834 
    121 119     HW      TIP3    0       2.1789  4.98648 30.299  HW      118     0       0       0       0.417   
    122 120     HW      TIP3    0       2.1789  4.98648 29.291  HW      118     0       0       0       0.417   
    123 121     OW      TIP3    0       1.4199  4.98648 32.8783 OW      122     123     0       0       -0.834 
    124 122     HW      TIP3    0       2.1789  4.98648 33.3823 HW      121     0       0       0       0.417   
    125 123     HW      TIP3    0       2.1789  4.98648 32.3743 HW      121     0       0       0       0.417   
    126 124     OW      TIP3    0       1.4199  8.3108  2.04563 OW      125     126     0       0       -0.834 
    127 125     HW      TIP3    0       2.1789  8.3108  2.54963 HW      124     0       0       0       0.417   
    128 126     HW      TIP3    0       2.1789  8.3108  1.54163 HW      124     0       0       0       0.417   
    129 127     OW      TIP3    0       1.4199  8.3108  5.1289  OW      128     129     0       0       -0.834 
    130 128     HW      TIP3    0       2.1789  8.3108  5.6329  HW      127     0       0       0       0.417   
    131 129     HW      TIP3    0       2.1789  8.3108  4.6249  HW      127     0       0       0       0.417   
    132 130     OW      TIP3    0       1.4199  8.3108  8.21216 OW      131     132     0       0       -0.834 
    133 131     HW      TIP3    0       2.1789  8.3108  8.71616 HW      130     0       0       0       0.417   
    134 132     HW      TIP3    0       2.1789  8.3108  7.70816 HW      130     0       0       0       0.417   
    135 133     OW      TIP3    0       1.4199  8.3108  11.2954 OW      134     135     0       0       -0.834 
    136 134     HW      TIP3    0       2.1789  8.3108  11.7994 HW      133     0       0       0       0.417   
    137 135     HW      TIP3    0       2.1789  8.3108  10.7914 HW      133     0       0       0       0.417   
    138 136     OW      TIP3    0       1.4199  8.3108  14.3787 OW      137     138     0       0       -0.834 
    139 137     HW      TIP3    0       2.1789  8.3108  14.8827 HW      136     0       0       0       0.417   
    140 138     HW      TIP3    0       2.1789  8.3108  13.8747 HW      136     0       0       0       0.417   
    141 139     OW      TIP3    0       1.4199  8.3108  17.4619 OW      140     141     0       0       -0.834 
    142 140     HW      TIP3    0       2.1789  8.3108  17.966  HW      139     0       0       0       0.417   
    143 141     HW      TIP3    0       2.1789  8.3108  16.958  HW      139     0       0       0       0.417   
    144 142     OW      TIP3    0       1.4199  8.3108  20.5452 OW      143     144     0       0       -0.834 
    145 143     HW      TIP3    0       2.1789  8.3108  21.0492 HW      142     0       0       0       0.417   
    146 144     HW      TIP3    0       2.1789  8.3108  20.0412 HW      142     0       0       0       0.417   
    147 145     OW      TIP3    0       1.4199  8.3108  23.6285 OW      146     147     0       0       -0.834 
    148 146     HW      TIP3    0       2.1789  8.3108  24.1325 HW      145     0       0       0       0.417   
    149 147     HW      TIP3    0       2.1789  8.3108  23.1245 HW      145     0       0       0       0.417   
    150 148     OW      TIP3    0       1.4199  8.3108  26.7117 OW      149     150     0       0       -0.834 
    151 149     HW      TIP3    0       2.1789  8.3108  27.2157 HW      148     0       0       0       0.417   
    152 150     HW      TIP3    0       2.1789  8.3108  26.2077 HW      148     0       0       0       0.417   
    153 151     OW      TIP3    0       1.4199  8.3108  29.795  OW      152     153     0       0       -0.834 
    154 152     HW      TIP3    0       2.1789  8.3108  30.299  HW      151     0       0       0       0.417   
    155 153     HW      TIP3    0       2.1789  8.3108  29.291  HW      151     0       0       0       0.417   
    156 154     OW      TIP3    0       1.4199  8.3108  32.8783 OW      155     156     0       0       -0.834 
    157 155     HW      TIP3    0       2.1789  8.3108  33.3823 HW      154     0       0       0       0.417   
    158 156     HW      TIP3    0       2.1789  8.3108  32.3743 HW      154     0       0       0       0.417   
    159 157     OW      TIP3    0       1.4199  11.6351 2.04563 OW      158     159     0       0       -0.834 
    160 158     HW      TIP3    0       2.1789  11.6351 2.54963 HW      157     0       0       0       0.417   
    161 159     HW      TIP3    0       2.1789  11.6351 1.54163 HW      157     0       0       0       0.417   
    162 160     OW      TIP3    0       1.4199  11.6351 5.1289  OW      161     162     0       0       -0.834 
    163 161     HW      TIP3    0       2.1789  11.6351 5.6329  HW      160     0       0       0       0.417   
    164 162     HW      TIP3    0       2.1789  11.6351 4.6249  HW      160     0       0       0       0.417   
    165 163     OW      TIP3    0       1.4199  11.6351 8.21216 OW      164     165     0       0       -0.834 
    166 164     HW      TIP3    0       2.1789  11.6351 8.71616 HW      163     0       0       0       0.417   
    167 165     HW      TIP3    0       2.1789  11.6351 7.70816 HW      163     0       0       0       0.417   
    168 166     OW      TIP3    0       1.4199  11.6351 11.2954 OW      167     168     0       0       -0.834 
    169 167     HW      TIP3    0       2.1789  11.6351 11.7994 HW      166     0       0       0       0.417   
    170 168     HW      TIP3    0       2.1789  11.6351 10.7914 HW      166     0       0       0       0.417   
    171 169     OW      TIP3    0       1.4199  11.6351 14.3787 OW      170     171     0       0       -0.834 
    172 170     HW      TIP3    0       2.1789  11.6351 14.8827 HW      169     0       0       0       0.417   
    173 171     HW      TIP3    0       2.1789  11.6351 13.8747 HW      169     0       0       0       0.417   
    174 172     OW      TIP3    0       1.4199  11.6351 17.4619 OW      173     174     0       0       -0.834 
    175 173     HW      TIP3    0       2.1789  11.6351 17.966  HW      172     0       0       0       0.417   
    176 174     HW      TIP3    0       2.1789  11.6351 16.958  HW      172     0       0       0       0.417   
    177 175     OW      TIP3    0       1.4199  11.6351 20.5452 OW      176     177     0       0       -0.834 
    178 176     HW      TIP3    0       2.1789  11.6351 21.0492 HW      175     0       0       0       0.417   
    179 177     HW      TIP3    0       2.1789  11.6351 20.0412 HW      175     0       0       0       0.417   
    180 178     OW      TIP3    0       1.4199  11.6351 23.6285 OW      179     180     0       0       -0.834 
    181 179     HW      TIP3    0       2.1789  11.6351 24.1325 HW      178     0       0       0       0.417   
    182 180     HW      TIP3    0       2.1789  11.6351 23.1245 HW      178     0       0       0       0.417   
    183 181     OW      TIP3    0       1.4199  11.6351 26.7117 OW      182     183     0       0       -0.834 
    184 182     HW      TIP3    0       2.1789  11.6351 27.2157 HW      181     0       0       0       0.417   
    185 183     HW      TIP3    0       2.1789  11.6351 26.2077 HW      181     0       0       0       0.417   
    186 184     OW      TIP3    0       1.4199  11.6351 29.795  OW      185     186     0       0       -0.834 
    187 185     HW      TIP3    0       2.1789  11.6351 30.299  HW      184     0       0       0       0.417   
    188 186     HW      TIP3    0       2.1789  11.6351 29.291  HW      184     0       0       0       0.417   
    189 187     OW      TIP3    0       1.4199  11.6351 32.8783 OW      188     189     0       0       -0.834 
    190 188     HW      TIP3    0       2.1789  11.6351 33.3823 HW      187     0       0       0       0.417   
    191 189     HW      TIP3    0       2.1789  11.6351 32.3743 HW      187     0       0       0       0.417   
    192 190     OW      TIP3    0       1.4199  14.9594 2.04563 OW      191     192     0       0       -0.834 
    193 191     HW      TIP3    0       2.1789  14.9594 2.54963 HW      190     0       0       0       0.417   
    194 192     HW      TIP3    0       2.1789  14.9594 1.54163 HW      190     0       0       0       0.417   
    195 193     OW      TIP3    0       1.4199  14.9594 5.1289  OW      194     195     0       0       -0.834 
    196 194     HW      TIP3    0       2.1789  14.9594 5.6329  HW      193     0       0       0       0.417   
    197 195     HW      TIP3    0       2.1789  14.9594 4.6249  HW      193     0       0       0       0.417   
    198 196     OW      TIP3    0       1.4199  14.9594 8.21216 OW      197     198     0       0       -0.834 
    199 197     HW      TIP3    0       2.1789  14.9594 8.71616 HW      196     0       0       0       0.417   
    200 198     HW      TIP3    0       2.1789  14.9594 7.70816 HW      196     0       0       0       0.417   
    201 199     OW      TIP3    0       1.4199  14.9594 11.2954 OW      200     201     0       0       -0.834 
    202 200     HW      TIP3    0       2.1789  14.9594 11.7994 HW      199     0       0       0       0.417   
    203 201     HW      TIP3    0       2.1789  14.9594 10.7914 HW      199     0       0       0       0.417   
    204 202     OW      TIP3    0       1.4199  14.9594 14.3787 OW      203     204     0       0       -0.834 
    205 203     HW      TIP3    0       2.1789  14.9594 14.8827 HW      202     0       0       0       0.417   
    206 204     HW      TIP3    0       2.1789  14.9594 13.8747 HW      202     0       0       0       0.417   
    207 205     OW      TIP3    0       1.4199  14.9594 17.4619 OW      206     207     0       0       -0.834 
    208 206     HW      TIP3    0       2.1789  14.9594 17.966  HW      205     0       0       0       0.417   
    209 207     HW      TIP3    0       2.1789  14.9594 16.958  HW      205     0       0       0       0.417   
    210 208     OW      TIP3    0       1.4199  14.9594 20.5452 OW      209     210     0       0       -0.834 
    211 209     HW      TIP3    0       2.1789  14.9594 21.0492 HW      208     0       0       0       0.417   
    212 210     HW      TIP3    0       2.1789  14.9594 20.0412 HW      208     0       0       0       0.417   
    213 211     OW      TIP3    0       1.4199  14.9594 23.6285 OW      212     213     0       0       -0.834 
    214 212     HW      TIP3    0       2.1789  14.9594 24.1325 HW      211     0       0       0       0.417   
    215 213     HW      TIP3    0       2.1789  14.9594 23.1245 HW      211     0       0       0       0.417   
    216 214     OW      TIP3    0       1.4199  14.9594 26.7117 OW      215     216     0       0       -0.834 
    217 215     HW      TIP3    0       2.1789  14.9594 27.2157 HW      214     0       0       0       0.417   
    218 216     HW      TIP3    0       2.1789  14.9594 26.2077 HW      214     0       0       0       0.417   
    219 217     OW      TIP3    0       1.4199  14.9594 29.795  OW      218     219     0       0       -0.834 
    220 218     HW      TIP3    0       2.1789  14.9594 30.299  HW      217     0       0       0       0.417   
    221 219     HW      TIP3    0       2.1789  14.9594 29.291  HW      217     0       0       0       0.417   
    222 220     OW      TIP3    0       1.4199  14.9594 32.8783 OW      221     222     0       0       -0.834 
    223 221     HW      TIP3    0       2.1789  14.9594 33.3823 HW      220     0       0       0       0.417   
    224 222     HW      TIP3    0       2.1789  14.9594 32.3743 HW      220     0       0       0       0.417   
    225 223     OW      TIP3    0       4.2597  1.66216 2.04563 OW      224     225     0       0       -0.834 
    226 224     HW      TIP3    0       5.0187  1.66216 2.54963 HW      223     0       0       0       0.417   
    227 225     HW      TIP3    0       5.0187  1.66216 1.54163 HW      223     0       0       0       0.417   
    228 226     OW      TIP3    0       4.2597  1.66216 5.1289  OW      227     228     0       0       -0.834 
    229 227     HW      TIP3    0       5.0187  1.66216 5.6329  HW      226     0       0       0       0.417   
    230 228     HW      TIP3    0       5.0187  1.66216 4.6249  HW      226     0       0       0       0.417   
    231 229     OW      TIP3    0       4.2597  1.66216 8.21216 OW      230     231     0       0       -0.834 
    232 230     HW      TIP3    0       5.0187  1.66216 8.71616 HW      229     0       0       0       0.417   
    233 231     HW      TIP3    0       5.0187  1.66216 7.70816 HW      229     0       0       0       0.417   
    234 232     OW      TIP3    0       4.2597  1.66216 11.2954 OW      233     234     0       0       -0.834 
    235 233     HW      TIP3    0       5.0187  1.66216 11.7994 HW      232     0       0       0       0.417   
    236 234     HW      TIP3    0       5.0187  1.66216 10.7914 HW      232     0       0       0       0.417   
    237 235     OW      TIP3    0       4.2597  1.66216 14.3787 OW      236     237     0       0       -0.834 
    238 236     HW      TIP3    0       5.0187  1.66216 14.8827 HW      235     0       0       0       0.417   
    239 237     HW      TIP3    0       5.0187  1.66216 13.8747 HW      235     0       0       0       0.417   
    240 238     OW      TIP3    0       4.2597  1.66216 17.4619 OW      239     240     0       0       -0.834 
    241 239     HW      TIP3    0       5.0187  1.66216 17.966  HW      238     0       0       0       0.417   
    242 240     HW      TIP3    0       5.0187  1.66216 16.958  HW      238     0       0       0       0.417   
    243 241     OW      TIP3    0       4.2597  1.66216 20.5452 OW      242     243     0       0       -0.834 
    244 242     HW      TIP3    0       5.0187  1.66216 21.0492 HW      241     0       0       0       0.417   
    245 243     HW      TIP3    0       5.0187  1.66216 20.0412 HW      241     0       0       0       0.417   
    246 244     OW      TIP3    0       4.2597  1.66216 23.6285 OW      245     246     0       0       -0.834 
    247 245     HW      TIP3    0       5.0187  1.66216 24.1325 HW      244     0       0       0       0.417   
    248 246     HW      TIP3    0       5.0187  1.66216 23.1245 HW      244     0       0       0       0.417   
    249 247     OW      TIP3    0       4.2597  1.66216 26.7117 OW      248     249     0       0       -0.834 
    250 248     HW      TIP3    0       5.0187  1.66216 27.2157 HW      247     0       0       0       0.417   
    251 249     HW      TIP3    0       5.0187  1.66216 26.2077 HW      247     0       0       0       0.417   
    252 250     OW      TIP3    0       4.2597  1.66216 29.795  OW      251     252     0       0       -0.834 
    253 251     HW      TIP3    0       5.0187  1.66216 30.299  HW      250     0       0       0       0.417   
    254 252     HW      TIP3    0       5.0187  1.66216 29.291  HW      250     0       0       0       0.417   
    255 253     OW      TIP3    0       4.2597  1.66216 32.8783 OW      254     255     0       0       -0.834 
    256 254     HW      TIP3    0       5.0187  1.66216 33.3823 HW      253     0       0       0       0.417   
    257 255     HW      TIP3    0       5.0187  1.66216 32.3743 HW      253     0       0       0       0.417   
    258 256     OW      TIP3    0       4.2597  4.98648 2.04563 OW      257     258     0       0       -0.834 
    259 257     HW      TIP3    0       5.0187  4.98648 2.54963 HW      256     0       0       0       0.417   
    260 258     HW      TIP3    0       5.0187  4.98648 1.54163 HW      256     0       0       0       0.417   
    261 259     OW      TIP3    0       4.2597  4.98648 5.1289  OW      260     261     0       0       -0.834 
    262 260     HW      TIP3    0       5.0187  4.98648 5.6329  HW      259     0       0       0       0.417   
    263 261     HW      TIP3    0       5.0187  4.98648 4.6249  HW      259     0       0       0       0.417   
    264 262     OW      TIP3    0       4.2597  4.98648 8.21216 OW      263     264     0       0       -0.834 
    265 263     HW      TIP3    0       5.0187  4.98648 8.71616 HW      262     0       0       0       0.417   
    266 264     HW      TIP3    0       5.0187  4.98648 7.70816 HW      262     0       0       0       0.417   
    267 265     OW      TIP3    0       4.2597  4.98648 11.2954 OW      266     267     0       0       -0.834 
    268 266     HW      TIP3    0       5.0187  4.98648 11.7994 HW      265     0       0       0       0.417   
    269 267     HW      TIP3    0       5.0187  4.98648 10.7914 HW      265     0       0       0       0.417   
    270 268     OW      TIP3    0       4.2597  4.98648 14.3787 OW      269     270     0       0       -0.834 
    271 269     HW      TIP3    0       5.0187  4.98648 14.8827 HW      268     0       0       0       0.417   
    272 270     HW      TIP3    0       5.0187  4.98648 13.8747 HW      268     0       0       0       0.417   
    273 271     OW      TIP3    0       4.2597  4.98648 29.795  OW      272     273     0       0       -0.834 
    274 272     HW      TIP3    0       5.0187  4.98648 30.299  HW      271     0       0       0       0.417   
    275 273     HW      TIP3    0       5.0187  4.98648 29.291  HW      271     0       0       0       0.417   
    276 274     OW      TIP3    0       4.2597  4.98648 32.8783 OW      275     276     0       0       -0.834 
    277 275     HW      TIP3    0       5.0187  4.98648 33.3823 HW      274     0       0       0       0.417   
    278 276     HW      TIP3    0       5.0187  4.98648 32.3743 HW      274     0       0       0       0.417   
    279 277     OW      TIP3    0       4.2597  8.3108  2.04563 OW      278     279     0       0       -0.834 
    280 278     HW      TIP3    0       5.0187  8.3108  2.54963 HW      277     0       0       0       0.417   
    281 279     HW      TIP3    0       5.0187  8.3108  1.54163 HW      277     0       0       0       0.417   
    282 280     OW      TIP3    0       4.2597  8.3108  32.8783 OW      281     282     0       0       -0.834 
    283 281     HW      TIP3    0       5.0187  8.3108  33.3823 HW      280     0       0       0       0.417   
    284 282     HW      TIP3    0       5.0187  8.3108  32.3743 HW      280     0       0       0       0.417   
    285 283     OW      TIP3    0       4.2597  11.6351 2.04563 OW      284     285     0       0       -0.834 
    286 284     HW      TIP3    0       5.0187  11.6351 2.54963 HW      283     0       0       0       0.417   
    287 285     HW      TIP3    0       5.0187  11.6351 1.54163 HW      283     0       0       0       0.417   
    288 286     OW      TIP3    0       4.2597  11.6351 8.21216 OW      287     288     0       0       -0.834 
    289 287     HW      TIP3    0       5.0187  11.6351 8.71616 HW      286     0       0       0       0.417   
    290 288     HW      TIP3    0       5.0187  11.6351 7.70816 HW      286     0       0       0       0.417   
    291 289     OW      TIP3    0       4.2597  11.6351 11.2954 OW      290     291     0       0       -0.834 
    292 290     HW      TIP3    0       5.0187  11.6351 11.7994 HW      289     0       0       0       0.417   
    293 291     HW      TIP3    0       5.0187  11.6351 10.7914 HW      289     0       0       0       0.417   
    294 292     OW      TIP3    0       4.2597  11.6351 14.3787 OW      293     294     0       0       -0.834 
    295 293     HW      TIP3    0       5.0187  11.6351 14.8827 HW      292     0       0       0       0.417   
    296 294     HW      TIP3    0       5.0187  11.6351 13.8747 HW      292     0       0       0       0.417   
    297 295     OW      TIP3    0       4.2597  11.6351 17.4619 OW      296     297     0       0       -0.834 
    298 296     HW      TIP3    0       5.0187  11.6351 17.966  HW      295     0       0       0       0.417   
    299 297     HW      TIP3    0       5.0187  11.6351 16.958  HW      295     0       0       0       0.417   
    300 298     OW      TIP3    0       4.2597  11.6351 20.5452 OW      299     300     0       0       -0.834 
    301 299     HW      TIP3    0       5.0187  11.6351 21.0492 HW      298     0       0       0       0.417   
    302 300     HW      TIP3    0       5.0187  11.6351 20.0412 HW      298     0       0       0       0.417   
    303 301     OW      TIP3    0       4.2597  11.6351 23.6285 OW      302     303     0       0       -0.834 
    304 302     HW      TIP3    0       5.0187  11.6351 24.1325 HW      301     0       0       0       0.417   
    305 303     HW      TIP3    0       5.0187  11.6351 23.1245 HW      301     0       0       0       0.417   
    306 304     OW      TIP3    0       4.2597  11.6351 26.7117 OW      305     306     0       0       -0.834 
    307 305     HW      TIP3    0       5.0187  11.6351 27.2157 HW      304     0       0       0       0.417   
    308 306     HW      TIP3    0       5.0187  11.6351 26.2077 HW      304     0       0       0       0.417   
    309 307     OW      TIP3    0       4.2597  11.6351 29.795  OW      308     309     0       0       -0.834 
    310 308     HW      TIP3    0       5.0187  11.6351 30.299  HW      307     0       0       0       0.417   
    311 309     HW      TIP3    0       5.0187  11.6351 29.291  HW      307     0       0       0       0.417   
    312 310     OW      TIP3    0       4.2597  11.6351 32.8783 OW      311     312     0       0       -0.834 
    313 311     HW      TIP3    0       5.0187  11.6351 33.3823 HW      310     0       0       0       0.417   
    314 312     HW      TIP3    0       5.0187  11.6351 32.3743 HW      310     0       0       0       0.417   
    315 313     OW      TIP3    0       4.2597  14.9594 2.04563 OW      314     315     0       0       -0.834 
    316 314     HW      TIP3    0       5.0187  14.9594 2.54963 HW      313     0       0       0       0.417   
    317 315     HW      TIP3    0       5.0187  14.9594 1.54163 HW      313     0       0       0       0.417   
    318 316     OW      TIP3    0       4.2597  14.9594 5.1289  OW      317     318     0       0       -0.834 
    319 317     HW      TIP3    0       5.0187  14.9594 5.6329  HW      316     0       0       0       0.417   
    320 318     HW      TIP3    0       5.0187  14.9594 4.6249  HW      316     0       0       0       0.417   
    321 319     OW      TIP3    0       4.2597  14.9594 8.21216 OW      320     321     0       0       -0.834 
    322 320     HW      TIP3    0       5.0187  14.9594 8.71616 HW      319     0       0       0       0.417   
    323 321     HW      TIP3    0       5.0187  14.9594 7.70816 HW      319     0       0       0       0.417   
    324 322     OW      TIP3    0       4.2597  14.9594 11.2954 OW      323     324     0       0       -0.834 
    325 323     HW      TIP3    0       5.0187  14.9594 11.7994 HW      322     0       0       0       0.417   
    326 324     HW      TIP3    0       5.0187  14.9594 10.7914 HW      322     0       0       0       0.417   
    327 325     OW      TIP3    0       4.2597  14.9594 14.3787 OW      326     327     0       0       -0.834 
    328 326     HW      TIP3    0       5.0187  14.9594 14.8827 HW      325     0       0       0       0.417   
    329 327     HW      TIP3    0       5.0187  14.9594 13.8747 HW      325     0       0       0       0.417   
    330 328     OW      TIP3    0       4.2597  14.9594 17.4619 OW      329     330     0       0       -0.834 
    331 329     HW      TIP3    0       5.0187  14.9594 17.966  HW      328     0       0       0       0.417   
    332 330     HW      TIP3    0       5.0187  14.9594 16.958  HW      328     0       0       0       0.417   
    333 331     OW      TIP3    0       4.2597  14.9594 20.5452 OW      332     333     0       0       -0.834 
    334 332     HW      TIP3    0       5.0187  14.9594 21.0492 HW      331     0       0       0       0.417   
    335 333     HW      TIP3    0       5.0187  14.9594 20.0412 HW      331     0       0       0       0.417   
    336 334     OW      TIP3    0       4.2597  14.9594 23.6285 OW      335     336     0       0       -0.834 
    337 335     HW      TIP3    0       5.0187  14.9594 24.1325 HW      334     0       0       0       0.417   
    338 336     HW      TIP3    0       5.0187  14.9594 23.1245 HW      334     0       0       0       0.417   
    339 337     OW      TIP3    0       4.2597  14.9594 26.7117 OW      338     339     0       0       -0.834 
    340 338     HW      TIP3    0       5.0187  14.9594 27.2157 HW      337     0       0       0       0.417   
    341 339     HW      TIP3    0       5.0187  14.9594 26.2077 HW      337     0       0       0       0.417   
    342 340     OW      TIP3    0       4.2597  14.9594 29.795  OW      341     342     0       0       -0.834 
    343 341     HW      TIP3    0       5.0187  14.9594 30.299  HW      340     0       0       0       0.417   
    344 342     HW      TIP3    0       5.0187  14.9594 29.291  HW      340     0       0       0       0.417   
    345 343     OW      TIP3    0       4.2597  14.9594 32.8783 OW      344     345     0       0       -0.834 
    346 344     HW      TIP3    0       5.0187  14.9594 33.3823 HW      343     0       0       0       0.417   
    347 345     HW      TIP3    0       5.0187  14.9594 32.3743 HW      343     0       0       0       0.417   
    348 346     OW      TIP3    0       7.0995  1.66216 2.04563 OW      347     348     0       0       -0.834 
    349 347     HW      TIP3    0       7.8585  1.66216 2.54963 HW      346     0       0       0       0.417   
    350 348     HW      TIP3    0       7.8585  1.66216 1.54163 HW      346     0       0       0       0.417   
    351 349     OW      TIP3    0       7.0995  1.66216 5.1289  OW      350     351     0       0       -0.834 
    352 350     HW      TIP3    0       7.8585  1.66216 5.6329  HW      349     0       0       0       0.417   
    353 351     HW      TIP3    0       7.8585  1.66216 4.6249  HW      349     0       0       0       0.417   
    354 352     OW      TIP3    0       7.0995  1.66216 8.21216 OW      353     354     0       0       -0.834 
    355 353     HW      TIP3    0       7.8585  1.66216 8.71616 HW      352     0       0       0       0.417   
    356 354     HW      TIP3    0       7.8585  1.66216 7.70816 HW      352     0       0       0       0.417   
    357 355     OW      TIP3    0       7.0995  1.66216 11.2954 OW      356     357     0       0       -0.834 
    358 356     HW      TIP3    0       7.8585  1.66216 11.7994 HW      355     0       0       0       0.417   
    359 357     HW      TIP3    0       7.8585  1.66216 10.7914 HW      355     0       0       0       0.417   
    360 358     OW      TIP3    0       7.0995  1.66216 14.3787 OW      359     360     0       0       -0.834 
    361 359     HW      TIP3    0       7.8585  1.66216 14.8827 HW      358     0       0       0       0.417   
    362 360     HW      TIP3    0       7.8585  1.66216 13.8747 HW      358     0       0       0       0.417   
    363 361     OW      TIP3    0       7.0995  1.66216 17.4619 OW      362     363     0       0       -0.834 
    364 362     HW      TIP3    0       7.8585  1.66216 17.966  HW      361     0       0       0       0.417   
    365 363     HW      TIP3    0       7.8585  1.66216 16.958  HW      361     0       0       0       0.417   
    366 364     OW      TIP3    0       7.0995  1.66216 20.5452 OW      365     366     0       0       -0.834 
    367 365     HW      TIP3    0       7.8585  1.66216 21.0492 HW      364     0       0       0       0.417   
    368 366     HW      TIP3    0       7.8585  1.66216 20.0412 HW      364     0       0       0       0.417   
    369 367     OW      TIP3    0       7.0995  1.66216 23.6285 OW      368     369     0       0       -0.834 
    370 368     HW      TIP3    0       7.8585  1.66216 24.1325 HW      367     0       0       0       0.417   
    371 369     HW      TIP3    0       7.8585  1.66216 23.1245 HW      367     0       0       0       0.417   
    372 370     OW      TIP3    0       7.0995  1.66216 26.7117 OW      371     372     0       0       -0.834 
    373 371     HW      TIP3    0       7.8585  1.66216 27.2157 HW      370     0       0       0       0.417   
    374 372     HW      TIP3    0       7.8585  1.66216 26.2077 HW      370     0       0       0       0.417   
    375 373     OW      TIP3    0       7.0995  1.66216 29.795  OW      374     375     0       0       -0.834 
    376 374     HW      TIP3    0       7.8585  1.66216 30.299  HW      373     0       0       0       0.417   
    377 375     HW      TIP3    0       7.8585  1.66216 29.291  HW      373     0       0       0       0.417   
    378 376     OW      TIP3    0       7.0995  1.66216 32.8783 OW      377     378     0       0       -0.834 
    379 377     HW      TIP3    0       7.8585  1.66216 33.3823 HW      376     0       0       0       0.417   
    380 378     HW      TIP3    0       7.8585  1.66216 32.3743 HW      376     0       0       0       0.417   
    381 379     OW      TIP3    0       7.0995  4.98648 2.04563 OW      380     381     0       0       -0.834 
    382 380     HW      TIP3    0       7.8585  4.98648 2.54963 HW      379     0       0       0       0.417   
    383 381     HW      TIP3    0       7.8585  4.98648 1.54163 HW      379     0       0       0       0.417   
    384 382     OW      TIP3    0       7.0995  4.98648 5.1289  OW      383     384     0       0       -0.834 
    385 383     HW      TIP3    0       7.8585  4.98648 5.6329  HW      382     0       0       0       0.417   
    386 384     HW      TIP3    0       7.8585  4.98648 4.6249  HW      382     0       0       0       0.417   
    387 385     OW      TIP3    0       7.0995  4.98648 11.2954 OW      386     387     0       0       -0.834 
    388 386     HW      TIP3    0       7.8585  4.98648 11.7994 HW      385     0       0       0       0.417   
    389 387     HW      TIP3    0       7.8585  4.98648 10.7914 HW      385     0       0       0       0.417   
    390 388     OW      TIP3    0       7.0995  4.98648 32.8783 OW      389     390     0       0       -0.834 
    391 389     HW      TIP3    0       7.8585  4.98648 33.3823 HW      388     0       0       0       0.417   
    392 390     HW      TIP3    0       7.8585  4.98648 32.3743 HW      388     0       0       0       0.417   
    393 391     OW      TIP3    0       7.0995  8.3108  2.04563 OW      392     393     0       0       -0.834 
    394 392     HW      TIP3    0       7.8585  8.3108  2.54963 HW      391     0       0       0       0.417   
    395 393     HW      TIP3    0       7.8585  8.3108  1.54163 HW      391     0       0       0       0.417   
    396 394     OW      TIP3    0       7.0995  8.3108  32.8783 OW      395     396     0       0       -0.834 
    397 395     HW      TIP3    0       7.8585  8.3108  33.3823 HW      394     0       0       0       0.417   
    398 396     HW      TIP3    0       7.8585  8.3108  32.3743 HW      394     0       0       0       0.417   
    399 397     OW      TIP3    0       7.0995  11.6351 2.04563 OW      398     399     0       0       -0.834 
    400 398     HW      TIP3    0       7.8585  11.6351 2.54963 HW      397     0       0       0       0.417   
    401 399     HW      TIP3    0       7.8585  11.6351 1.54163 HW      397     0       0       0       0.417   
    402 400     OW      TIP3    0       7.0995  11.6351 20.5452 OW      401     402     0       0       -0.834 
    403 401     HW      TIP3    0       7.8585  11.6351 21.0492 HW      400     0       0       0       0.417   
    404 402     HW      TIP3    0       7.8585  11.6351 20.0412 HW      400     0       0       0       0.417   
    405 403     OW      TIP3    0       7.0995  11.6351 23.6285 OW      404     405     0       0       -0.834 
    406 404     HW      TIP3    0       7.8585  11.6351 24.1325 HW      403     0       0       0       0.417   
    407 405     HW      TIP3    0       7.8585  11.6351 23.1245 HW      403     0       0       0       0.417   
    408 406     OW      TIP3    0       7.0995  11.6351 29.795  OW      407     408     0       0       -0.834 
    409 407     HW      TIP3    0       7.8585  11.6351 30.299  HW      406     0       0       0       0.417   
    410 408     HW      TIP3    0       7.8585  11.6351 29.291  HW      406     0       0       0       0.417   
    411 409     OW      TIP3    0       7.0995  11.6351 32.8783 OW      410     411     0       0       -0.834 
    412 410     HW      TIP3    0       7.8585  11.6351 33.3823 HW      409     0       0       0       0.417   
    413 411     HW      TIP3    0       7.8585  11.6351 32.3743 HW      409     0       0       0       0.417   
    414 412     OW      TIP3    0       7.0995  14.9594 2.04563 OW      413     414     0       0       -0.834 
    415 413     HW      TIP3    0       7.8585  14.9594 2.54963 HW      412     0       0       0       0.417   
    416 414     HW      TIP3    0       7.8585  14.9594 1.54163 HW      412     0       0       0       0.417   
    417 415     OW      TIP3    0       7.0995  14.9594 5.1289  OW      416     417     0       0       -0.834 
    418 416     HW      TIP3    0       7.8585  14.9594 5.6329  HW      415     0       0       0       0.417   
    419 417     HW      TIP3    0       7.8585  14.9594 4.6249  HW      415     0       0       0       0.417   
    420 418     OW      TIP3    0       7.0995  14.9594 8.21216 OW      419     420     0       0       -0.834 
    421 419     HW      TIP3    0       7.8585  14.9594 8.71616 HW      418     0       0       0       0.417   
    422 420     HW      TIP3    0       7.8585  14.9594 7.70816 HW      418     0       0       0       0.417   
    423 421     OW      TIP3    0       7.0995  14.9594 11.2954 OW      422     423     0       0       -0.834 
    424 422     HW      TIP3    0       7.8585  14.9594 11.7994 HW      421     0       0       0       0.417   
    425 423     HW      TIP3    0       7.8585  14.9594 10.7914 HW      421     0       0       0       0.417   
    426 424     OW      TIP3    0       7.0995  14.9594 14.3787 OW      425     426     0       0       -0.834 
    427 425     HW      TIP3    0       7.8585  14.9594 14.8827 HW      424     0       0       0       0.417   
    428 426     HW      TIP3    0       7.8585  14.9594 13.8747 HW      424     0       0       0       0.417   
    429 427     OW      TIP3    0       7.0995  14.9594 17.4619 OW      428     429     0       0       -0.834 
    430 428     HW      TIP3    0       7.8585  14.9594 17.966  HW      427     0       0       0       0.417   
    431 429     HW      TIP3    0       7.8585  14.9594 16.958  HW      427     0       0       0       0.417   
    432 430     OW      TIP3    0       7.0995  14.9594 20.5452 OW      431     432     0       0       -0.834 
    433 431     HW      TIP3    0       7.8585  14.9594 21.0492 HW      430     0       0       0       0.417   
    434 432     HW      TIP3    0       7.8585  14.9594 20.0412 HW      430     0       0       0       0.417   
    435 433     OW      TIP3    0       7.0995  14.9594 23.6285 OW      434     435     0       0       -0.834 
    436 434     HW      TIP3    0       7.8585  14.9594 24.1325 HW      433     0       0       0       0.417   
    437 435     HW      TIP3    0       7.8585  14.9594 23.1245 HW      433     0       0       0       0.417   
    438 436     OW      TIP3    0       7.0995  14.9594 26.7117 OW      437     438     0       0       -0.834 
    439 437     HW      TIP3    0       7.8585  14.9594 27.2157 HW      436     0       0       0       0.417   
    440 438     HW      TIP3    0       7.8585  14.9594 26.2077 HW      436     0       0       0       0.417   
    441 439     OW      TIP3    0       7.0995  14.9594 29.795  OW      440     441     0       0       -0.834 
    442 440     HW      TIP3    0       7.8585  14.9594 30.299  HW      439     0       0       0       0.417   
    443 441     HW      TIP3    0       7.8585  14.9594 29.291  HW      439     0       0       0       0.417   
    444 442     OW      TIP3    0       7.0995  14.9594 32.8783 OW      443     444     0       0       -0.834 
    445 443     HW      TIP3    0       7.8585  14.9594 33.3823 HW      442     0       0       0       0.417   
    446 444     HW      TIP3    0       7.8585  14.9594 32.3743 HW      442     0       0       0       0.417   
    447 445     OW      TIP3    0       9.9393  1.66216 2.04563 OW      446     447     0       0       -0.834 
    448 446     HW      TIP3    0       10.6983 1.66216 2.54963 HW      445     0       0       0       0.417   
    449 447     HW      TIP3    0       10.6983 1.66216 1.54163 HW      445     0       0       0       0.417   
    450 448     OW      TIP3    0       9.9393  1.66216 5.1289  OW      449     450     0       0       -0.834 
    451 449     HW      TIP3    0       10.6983 1.66216 5.6329  HW      448     0       0       0       0.417   
    452 450     HW      TIP3    0       10.6983 1.66216 4.6249  HW      448     0       0       0       0.417   
    453 451     OW      TIP3    0       9.9393  1.66216 8.21216 OW      452     453     0       0       -0.834 
    454 452     HW      TIP3    0       10.6983 1.66216 8.71616 HW      451     0       0       0       0.417   
    455 453     HW      TIP3    0       10.6983 1.66216 7.70816 HW      451     0       0       0       0.417   
    456 454     OW      TIP3    0       9.9393  1.66216 11.2954 OW      455     456     0       0       -0.834 
    457 455     HW      TIP3    0       10.6983 1.66216 11.7994 HW      454     0       0       0       0.417   
    458 456     HW      TIP3    0       10.6983 1.66216 10.7914 HW      454     0       0       0       0.417   
    459 457     OW      TIP3    0       9.9393  1.66216 14.3787 OW      458     459     0       0       -0.834 
    460 458     HW      TIP3    0       10.6983 1.66216 14.8827 HW      457     0       0       0       0.417   
    461 459     HW      TIP3    0       10.6983 1.66216 13.8747 HW      457     0       0       0       0.417   
    462 460     OW      TIP3    0       9.9393  1.66216 17.4619 OW      461     462     0       0       -0.834 
    463 461     HW      TIP3    0       10.6983 1.66216 17.966  HW      460     0       0       0       0.417   
    464 462     HW      TIP3    0       10.6983 1.66216 16.958  HW      460     0       0       0       0.417   
    465 463     OW      TIP3    0       9.9393  1.66216 20.5452 OW      464     465     0       0       -0.834 
    466 464     HW      TIP3    0       10.6983 1.66216 21.0492 HW      463     0       0       0       0.417   
    467 465     HW      TIP3    0       10.6983 1.66216 20.0412 HW      463     0       0       0       0.417   
    468 466     OW      TIP3    0       9.9393  1.66216 23.6285 OW      467     468     0       0       -0.834 
    469 467     HW      TIP3    0       10.6983 1.66216 24.1325 HW      466     0       0       0       0.417   
    470 468     HW      TIP3    0       10.6983 1.66216 23.1245 HW      466     0       0       0       0.417   
    471 469     OW      TIP3    0       9.9393  1.66216 26.7117 OW      470     471     0       0       -0.834 
    472 470     HW      TIP3    0       10.6983 1.66216 27.2157 HW      469     0       0       0       0.417   
    473 471     HW      TIP3    0       10.6983 1.66216 26.2077 HW      469     0       0       0       0.417   
    474 472     OW      TIP3    0       9.9393  1.66216 29.795  OW      473     474     0       0       -0.834 
    475 473     HW      TIP3    0       10.6983 1.66216 30.299  HW      472     0       0       0       0.417   
    476 474     HW      TIP3    0       10.6983 1.66216 29.291  HW      472     0       0       0       0.417   
    477 475     OW      TIP3    0       9.9393  1.66216 32.8783 OW      476     477     0       0       -0.834 
    478 476     HW      TIP3    0       10.6983 1.66216 33.3823 HW      475     0       0       0       0.417   
    479 477     HW      TIP3    0       10.6983 1.66216 32.3743 HW      475     0       0       0       0.417   
    480 478     OW      TIP3    0       9.9393  4.98648 2.04563 OW      479     480     0       0       -0.834 
    481 479     HW      TIP3    0       10.6983 4.98648 2.54963 HW      478     0       0       0       0.417   
    482 480     HW      TIP3    0       10.6983 4.98648 1.54163 HW      478     0       0       0       0.417   
    483 481     OW      TIP3    0       9.9393  4.98648 5.1289  OW      482     483     0       0       -0.834 
    484 482     HW      TIP3    0       10.6983 4.98648 5.6329  HW      481     0       0       0       0.417   
    485 483     HW      TIP3    0       10.6983 4.98648 4.6249  HW      481     0       0       0       0.417   
    486 484     OW      TIP3    0       9.9393  4.98648 8.21216 OW      485     486     0       0       -0.834 
    487 485     HW      TIP3    0       10.6983 4.98648 8.71616 HW      484     0       0       0       0.417   
    488 486     HW      TIP3    0       10.6983 4.98648 7.70816 HW      484     0       0       0       0.417   
    489 487     OW      TIP3    0       9.9393  4.98648 11.2954 OW      488     489     0       0       -0.834 
    490 488     HW      TIP3    0       10.6983 4.98648 11.7994 HW      487     0       0       0       0.417   
    491 489     HW      TIP3    0       10.6983 4.98648 10.7914 HW      487     0       0       0       0.417   
    492 490     OW      TIP3    0       9.9393  4.98648 17.4619 OW      491     492     0       0       -0.834 
    493 491     HW      TIP3    0       10.6983 4.98648 17.966  HW      490     0       0       0       0.417   
    494 492     HW      TIP3    0       10.6983 4.98648 16.958  HW      490     0       0       0       0.417   
    495 493     OW      TIP3    0       9.9393  4.98648 32.8783 OW      494     495     0       0       -0.834 
    496 494     HW      TIP3    0       10.6983 4.98648 33.3823 HW      493     0       0       0       0.417   
    497 495     HW      TIP3    0       10.6983 4.98648 32.3743 HW      493     0       0       0       0.417   
    498 496     OW      TIP3    0       9.9393  8.3108  2.04563 OW      497     498     0       0       -0.834 
    499 497     HW      TIP3    0       10.6983 8.3108  2.54963 HW      496     0       0       0       0.417   
    500 498     HW      TIP3    0       10.6983 8.3108  1.54163 HW      496     0       0       0       0.417   
    501 499     OW      TIP3    0       9.9393  8.3108  32.8783 OW      500     501     0       0       -0.834 
    502 500     HW      TIP3    0       10.6983 8.3108  33.3823 HW      499     0       0       0       0.417   
    503 501     HW      TIP3    0       10.6983 8.3108  32.3743 HW      499     0       0       0       0.417   
    504 502     OW      TIP3    0       9.9393  11.6351 2.04563 OW      503     504     0       0       -0.834 
    505 503     HW      TIP3    0       10.6983 11.6351 2.54963 HW      502     0       0       0       0.417   
    506 504     HW      TIP3    0       10.6983 11.6351 1.54163 HW      502     0       0       0       0.417   
    507 505     OW      TIP3    0       9.9393  11.6351 14.3787 OW      506     507     0       0       -0.834 
    508 506     HW      TIP3    0       10.6983 11.6351 14.8827 HW      505     0       0       0       0.417   
    509 507     HW      TIP3    0       10.6983 11.6351 13.8747 HW      505     0       0       0       0.417   
    510 508     OW      TIP3    0       9.9393  11.6351 17.4619 OW      509     510     0       0       -0.834 
    511 509     HW      TIP3    0       10.6983 11.6351 17.966  HW      508     0       0       0       0.417   
    512 510     HW      TIP3    0       10.6983 11.6351 16.958  HW      508     0       0       0       0.417   
    513 511     OW      TIP3    0       9.9393  11.6351 20.5452 OW      512     513     0       0       -0.834 
    514 512     HW      TIP3    0       10.6983 11.6351 21.0492 HW      511     0       0       0       0.417   
    515 513     HW      TIP3    0       10.6983 11.6351 20.0412 HW      511     0       0       0       0.417   
    516 514     OW      TIP3    0       9.9393  11.6351 23.6285 OW      515     516     0       0       -0.834 
    517 515     HW      TIP3    0       10.6983 11.6351 24.1325 HW      514     0       0       0       0.417   
    518 516     HW      TIP3    0       10.6983 11.6351 23.1245 HW      514     0       0       0       0.417   
    519 517     OW      TIP3    0       9.9393  11.6351 26.7117 OW      518     519     0       0       -0.834 
    520 518     HW      TIP3    0       10.6983 11.6351 27.2157 HW      517     0       0       0       0.417   
    521 519     HW      TIP3    0       10.6983 11.6351 26.2077 HW      517     0       0       0       0.417   
    522 520     OW      TIP3    0       9.9393  11.6351 29.795  OW      521     522     0       0       -0.834 
    523 521     HW      TIP3    0       10.6983 11.6351 30.299  HW      520     0       0       0       0.417   
    524 522     HW      TIP3    0       10.6983 11.6351 29.291  HW      520     0       0       0       0.417   
    525 523     OW      TIP3    0       9.9393  11.6351 32.8783 OW      524     525     0       0       -0.834 
    526 524     HW      TIP3    0       10.6983 11.6351 33.3823 HW      523     0       0       0       0.417   
    527 525     HW      TIP3    0       10.6983 11.6351 32.3743 HW      523     0       0       0       0.417   
    528 526     OW      TIP3    0       9.9393  14.9594 2.04563 OW      527     528     0       0       -0.834 
    529 527     HW      TIP3    0       10.6983 14.9594 2.54963 HW      526     0       0       0       0.417   
    530 528     HW      TIP3    0       10.6983 14.9594 1.54163 HW      526     0       0       0       0.417   
    531 529     OW      TIP3    0       9.9393  14.9594 5.1289  OW      530     531     0       0       -0.834 
    532 530     HW      TIP3    0       10.6983 14.9594 5.6329  HW      529     0       0       0       0.417   
    533 531     HW      TIP3    0       10.6983 14.9594 4.6249  HW      529     0       0       0       0.417   
    534 532     OW      TIP3    0       9.9393  14.9594 8.21216 OW      533     534     0       0       -0.834 
    535 533     HW      TIP3    0       10.6983 14.9594 8.71616 HW      532     0       0       0       0.417   
    536 534     HW      TIP3    0       10.6983 14.9594 7.70816 HW      532     0       0       0       0.417   
    537 535     OW      TIP3    0       9.9393  14.9594 11.2954 OW      536     537     0       0       -0.834 
    538 536     HW      TIP3    0       10.6983 14.9594 11.7994 HW      535     0       0       0       0.417   
    539 537     HW      TIP3    0       10.6983 14.9594 10.7914 HW      535     0       0       0       0.417   
    540 538     OW      TIP3    0       9.9393  14.9594 14.3787 OW      539     540     0       0       -0.834 
    541 539     HW      TIP3    0       10.6983 14.9594 14.8827 HW      538     0       0       0       0.417   
    542 540     HW      TIP3    0       10.6983 14.9594 13.8747 HW      538     0       0       0       0.417   
    543 541     OW      TIP3    0       9.9393  14.9594 17.4619 OW      542     543     0       0       -0.834 
    544 542     HW      TIP3    0       10.6983 14.9594 17.966  HW      541     0       0       0       0.417   
    545 543     HW      TIP3    0       10.6983 14.9594 16.958  HW      541     0       0       0       0.417   
    546 544     OW      TIP3    0       9.9393  14.9594 20.5452 OW      545     546     0       0       -0.834 
    547 545     HW      TIP3    0       10.6983 14.9594 21.0492 HW      544     0       0       0       0.417   
    548 546     HW      TIP3    0       10.6983 14.9594 20.0412 HW      544     0       0       0       0.417   
    549 547     OW      TIP3    0       9.9393  14.9594 23.6285 OW      548     549     0       0       -0.834 
    550 548     HW      TIP3    0       10.6983 14.9594 24.1325 HW      547     0       0       0       0.417   
    551 549     HW      TIP3    0       10.6983 14.9594 23.1245 HW      547     0       0       0       0.417   
    552 550     OW      TIP3    0       9.9393  14.9594 26.7117 OW      551     552     0       0       -0.834 
    553 551     HW      TIP3    0       10.6983 14.9594 27.2157 HW      550     0       0       0       0.417   
    554 552     HW      TIP3    0       10.6983 14.9594 26.2077 HW      550     0       0       0       0.417   
    555 553     OW      TIP3    0       9.9393  14.9594 29.795  OW      554     555     0       0       -0.834 
    556 554     HW      TIP3    0       10.6983 14.9594 30.299  HW      553     0       0       0       0.417   
    557 555     HW      TIP3    0       10.6983 14.9594 29.291  HW      553     0       0       0       0.417   
    558 556     OW      TIP3    0       9.9393  14.9594 32.8783 OW      557     558     0       0       -0.834 
    559 557     HW      TIP3    0       10.6983 14.9594 33.3823 HW      556     0       0       0       0.417   
    560 558     HW      TIP3    0       10.6983 14.9594 32.3743 HW      556     0       0       0       0.417   
    561 559     OW      TIP3    0       12.7791 1.66216 2.04563 OW      560     561     0       0       -0.834 
    562 560     HW      TIP3    0       13.5381 1.66216 2.54963 HW      559     0       0       0       0.417   
    563 561     HW      TIP3    0       13.5381 1.66216 1.54163 HW      559     0       0       0       0.417   
    564 562     OW      TIP3    0       12.7791 1.66216 5.1289  OW      563     564     0       0       -0.834 
    565 563     HW      TIP3    0       13.5381 1.66216 5.6329  HW      562     0       0       0       0.417   
    566 564     HW      TIP3    0       13.5381 1.66216 4.6249  HW      562     0       0       0       0.417   
    567 565     OW      TIP3    0       12.7791 1.66216 8.21216 OW      566     567     0       0       -0.834 
    568 566     HW      TIP3    0       13.5381 1.66216 8.71616 HW      565     0       0       0       0.417   
    569 567     HW      TIP3    0       13.5381 1.66216 7.70816 HW      565     0       0       0       0.417   
    570 568     OW      TIP3    0       12.7791 1.66216 11.2954 OW      569     570     0       0       -0.834 
    571 569     HW      TIP3    0       13.5381 1.66216 11.7994 HW      568     0       0       0       0.417   
    572 570     HW      TIP3    0       13.5381 1.66216 10.7914 HW      568     0       0       0       0.417   
    573 571     OW      TIP3    0       12.7791 1.66216 14.3787 OW      572     573     0       0       -0.834 
    574 572     HW      TIP3    0       13.5381 1.66216 14.8827 HW      571     0       0       0       0.417   
    575 573     HW      TIP3    0       13.5381 1.66216 13.8747 HW      571     0       0       0       0.417   
    576 574     OW      TIP3    0       12.7791 1.66216 17.4619 OW      575     576     0       0       -0.834 
    577 575     HW      TIP3    0       13.5381 1.66216 17.966  HW      574     0       0       0       0.417   
    578 576     HW      TIP3    0       13.5381 1.66216 16.958  HW      574     0       0       0       0.417   
    579 577     OW      TIP3    0       12.7791 1.66216 20.5452 OW      578     579     0       0       -0.834 
    580 578     HW      TIP3    0       13.5381 1.66216 21.0492 HW      577     0       0       0       0.417   
    581 579     HW      TIP3    0       13.5381 1.66216 20.0412 HW      577     0       0       0       0.417   
    582 580     OW      TIP3    0       12.7791 1.66216 23.6285 OW      581     582     0       0       -0.834 
    583 581     HW      TIP3    0       13.5381 1.66216 24.1325 HW      580     0       0       0       0.417   
    584 582     HW      TIP3    0       13.5381 1.66216 23.1245 HW      580     0       0       0       0.417   
    585 583     OW      TIP3    0       12.7791 1.66216 26.7117 OW      584     585     0       0       -0.834 
    586 584     HW      TIP3    0       13.5381 1.66216 27.2157 HW      583     0       0       0       0.417   
    587 585     HW      TIP3    0       13.5381 1.66216 26.2077 HW      583     0       0       0       0.417   
    588 586     OW      TIP3    0       12.7791 1.66216 29.795  OW      587     588     0       0       -0.834 
    589 587     HW      TIP3    0       13.5381 1.66216 30.299  HW      586     0       0       0       0.417   
    590 588     HW      TIP3    0       13.5381 1.66216 29.291  HW      586     0       0       0       0.417   
    591 589     OW      TIP3    0       12.7791 1.66216 32.8783 OW      590     591     0       0       -0.834 
    592 590     HW      TIP3    0       13.5381 1.66216 33.3823 HW      589     0       0       0       0.417   
    593 591     HW      TIP3    0       13.5381 1.66216 32.3743 HW      589     0       0       0       0.417   
    594 592     OW      TIP3    0       12.7791 4.98648 2.04563 OW      593     594     0       0       -0.834 
    595 593     HW      TIP3    0       13.5381 4.98648 2.54963 HW      592     0       0       0       0.417   
    596 594     HW      TIP3    0       13.5381 4.98648 1.54163 HW      592     0       0       0       0.417   
    597 595     OW      TIP3    0       12.7791 4.98648 5.1289  OW      596     597     0       0       -0.834 
    598 596     HW      TIP3    0       13.5381 4.98648 5.6329  HW      595     0       0       0       0.417   
    599 597     HW      TIP3    0       13.5381 4.98648 4.6249  HW      595     0       0       0       0.417   
    600 598     OW      TIP3    0       12.7791 4.98648 8.21216 OW      599     600     0       0       -0.834 
    601 599     HW      TIP3    0       13.5381 4.98648 8.71616 HW      598     0       0       0       0.417   
    602 600     HW      TIP3    0       13.5381 4.98648 7.70816 HW      598     0       0       0       0.417   
    603 601     OW      TIP3    0       12.7791 4.98648 11.2954 OW      602     603     0       0       -0.834 
    604 602     HW      TIP3    0       13.5381 4.98648 11.7994 HW      601     0       0       0       0.417   
    605 603     HW      TIP3    0       13.5381 4.98648 10.7914 HW      601     0       0       0       0.417   
    606 604     OW      TIP3    0       12.7791 4.98648 14.3787 OW      605     606     0       0       -0.834 
    607 605     HW      TIP3    0       13.5381 4.98648 14.8827 HW      604     0       0       0       0.417   
    608 606     HW      TIP3    0       13.5381 4.98648 13.8747 HW      604     0       0       0       0.417   
    609 607     OW      TIP3    0       12.7791 4.98648 17.4619 OW      608     609     0       0       -0.834 
    610 608     HW      TIP3    0       13.5381 4.98648 17.966  HW      607     0       0       0       0.417   
    611 609     HW      TIP3    0       13.5381 4.98648 16.958  HW      607     0       0       0       0.417   
    612 610     OW      TIP3    0       12.7791 4.98648 20.5452 OW      611     612     0       0       -0.834 
    613 611     HW      TIP3    0       13.5381 4.98648 21.0492 HW      610     0       0       0       0.417   
    614 612     HW      TIP3    0       13.5381 4.98648 20.0412 HW      610     0       0       0       0.417   
    615 613     OW      TIP3    0       12.7791 4.98648 23.6285 OW      614     615     0       0       -0.834 
    616 614     HW      TIP3    0       13.5381 4.98648 24.1325 HW      613     0       0       0       0.417   
    617 615     HW      TIP3    0       13.5381 4.98648 23.1245 HW      613     0       0       0       0.417   
    618 616     OW      TIP3    0       12.7791 4.98648 26.7117 OW      617     618     0       0       -0.834 
    619 617     HW      TIP3    0       13.5381 4.98648 27.2157 HW      616     0       0       0       0.417   
    620 618     HW      TIP3    0       13.5381 4.98648 26.2077 HW      616     0       0       0       0.417   
    621 619     OW      TIP3    0       12.7791 4.98648 29.795  OW      620     621     0       0       -0.834 
    622 620     HW      TIP3    0       13.5381 4.98648 30.299  HW      619     0       0       0       0.417   
    623 621     HW      TIP3    0       13.5381 4.98648 29.291  HW      619     0       0       0       0.417   
    624 622     OW      TIP3    0       12.7791 4.98648 32.8783 OW      623     624     0       0       -0.834 
    625 623     HW      TIP3    0       13.5381 4.98648 33.3823 HW      622     0       0       0       0.417   
    626 624     HW      TIP3    0       13.5381 4.98648 32.3743 HW      622     0       0       0       0.417   
    627 625     OW      TIP3    0       12.7791 8.3108  2.04563 OW      626     627     0       0       -0.834 
    628 626     HW      TIP3    0       13.5381 8.3108  2.54963 HW      625     0       0       0       0.417   
    629 627     HW      TIP3    0       13.5381 8.3108  1.54163 HW      625     0       0       0       0.417   
    630 628     OW      TIP3    0       12.7791 8.3108  5.1289  OW      629     630     0       0       -0.834 
    631 629     HW      TIP3    0       13.5381 8.3108  5.6329  HW      628     0       0       0       0.417   
    632 630     HW      TIP3    0       13.5381 8.3108  4.6249  HW      628     0       0       0       0.417   
    633 631     OW      TIP3    0       12.7791 8.3108  8.21216 OW      632     633     0       0       -0.834 
    634 632     HW      TIP3    0       13.5381 8.3108  8.71616 HW      631     0       0       0       0.417   
    635 633     HW      TIP3    0       13.5381 8.3108  7.70816 HW      631     0       0       0       0.417   
    636 634     OW      TIP3    0       12.7791 8.3108  11.2954 OW      635     636     0       0       -0.834 
    637 635     HW      TIP3    0       13.5381 8.3108  11.7994 HW      634     0       0       0       0.417   
    638 636     HW      TIP3    0       13.5381 8.3108  10.7914 HW      634     0       0       0       0.417   
    639 637     OW      TIP3    0       12.7791 8.3108  14.3787 OW      638     639     0       0       -0.834 
    640 638     HW      TIP3    0       13.5381 8.3108  14.8827 HW      637     0       0       0       0.417   
    641 639     HW      TIP3    0       13.5381 8.3108  13.8747 HW      637     0       0       0       0.417   
    642 640     OW      TIP3    0       12.7791 8.3108  17.4619 OW      641     642     0       0       -0.834 
    643 641     HW      TIP3    0       13.5381 8.3108  17.966  HW      640     0       0       0       0.417   
    644 642     HW      TIP3    0       13.5381 8.3108  16.958  HW      640     0       0       0       0.417   
    645 643     OW      TIP3    0       12.7791 8.3108  20.5452 OW      644     645     0       0       -0.834 
    646 644     HW      TIP3    0       13.5381 8.3108  21.0492 HW      643     0       0       0       0.417   
    647 645     HW      TIP3    0       13.5381 8.3108  20.0412 HW      643     0       0       0       0.417   
    648 646     OW      TIP3    0       12.7791 8.3108  23.6285 OW      647     648     0       0       -0.834 
    649 647     HW      TIP3    0       13.5381 8.3108  24.1325 HW      646     0       0       0       0.417   
    650 648     HW      TIP3    0       13.5381 8.3108  23.1245 HW      646     0       0       0       0.417   
    651 649     OW      TIP3    0       12.7791 8.3108  26.7117 OW      650     651     0       0       -0.834 
    652 650     HW      TIP3    0       13.5381 8.3108  27.2157 HW      649     0       0       0       0.417   
    653 651     HW      TIP3    0       13.5381 8.3108  26.2077 HW      649     0       0       0       0.417   
    654 652     OW      TIP3    0       12.7791 8.3108  29.795  OW      653     654     0       0       -0.834 
    655 653     HW      TIP3    0       13.5381 8.3108  30.299  HW      652     0       0       0       0.417   
    656 654     HW      TIP3    0       13.5381 8.3108  29.291  HW      652     0       0       0       0.417   
    657 655     OW      TIP3    0       12.7791 8.3108  32.8783 OW      656     657     0       0       -0.834 
    658 656     HW      TIP3    0       13.5381 8.3108  33.3823 HW      655     0       0       0       0.417   
    659 657     HW      TIP3    0       13.5381 8.3108  32.3743 HW      655     0       0       0       0.417   
    660 658     OW      TIP3    0       12.7791 11.6351 2.04563 OW      659     660     0       0       -0.834 
    661 659     HW      TIP3    0       13.5381 11.6351 2.54963 HW      658     0       0       0       0.417   
    662 660     HW      TIP3    0       13.5381 11.6351 1.54163 HW      658     0       0       0       0.417   
    663 661     OW      TIP3    0       12.7791 11.6351 5.1289  OW      662     663     0       0       -0.834 
    664 662     HW      TIP3    0       13.5381 11.6351 5.6329  HW      661     0       0       0       0.417   
    665 663     HW      TIP3    0       13.5381 11.6351 4.6249  HW      661     0       0       0       0.417   
    666 664     OW      TIP3    0       12.7791 11.6351 8.21216 OW      665     666     0       0       -0.834 
    667 665     HW      TIP3    0       13.5381 11.6351 8.71616 HW      664     0       0       0       0.417   
    668 666     HW      TIP3    0       13.5381 11.6351 7.70816 HW      664     0       0       0       0.417   
    669 667     OW      TIP3    0       12.7791 11.6351 11.2954 OW      668     669     0       0       -0.834 
    670 668     HW      TIP3    0       13.5381 11.6351 11.7994 HW      667     0       0       0       0.417   
    671 669     HW      TIP3    0       13.5381 11.6351 10.7914 HW      667     0       0       0       0.417   
    672 670     OW      TIP3    0       12.7791 11.6351 14.3787 OW      671     672     0       0       -0.834 
    673 671     HW      TIP3    0       13.5381 11.6351 14.8827 HW      670     0       0       0       0.417   
    674 672     HW      TIP3    0       13.5381 11.6351 13.8747 HW      670     0       0       0       0.417   
    675 673     OW      TIP3    0       12.7791 11.6351 17.4619 OW      674     675     0       0       -0.834 
    676 674     HW      TIP3    0       13.5381 11.6351 17.966  HW      673     0       0       0       0.417   
    677 675     HW      TIP3    0       13.5381 11.6351 16.958  HW      673     0       0       0       0.417   
    678 676     OW      TIP3    0       12.7791 11.6351 20.5452 OW      677     678     0       0       -0.834 
    679 677     HW      TIP3    0       13.5381 11.6351 21.0492 HW      676     0       0       0       0.417   
    680 678     HW      TIP3    0       13.5381 11.6351 20.0412 HW      676     0       0       0       0.417   
    681 679     OW      TIP3    0       12.7791 11.6351 23.6285 OW      680     681     0       0       -0.834 
    682 680     HW      TIP3    0       13.5381 11.6351 24.1325 HW      679     0       0       0       0.417   
    683 681     HW      TIP3    0       13.5381 11.6351 23.1245 HW      679     0       0       0       0.417   
    684 682     OW      TIP3    0       12.7791 11.6351 26.7117 OW      683     684     0       0       -0.834 
    685 683     HW      TIP3    0       13.5381 11.6351 27.2157 HW      682     0       0       0       0.417   
    686 684     HW      TIP3    0       13.5381 11.6351 26.2077 HW      682     0       0       0       0.417   
    687 685     OW      TIP3    0       12.7791 11.6351 29.795  OW      686     687     0       0       -0.834 
    688 686     HW      TIP3    0       13.5381 11.6351 30.299  HW      685     0       0       0       0.417   
    689 687     HW      TIP3    0       13.5381 11.6351 29.291  HW      685     0       0       0       0.417   
    690 688     OW      TIP3    0       12.7791 11.6351 32.8783 OW      689     690     0       0       -0.834 
    691 689     HW      TIP3    0       13.5381 11.6351 33.3823 HW      688     0       0       0       0.417   
    692 690     HW      TIP3    0       13.5381 11.6351 32.3743 HW      688     0       0       0       0.417   
    693 691     OW      TIP3    0       12.7791 14.9594 2.04563 OW      692     693     0       0       -0.834 
    694 692     HW      TIP3    0       13.5381 14.9594 2.54963 HW      691     0       0       0       0.417   
    695 693     HW      TIP3    0       13.5381 14.9594 1.54163 HW      691     0       0       0       0.417   
    696 694     OW      TIP3    0       12.7791 14.9594 5.1289  OW      695     696     0       0       -0.834 
    697 695     HW      TIP3    0       13.5381 14.9594 5.6329  HW      694     0       0       0       0.417   
    698 696     HW      TIP3    0       13.5381 14.9594 4.6249  HW      694     0       0       0       0.417   
    699 697     OW      TIP3    0       12.7791 14.9594 8.21216 OW      698     699     0       0       -0.834 
    700 698     HW      TIP3    0       13.5381 14.9594 8.71616 HW      697     0       0       0       0.417   
    701 699     HW      TIP3    0       13.5381 14.9594 7.70816 HW      697     0       0       0       0.417   
    702 700     OW      TIP3    0       12.7791 14.9594 11.2954 OW      701     702     0       0       -0.834 
    703 701     HW      TIP3    0       13.5381 14.9594 11.7994 HW      700     0       0       0       0.417   
    704 702     HW      TIP3    0       13.5381 14.9594 10.7914 HW      700     0       0       0       0.417   
    705 703     OW      TIP3    0       12.7791 14.9594 14.3787 OW      704     705     0       0       -0.834 
    706 704     HW      TIP3    0       13.5381 14.9594 14.8827 HW      703     0       0       0       0.417   
    707 705     HW      TIP3    0       13.5381 14.9594 13.8747 HW      703     0       0       0       0.417   
    708 706     OW      TIP3    0       12.7791 14.9594 17.4619 OW      707     708     0       0       -0.834 
    709 707     HW      TIP3    0       13.5381 14.9594 17.966  HW      706     0       0       0       0.417   
    710 708     HW      TIP3    0       13.5381 14.9594 16.958  HW      706     0       0       0       0.417   
    711 709     OW      TIP3    0       12.7791 14.9594 20.5452 OW      710     711     0       0       -0.834 
    712 710     HW      TIP3    0       13.5381 14.9594 21.0492 HW      709     0       0       0       0.417   
    713 711     HW      TIP3    0       13.5381 14.9594 20.0412 HW      709     0       0       0       0.417   
    714 712     OW      TIP3    0       12.7791 14.9594 23.6285 OW      713     714     0       0       -0.834 
    715 713     HW      TIP3    0       13.5381 14.9594 24.1325 HW      712     0       0       0       0.417   
    716 714     HW      TIP3    0       13.5381 14.9594 23.1245 HW      712     0       0       0       0.417   
    717 715     OW      TIP3    0       12.7791 14.9594 26.7117 OW      716     717     0       0       -0.834 
    718 716     HW      TIP3    0       13.5381 14.9594 27.2157 HW      715     0       0       0       0.417   
    719 717     HW      TIP3    0       13.5381 14.9594 26.2077 HW      715     0       0       0       0.417   
    720 718     OW      TIP3    0       12.7791 14.9594 29.795  OW      719     720     0       0       -0.834 
    721 719     HW      TIP3    0       13.5381 14.9594 30.299  HW      718     0       0       0       0.417   
    722 720     HW      TIP3    0       13.5381 14.9594 29.291  HW      718     0       0       0       0.417   
    723 721     OW      TIP3    0       12.7791 14.9594 32.8783 OW      722     723     0       0       -0.834 
    724 722     HW      TIP3    0       13.5381 14.9594 33.3823 HW      721     0       0       0       0.417   
    725 723     HW      TIP3    0       13.5381 14.9594 32.3743 HW      721     0       0       0       0.417   
     6058      OW      TIP3    0       1.4199  1.66216 1.54163 OW      59      60      0       0       -0.834 
     6159      HW      TIP3    0       2.1789  1.66216 2.04563 HW      58      0       0       0       0.417   
     6260      HW      TIP3    0       2.1789  1.66216 1.03763 HW      58      0       0       0       0.417   
     6361      OW      TIP3    0       1.4199  1.66216 4.6249  OW      62      63      0       0       -0.834 
     6462      HW      TIP3    0       2.1789  1.66216 5.1289  HW      61      0       0       0       0.417   
     6563      HW      TIP3    0       2.1789  1.66216 4.1209  HW      61      0       0       0       0.417   
     6664      OW      TIP3    0       1.4199  1.66216 7.70816 OW      65      66      0       0       -0.834 
     6765      HW      TIP3    0       2.1789  1.66216 8.21216 HW      64      0       0       0       0.417   
     6866      HW      TIP3    0       2.1789  1.66216 7.20416 HW      64      0       0       0       0.417   
     6967      OW      TIP3    0       1.4199  1.66216 10.7914 OW      68      69      0       0       -0.834 
     7068      HW      TIP3    0       2.1789  1.66216 11.2954 HW      67      0       0       0       0.417   
     7169      HW      TIP3    0       2.1789  1.66216 10.2874 HW      67      0       0       0       0.417   
     7270      OW      TIP3    0       1.4199  1.66216 13.8747 OW      71      72      0       0       -0.834 
     7371      HW      TIP3    0       2.1789  1.66216 14.3787 HW      70      0       0       0       0.417   
     7472      HW      TIP3    0       2.1789  1.66216 13.3707 HW      70      0       0       0       0.417   
     7573      OW      TIP3    0       1.4199  1.66216 16.958  OW      74      75      0       0       -0.834 
     7674      HW      TIP3    0       2.1789  1.66216 17.4619 HW      73      0       0       0       0.417   
     7775      HW      TIP3    0       2.1789  1.66216 16.454  HW      73      0       0       0       0.417   
     7876      OW      TIP3    0       1.4199  1.66216 20.0412 OW      77      78      0       0       -0.834 
     7977      HW      TIP3    0       2.1789  1.66216 20.5452 HW      76      0       0       0       0.417   
     8078      HW      TIP3    0       2.1789  1.66216 19.5372 HW      76      0       0       0       0.417   
     8179      OW      TIP3    0       1.4199  1.66216 23.1245 OW      80      81      0       0       -0.834 
     8280      HW      TIP3    0       2.1789  1.66216 23.6285 HW      79      0       0       0       0.417   
     8381      HW      TIP3    0       2.1789  1.66216 22.6205 HW      79      0       0       0       0.417   
     8482      OW      TIP3    0       1.4199  1.66216 26.2077 OW      83      84      0       0       -0.834 
     8583      HW      TIP3    0       2.1789  1.66216 26.7117 HW      82      0       0       0       0.417   
     8684      HW      TIP3    0       2.1789  1.66216 25.7037 HW      82      0       0       0       0.417   
     8785      OW      TIP3    0       1.4199  1.66216 29.291  OW      86      87      0       0       -0.834 
     8886      HW      TIP3    0       2.1789  1.66216 29.795  HW      85      0       0       0       0.417   
     8987      HW      TIP3    0       2.1789  1.66216 28.787  HW      85      0       0       0       0.417   
     9088      OW      TIP3    0       1.4199  1.66216 32.3743 OW      89      90      0       0       -0.834 
     9189      HW      TIP3    0       2.1789  1.66216 32.8783 HW      88      0       0       0       0.417   
     9290      HW      TIP3    0       2.1789  1.66216 31.8703 HW      88      0       0       0       0.417   
     9391      OW      TIP3    0       1.4199  4.98648 1.54163 OW      92      93      0       0       -0.834 
     9492      HW      TIP3    0       2.1789  4.98648 2.04563 HW      91      0       0       0       0.417   
     9593      HW      TIP3    0       2.1789  4.98648 1.03763 HW      91      0       0       0       0.417   
     9694      OW      TIP3    0       1.4199  4.98648 4.6249  OW      95      96      0       0       -0.834 
     9795      HW      TIP3    0       2.1789  4.98648 5.1289  HW      94      0       0       0       0.417   
     9896      HW      TIP3    0       2.1789  4.98648 4.1209  HW      94      0       0       0       0.417   
     9997      OW      TIP3    0       1.4199  4.98648 7.70816 OW      98      99      0       0       -0.834 
     10098      HW      TIP3    0       2.1789  4.98648 8.21216 HW      97      0       0       0       0.417   
     10199      HW      TIP3    0       2.1789  4.98648 7.20416 HW      97      0       0       0       0.417   
     102100     OW      TIP3    0       1.4199  4.98648 10.7914 OW      101     102     0       0       -0.834 
     103101     HW      TIP3    0       2.1789  4.98648 11.2954 HW      100     0       0       0       0.417   
     104102     HW      TIP3    0       2.1789  4.98648 10.2874 HW      100     0       0       0       0.417   
     105103     OW      TIP3    0       1.4199  4.98648 13.8747 OW      104     105     0       0       -0.834 
     106104     HW      TIP3    0       2.1789  4.98648 14.3787 HW      103     0       0       0       0.417   
     107105     HW      TIP3    0       2.1789  4.98648 13.3707 HW      103     0       0       0       0.417   
     108106     OW      TIP3    0       1.4199  4.98648 16.958  OW      107     108     0       0       -0.834 
     109107     HW      TIP3    0       2.1789  4.98648 17.4619 HW      106     0       0       0       0.417   
     110108     HW      TIP3    0       2.1789  4.98648 16.454  HW      106     0       0       0       0.417   
     111109     OW      TIP3    0       1.4199  4.98648 20.0412 OW      110     111     0       0       -0.834 
     112110     HW      TIP3    0       2.1789  4.98648 20.5452 HW      109     0       0       0       0.417   
     113111     HW      TIP3    0       2.1789  4.98648 19.5372 HW      109     0       0       0       0.417   
     114112     OW      TIP3    0       1.4199  4.98648 23.1245 OW      113     114     0       0       -0.834 
     115113     HW      TIP3    0       2.1789  4.98648 23.6285 HW      112     0       0       0       0.417   
     116114     HW      TIP3    0       2.1789  4.98648 22.6205 HW      112     0       0       0       0.417   
     117115     OW      TIP3    0       1.4199  4.98648 26.2077 OW      116     117     0       0       -0.834 
     118116     HW      TIP3    0       2.1789  4.98648 26.7117 HW      115     0       0       0       0.417   
     119117     HW      TIP3    0       2.1789  4.98648 25.7037 HW      115     0       0       0       0.417   
     120118     OW      TIP3    0       1.4199  4.98648 29.291  OW      119     120     0       0       -0.834 
     121119     HW      TIP3    0       2.1789  4.98648 29.795  HW      118     0       0       0       0.417   
     122120     HW      TIP3    0       2.1789  4.98648 28.787  HW      118     0       0       0       0.417   
     123121     OW      TIP3    0       1.4199  4.98648 32.3743 OW      122     123     0       0       -0.834 
     124122     HW      TIP3    0       2.1789  4.98648 32.8783 HW      121     0       0       0       0.417   
     125123     HW      TIP3    0       2.1789  4.98648 31.8703 HW      121     0       0       0       0.417   
     126124     OW      TIP3    0       1.4199  8.3108  1.54163 OW      125     126     0       0       -0.834 
     127125     HW      TIP3    0       2.1789  8.3108  2.04563 HW      124     0       0       0       0.417   
     128126     HW      TIP3    0       2.1789  8.3108  1.03763 HW      124     0       0       0       0.417   
     129127     OW      TIP3    0       1.4199  8.3108  4.6249  OW      128     129     0       0       -0.834 
     130128     HW      TIP3    0       2.1789  8.3108  5.1289  HW      127     0       0       0       0.417   
     131129     HW      TIP3    0       2.1789  8.3108  4.1209  HW      127     0       0       0       0.417   
     132130     OW      TIP3    0       1.4199  8.3108  7.70816 OW      131     132     0       0       -0.834 
     133131     HW      TIP3    0       2.1789  8.3108  8.21216 HW      130     0       0       0       0.417   
     134132     HW      TIP3    0       2.1789  8.3108  7.20416 HW      130     0       0       0       0.417   
     135133     OW      TIP3    0       1.4199  8.3108  10.7914 OW      134     135     0       0       -0.834 
     136134     HW      TIP3    0       2.1789  8.3108  11.2954 HW      133     0       0       0       0.417   
     137135     HW      TIP3    0       2.1789  8.3108  10.2874 HW      133     0       0       0       0.417   
     138136     OW      TIP3    0       1.4199  8.3108  13.8747 OW      137     138     0       0       -0.834 
     139137     HW      TIP3    0       2.1789  8.3108  14.3787 HW      136     0       0       0       0.417   
     140138     HW      TIP3    0       2.1789  8.3108  13.3707 HW      136     0       0       0       0.417   
     141139     OW      TIP3    0       1.4199  8.3108  16.958  OW      140     141     0       0       -0.834 
     142140     HW      TIP3    0       2.1789  8.3108  17.4619 HW      139     0       0       0       0.417   
     143141     HW      TIP3    0       2.1789  8.3108  16.454  HW      139     0       0       0       0.417   
     144142     OW      TIP3    0       1.4199  8.3108  20.0412 OW      143     144     0       0       -0.834 
     145143     HW      TIP3    0       2.1789  8.3108  20.5452 HW      142     0       0       0       0.417   
     146144     HW      TIP3    0       2.1789  8.3108  19.5372 HW      142     0       0       0       0.417   
     147145     OW      TIP3    0       1.4199  8.3108  23.1245 OW      146     147     0       0       -0.834 
     148146     HW      TIP3    0       2.1789  8.3108  23.6285 HW      145     0       0       0       0.417   
     149147     HW      TIP3    0       2.1789  8.3108  22.6205 HW      145     0       0       0       0.417   
     150148     OW      TIP3    0       1.4199  8.3108  26.2077 OW      149     150     0       0       -0.834 
     151149     HW      TIP3    0       2.1789  8.3108  26.7117 HW      148     0       0       0       0.417   
     152150     HW      TIP3    0       2.1789  8.3108  25.7037 HW      148     0       0       0       0.417   
     153151     OW      TIP3    0       1.4199  8.3108  29.291  OW      152     153     0       0       -0.834 
     154152     HW      TIP3    0       2.1789  8.3108  29.795  HW      151     0       0       0       0.417   
     155153     HW      TIP3    0       2.1789  8.3108  28.787  HW      151     0       0       0       0.417   
     156154     OW      TIP3    0       1.4199  8.3108  32.3743 OW      155     156     0       0       -0.834 
     157155     HW      TIP3    0       2.1789  8.3108  32.8783 HW      154     0       0       0       0.417   
     158156     HW      TIP3    0       2.1789  8.3108  31.8703 HW      154     0       0       0       0.417   
     159157     OW      TIP3    0       1.4199  11.6351 1.54163 OW      158     159     0       0       -0.834 
     160158     HW      TIP3    0       2.1789  11.6351 2.04563 HW      157     0       0       0       0.417   
     161159     HW      TIP3    0       2.1789  11.6351 1.03763 HW      157     0       0       0       0.417   
     162160     OW      TIP3    0       1.4199  11.6351 4.6249  OW      161     162     0       0       -0.834 
     163161     HW      TIP3    0       2.1789  11.6351 5.1289  HW      160     0       0       0       0.417   
     164162     HW      TIP3    0       2.1789  11.6351 4.1209  HW      160     0       0       0       0.417   
     165163     OW      TIP3    0       1.4199  11.6351 7.70816 OW      164     165     0       0       -0.834 
     166164     HW      TIP3    0       2.1789  11.6351 8.21216 HW      163     0       0       0       0.417   
     167165     HW      TIP3    0       2.1789  11.6351 7.20416 HW      163     0       0       0       0.417   
     168166     OW      TIP3    0       1.4199  11.6351 10.7914 OW      167     168     0       0       -0.834 
     169167     HW      TIP3    0       2.1789  11.6351 11.2954 HW      166     0       0       0       0.417   
     170168     HW      TIP3    0       2.1789  11.6351 10.2874 HW      166     0       0       0       0.417   
     171169     OW      TIP3    0       1.4199  11.6351 13.8747 OW      170     171     0       0       -0.834 
     172170     HW      TIP3    0       2.1789  11.6351 14.3787 HW      169     0       0       0       0.417   
     173171     HW      TIP3    0       2.1789  11.6351 13.3707 HW      169     0       0       0       0.417   
     174172     OW      TIP3    0       1.4199  11.6351 16.958  OW      173     174     0       0       -0.834 
     175173     HW      TIP3    0       2.1789  11.6351 17.4619 HW      172     0       0       0       0.417   
     176174     HW      TIP3    0       2.1789  11.6351 16.454  HW      172     0       0       0       0.417   
     177175     OW      TIP3    0       1.4199  11.6351 20.0412 OW      176     177     0       0       -0.834 
     178176     HW      TIP3    0       2.1789  11.6351 20.5452 HW      175     0       0       0       0.417   
     179177     HW      TIP3    0       2.1789  11.6351 19.5372 HW      175     0       0       0       0.417   
     180178     OW      TIP3    0       1.4199  11.6351 23.1245 OW      179     180     0       0       -0.834 
     181179     HW      TIP3    0       2.1789  11.6351 23.6285 HW      178     0       0       0       0.417   
     182180     HW      TIP3    0       2.1789  11.6351 22.6205 HW      178     0       0       0       0.417   
     183181     OW      TIP3    0       1.4199  11.6351 26.2077 OW      182     183     0       0       -0.834 
     184182     HW      TIP3    0       2.1789  11.6351 26.7117 HW      181     0       0       0       0.417   
     185183     HW      TIP3    0       2.1789  11.6351 25.7037 HW      181     0       0       0       0.417   
     186184     OW      TIP3    0       1.4199  11.6351 29.291  OW      185     186     0       0       -0.834 
     187185     HW      TIP3    0       2.1789  11.6351 29.795  HW      184     0       0       0       0.417   
     188186     HW      TIP3    0       2.1789  11.6351 28.787  HW      184     0       0       0       0.417   
     189187     OW      TIP3    0       1.4199  11.6351 32.3743 OW      188     189     0       0       -0.834 
     190188     HW      TIP3    0       2.1789  11.6351 32.8783 HW      187     0       0       0       0.417   
     191189     HW      TIP3    0       2.1789  11.6351 31.8703 HW      187     0       0       0       0.417   
     192190     OW      TIP3    0       1.4199  14.9594 1.54163 OW      191     192     0       0       -0.834 
     193191     HW      TIP3    0       2.1789  14.9594 2.04563 HW      190     0       0       0       0.417   
     194192     HW      TIP3    0       2.1789  14.9594 1.03763 HW      190     0       0       0       0.417   
     195193     OW      TIP3    0       1.4199  14.9594 4.6249  OW      194     195     0       0       -0.834 
     196194     HW      TIP3    0       2.1789  14.9594 5.1289  HW      193     0       0       0       0.417   
     197195     HW      TIP3    0       2.1789  14.9594 4.1209  HW      193     0       0       0       0.417   
     198196     OW      TIP3    0       1.4199  14.9594 7.70816 OW      197     198     0       0       -0.834 
     199197     HW      TIP3    0       2.1789  14.9594 8.21216 HW      196     0       0       0       0.417   
     200198     HW      TIP3    0       2.1789  14.9594 7.20416 HW      196     0       0       0       0.417   
     201199     OW      TIP3    0       1.4199  14.9594 10.7914 OW      200     201     0       0       -0.834 
     202200     HW      TIP3    0       2.1789  14.9594 11.2954 HW      199     0       0       0       0.417   
     203201     HW      TIP3    0       2.1789  14.9594 10.2874 HW      199     0       0       0       0.417   
     204202     OW      TIP3    0       1.4199  14.9594 13.8747 OW      203     204     0       0       -0.834 
     205203     HW      TIP3    0       2.1789  14.9594 14.3787 HW      202     0       0       0       0.417   
     206204     HW      TIP3    0       2.1789  14.9594 13.3707 HW      202     0       0       0       0.417   
     207205     OW      TIP3    0       1.4199  14.9594 16.958  OW      206     207     0       0       -0.834 
     208206     HW      TIP3    0       2.1789  14.9594 17.4619 HW      205     0       0       0       0.417   
     209207     HW      TIP3    0       2.1789  14.9594 16.454  HW      205     0       0       0       0.417   
     210208     OW      TIP3    0       1.4199  14.9594 20.0412 OW      209     210     0       0       -0.834 
     211209     HW      TIP3    0       2.1789  14.9594 20.5452 HW      208     0       0       0       0.417   
     212210     HW      TIP3    0       2.1789  14.9594 19.5372 HW      208     0       0       0       0.417   
     213211     OW      TIP3    0       1.4199  14.9594 23.1245 OW      212     213     0       0       -0.834 
     214212     HW      TIP3    0       2.1789  14.9594 23.6285 HW      211     0       0       0       0.417   
     215213     HW      TIP3    0       2.1789  14.9594 22.6205 HW      211     0       0       0       0.417   
     216214     OW      TIP3    0       1.4199  14.9594 26.2077 OW      215     216     0       0       -0.834 
     217215     HW      TIP3    0       2.1789  14.9594 26.7117 HW      214     0       0       0       0.417   
     218216     HW      TIP3    0       2.1789  14.9594 25.7037 HW      214     0       0       0       0.417   
     219217     OW      TIP3    0       1.4199  14.9594 29.291  OW      218     219     0       0       -0.834 
     220218     HW      TIP3    0       2.1789  14.9594 29.795  HW      217     0       0       0       0.417   
     221219     HW      TIP3    0       2.1789  14.9594 28.787  HW      217     0       0       0       0.417   
     222220     OW      TIP3    0       1.4199  14.9594 32.3743 OW      221     222     0       0       -0.834 
     223221     HW      TIP3    0       2.1789  14.9594 32.8783 HW      220     0       0       0       0.417   
     224222     HW      TIP3    0       2.1789  14.9594 31.8703 HW      220     0       0       0       0.417   
     225223     OW      TIP3    0       4.2597  1.66216 1.54163 OW      224     225     0       0       -0.834 
     226224     HW      TIP3    0       5.0187  1.66216 2.04563 HW      223     0       0       0       0.417   
     227225     HW      TIP3    0       5.0187  1.66216 1.03763 HW      223     0       0       0       0.417   
     228226     OW      TIP3    0       4.2597  1.66216 4.6249  OW      227     228     0       0       -0.834 
     229227     HW      TIP3    0       5.0187  1.66216 5.1289  HW      226     0       0       0       0.417   
     230228     HW      TIP3    0       5.0187  1.66216 4.1209  HW      226     0       0       0       0.417   
     231229     OW      TIP3    0       4.2597  1.66216 7.70816 OW      230     231     0       0       -0.834 
     232230     HW      TIP3    0       5.0187  1.66216 8.21216 HW      229     0       0       0       0.417   
     233231     HW      TIP3    0       5.0187  1.66216 7.20416 HW      229     0       0       0       0.417   
     234232     OW      TIP3    0       4.2597  1.66216 10.7914 OW      233     234     0       0       -0.834 
     235233     HW      TIP3    0       5.0187  1.66216 11.2954 HW      232     0       0       0       0.417   
     236234     HW      TIP3    0       5.0187  1.66216 10.2874 HW      232     0       0       0       0.417   
     237235     OW      TIP3    0       4.2597  1.66216 13.8747 OW      236     237     0       0       -0.834 
     238236     HW      TIP3    0       5.0187  1.66216 14.3787 HW      235     0       0       0       0.417   
     239237     HW      TIP3    0       5.0187  1.66216 13.3707 HW      235     0       0       0       0.417   
     240238     OW      TIP3    0       4.2597  1.66216 16.958  OW      239     240     0       0       -0.834 
     241239     HW      TIP3    0       5.0187  1.66216 17.4619 HW      238     0       0       0       0.417   
     242240     HW      TIP3    0       5.0187  1.66216 16.454  HW      238     0       0       0       0.417   
     243241     OW      TIP3    0       4.2597  1.66216 20.0412 OW      242     243     0       0       -0.834 
     244242     HW      TIP3    0       5.0187  1.66216 20.5452 HW      241     0       0       0       0.417   
     245243     HW      TIP3    0       5.0187  1.66216 19.5372 HW      241     0       0       0       0.417   
     246244     OW      TIP3    0       4.2597  1.66216 23.1245 OW      245     246     0       0       -0.834 
     247245     HW      TIP3    0       5.0187  1.66216 23.6285 HW      244     0       0       0       0.417   
     248246     HW      TIP3    0       5.0187  1.66216 22.6205 HW      244     0       0       0       0.417   
     249247     OW      TIP3    0       4.2597  1.66216 26.2077 OW      248     249     0       0       -0.834 
     250248     HW      TIP3    0       5.0187  1.66216 26.7117 HW      247     0       0       0       0.417   
     251249     HW      TIP3    0       5.0187  1.66216 25.7037 HW      247     0       0       0       0.417   
     252250     OW      TIP3    0       4.2597  1.66216 29.291  OW      251     252     0       0       -0.834 
     253251     HW      TIP3    0       5.0187  1.66216 29.795  HW      250     0       0       0       0.417   
     254252     HW      TIP3    0       5.0187  1.66216 28.787  HW      250     0       0       0       0.417   
     255253     OW      TIP3    0       4.2597  1.66216 32.3743 OW      254     255     0       0       -0.834 
     256254     HW      TIP3    0       5.0187  1.66216 32.8783 HW      253     0       0       0       0.417   
     257255     HW      TIP3    0       5.0187  1.66216 31.8703 HW      253     0       0       0       0.417   
     258256     OW      TIP3    0       4.2597  4.98648 1.54163 OW      257     258     0       0       -0.834 
     259257     HW      TIP3    0       5.0187  4.98648 2.04563 HW      256     0       0       0       0.417   
     260258     HW      TIP3    0       5.0187  4.98648 1.03763 HW      256     0       0       0       0.417   
     261259     OW      TIP3    0       4.2597  4.98648 4.6249  OW      260     261     0       0       -0.834 
     262260     HW      TIP3    0       5.0187  4.98648 5.1289  HW      259     0       0       0       0.417   
     263261     HW      TIP3    0       5.0187  4.98648 4.1209  HW      259     0       0       0       0.417   
     264262     OW      TIP3    0       4.2597  4.98648 7.70816 OW      263     264     0       0       -0.834 
     265263     HW      TIP3    0       5.0187  4.98648 8.21216 HW      262     0       0       0       0.417   
     266264     HW      TIP3    0       5.0187  4.98648 7.20416 HW      262     0       0       0       0.417   
     267265     OW      TIP3    0       4.2597  4.98648 10.7914 OW      266     267     0       0       -0.834 
     268266     HW      TIP3    0       5.0187  4.98648 11.2954 HW      265     0       0       0       0.417   
     269267     HW      TIP3    0       5.0187  4.98648 10.2874 HW      265     0       0       0       0.417   
     270268     OW      TIP3    0       4.2597  4.98648 13.8747 OW      269     270     0       0       -0.834 
     271269     HW      TIP3    0       5.0187  4.98648 14.3787 HW      268     0       0       0       0.417   
     272270     HW      TIP3    0       5.0187  4.98648 13.3707 HW      268     0       0       0       0.417   
     273271     OW      TIP3    0       4.2597  4.98648 29.291  OW      272     273     0       0       -0.834 
     274272     HW      TIP3    0       5.0187  4.98648 29.795  HW      271     0       0       0       0.417   
     275273     HW      TIP3    0       5.0187  4.98648 28.787  HW      271     0       0       0       0.417   
     276274     OW      TIP3    0       4.2597  4.98648 32.3743 OW      275     276     0       0       -0.834 
     277275     HW      TIP3    0       5.0187  4.98648 32.8783 HW      274     0       0       0       0.417   
     278276     HW      TIP3    0       5.0187  4.98648 31.8703 HW      274     0       0       0       0.417   
     279277     OW      TIP3    0       4.2597  8.3108  1.54163 OW      278     279     0       0       -0.834 
     280278     HW      TIP3    0       5.0187  8.3108  2.04563 HW      277     0       0       0       0.417   
     281279     HW      TIP3    0       5.0187  8.3108  1.03763 HW      277     0       0       0       0.417   
     282280     OW      TIP3    0       4.2597  8.3108  32.3743 OW      281     282     0       0       -0.834 
     283281     HW      TIP3    0       5.0187  8.3108  32.8783 HW      280     0       0       0       0.417   
     284282     HW      TIP3    0       5.0187  8.3108  31.8703 HW      280     0       0       0       0.417   
     285283     OW      TIP3    0       4.2597  11.6351 1.54163 OW      284     285     0       0       -0.834 
     286284     HW      TIP3    0       5.0187  11.6351 2.04563 HW      283     0       0       0       0.417   
     287285     HW      TIP3    0       5.0187  11.6351 1.03763 HW      283     0       0       0       0.417   
     288286     OW      TIP3    0       4.2597  11.6351 7.70816 OW      287     288     0       0       -0.834 
     289287     HW      TIP3    0       5.0187  11.6351 8.21216 HW      286     0       0       0       0.417   
     290288     HW      TIP3    0       5.0187  11.6351 7.20416 HW      286     0       0       0       0.417   
     291289     OW      TIP3    0       4.2597  11.6351 10.7914 OW      290     291     0       0       -0.834 
     292290     HW      TIP3    0       5.0187  11.6351 11.2954 HW      289     0       0       0       0.417   
     293291     HW      TIP3    0       5.0187  11.6351 10.2874 HW      289     0       0       0       0.417   
     294292     OW      TIP3    0       4.2597  11.6351 13.8747 OW      293     294     0       0       -0.834 
     295293     HW      TIP3    0       5.0187  11.6351 14.3787 HW      292     0       0       0       0.417   
     296294     HW      TIP3    0       5.0187  11.6351 13.3707 HW      292     0       0       0       0.417   
     297295     OW      TIP3    0       4.2597  11.6351 16.958  OW      296     297     0       0       -0.834 
     298296     HW      TIP3    0       5.0187  11.6351 17.4619 HW      295     0       0       0       0.417   
     299297     HW      TIP3    0       5.0187  11.6351 16.454  HW      295     0       0       0       0.417   
     300298     OW      TIP3    0       4.2597  11.6351 20.0412 OW      299     300     0       0       -0.834 
     301299     HW      TIP3    0       5.0187  11.6351 20.5452 HW      298     0       0       0       0.417   
     302300     HW      TIP3    0       5.0187  11.6351 19.5372 HW      298     0       0       0       0.417   
     303301     OW      TIP3    0       4.2597  11.6351 23.1245 OW      302     303     0       0       -0.834 
     304302     HW      TIP3    0       5.0187  11.6351 23.6285 HW      301     0       0       0       0.417   
     305303     HW      TIP3    0       5.0187  11.6351 22.6205 HW      301     0       0       0       0.417   
     306304     OW      TIP3    0       4.2597  11.6351 26.2077 OW      305     306     0       0       -0.834 
     307305     HW      TIP3    0       5.0187  11.6351 26.7117 HW      304     0       0       0       0.417   
     308306     HW      TIP3    0       5.0187  11.6351 25.7037 HW      304     0       0       0       0.417   
     309307     OW      TIP3    0       4.2597  11.6351 29.291  OW      308     309     0       0       -0.834 
     310308     HW      TIP3    0       5.0187  11.6351 29.795  HW      307     0       0       0       0.417   
     311309     HW      TIP3    0       5.0187  11.6351 28.787  HW      307     0       0       0       0.417   
     312310     OW      TIP3    0       4.2597  11.6351 32.3743 OW      311     312     0       0       -0.834 
     313311     HW      TIP3    0       5.0187  11.6351 32.8783 HW      310     0       0       0       0.417   
     314312     HW      TIP3    0       5.0187  11.6351 31.8703 HW      310     0       0       0       0.417   
     315313     OW      TIP3    0       4.2597  14.9594 1.54163 OW      314     315     0       0       -0.834 
     316314     HW      TIP3    0       5.0187  14.9594 2.04563 HW      313     0       0       0       0.417   
     317315     HW      TIP3    0       5.0187  14.9594 1.03763 HW      313     0       0       0       0.417   
     318316     OW      TIP3    0       4.2597  14.9594 4.6249  OW      317     318     0       0       -0.834 
     319317     HW      TIP3    0       5.0187  14.9594 5.1289  HW      316     0       0       0       0.417   
     320318     HW      TIP3    0       5.0187  14.9594 4.1209  HW      316     0       0       0       0.417   
     321319     OW      TIP3    0       4.2597  14.9594 7.70816 OW      320     321     0       0       -0.834 
     322320     HW      TIP3    0       5.0187  14.9594 8.21216 HW      319     0       0       0       0.417   
     323321     HW      TIP3    0       5.0187  14.9594 7.20416 HW      319     0       0       0       0.417   
     324322     OW      TIP3    0       4.2597  14.9594 10.7914 OW      323     324     0       0       -0.834 
     325323     HW      TIP3    0       5.0187  14.9594 11.2954 HW      322     0       0       0       0.417   
     326324     HW      TIP3    0       5.0187  14.9594 10.2874 HW      322     0       0       0       0.417   
     327325     OW      TIP3    0       4.2597  14.9594 13.8747 OW      326     327     0       0       -0.834 
     328326     HW      TIP3    0       5.0187  14.9594 14.3787 HW      325     0       0       0       0.417   
     329327     HW      TIP3    0       5.0187  14.9594 13.3707 HW      325     0       0       0       0.417   
     330328     OW      TIP3    0       4.2597  14.9594 16.958  OW      329     330     0       0       -0.834 
     331329     HW      TIP3    0       5.0187  14.9594 17.4619 HW      328     0       0       0       0.417   
     332330     HW      TIP3    0       5.0187  14.9594 16.454  HW      328     0       0       0       0.417   
     333331     OW      TIP3    0       4.2597  14.9594 20.0412 OW      332     333     0       0       -0.834 
     334332     HW      TIP3    0       5.0187  14.9594 20.5452 HW      331     0       0       0       0.417   
     335333     HW      TIP3    0       5.0187  14.9594 19.5372 HW      331     0       0       0       0.417   
     336334     OW      TIP3    0       4.2597  14.9594 23.1245 OW      335     336     0       0       -0.834 
     337335     HW      TIP3    0       5.0187  14.9594 23.6285 HW      334     0       0       0       0.417   
     338336     HW      TIP3    0       5.0187  14.9594 22.6205 HW      334     0       0       0       0.417   
     339337     OW      TIP3    0       4.2597  14.9594 26.2077 OW      338     339     0       0       -0.834 
     340338     HW      TIP3    0       5.0187  14.9594 26.7117 HW      337     0       0       0       0.417   
     341339     HW      TIP3    0       5.0187  14.9594 25.7037 HW      337     0       0       0       0.417   
     342340     OW      TIP3    0       4.2597  14.9594 29.291  OW      341     342     0       0       -0.834 
     343341     HW      TIP3    0       5.0187  14.9594 29.795  HW      340     0       0       0       0.417   
     344342     HW      TIP3    0       5.0187  14.9594 28.787  HW      340     0       0       0       0.417   
     345343     OW      TIP3    0       4.2597  14.9594 32.3743 OW      344     345     0       0       -0.834 
     346344     HW      TIP3    0       5.0187  14.9594 32.8783 HW      343     0       0       0       0.417   
     347345     HW      TIP3    0       5.0187  14.9594 31.8703 HW      343     0       0       0       0.417   
     348346     OW      TIP3    0       7.0995  1.66216 1.54163 OW      347     348     0       0       -0.834 
     349347     HW      TIP3    0       7.8585  1.66216 2.04563 HW      346     0       0       0       0.417   
     350348     HW      TIP3    0       7.8585  1.66216 1.03763 HW      346     0       0       0       0.417   
     351349     OW      TIP3    0       7.0995  1.66216 4.6249  OW      350     351     0       0       -0.834 
     352350     HW      TIP3    0       7.8585  1.66216 5.1289  HW      349     0       0       0       0.417   
     353351     HW      TIP3    0       7.8585  1.66216 4.1209  HW      349     0       0       0       0.417   
     354352     OW      TIP3    0       7.0995  1.66216 7.70816 OW      353     354     0       0       -0.834 
     355353     HW      TIP3    0       7.8585  1.66216 8.21216 HW      352     0       0       0       0.417   
     356354     HW      TIP3    0       7.8585  1.66216 7.20416 HW      352     0       0       0       0.417   
     357355     OW      TIP3    0       7.0995  1.66216 10.7914 OW      356     357     0       0       -0.834 
     358356     HW      TIP3    0       7.8585  1.66216 11.2954 HW      355     0       0       0       0.417   
     359357     HW      TIP3    0       7.8585  1.66216 10.2874 HW      355     0       0       0       0.417   
     360358     OW      TIP3    0       7.0995  1.66216 13.8747 OW      359     360     0       0       -0.834 
     361359     HW      TIP3    0       7.8585  1.66216 14.3787 HW      358     0       0       0       0.417   
     362360     HW      TIP3    0       7.8585  1.66216 13.3707 HW      358     0       0       0       0.417   
     363361     OW      TIP3    0       7.0995  1.66216 16.958  OW      362     363     0       0       -0.834 
     364362     HW      TIP3    0       7.8585  1.66216 17.4619 HW      361     0       0       0       0.417   
     365363     HW      TIP3    0       7.8585  1.66216 16.454  HW      361     0       0       0       0.417   
     366364     OW      TIP3    0       7.0995  1.66216 20.0412 OW      365     366     0       0       -0.834 
     367365     HW      TIP3    0       7.8585  1.66216 20.5452 HW      364     0       0       0       0.417   
     368366     HW      TIP3    0       7.8585  1.66216 19.5372 HW      364     0       0       0       0.417   
     369367     OW      TIP3    0       7.0995  1.66216 23.1245 OW      368     369     0       0       -0.834 
     370368     HW      TIP3    0       7.8585  1.66216 23.6285 HW      367     0       0       0       0.417   
     371369     HW      TIP3    0       7.8585  1.66216 22.6205 HW      367     0       0       0       0.417   
     372370     OW      TIP3    0       7.0995  1.66216 26.2077 OW      371     372     0       0       -0.834 
     373371     HW      TIP3    0       7.8585  1.66216 26.7117 HW      370     0       0       0       0.417   
     374372     HW      TIP3    0       7.8585  1.66216 25.7037 HW      370     0       0       0       0.417   
     375373     OW      TIP3    0       7.0995  1.66216 29.291  OW      374     375     0       0       -0.834 
     376374     HW      TIP3    0       7.8585  1.66216 29.795  HW      373     0       0       0       0.417   
     377375     HW      TIP3    0       7.8585  1.66216 28.787  HW      373     0       0       0       0.417   
     378376     OW      TIP3    0       7.0995  1.66216 32.3743 OW      377     378     0       0       -0.834 
     379377     HW      TIP3    0       7.8585  1.66216 32.8783 HW      376     0       0       0       0.417   
     380378     HW      TIP3    0       7.8585  1.66216 31.8703 HW      376     0       0       0       0.417   
     381379     OW      TIP3    0       7.0995  4.98648 1.54163 OW      380     381     0       0       -0.834 
     382380     HW      TIP3    0       7.8585  4.98648 2.04563 HW      379     0       0       0       0.417   
     383381     HW      TIP3    0       7.8585  4.98648 1.03763 HW      379     0       0       0       0.417   
     384382     OW      TIP3    0       7.0995  4.98648 4.6249  OW      383     384     0       0       -0.834 
     385383     HW      TIP3    0       7.8585  4.98648 5.1289  HW      382     0       0       0       0.417   
     386384     HW      TIP3    0       7.8585  4.98648 4.1209  HW      382     0       0       0       0.417   
     387385     OW      TIP3    0       7.0995  4.98648 10.7914 OW      386     387     0       0       -0.834 
     388386     HW      TIP3    0       7.8585  4.98648 11.2954 HW      385     0       0       0       0.417   
     389387     HW      TIP3    0       7.8585  4.98648 10.2874 HW      385     0       0       0       0.417   
     390388     OW      TIP3    0       7.0995  4.98648 32.3743 OW      389     390     0       0       -0.834 
     391389     HW      TIP3    0       7.8585  4.98648 32.8783 HW      388     0       0       0       0.417   
     392390     HW      TIP3    0       7.8585  4.98648 31.8703 HW      388     0       0       0       0.417   
     393391     OW      TIP3    0       7.0995  8.3108  1.54163 OW      392     393     0       0       -0.834 
     394392     HW      TIP3    0       7.8585  8.3108  2.04563 HW      391     0       0       0       0.417   
     395393     HW      TIP3    0       7.8585  8.3108  1.03763 HW      391     0       0       0       0.417   
     396394     OW      TIP3    0       7.0995  8.3108  32.3743 OW      395     396     0       0       -0.834 
     397395     HW      TIP3    0       7.8585  8.3108  32.8783 HW      394     0       0       0       0.417   
     398396     HW      TIP3    0       7.8585  8.3108  31.8703 HW      394     0       0       0       0.417   
     399397     OW      TIP3    0       7.0995  11.6351 1.54163 OW      398     399     0       0       -0.834 
     400398     HW      TIP3    0       7.8585  11.6351 2.04563 HW      397     0       0       0       0.417   
     401399     HW      TIP3    0       7.8585  11.6351 1.03763 HW      397     0       0       0       0.417   
     402400     OW      TIP3    0       7.0995  11.6351 20.0412 OW      401     402     0       0       -0.834 
     403401     HW      TIP3    0       7.8585  11.6351 20.5452 HW      400     0       0       0       0.417   
     404402     HW      TIP3    0       7.8585  11.6351 19.5372 HW      400     0       0       0       0.417   
     405403     OW      TIP3    0       7.0995  11.6351 23.1245 OW      404     405     0       0       -0.834 
     406404     HW      TIP3    0       7.8585  11.6351 23.6285 HW      403     0       0       0       0.417   
     407405     HW      TIP3    0       7.8585  11.6351 22.6205 HW      403     0       0       0       0.417   
     408406     OW      TIP3    0       7.0995  11.6351 29.291  OW      407     408     0       0       -0.834 
     409407     HW      TIP3    0       7.8585  11.6351 29.795  HW      406     0       0       0       0.417   
     410408     HW      TIP3    0       7.8585  11.6351 28.787  HW      406     0       0       0       0.417   
     411409     OW      TIP3    0       7.0995  11.6351 32.3743 OW      410     411     0       0       -0.834 
     412410     HW      TIP3    0       7.8585  11.6351 32.8783 HW      409     0       0       0       0.417   
     413411     HW      TIP3    0       7.8585  11.6351 31.8703 HW      409     0       0       0       0.417   
     414412     OW      TIP3    0       7.0995  14.9594 1.54163 OW      413     414     0       0       -0.834 
     415413     HW      TIP3    0       7.8585  14.9594 2.04563 HW      412     0       0       0       0.417   
     416414     HW      TIP3    0       7.8585  14.9594 1.03763 HW      412     0       0       0       0.417   
     417415     OW      TIP3    0       7.0995  14.9594 4.6249  OW      416     417     0       0       -0.834 
     418416     HW      TIP3    0       7.8585  14.9594 5.1289  HW      415     0       0       0       0.417   
     419417     HW      TIP3    0       7.8585  14.9594 4.1209  HW      415     0       0       0       0.417   
     420418     OW      TIP3    0       7.0995  14.9594 7.70816 OW      419     420     0       0       -0.834 
     421419     HW      TIP3    0       7.8585  14.9594 8.21216 HW      418     0       0       0       0.417   
     422420     HW      TIP3    0       7.8585  14.9594 7.20416 HW      418     0       0       0       0.417   
     423421     OW      TIP3    0       7.0995  14.9594 10.7914 OW      422     423     0       0       -0.834 
     424422     HW      TIP3    0       7.8585  14.9594 11.2954 HW      421     0       0       0       0.417   
     425423     HW      TIP3    0       7.8585  14.9594 10.2874 HW      421     0       0       0       0.417   
     426424     OW      TIP3    0       7.0995  14.9594 13.8747 OW      425     426     0       0       -0.834 
     427425     HW      TIP3    0       7.8585  14.9594 14.3787 HW      424     0       0       0       0.417   
     428426     HW      TIP3    0       7.8585  14.9594 13.3707 HW      424     0       0       0       0.417   
     429427     OW      TIP3    0       7.0995  14.9594 16.958  OW      428     429     0       0       -0.834 
     430428     HW      TIP3    0       7.8585  14.9594 17.4619 HW      427     0       0       0       0.417   
     431429     HW      TIP3    0       7.8585  14.9594 16.454  HW      427     0       0       0       0.417   
     432430     OW      TIP3    0       7.0995  14.9594 20.0412 OW      431     432     0       0       -0.834 
     433431     HW      TIP3    0       7.8585  14.9594 20.5452 HW      430     0       0       0       0.417   
     434432     HW      TIP3    0       7.8585  14.9594 19.5372 HW      430     0       0       0       0.417   
     435433     OW      TIP3    0       7.0995  14.9594 23.1245 OW      434     435     0       0       -0.834 
     436434     HW      TIP3    0       7.8585  14.9594 23.6285 HW      433     0       0       0       0.417   
     437435     HW      TIP3    0       7.8585  14.9594 22.6205 HW      433     0       0       0       0.417   
     438436     OW      TIP3    0       7.0995  14.9594 26.2077 OW      437     438     0       0       -0.834 
     439437     HW      TIP3    0       7.8585  14.9594 26.7117 HW      436     0       0       0       0.417   
     440438     HW      TIP3    0       7.8585  14.9594 25.7037 HW      436     0       0       0       0.417   
     441439     OW      TIP3    0       7.0995  14.9594 29.291  OW      440     441     0       0       -0.834 
     442440     HW      TIP3    0       7.8585  14.9594 29.795  HW      439     0       0       0       0.417   
     443441     HW      TIP3    0       7.8585  14.9594 28.787  HW      439     0       0       0       0.417   
     444442     OW      TIP3    0       7.0995  14.9594 32.3743 OW      443     444     0       0       -0.834 
     445443     HW      TIP3    0       7.8585  14.9594 32.8783 HW      442     0       0       0       0.417   
     446444     HW      TIP3    0       7.8585  14.9594 31.8703 HW      442     0       0       0       0.417   
     447445     OW      TIP3    0       9.9393  1.66216 1.54163 OW      446     447     0       0       -0.834 
     448446     HW      TIP3    0       10.6983 1.66216 2.04563 HW      445     0       0       0       0.417   
     449447     HW      TIP3    0       10.6983 1.66216 1.03763 HW      445     0       0       0       0.417   
     450448     OW      TIP3    0       9.9393  1.66216 4.6249  OW      449     450     0       0       -0.834 
     451449     HW      TIP3    0       10.6983 1.66216 5.1289  HW      448     0       0       0       0.417   
     452450     HW      TIP3    0       10.6983 1.66216 4.1209  HW      448     0       0       0       0.417   
     453451     OW      TIP3    0       9.9393  1.66216 7.70816 OW      452     453     0       0       -0.834 
     454452     HW      TIP3    0       10.6983 1.66216 8.21216 HW      451     0       0       0       0.417   
     455453     HW      TIP3    0       10.6983 1.66216 7.20416 HW      451     0       0       0       0.417   
     456454     OW      TIP3    0       9.9393  1.66216 10.7914 OW      455     456     0       0       -0.834 
     457455     HW      TIP3    0       10.6983 1.66216 11.2954 HW      454     0       0       0       0.417   
     458456     HW      TIP3    0       10.6983 1.66216 10.2874 HW      454     0       0       0       0.417   
     459457     OW      TIP3    0       9.9393  1.66216 13.8747 OW      458     459     0       0       -0.834 
     460458     HW      TIP3    0       10.6983 1.66216 14.3787 HW      457     0       0       0       0.417   
     461459     HW      TIP3    0       10.6983 1.66216 13.3707 HW      457     0       0       0       0.417   
     462460     OW      TIP3    0       9.9393  1.66216 16.958  OW      461     462     0       0       -0.834 
     463461     HW      TIP3    0       10.6983 1.66216 17.4619 HW      460     0       0       0       0.417   
     464462     HW      TIP3    0       10.6983 1.66216 16.454  HW      460     0       0       0       0.417   
     465463     OW      TIP3    0       9.9393  1.66216 20.0412 OW      464     465     0       0       -0.834 
     466464     HW      TIP3    0       10.6983 1.66216 20.5452 HW      463     0       0       0       0.417   
     467465     HW      TIP3    0       10.6983 1.66216 19.5372 HW      463     0       0       0       0.417   
     468466     OW      TIP3    0       9.9393  1.66216 23.1245 OW      467     468     0       0       -0.834 
     469467     HW      TIP3    0       10.6983 1.66216 23.6285 HW      466     0       0       0       0.417   
     470468     HW      TIP3    0       10.6983 1.66216 22.6205 HW      466     0       0       0       0.417   
     471469     OW      TIP3    0       9.9393  1.66216 26.2077 OW      470     471     0       0       -0.834 
     472470     HW      TIP3    0       10.6983 1.66216 26.7117 HW      469     0       0       0       0.417   
     473471     HW      TIP3    0       10.6983 1.66216 25.7037 HW      469     0       0       0       0.417   
     474472     OW      TIP3    0       9.9393  1.66216 29.291  OW      473     474     0       0       -0.834 
     475473     HW      TIP3    0       10.6983 1.66216 29.795  HW      472     0       0       0       0.417   
     476474     HW      TIP3    0       10.6983 1.66216 28.787  HW      472     0       0       0       0.417   
     477475     OW      TIP3    0       9.9393  1.66216 32.3743 OW      476     477     0       0       -0.834 
     478476     HW      TIP3    0       10.6983 1.66216 32.8783 HW      475     0       0       0       0.417   
     479477     HW      TIP3    0       10.6983 1.66216 31.8703 HW      475     0       0       0       0.417   
     480478     OW      TIP3    0       9.9393  4.98648 1.54163 OW      479     480     0       0       -0.834 
     481479     HW      TIP3    0       10.6983 4.98648 2.04563 HW      478     0       0       0       0.417   
     482480     HW      TIP3    0       10.6983 4.98648 1.03763 HW      478     0       0       0       0.417   
     483481     OW      TIP3    0       9.9393  4.98648 4.6249  OW      482     483     0       0       -0.834 
     484482     HW      TIP3    0       10.6983 4.98648 5.1289  HW      481     0       0       0       0.417   
     485483     HW      TIP3    0       10.6983 4.98648 4.1209  HW      481     0       0       0       0.417   
     486484     OW      TIP3    0       9.9393  4.98648 7.70816 OW      485     486     0       0       -0.834 
     487485     HW      TIP3    0       10.6983 4.98648 8.21216 HW      484     0       0       0       0.417   
     488486     HW      TIP3    0       10.6983 4.98648 7.20416 HW      484     0       0       0       0.417   
     489487     OW      TIP3    0       9.9393  4.98648 10.7914 OW      488     489     0       0       -0.834 
     490488     HW      TIP3    0       10.6983 4.98648 11.2954 HW      487     0       0       0       0.417   
     491489     HW      TIP3    0       10.6983 4.98648 10.2874 HW      487     0       0       0       0.417   
     492490     OW      TIP3    0       9.9393  4.98648 16.958  OW      491     492     0       0       -0.834 
     493491     HW      TIP3    0       10.6983 4.98648 17.4619 HW      490     0       0       0       0.417   
     494492     HW      TIP3    0       10.6983 4.98648 16.454  HW      490     0       0       0       0.417   
     495493     OW      TIP3    0       9.9393  4.98648 32.3743 OW      494     495     0       0       -0.834 
     496494     HW      TIP3    0       10.6983 4.98648 32.8783 HW      493     0       0       0       0.417   
     497495     HW      TIP3    0       10.6983 4.98648 31.8703 HW      493     0       0       0       0.417   
     498496     OW      TIP3    0       9.9393  8.3108  1.54163 OW      497     498     0       0       -0.834 
     499497     HW      TIP3    0       10.6983 8.3108  2.04563 HW      496     0       0       0       0.417   
     500498     HW      TIP3    0       10.6983 8.3108  1.03763 HW      496     0       0       0       0.417   
     501499     OW      TIP3    0       9.9393  8.3108  32.3743 OW      500     501     0       0       -0.834 
     502500     HW      TIP3    0       10.6983 8.3108  32.8783 HW      499     0       0       0       0.417   
     503501     HW      TIP3    0       10.6983 8.3108  31.8703 HW      499     0       0       0       0.417   
     504502     OW      TIP3    0       9.9393  11.6351 1.54163 OW      503     504     0       0       -0.834 
     505503     HW      TIP3    0       10.6983 11.6351 2.04563 HW      502     0       0       0       0.417   
     506504     HW      TIP3    0       10.6983 11.6351 1.03763 HW      502     0       0       0       0.417   
     507505     OW      TIP3    0       9.9393  11.6351 13.8747 OW      506     507     0       0       -0.834 
     508506     HW      TIP3    0       10.6983 11.6351 14.3787 HW      505     0       0       0       0.417   
     509507     HW      TIP3    0       10.6983 11.6351 13.3707 HW      505     0       0       0       0.417   
     510508     OW      TIP3    0       9.9393  11.6351 16.958  OW      509     510     0       0       -0.834 
     511509     HW      TIP3    0       10.6983 11.6351 17.4619 HW      508     0       0       0       0.417   
     512510     HW      TIP3    0       10.6983 11.6351 16.454  HW      508     0       0       0       0.417   
     513511     OW      TIP3    0       9.9393  11.6351 20.0412 OW      512     513     0       0       -0.834 
     514512     HW      TIP3    0       10.6983 11.6351 20.5452 HW      511     0       0       0       0.417   
     515513     HW      TIP3    0       10.6983 11.6351 19.5372 HW      511     0       0       0       0.417   
     516514     OW      TIP3    0       9.9393  11.6351 23.1245 OW      515     516     0       0       -0.834 
     517515     HW      TIP3    0       10.6983 11.6351 23.6285 HW      514     0       0       0       0.417   
     518516     HW      TIP3    0       10.6983 11.6351 22.6205 HW      514     0       0       0       0.417   
     519517     OW      TIP3    0       9.9393  11.6351 26.2077 OW      518     519     0       0       -0.834 
     520518     HW      TIP3    0       10.6983 11.6351 26.7117 HW      517     0       0       0       0.417   
     521519     HW      TIP3    0       10.6983 11.6351 25.7037 HW      517     0       0       0       0.417   
     522520     OW      TIP3    0       9.9393  11.6351 29.291  OW      521     522     0       0       -0.834 
     523521     HW      TIP3    0       10.6983 11.6351 29.795  HW      520     0       0       0       0.417   
     524522     HW      TIP3    0       10.6983 11.6351 28.787  HW      520     0       0       0       0.417   
     525523     OW      TIP3    0       9.9393  11.6351 32.3743 OW      524     525     0       0       -0.834 
     526524     HW      TIP3    0       10.6983 11.6351 32.8783 HW      523     0       0       0       0.417   
     527525     HW      TIP3    0       10.6983 11.6351 31.8703 HW      523     0       0       0       0.417   
     528526     OW      TIP3    0       9.9393  14.9594 1.54163 OW      527     528     0       0       -0.834 
     529527     HW      TIP3    0       10.6983 14.9594 2.04563 HW      526     0       0       0       0.417   
     530528     HW      TIP3    0       10.6983 14.9594 1.03763 HW      526     0       0       0       0.417   
     531529     OW      TIP3    0       9.9393  14.9594 4.6249  OW      530     531     0       0       -0.834 
     532530     HW      TIP3    0       10.6983 14.9594 5.1289  HW      529     0       0       0       0.417   
     533531     HW      TIP3    0       10.6983 14.9594 4.1209  HW      529     0       0       0       0.417   
     534532     OW      TIP3    0       9.9393  14.9594 7.70816 OW      533     534     0       0       -0.834 
     535533     HW      TIP3    0       10.6983 14.9594 8.21216 HW      532     0       0       0       0.417   
     536534     HW      TIP3    0       10.6983 14.9594 7.20416 HW      532     0       0       0       0.417   
     537535     OW      TIP3    0       9.9393  14.9594 10.7914 OW      536     537     0       0       -0.834 
     538536     HW      TIP3    0       10.6983 14.9594 11.2954 HW      535     0       0       0       0.417   
     539537     HW      TIP3    0       10.6983 14.9594 10.2874 HW      535     0       0       0       0.417   
     540538     OW      TIP3    0       9.9393  14.9594 13.8747 OW      539     540     0       0       -0.834 
     541539     HW      TIP3    0       10.6983 14.9594 14.3787 HW      538     0       0       0       0.417   
     542540     HW      TIP3    0       10.6983 14.9594 13.3707 HW      538     0       0       0       0.417   
     543541     OW      TIP3    0       9.9393  14.9594 16.958  OW      542     543     0       0       -0.834 
     544542     HW      TIP3    0       10.6983 14.9594 17.4619 HW      541     0       0       0       0.417   
     545543     HW      TIP3    0       10.6983 14.9594 16.454  HW      541     0       0       0       0.417   
     546544     OW      TIP3    0       9.9393  14.9594 20.0412 OW      545     546     0       0       -0.834 
     547545     HW      TIP3    0       10.6983 14.9594 20.5452 HW      544     0       0       0       0.417   
     548546     HW      TIP3    0       10.6983 14.9594 19.5372 HW      544     0       0       0       0.417   
     549547     OW      TIP3    0       9.9393  14.9594 23.1245 OW      548     549     0       0       -0.834 
     550548     HW      TIP3    0       10.6983 14.9594 23.6285 HW      547     0       0       0       0.417   
     551549     HW      TIP3    0       10.6983 14.9594 22.6205 HW      547     0       0       0       0.417   
     552550     OW      TIP3    0       9.9393  14.9594 26.2077 OW      551     552     0       0       -0.834 
     553551     HW      TIP3    0       10.6983 14.9594 26.7117 HW      550     0       0       0       0.417   
     554552     HW      TIP3    0       10.6983 14.9594 25.7037 HW      550     0       0       0       0.417   
     555553     OW      TIP3    0       9.9393  14.9594 29.291  OW      554     555     0       0       -0.834 
     556554     HW      TIP3    0       10.6983 14.9594 29.795  HW      553     0       0       0       0.417   
     557555     HW      TIP3    0       10.6983 14.9594 28.787  HW      553     0       0       0       0.417   
     558556     OW      TIP3    0       9.9393  14.9594 32.3743 OW      557     558     0       0       -0.834 
     559557     HW      TIP3    0       10.6983 14.9594 32.8783 HW      556     0       0       0       0.417   
     560558     HW      TIP3    0       10.6983 14.9594 31.8703 HW      556     0       0       0       0.417   
     561559     OW      TIP3    0       12.7791 1.66216 1.54163 OW      560     561     0       0       -0.834 
     562560     HW      TIP3    0       13.5381 1.66216 2.04563 HW      559     0       0       0       0.417   
     563561     HW      TIP3    0       13.5381 1.66216 1.03763 HW      559     0       0       0       0.417   
     564562     OW      TIP3    0       12.7791 1.66216 4.6249  OW      563     564     0       0       -0.834 
     565563     HW      TIP3    0       13.5381 1.66216 5.1289  HW      562     0       0       0       0.417   
     566564     HW      TIP3    0       13.5381 1.66216 4.1209  HW      562     0       0       0       0.417   
     567565     OW      TIP3    0       12.7791 1.66216 7.70816 OW      566     567     0       0       -0.834 
     568566     HW      TIP3    0       13.5381 1.66216 8.21216 HW      565     0       0       0       0.417   
     569567     HW      TIP3    0       13.5381 1.66216 7.20416 HW      565     0       0       0       0.417   
     570568     OW      TIP3    0       12.7791 1.66216 10.7914 OW      569     570     0       0       -0.834 
     571569     HW      TIP3    0       13.5381 1.66216 11.2954 HW      568     0       0       0       0.417   
     572570     HW      TIP3    0       13.5381 1.66216 10.2874 HW      568     0       0       0       0.417   
     573571     OW      TIP3    0       12.7791 1.66216 13.8747 OW      572     573     0       0       -0.834 
     574572     HW      TIP3    0       13.5381 1.66216 14.3787 HW      571     0       0       0       0.417   
     575573     HW      TIP3    0       13.5381 1.66216 13.3707 HW      571     0       0       0       0.417   
     576574     OW      TIP3    0       12.7791 1.66216 16.958  OW      575     576     0       0       -0.834 
     577575     HW      TIP3    0       13.5381 1.66216 17.4619 HW      574     0       0       0       0.417   
     578576     HW      TIP3    0       13.5381 1.66216 16.454  HW      574     0       0       0       0.417   
     579577     OW      TIP3    0       12.7791 1.66216 20.0412 OW      578     579     0       0       -0.834 
     580578     HW      TIP3    0       13.5381 1.66216 20.5452 HW      577     0       0       0       0.417   
     581579     HW      TIP3    0       13.5381 1.66216 19.5372 HW      577     0       0       0       0.417   
     582580     OW      TIP3    0       12.7791 1.66216 23.1245 OW      581     582     0       0       -0.834 
     583581     HW      TIP3    0       13.5381 1.66216 23.6285 HW      580     0       0       0       0.417   
     584582     HW      TIP3    0       13.5381 1.66216 22.6205 HW      580     0       0       0       0.417   
     585583     OW      TIP3    0       12.7791 1.66216 26.2077 OW      584     585     0       0       -0.834 
     586584     HW      TIP3    0       13.5381 1.66216 26.7117 HW      583     0       0       0       0.417   
     587585     HW      TIP3    0       13.5381 1.66216 25.7037 HW      583     0       0       0       0.417   
     588586     OW      TIP3    0       12.7791 1.66216 29.291  OW      587     588     0       0       -0.834 
     589587     HW      TIP3    0       13.5381 1.66216 29.795  HW      586     0       0       0       0.417   
     590588     HW      TIP3    0       13.5381 1.66216 28.787  HW      586     0       0       0       0.417   
     591589     OW      TIP3    0       12.7791 1.66216 32.3743 OW      590     591     0       0       -0.834 
     592590     HW      TIP3    0       13.5381 1.66216 32.8783 HW      589     0       0       0       0.417   
     593591     HW      TIP3    0       13.5381 1.66216 31.8703 HW      589     0       0       0       0.417   
     594592     OW      TIP3    0       12.7791 4.98648 1.54163 OW      593     594     0       0       -0.834 
     595593     HW      TIP3    0       13.5381 4.98648 2.04563 HW      592     0       0       0       0.417   
     596594     HW      TIP3    0       13.5381 4.98648 1.03763 HW      592     0       0       0       0.417   
     597595     OW      TIP3    0       12.7791 4.98648 4.6249  OW      596     597     0       0       -0.834 
     598596     HW      TIP3    0       13.5381 4.98648 5.1289  HW      595     0       0       0       0.417   
     599597     HW      TIP3    0       13.5381 4.98648 4.1209  HW      595     0       0       0       0.417   
     600598     OW      TIP3    0       12.7791 4.98648 7.70816 OW      599     600     0       0       -0.834 
     601599     HW      TIP3    0       13.5381 4.98648 8.21216 HW      598     0       0       0       0.417   
     602600     HW      TIP3    0       13.5381 4.98648 7.20416 HW      598     0       0       0       0.417   
     603601     OW      TIP3    0       12.7791 4.98648 10.7914 OW      602     603     0       0       -0.834 
     604602     HW      TIP3    0       13.5381 4.98648 11.2954 HW      601     0       0       0       0.417   
     605603     HW      TIP3    0       13.5381 4.98648 10.2874 HW      601     0       0       0       0.417   
     606604     OW      TIP3    0       12.7791 4.98648 13.8747 OW      605     606     0       0       -0.834 
     607605     HW      TIP3    0       13.5381 4.98648 14.3787 HW      604     0       0       0       0.417   
     608606     HW      TIP3    0       13.5381 4.98648 13.3707 HW      604     0       0       0       0.417   
     609607     OW      TIP3    0       12.7791 4.98648 16.958  OW      608     609     0       0       -0.834 
     610608     HW      TIP3    0       13.5381 4.98648 17.4619 HW      607     0       0       0       0.417   
     611609     HW      TIP3    0       13.5381 4.98648 16.454  HW      607     0       0       0       0.417   
     612610     OW      TIP3    0       12.7791 4.98648 20.0412 OW      611     612     0       0       -0.834 
     613611     HW      TIP3    0       13.5381 4.98648 20.5452 HW      610     0       0       0       0.417   
     614612     HW      TIP3    0       13.5381 4.98648 19.5372 HW      610     0       0       0       0.417   
     615613     OW      TIP3    0       12.7791 4.98648 23.1245 OW      614     615     0       0       -0.834 
     616614     HW      TIP3    0       13.5381 4.98648 23.6285 HW      613     0       0       0       0.417   
     617615     HW      TIP3    0       13.5381 4.98648 22.6205 HW      613     0       0       0       0.417   
     618616     OW      TIP3    0       12.7791 4.98648 26.2077 OW      617     618     0       0       -0.834 
     619617     HW      TIP3    0       13.5381 4.98648 26.7117 HW      616     0       0       0       0.417   
     620618     HW      TIP3    0       13.5381 4.98648 25.7037 HW      616     0       0       0       0.417   
     621619     OW      TIP3    0       12.7791 4.98648 29.291  OW      620     621     0       0       -0.834 
     622620     HW      TIP3    0       13.5381 4.98648 29.795  HW      619     0       0       0       0.417   
     623621     HW      TIP3    0       13.5381 4.98648 28.787  HW      619     0       0       0       0.417   
     624622     OW      TIP3    0       12.7791 4.98648 32.3743 OW      623     624     0       0       -0.834 
     625623     HW      TIP3    0       13.5381 4.98648 32.8783 HW      622     0       0       0       0.417   
     626624     HW      TIP3    0       13.5381 4.98648 31.8703 HW      622     0       0       0       0.417   
     627625     OW      TIP3    0       12.7791 8.3108  1.54163 OW      626     627     0       0       -0.834 
     628626     HW      TIP3    0       13.5381 8.3108  2.04563 HW      625     0       0       0       0.417   
     629627     HW      TIP3    0       13.5381 8.3108  1.03763 HW      625     0       0       0       0.417   
     630628     OW      TIP3    0       12.7791 8.3108  4.6249  OW      629     630     0       0       -0.834 
     631629     HW      TIP3    0       13.5381 8.3108  5.1289  HW      628     0       0       0       0.417   
     632630     HW      TIP3    0       13.5381 8.3108  4.1209  HW      628     0       0       0       0.417   
     633631     OW      TIP3    0       12.7791 8.3108  7.70816 OW      632     633     0       0       -0.834 
     634632     HW      TIP3    0       13.5381 8.3108  8.21216 HW      631     0       0       0       0.417   
     635633     HW      TIP3    0       13.5381 8.3108  7.20416 HW      631     0       0       0       0.417   
     636634     OW      TIP3    0       12.7791 8.3108  10.7914 OW      635     636     0       0       -0.834 
     637635     HW      TIP3    0       13.5381 8.3108  11.2954 HW      634     0       0       0       0.417   
     638636     HW      TIP3    0       13.5381 8.3108  10.2874 HW      634     0       0       0       0.417   
     639637     OW      TIP3    0       12.7791 8.3108  13.8747 OW      638     639     0       0       -0.834 
     640638     HW      TIP3    0       13.5381 8.3108  14.3787 HW      637     0       0       0       0.417   
     641639     HW      TIP3    0       13.5381 8.3108  13.3707 HW      637     0       0       0       0.417   
     642640     OW      TIP3    0       12.7791 8.3108  16.958  OW      641     642     0       0       -0.834 
     643641     HW      TIP3    0       13.5381 8.3108  17.4619 HW      640     0       0       0       0.417   
     644642     HW      TIP3    0       13.5381 8.3108  16.454  HW      640     0       0       0       0.417   
     645643     OW      TIP3    0       12.7791 8.3108  20.0412 OW      644     645     0       0       -0.834 
     646644     HW      TIP3    0       13.5381 8.3108  20.5452 HW      643     0       0       0       0.417   
     647645     HW      TIP3    0       13.5381 8.3108  19.5372 HW      643     0       0       0       0.417   
     648646     OW      TIP3    0       12.7791 8.3108  23.1245 OW      647     648     0       0       -0.834 
     649647     HW      TIP3    0       13.5381 8.3108  23.6285 HW      646     0       0       0       0.417   
     650648     HW      TIP3    0       13.5381 8.3108  22.6205 HW      646     0       0       0       0.417   
     651649     OW      TIP3    0       12.7791 8.3108  26.2077 OW      650     651     0       0       -0.834 
     652650     HW      TIP3    0       13.5381 8.3108  26.7117 HW      649     0       0       0       0.417   
     653651     HW      TIP3    0       13.5381 8.3108  25.7037 HW      649     0       0       0       0.417   
     654652     OW      TIP3    0       12.7791 8.3108  29.291  OW      653     654     0       0       -0.834 
     655653     HW      TIP3    0       13.5381 8.3108  29.795  HW      652     0       0       0       0.417   
     656654     HW      TIP3    0       13.5381 8.3108  28.787  HW      652     0       0       0       0.417   
     657655     OW      TIP3    0       12.7791 8.3108  32.3743 OW      656     657     0       0       -0.834 
     658656     HW      TIP3    0       13.5381 8.3108  32.8783 HW      655     0       0       0       0.417   
     659657     HW      TIP3    0       13.5381 8.3108  31.8703 HW      655     0       0       0       0.417   
     660658     OW      TIP3    0       12.7791 11.6351 1.54163 OW      659     660     0       0       -0.834 
     661659     HW      TIP3    0       13.5381 11.6351 2.04563 HW      658     0       0       0       0.417   
     662660     HW      TIP3    0       13.5381 11.6351 1.03763 HW      658     0       0       0       0.417   
     663661     OW      TIP3    0       12.7791 11.6351 4.6249  OW      662     663     0       0       -0.834 
     664662     HW      TIP3    0       13.5381 11.6351 5.1289  HW      661     0       0       0       0.417   
     665663     HW      TIP3    0       13.5381 11.6351 4.1209  HW      661     0       0       0       0.417   
     666664     OW      TIP3    0       12.7791 11.6351 7.70816 OW      665     666     0       0       -0.834 
     667665     HW      TIP3    0       13.5381 11.6351 8.21216 HW      664     0       0       0       0.417   
     668666     HW      TIP3    0       13.5381 11.6351 7.20416 HW      664     0       0       0       0.417   
     669667     OW      TIP3    0       12.7791 11.6351 10.7914 OW      668     669     0       0       -0.834 
     670668     HW      TIP3    0       13.5381 11.6351 11.2954 HW      667     0       0       0       0.417   
     671669     HW      TIP3    0       13.5381 11.6351 10.2874 HW      667     0       0       0       0.417   
     672670     OW      TIP3    0       12.7791 11.6351 13.8747 OW      671     672     0       0       -0.834 
     673671     HW      TIP3    0       13.5381 11.6351 14.3787 HW      670     0       0       0       0.417   
     674672     HW      TIP3    0       13.5381 11.6351 13.3707 HW      670     0       0       0       0.417   
     675673     OW      TIP3    0       12.7791 11.6351 16.958  OW      674     675     0       0       -0.834 
     676674     HW      TIP3    0       13.5381 11.6351 17.4619 HW      673     0       0       0       0.417   
     677675     HW      TIP3    0       13.5381 11.6351 16.454  HW      673     0       0       0       0.417   
     678676     OW      TIP3    0       12.7791 11.6351 20.0412 OW      677     678     0       0       -0.834 
     679677     HW      TIP3    0       13.5381 11.6351 20.5452 HW      676     0       0       0       0.417   
     680678     HW      TIP3    0       13.5381 11.6351 19.5372 HW      676     0       0       0       0.417   
     681679     OW      TIP3    0       12.7791 11.6351 23.1245 OW      680     681     0       0       -0.834 
     682680     HW      TIP3    0       13.5381 11.6351 23.6285 HW      679     0       0       0       0.417   
     683681     HW      TIP3    0       13.5381 11.6351 22.6205 HW      679     0       0       0       0.417   
     684682     OW      TIP3    0       12.7791 11.6351 26.2077 OW      683     684     0       0       -0.834 
     685683     HW      TIP3    0       13.5381 11.6351 26.7117 HW      682     0       0       0       0.417   
     686684     HW      TIP3    0       13.5381 11.6351 25.7037 HW      682     0       0       0       0.417   
     687685     OW      TIP3    0       12.7791 11.6351 29.291  OW      686     687     0       0       -0.834 
     688686     HW      TIP3    0       13.5381 11.6351 29.795  HW      685     0       0       0       0.417   
     689687     HW      TIP3    0       13.5381 11.6351 28.787  HW      685     0       0       0       0.417   
     690688     OW      TIP3    0       12.7791 11.6351 32.3743 OW      689     690     0       0       -0.834 
     691689     HW      TIP3    0       13.5381 11.6351 32.8783 HW      688     0       0       0       0.417   
     692690     HW      TIP3    0       13.5381 11.6351 31.8703 HW      688     0       0       0       0.417   
     693691     OW      TIP3    0       12.7791 14.9594 1.54163 OW      692     693     0       0       -0.834 
     694692     HW      TIP3    0       13.5381 14.9594 2.04563 HW      691     0       0       0       0.417   
     695693     HW      TIP3    0       13.5381 14.9594 1.03763 HW      691     0       0       0       0.417   
     696694     OW      TIP3    0       12.7791 14.9594 4.6249  OW      695     696     0       0       -0.834 
     697695     HW      TIP3    0       13.5381 14.9594 5.1289  HW      694     0       0       0       0.417   
     698696     HW      TIP3    0       13.5381 14.9594 4.1209  HW      694     0       0       0       0.417   
     699697     OW      TIP3    0       12.7791 14.9594 7.70816 OW      698     699     0       0       -0.834 
     700698     HW      TIP3    0       13.5381 14.9594 8.21216 HW      697     0       0       0       0.417   
     701699     HW      TIP3    0       13.5381 14.9594 7.20416 HW      697     0       0       0       0.417   
     702700     OW      TIP3    0       12.7791 14.9594 10.7914 OW      701     702     0       0       -0.834 
     703701     HW      TIP3    0       13.5381 14.9594 11.2954 HW      700     0       0       0       0.417   
     704702     HW      TIP3    0       13.5381 14.9594 10.2874 HW      700     0       0       0       0.417   
     705703     OW      TIP3    0       12.7791 14.9594 13.8747 OW      704     705     0       0       -0.834 
     706704     HW      TIP3    0       13.5381 14.9594 14.3787 HW      703     0       0       0       0.417   
     707705     HW      TIP3    0       13.5381 14.9594 13.3707 HW      703     0       0       0       0.417   
     708706     OW      TIP3    0       12.7791 14.9594 16.958  OW      707     708     0       0       -0.834 
     709707     HW      TIP3    0       13.5381 14.9594 17.4619 HW      706     0       0       0       0.417   
     710708     HW      TIP3    0       13.5381 14.9594 16.454  HW      706     0       0       0       0.417   
     711709     OW      TIP3    0       12.7791 14.9594 20.0412 OW      710     711     0       0       -0.834 
     712710     HW      TIP3    0       13.5381 14.9594 20.5452 HW      709     0       0       0       0.417   
     713711     HW      TIP3    0       13.5381 14.9594 19.5372 HW      709     0       0       0       0.417   
     714712     OW      TIP3    0       12.7791 14.9594 23.1245 OW      713     714     0       0       -0.834 
     715713     HW      TIP3    0       13.5381 14.9594 23.6285 HW      712     0       0       0       0.417   
     716714     HW      TIP3    0       13.5381 14.9594 22.6205 HW      712     0       0       0       0.417   
     717715     OW      TIP3    0       12.7791 14.9594 26.2077 OW      716     717     0       0       -0.834 
     718716     HW      TIP3    0       13.5381 14.9594 26.7117 HW      715     0       0       0       0.417   
     719717     HW      TIP3    0       13.5381 14.9594 25.7037 HW      715     0       0       0       0.417   
     720718     OW      TIP3    0       12.7791 14.9594 29.291  OW      719     720     0       0       -0.834 
     721719     HW      TIP3    0       13.5381 14.9594 29.795  HW      718     0       0       0       0.417   
     722720     HW      TIP3    0       13.5381 14.9594 28.787  HW      718     0       0       0       0.417   
     723721     OW      TIP3    0       12.7791 14.9594 32.3743 OW      722     723     0       0       -0.834 
     724722     HW      TIP3    0       13.5381 14.9594 32.8783 HW      721     0       0       0       0.417   
     725723     HW      TIP3    0       13.5381 14.9594 31.8703 HW      721     0       0       0       0.417   
  • tests/regression/Filling/testsuite-filling.at

    r7f1b51 r8859b5  
    1818AT_BANNER([MoleCuilder - Filling in molecules])
    1919
     20# filling box
     21m4_include(Filling/FillWithMolecule/testsuite-fill-with-molecule.at)
     22
    2023# suspend in water with certain density
    2124m4_include(Filling/SuspendInWater/testsuite-suspend-in-water.at)
    2225
    23 # fill surface
    24 m4_include([Filling/FillSurface/testsuite-fill-surface-cube.at])
    25 m4_include([Filling/FillSurface/testsuite-fill-surface-cylinder.at])
    26 m4_include([Filling/FillSurface/testsuite-fill-surface-everywhere.at])
    27 m4_include([Filling/FillSurface/testsuite-fill-surface-nowhere.at])
    28 m4_include([Filling/FillSurface/testsuite-fill-surface-sphere.at])
     26# filling box
     27m4_include(Filling/FillVoidWithMolecule/testsuite-fill-void-with-molecule.at)
     28
     29# filling box with tenside
     30m4_include(Filling/FillVoidWithMolecule/testsuite-fill-void-with-tenside-molecule.at)
    2931
    3032# create micelle by filling a spherical surface
    31 m4_include([Filling/FillSurface/testsuite-fill-surface-micelle.at])
     33m4_include([Filling/SphericalSurface/testsuite-molecules-fill-spherical-surface.at])
    3234
    3335# fill regular grid
    34 m4_include([Filling/RegularGrid/testsuite-fill-regular-grid.at])
    35 m4_include([Filling/RegularGrid/testsuite-fill-regular-grid-with-surface.at])
     36m4_include([Filling/RegularGrid/testsuite-molecules-fill-regular-grid.at])
     37m4_include([Filling/RegularGrid/testsuite-molecules-fill-regular-grid-with-surface.at])
    3638
    37 # filling shape's volumes
    38 m4_include(Filling/FillVolume/testsuite-fill-volume-cube.at)
    39 m4_include(Filling/FillVolume/testsuite-fill-volume-cylinder.at)
    40 m4_include(Filling/FillVolume/testsuite-fill-volume-everywhere.at)
    41 m4_include(Filling/FillVolume/testsuite-fill-volume-nowhere.at)
    42 m4_include(Filling/FillVolume/testsuite-fill-volume-sphere.at)
    43 
  • tests/regression/Makefile.am

    r7f1b51 r8859b5  
    6363        $(srcdir)/Domain/SetBoundaryConditions/testsuite-domain-set-boundary-conditions.at \
    6464        $(srcdir)/Filling/testsuite-filling.at \
    65         $(srcdir)/Filling/FillSurface/testsuite-fill-surface-cube.at \
    66         $(srcdir)/Filling/FillSurface/testsuite-fill-surface-cylinder.at \
    67         $(srcdir)/Filling/FillSurface/testsuite-fill-surface-everywhere.at \
    68         $(srcdir)/Filling/FillSurface/testsuite-fill-surface-micelle.at \
    69         $(srcdir)/Filling/FillSurface/testsuite-fill-surface-nowhere.at \
    70         $(srcdir)/Filling/FillSurface/testsuite-fill-surface-sphere.at \
    71         $(srcdir)/Filling/FillVolume/testsuite-fill-volume-cube.at \
    72         $(srcdir)/Filling/FillVolume/testsuite-fill-volume-cylinder.at \
    73         $(srcdir)/Filling/FillVolume/testsuite-fill-volume-everywhere.at \
    74         $(srcdir)/Filling/FillVolume/testsuite-fill-volume-nowhere.at \
    75         $(srcdir)/Filling/FillVolume/testsuite-fill-volume-sphere.at \
    76         $(srcdir)/Filling/RegularGrid/testsuite-fill-regular-grid.at \
    77         $(srcdir)/Filling/RegularGrid/testsuite-fill-regular-grid-with-surface.at \
     65        $(srcdir)/Filling/FillVoidWithMolecule/testsuite-fill-void-with-molecule.at \
     66        $(srcdir)/Filling/FillVoidWithMolecule/testsuite-fill-void-with-tenside-molecule.at \
     67        $(srcdir)/Filling/FillWithMolecule/testsuite-fill-with-molecule.at \
     68        $(srcdir)/Filling/RegularGrid/testsuite-molecules-fill-regular-grid.at \
     69        $(srcdir)/Filling/RegularGrid/testsuite-molecules-fill-regular-grid-with-surface.at \
     70        $(srcdir)/Filling/SphericalSurface/testsuite-molecules-fill-spherical-surface.at \
    7871        $(srcdir)/Filling/SuspendInWater/testsuite-suspend-in-water.at \
    7972        $(srcdir)/Fragmentation/testsuite-fragmentation.at \
  • tests/regression/Options/InvalidCommands/testsuite-options-invalid-commands.at

    r7f1b51 r8859b5  
    2525AT_CHECK([chmod u+w $file], 0)
    2626AT_CHECK([../../molecuilder -i $file  -t], 134, [ignore], [stderr])
    27 AT_CHECK([../../molecuilder -i $file  -s -b -E -c -b -a], 134, [ignore], [stderr])
    28 AT_CHECK([../../molecuilder -i $file  -b -E -c -b -a], 134, [ignore], [stderr])
    29 AT_CHECK([../../molecuilder -i $file  -E -c -b -a], 134, [ignore], [stderr])
    30 AT_CHECK([../../molecuilder -i $file  -c -b -a], 134, [ignore], [stderr])
    31 AT_CHECK([../../molecuilder -i $file  -b -a], 134, [ignore], [stderr])
    32 AT_CHECK([../../molecuilder -i $file  -a], 134, [ignore], [stderr])
     27AT_CHECK([../../molecuilder -i $file  -s -b -E -c -b -a -u], 134, [ignore], [stderr])
     28AT_CHECK([../../molecuilder -i $file  -b -E -c -b -a -u], 134, [ignore], [stderr])
     29AT_CHECK([../../molecuilder -i $file  -E -c -b -a -u], 134, [ignore], [stderr])
     30AT_CHECK([../../molecuilder -i $file  -c -b -a -u], 134, [ignore], [stderr])
     31AT_CHECK([../../molecuilder -i $file  -b -a -u], 134, [ignore], [stderr])
     32AT_CHECK([../../molecuilder -i $file  -a -u], 134, [ignore], [stderr])
     33AT_CHECK([../../molecuilder -i $file  -u], 134, [ignore], [stderr])
    3334
    3435AT_CLEANUP
  • tests/regression/RandomNumbers/Distribution/testsuite-set-random-number-distribution.at

    r7f1b51 r8859b5  
    2222
    2323AT_CHECK([../../molecuilder -v 3 --set-random-number-distribution "uniform_int" --random-number-distribution-parameters "max=20;"], 0, [stdout], [stderr])
    24 AT_CHECK([grep "STATUS:.*uniform_int" stdout], 0, [ignore], [ignore])
     24AT_CHECK([fgrep "uniform_int" stdout], 0, [ignore], [ignore])
    2525AT_CHECK([fgrep "Its parameters are: min=0;max=20;p=-1;t=-1;median=-1;sigma=-1;alpha=-1;mean=-1;a=-1;b=-1;c=-1;lambda=-1;" stdout], 0, [ignore], [ignore])
    2626
     
    3232
    3333AT_CHECK([../../molecuilder -v 3 --set-random-number-distribution "uniform_int" --random-number-distribution-parameters "max=20;" --undo], 0, [stdout], [stderr])
    34 AT_CHECK([grep "STATUS:.*uniform_smallint" stdout], 0, [ignore], [ignore])
     34AT_CHECK([fgrep "uniform_smallint" stdout], 0, [ignore], [ignore])
    3535AT_CHECK([fgrep "Its parameters are: min=0;max=9;p=-1;t=-1;median=-1;sigma=-1;alpha=-1;mean=-1;a=-1;b=-1;c=-1;lambda=-1;" stdout], 0, [ignore], [ignore])
    3636
     
    4242
    4343AT_CHECK([../../molecuilder -v 3 --set-random-number-distribution "uniform_int" --random-number-distribution-parameters "max=20;" --undo --redo], 0, [stdout], [stderr])
    44 AT_CHECK([grep -c "STATUS:.*uniform_int" stdout], 0, [stdout], [ignore])
    45 AT_CHECK([fgrep "2" stdout], 0, [ignore], [ignore])
     44AT_CHECK([fgrep -c "uniform_int" stdout], 0, [stdout], [ignore])
     45AT_CHECK([fgrep "3" stdout], 0, [ignore], [ignore])
    4646AT_CHECK([../../molecuilder -v 3 --set-random-number-distribution "uniform_int" --random-number-distribution-parameters "max=20;" --undo --redo], 0, [stdout], [stderr])
    4747AT_CHECK([fgrep -c "Its parameters are: min=0;max=20;p=-1;t=-1;median=-1;sigma=-1;alpha=-1;mean=-1;a=-1;b=-1;c=-1;lambda=-1;" stdout], 0, [stdout], [ignore])
  • tests/regression/RandomNumbers/Engine/testsuite-set-random-number-engine.at

    r7f1b51 r8859b5  
    2222
    2323AT_CHECK([../../molecuilder -v 3 --set-random-number-engine "lagged_fibonacci607" --random-number-engine-parameters "seed=2;"], 0, [stdout], [stderr])
    24 AT_CHECK([grep "STATUS:.*lagged_fibonacci607" stdout], 0, [ignore], [ignore])
     24AT_CHECK([fgrep "lagged_fibonacci607" stdout], 0, [ignore], [ignore])
    2525AT_CHECK([fgrep "Its parameters are: seed=2;" stdout], 0, [ignore], [ignore])
    2626
     
    3232
    3333AT_CHECK([../../molecuilder -v 3 --set-random-number-engine "lagged_fibonacci607" --random-number-engine-parameters "seed=2;" --undo], 0, [stdout], [stderr])
    34 AT_CHECK([grep "STATUS:.*minstd_rand0" stdout], 0, [ignore], [ignore])
     34AT_CHECK([fgrep "minstd_rand0" stdout], 0, [ignore], [ignore])
    3535AT_CHECK([fgrep "Its parameters are: seed=1;" stdout], 0, [ignore], [ignore])
    3636
     
    4242
    4343AT_CHECK([../../molecuilder -v 3 --set-random-number-engine "lagged_fibonacci607" --random-number-engine-parameters "seed=2;" --undo --redo], 0, [stdout], [stderr])
    44 AT_CHECK([grep -c "STATUS:.*lagged_fibonacci607" stdout], 0, [stdout], [ignore])
    45 AT_CHECK([fgrep "2" stdout], 0, [stdout], [ignore])
     44AT_CHECK([fgrep -c "lagged_fibonacci607" stdout], 0, [stdout], [ignore])
     45AT_CHECK([fgrep "3" stdout], 0, [stdout], [ignore])
    4646AT_CHECK([../../molecuilder -v 3 --set-random-number-engine "lagged_fibonacci607" --random-number-engine-parameters "seed=2;" --undo --redo], 0, [stdout], [stderr])
    4747AT_CHECK([fgrep -c "Its parameters are: seed=2;" stdout], 0, [stdout], [ignore])
Note: See TracChangeset for help on using the changeset viewer.