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 36 Christoph Kloss (DCS Computing GmbH, Linz) 37 Christoph Kloss (JKU Linz) 38 Richard Berger (JKU Linz) 39 Arno Mayrhofer (DCS Computing GmbH, Linz) 40 41 Copyright 2012- DCS Computing GmbH, Linz 42 Copyright 2009-2012 JKU Linz 43 ------------------------------------------------------------------------- */ 44 45 #ifndef CONTACT_MODEL_CONSTANTS_H_ 46 #define CONTACT_MODEL_CONSTANTS_H_ 47 48 namespace LIGGGHTS 49 { 50 51 namespace ContactModels 52 { 53 // This file declares global constant identifiers which are used by contact 54 // models for template specialization. Please note that each model constant 55 // in a group must be unique. 56 57 static const int CM_REGISTER_SETTINGS = 1 << 0; 58 static const int CM_CONNECT_TO_PROPERTIES = 1 << 1; 59 static const int CM_BEGIN_PASS = 1 << 2; 60 static const int CM_END_PASS = 1 << 3; 61 static const int CM_SURFACES_INTERSECT = 1 << 4; 62 static const int CM_SURFACES_CLOSE = 1 << 5; 63 64 static const int CONTACT_NORMAL_MODEL = 1 << 0; 65 static const int CONTACT_COHESION_MODEL = 1 << 1; 66 static const int CONTACT_TANGENTIAL_MODEL = 1 << 2; 67 static const int CONTACT_ROLLING_MODEL = 1 << 3; 68 static const int CONTACT_SURFACE_MODEL = 1 << 4; 69 static const int CONTACT_FIX = 1 << 31; 70 71 // surface models 72 #define SURFACE_MODEL(identifier,str,constant) \ 73 static const int identifier = constant; 74 #include "style_surface_model.h" 75 #undef SURFACE_MODEL 76 77 // normal models 78 static const int NORMAL_OFF = 9; 79 #define NORMAL_MODEL(identifier,str,constant) \ 80 static const int identifier = constant; 81 #include "style_normal_model.h" 82 #undef NORMAL_MODEL 83 84 // tangential models 85 static const int TANGENTIAL_OFF = 0; 86 #define TANGENTIAL_MODEL(identifier,str,constant) \ 87 static const int identifier = constant; 88 #include "style_tangential_model.h" 89 #undef TANGENTIAL_MODEL 90 91 // cohesion models 92 static const int COHESION_OFF = 0; 93 #define COHESION_MODEL(identifier,str,constant) \ 94 static const int identifier = constant; 95 #include "style_cohesion_model.h" 96 #undef COHESION_MODEL 97 98 // rolling models 99 static const int ROLLING_OFF = 0; 100 #define ROLLING_MODEL(identifier,str,constant) \ 101 static const int identifier = constant; 102 #include "style_rolling_model.h" 103 #undef ROLLING_MODEL 104 } 105 106 } 107 108 #endif 109