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 not contributing author is listed, this file has been contributed 36 by the core developer) 37 38 Copyright 2012- DCS Computing GmbH, Linz 39 Copyright 2009-2012 JKU Linz 40 ------------------------------------------------------------------------- */ 41 42 #ifndef LMP_MULTISPHERE_PARALLEL_H 43 #define LMP_MULTISPHERE_PARALLEL_H 44 45 #define LMP_MULTISPHERE_PARALLEL_FLAG_ 46 47 #include "multisphere.h" 48 #include "comm.h" 49 50 namespace LAMMPS_NS { 51 52 class MultisphereParallel : public Multisphere { 53 54 public: 55 56 MultisphereParallel(LAMMPS *lmp); 57 ~MultisphereParallel(); 58 59 void exchange(); 60 61 void writeRestart(FILE *fp); 62 void restart(double *list); 63 64 private: 65 66 int pack_exchange_rigid(int i, double *buf); 67 int unpack_exchange_rigid(double *buf); 68 69 void grow_send(int, int); 70 void grow_recv(int); 71 72 // current size of send/recv buffer 73 // send buffer and recv buffer for all comm 74 int maxsend_,maxrecv_; 75 double *buf_send_; 76 double *buf_recv_; 77 }; 78 79 // ************************************* 80 #include "multisphere_parallel_I.h" 81 // ************************************* 82 } 83 84 #endif 85