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 2013- DCS Computing GmbH, Linz 39 ------------------------------------------------------------------------- */ 40 41 #ifdef FIX_CLASS 42 43 FixStyle(property/atom/tracer,FixPropertyAtomTracer) 44 45 #else 46 47 #ifndef LMP_FIX_PROPERTY_ATOM_TRACER_H 48 #define LMP_FIX_PROPERTY_ATOM_TRACER_H 49 50 #include "fix_property_atom.h" 51 52 namespace LAMMPS_NS { 53 54 enum 55 { 56 MARKER_DIRAC = 0, 57 MARKER_HEAVISIDE = 1, 58 MARKER_NONE = 2 59 }; 60 61 class FixPropertyAtomTracer : public FixPropertyAtom { 62 63 public: 64 65 FixPropertyAtomTracer(class LAMMPS *, int, char **, bool parse = true); 66 ~FixPropertyAtomTracer(); 67 68 virtual void init(); 69 virtual int setmask(); 70 void end_of_step(); 71 double compute_scalar(); 72 73 protected: 74 75 int iarg_; 76 77 char *tracer_name_; 78 79 int marker_style_; 80 int step_; 81 int check_every_; 82 bool first_mark_; 83 84 // params for region marker 85 int iregion_; 86 char *idregion_; 87 88 // counter how many particles have been marked 89 int nmarked_last_, nmarked_; 90 91 }; //end class 92 93 } 94 #endif 95 #endif 96