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 (if no contributing author is listed, this file has been contributed 36 by the core developer) 37 38 Copyright 2015- DCS Computing GmbH, Linz 39 ------------------------------------------------------------------------- */ 40 41 #ifdef FIX_CLASS 42 43 //non-constructable 44 45 #else 46 47 #ifndef LMP_FIX_BASE_LIGGGHTS_H 48 #define LMP_FIX_BASE_LIGGGHTS_H 49 50 #include "fix.h" 51 #include "container.h" 52 #include "region.h" 53 54 namespace LAMMPS_NS { 55 56 class FixBaseLiggghts : public Fix { 57 58 public: 59 60 FixBaseLiggghts(class LAMMPS *, int, char **); 61 virtual ~FixBaseLiggghts(); 62 63 void process_region(char *regid); 64 65 virtual void init(); 66 virtual void setup(int vflag); 67 do_support_multisphere()68 void do_support_multisphere() 69 { support_ms_ = true; } 70 do_support_respa()71 void do_support_respa() 72 { support_respa_ = true; } 73 do_not_need_radius()74 void do_not_need_radius() 75 { do_need_radius_ = false; } 76 do_not_need_mass()77 void do_not_need_mass() 78 { do_need_mass_ = false; } 79 region()80 inline Region *region() 81 {return region_;} 82 83 protected: 84 85 void count_eligible(double &mass_counted,double &volume_counted, int &nparticles_counted); 86 87 bool support_respa_; 88 int nlevels_respa_; 89 90 bool do_need_radius_; 91 bool do_need_mass_; 92 93 bool support_ms_; 94 class FixMultisphere *fix_ms_; 95 class Multisphere *ms_; 96 97 // region to be used for replacement 98 char *idregion_; 99 class Region *region_; 100 int iregion_; 101 }; 102 103 } 104 105 #endif 106 #endif 107