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 This file is from LAMMPS 36 LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator 37 http://lammps.sandia.gov, Sandia National Laboratories 38 Steve Plimpton, sjplimp@sandia.gov 39 40 Copyright (2003) Sandia Corporation. Under the terms of Contract 41 DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains 42 certain rights in this software. This software is distributed under 43 the GNU General Public License. 44 ------------------------------------------------------------------------- */ 45 46 #ifdef COMPUTE_CLASS 47 48 ComputeStyle(property/atom,ComputePropertyAtom) 49 50 #else 51 52 #ifndef LMP_COMPUTE_PROPERTY_ATOM_H 53 #define LMP_COMPUTE_PROPERTY_ATOM_H 54 55 #include "compute.h" 56 57 namespace LAMMPS_NS { 58 59 class ComputePropertyAtom : public Compute { 60 public: 61 ComputePropertyAtom(class LAMMPS *, int &iarg, int, char **); 62 ~ComputePropertyAtom(); 63 void init(); 64 void compute_peratom(); 65 double memory_usage(); 66 67 private: 68 int nvalues; 69 int nmax; 70 int *index; 71 double *vector; 72 double **array; 73 double *buf; 74 class AtomVecEllipsoid *avec_ellipsoid; 75 class AtomVecLine *avec_line; 76 class AtomVecTri *avec_tri; 77 class AtomVecBody *avec_body; 78 79 typedef void (ComputePropertyAtom::*FnPtrPack)(int); 80 FnPtrPack *pack_choice; // ptrs to pack functions 81 82 void pack_id(int); 83 void pack_molecule(int); 84 void pack_type(int); 85 void pack_vol(int); 86 void pack_eq_radius(int n); 87 void pack_mass(int); 88 89 void pack_x(int); 90 void pack_y(int); 91 void pack_z(int); 92 void pack_xs(int); 93 void pack_ys(int); 94 void pack_zs(int); 95 void pack_xs_triclinic(int); 96 void pack_ys_triclinic(int); 97 void pack_zs_triclinic(int); 98 void pack_xu(int); 99 void pack_yu(int); 100 void pack_zu(int); 101 void pack_xu_triclinic(int); 102 void pack_yu_triclinic(int); 103 void pack_zu_triclinic(int); 104 void pack_ix(int); 105 void pack_iy(int); 106 void pack_iz(int); 107 108 void pack_vx(int); 109 void pack_vy(int); 110 void pack_vz(int); 111 void pack_fx(int); 112 void pack_fy(int); 113 void pack_fz(int); 114 void pack_q(int); 115 void pack_mux(int); 116 void pack_muy(int); 117 void pack_muz(int); 118 void pack_mu(int); 119 void pack_radius(int); 120 void pack_diameter(int); 121 122 void pack_omegax(int); 123 void pack_omegay(int); 124 void pack_omegaz(int); 125 void pack_angmomx(int); 126 void pack_angmomy(int); 127 void pack_angmomz(int); 128 void pack_shapex(int); 129 void pack_shapey(int); 130 void pack_shapez(int); 131 void pack_quatw(int); 132 void pack_quati(int); 133 void pack_quatj(int); 134 void pack_quatk(int); 135 void pack_tqx(int); 136 void pack_tqy(int); 137 void pack_tqz(int); 138 void pack_end1x(int); 139 void pack_end1y(int); 140 void pack_end1z(int); 141 void pack_end2x(int); 142 void pack_end2y(int); 143 void pack_end2z(int); 144 void pack_iname(int); 145 void pack_dname(int); 146 }; 147 148 } 149 150 #endif 151 #endif 152 153 /* ERROR/WARNING messages: 154 155 E: Illegal ... command 156 157 Self-explanatory. Check the input script syntax and compare to the 158 documentation for the command. You can use -echo screen as a 159 command-line option when running LAMMPS to see the offending line. 160 161 E: Compute property/atom for atom property that isn't allocated 162 163 Self-explanatory. 164 165 E: Invalid keyword in compute property/atom command 166 167 Self-explanatory. 168 169 */ 170