Ignore:
Timestamp:
Oct 18, 2009, 2:51:38 PM (16 years ago)
Author:
Frederik Heber <heber@…>
Children:
77894f
Parents:
b0ee98
git-author:
Frederik Heber <heber@…> (10/18/09 14:15:37)
git-committer:
Frederik Heber <heber@…> (10/18/09 14:51:38)
Message:

Huge refactoring: molecule::ListOfBondsPerAtom and molecule::NumberOfBondsPerAtom removed, atom::ListOfBonds introduced. Unit Test for ListOfBonds manipulation introduced.

  • changes to builder.cpp: removed CreateListOfBondsPerAtom() calls, as the creation of the global arrays is not necessary anymore
  • changes to LinkedCell: LinkedCell::CheckBounds(int[NDIM]) does not admonish out of bonds as this is not desired for the local offset which may become out of bounds.
  • changes to lists.hpp templates: BUGFIX: unlink() now sets ->next and ->previous to NULL, cleanup() uses removedwithoutcheck()
  • new templates for molecule.hpp: SumPerAtom() allows for summation of the return value of atom:...() member fiunctions. This is needed e.g. for atom::CorrectBondDegree()

Signed-off-by: Frederik Heber <heber@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • molecuilder/src/atom.hpp

    rb0ee98 r872b51  
    1919
    2020#include <iostream>
     21#include <list>
    2122#include <vector>
    2223
     
    3233class ForceMatrix;
    3334class Vector;
     35
     36#define BondList list<bond *>
    3437
    3538/********************************************** declarations *******************************/
     
    5053    Vector v;       //!< velocity vector of atom, giving last velocity within cell
    5154    Vector F;       //!< Force vector of atom, giving last force within cell
     55    BondList ListOfBonds; //!< list of all bonds
    5256    element *type;  //!< pointing to element
    5357    atom *previous; //!< previous atom in molecule list
     
    7680  bool OutputTrajectory(ofstream *out, int *ElementNo, int *AtomNo, int step) const;
    7781  bool OutputTrajectoryXYZ(ofstream *out, int step) const;
    78   bool OutputBondOfAtom(ofstream *out, int *NumberOfBondsPerAtom, bond ***ListOfBondsPerAtom) const;
     82  bool OutputBondOfAtom(ofstream *out) const;
     83  void OutputAdjacency(ofstream *AdjacencyFile) const;
     84
    7985
    8086  void EqualsFather ( atom *ptr, atom **res );
     
    96102  // bond order stuff
    97103  void OutputOrder(ofstream *file);
     104  void OutputGraphInfo(ofstream *out) const;
     105  void OutputComponentNumber(ofstream *out) const;
     106  int CountBonds() const;
     107  int CorrectBondDegree(ofstream *out);
     108
     109  bool RegisterBond(bond *Binder);
     110  bool UnregisterBond(bond *Binder);
     111  void UnregisterAllBond();
    98112
    99113  // constraint potential and dynamics stuff
Note: See TracChangeset for help on using the changeset viewer.