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     Andreas Aigner (JKU Linz)
36 
37     Copyright 2009-2012 JKU Linz
38 ------------------------------------------------------------------------- */
39 
40 #ifdef FIX_CLASS
41 
42 FixStyle(sph/density/corr,FixSphDensityCorr)
43 
44 #else
45 
46 #ifndef LMP_FIX_SPH_DENSITY_CORR_H
47 #define LMP_FIX_SPH_DENSITY_CORR_H
48 
49 #include "fix_sph.h"
50 
51 namespace LAMMPS_NS {
52 
53   enum {CORR_SHEPARD,CORR_MLS};
54 
55 class FixSphDensityCorr : public FixSph {
56  public:
57   FixSphDensityCorr(class LAMMPS *, int, char **);
58   ~FixSphDensityCorr();
59   void pre_delete(bool unfixflag);
60   virtual int setmask();
61   void updatePtrs();
62   void post_create();
63   virtual void init();
64   virtual void pre_force(int vflag);
65 
66  private:
67   template <int> void pre_force_eval();
68 
69   class FixPropertyAtom* fix_quantity;
70   char *quantity_name;
71 
72   double quantity_0;
73   double *quantity;
74 
75   int corrStyle;
76   int every;
77   int ago;
78 
79 };
80 
81 }
82 
83 #endif
84 #endif
85