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_INTEGRATE_H
15 #define LMP_INTEGRATE_H
16 
17 #include "pointers.h"
18 
19 namespace LAMMPS_NS {
20 
21 class Integrate : protected Pointers {
22  public:
23   Integrate(class LAMMPS *, int, char **);
24   virtual ~Integrate();
25   virtual void init();
26   virtual void setup(int flag) = 0;
27   virtual void setup_minimal(int) = 0;
28   virtual void run(int) = 0;
cleanup()29   virtual void cleanup() {}
reset_dt()30   virtual void reset_dt() {}
memory_usage()31   virtual double memory_usage() { return 0; }
32 
33  protected:
34   int eflag, vflag;            // flags for energy/virial computation
35   int virial_style;            // compute virial explicitly or implicitly
36   int external_force_clear;    // clear forces locally or externally
37 
38   int nelist_global, nelist_atom;    // # of PE,virial computes to check
39   int nvlist_global, nvlist_atom, ncvlist_atom;
40   class Compute **elist_global;    // lists of PE,virial Computes
41   class Compute **elist_atom;
42   class Compute **vlist_global;
43   class Compute **vlist_atom;
44   class Compute **cvlist_atom;
45 
46   int pair_compute_flag;      // 0 if pair->compute is skipped
47   int kspace_compute_flag;    // 0 if kspace->compute is skipped
48 
49   void ev_setup();
50   void ev_set(bigint);
51 };
52 
53 }    // namespace LAMMPS_NS
54 
55 #endif
56 
57 /* ERROR/WARNING messages:
58 
59 */
60