1 /* -*- c++ -*- ---------------------------------------------------------- 2 LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator 3 https://www.lammps.org/, Sandia National Laboratories 4 Steve Plimpton, sjplimp@sandia.gov 5 6 Copyright (2003) Sandia Corporation. Under the terms of Contract 7 DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains 8 certain rights in this software. This software is distributed under 9 the GNU General Public License. 10 11 See the README file in the top-level LAMMPS directory. 12 ------------------------------------------------------------------------- */ 13 14 #ifndef LMP_NTOPO_H 15 #define LMP_NTOPO_H 16 17 #include "pointers.h" 18 19 namespace LAMMPS_NS { 20 21 class NTopo : protected Pointers { 22 public: 23 int nbondlist, nanglelist, ndihedrallist, nimproperlist; 24 int **bondlist, **anglelist, **dihedrallist, **improperlist; 25 26 NTopo(class LAMMPS *); 27 virtual ~NTopo(); 28 29 virtual void build() = 0; 30 31 double memory_usage(); 32 33 protected: 34 int me, nprocs; 35 int maxbond, maxangle, maxdihedral, maximproper; 36 int cluster_check; // copy from Neighbor 37 38 void allocate_bond(); 39 void allocate_angle(); 40 void allocate_dihedral(); 41 void allocate_improper(); 42 43 void bond_check(); 44 void angle_check(); 45 void dihedral_check(int, int **); 46 }; 47 48 } // namespace LAMMPS_NS 49 50 #endif 51 52 /* ERROR/WARNING messages: 53 54 E: Bond extent > half of periodic box length 55 56 UNDOCUMENTED 57 58 E: Angle extent > half of periodic box length 59 60 UNDOCUMENTED 61 62 E: Dihedral/improper extent > half of periodic box length 63 64 UNDOCUMENTED 65 66 */ 67