1 /* ----------------------------------------------------------------------
2     This is the
3 
4     ██╗     ██╗ ██████╗  ██████╗  ██████╗ ██╗  ██╗████████╗███████╗
5     ██║     ██║██╔════╝ ██╔════╝ ██╔════╝ ██║  ██║╚══██╔══╝██╔════╝
6     ██║     ██║██║  ███╗██║  ███╗██║  ███╗███████║   ██║   ███████╗
7     ██║     ██║██║   ██║██║   ██║██║   ██║██╔══██║   ██║   ╚════██║
8     ███████╗██║╚██████╔╝╚██████╔╝╚██████╔╝██║  ██║   ██║   ███████║
9     ╚══════╝╚═╝ ╚═════╝  ╚═════╝  ╚═════╝ ╚═╝  ╚═╝   ╚═╝   ╚══════╝®
10 
11     DEM simulation engine, released by
12     DCS Computing Gmbh, Linz, Austria
13     http://www.dcs-computing.com, office@dcs-computing.com
14 
15     LIGGGHTS® is part of CFDEM®project:
16     http://www.liggghts.com | http://www.cfdem.com
17 
18     Core developer and main author:
19     Christoph Kloss, christoph.kloss@dcs-computing.com
20 
21     LIGGGHTS® is open-source, distributed under the terms of the GNU Public
22     License, version 2 or later. It is distributed in the hope that it will
23     be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
24     of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. You should have
25     received a copy of the GNU General Public License along with LIGGGHTS®.
26     If not, see http://www.gnu.org/licenses . See also top-level README
27     and LICENSE files.
28 
29     LIGGGHTS® and CFDEM® are registered trade marks of DCS Computing GmbH,
30     the producer of the LIGGGHTS® software and the CFDEM®coupling software
31     See http://www.cfdem.com/terms-trademark-policy for details.
32 
33 -------------------------------------------------------------------------
34     Contributing author and copyright for this file:
35 
36     Richard Berger (JKU Linz)
37     Christoph Kloss (DCS Computing GmbH, Linz)
38     Christoph Kloss (JKU Linz)
39 
40     Copyright 2012-     DCS Computing GmbH, Linz
41     Copyright 2009-2012 JKU Linz
42 ------------------------------------------------------------------------- */
43 
44 #ifdef PAIR_CLASS
45 
46 PairStyle(gran,PairGranProxy)
47 
48 PairStyle(bubble,PairGranProxy)
49 
50 PairStyle(gran_bubble,PairGranProxy)
51 
52 #else
53 
54 #ifndef PAIR_GRAN_PROXY_H
55 #define PAIR_GRAN_PROXY_H
56 
57 #include "pair_gran.h"
58 #include "granular_pair_style.h"
59 
60 namespace LAMMPS_NS
61 {
62 class PairGranProxy : public PairGran
63 {
64   LIGGGHTS::PairStyles::IGranularPairStyle * impl;
65 
66 public:
67   PairGranProxy(LAMMPS * lmp);
68   virtual ~PairGranProxy();
69 
70   virtual void settings(int nargs, char ** args);
71   virtual void init_granular();
72   virtual void write_restart_settings(FILE * fp);
73   virtual void read_restart_settings(FILE * fp, const int major, const int minor);
74   virtual void compute_force(int eflag, int vflag, int addflag);
75 
76   virtual int get_history_offset(const std::string hname);
77   virtual double stressStrainExponent();
78   virtual bool contact_match(const std::string mtype, const std::string model);
79 
80   virtual int64_t hashcode();
81 };
82 }
83 
84 #endif // PAIR_GRAN_PROXY_H
85 
86 #endif
87