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 #ifndef LMP_FIX_SPH 41 #define LMP_FIX_SPH 42 43 #include "fix.h" 44 45 namespace LAMMPS_NS { 46 47 class FixSph : public Fix { 48 public: 49 FixSph(class LAMMPS *, int, char **); 50 ~FixSph(); 51 int setmask(); 52 virtual void updatePtrs(); 53 void init(); 54 void init_list(int, class NeighList *); post_integrate()55 virtual void post_integrate() {}; 56 virtual void post_integrate_respa(int, int); 57 get_kernel_id()58 int get_kernel_id(){return kernel_id;}; set_kernel_id(int newid)59 inline void set_kernel_id(int newid){kernel_id = newid;}; 60 61 int kernel_flag; // 1 if Fix uses sph kernel, 0 if not 62 63 protected: interpDist(double disti,double distj)64 inline double interpDist(double disti, double distj) {return 0.5*(disti+distj);}; 65 66 class FixPropertyAtom* fppaSl; //smoothing length 67 class FixPropertyGlobal* fppaSlType; //per type smoothing length 68 double *sl; // per atom smoothing length 69 double **slComType; // common smoothing length in case of mass_type=1 70 71 int kernel_id; 72 double kernel_cut; 73 char *kernel_style; 74 75 class NeighList *list; 76 int nlevels_respa; 77 78 int mass_type; // flag defined in atom_vec* 79 80 }; 81 82 } 83 84 #endif 85