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_IMBALANCE_NEIGH_H 15 #define LMP_IMBALANCE_NEIGH_H 16 17 #include "imbalance.h" 18 19 namespace LAMMPS_NS { 20 21 class ImbalanceNeigh : public Imbalance { 22 public: 23 ImbalanceNeigh(class LAMMPS *); ~ImbalanceNeigh()24 virtual ~ImbalanceNeigh() {} 25 26 public: 27 // parse options, return number of arguments consumed 28 virtual int options(int, char **) override; 29 // compute and apply weight factors to local atom array 30 virtual void compute(double *) override; 31 // print information about the state of this imbalance compute 32 virtual std::string info() override; 33 34 private: 35 double factor; // weight factor for neighbor imbalance 36 int did_warn; // 1 if warned about no suitable neighbor list 37 }; 38 39 } // namespace LAMMPS_NS 40 41 #endif 42 43 /* ERROR/WARNING messages: 44 45 E: Illegal ... command 46 47 UNDOCUMENTED 48 49 W: Balance weight neigh skipped b/c no list found 50 51 UNDOCUMENTED 52 53 E: Balance weight <= 0.0 54 55 UNDOCUMENTED 56 57 */ 58