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 Stefan Radl, TU Graz 36 Copyright 2016 - TU Graz 37 ------------------------------------------------------------------------- */ 38 39 #ifdef FIX_CLASS 40 41 FixStyle(massflow/mesh/sieve,FixMassflowMeshSieve) 42 43 #else 44 45 #ifndef LMP_FIX_MASSFLOW_MESH_SIEVE_H 46 #define LMP_FIX_MASSFLOW_MESH_SIEVE_H 47 48 #include "fix_massflow_mesh.h" 49 #include <vector> 50 #define PIOVERFOUR 0.78539816339 51 52 namespace LAMMPS_NS { 53 54 class FixMassflowMeshSieve : public FixMassflowMesh { 55 56 public: 57 58 FixMassflowMeshSieve(class LAMMPS *lmp, int narg, char ** arg); 59 ~FixMassflowMeshSieve(); 60 61 void post_create(); 62 // void pre_delete(bool unfixflag); 63 64 void init(); 65 // void setup(int vflag); 66 int setmask(); 67 68 void post_force(int vflag); 69 void pre_exchange(); 70 71 private: 72 73 bool sieveMultiSphereCanPass_; 74 bool verbose_; 75 double sieveSize_; 76 double sieveSpacing_; 77 double sieveStiffness_; 78 double sieveDamping_; 79 double sievePassProbability(double); 80 81 protected: 82 char fixidApplyForce_[200]; 83 class FixPropertyAtom *fix_applyForce_; 84 class RanPark *random_; 85 86 }; //end class 87 88 } 89 #endif 90 #endif 91