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 Arno Mayrhofer (DCS Computing GmbH) 39 40 Copyright 2016- DCS Computing GmbH, Linz 41 ------------------------------------------------------------------------- */ 42 43 #include "pointers.h" 44 #include "tri_mesh.h" 45 #include "scalar_container.h" 46 #include "fix_property_atom.h" 47 #include "error.h" 48 #include "fix_mesh_surface.h" 49 #include <string> 50 51 #ifndef LMP_MESH_MODULE_H 52 #define LMP_MESH_MODULE_H 53 54 namespace LAMMPS_NS 55 { 56 class FixMeshSurface; 57 58 class MeshModule : protected Pointers 59 { 60 public: 61 ~MeshModule(); 62 post_create_pre_restart()63 virtual void post_create_pre_restart() {} post_create()64 virtual void post_create() {} init()65 virtual void init() {} setup(int vflag)66 virtual void setup(int vflag) {} setup_pre_force(int vflag)67 virtual void setup_pre_force(int vflag) {} pre_force(int vflag)68 virtual void pre_force(int vflag) {} initial_integrate(int vflag)69 virtual void initial_integrate(int vflag) {} final_integrate_pre_comm()70 virtual void final_integrate_pre_comm() {} final_integrate()71 virtual void final_integrate() {} end_of_step()72 virtual void end_of_step() {} compute_vector(int n)73 virtual double compute_vector(int n) { return 0.0; } add_particle_contribution(int ip,double * frc,double * delta,int iTri,double * v_wall)74 virtual void add_particle_contribution(int ip, double *frc, double *delta, int iTri, double *v_wall) {} modify_param(int narg,char ** arg)75 virtual int modify_param(int narg, char **arg) { return 0; } 76 setmask()77 virtual int setmask() 78 { return 0; } 79 get_mesh()80 TriMesh* get_mesh() 81 { return mesh; } 82 get_num_vector_components()83 virtual int get_num_vector_components() const 84 { return 0; } 85 86 protected: 87 MeshModule(LAMMPS *lmp, int &iarg_, int narg, char **arg, FixMeshSurface *fix_mesh_); 88 FixMeshSurface *fix_mesh; 89 TriMesh *mesh; 90 }; 91 } 92 93 #endif 94