1 /* -*- c++ -*- ---------------------------------------------------------- 2 LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator 3 https://www.lammps.org/, Sandia National Laboratories 4 Steve Plimpton, sjplimp@sandia.gov 5 6 Copyright (2003) Sandia Corporation. Under the terms of Contract 7 DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains 8 certain rights in this software. This software is distributed under 9 the GNU General Public License. 10 11 See the README file in the top-level LAMMPS directory. 12 ------------------------------------------------------------------------- */ 13 14 #ifdef DIHEDRAL_CLASS 15 // clang-format off 16 DihedralStyle(spherical,DihedralSpherical); 17 // clang-format on 18 #else 19 20 #ifndef LMP_DIHEDRAL_SPHERICAL_H 21 #define LMP_DIHEDRAL_SPHERICAL_H 22 23 #include "dihedral.h" 24 25 namespace LAMMPS_NS { 26 27 class DihedralSpherical : public Dihedral { 28 public: 29 DihedralSpherical(class LAMMPS *); 30 virtual ~DihedralSpherical(); 31 virtual void compute(int, int); 32 double CalcGeneralizedForces(int, double, double, double, double *, double *, double *); 33 void coeff(int, char **); 34 void write_restart(FILE *); 35 void read_restart(FILE *); 36 void write_data(FILE *); 37 38 protected: 39 int *nterms; 40 double **Ccoeff; 41 double **phi_mult; 42 double **phi_shift; 43 double **phi_offset; 44 double **theta1_mult; 45 double **theta1_shift; 46 double **theta1_offset; 47 double **theta2_mult; 48 double **theta2_shift; 49 double **theta2_offset; 50 51 void allocate(); 52 }; 53 54 } // namespace LAMMPS_NS 55 56 #endif 57 #endif 58