/* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(wall/regiongb,FixWallRegionGB) #else #ifndef LMP_FIX_WALL_REGIONGB_H #define LMP_FIX_WALL_REGIONGB_H #include "fix.h" namespace LAMMPS_NS { class FixWallRegionGB : public Fix { public: FixWallRegionGB(class LAMMPS *, int, char **); ~FixWallRegionGB(); int setmask(); void init(); void setup(int); void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); double compute_scalar(); double compute_vector(int); private: int style,iregion; /* Read variables */ // double shapet; // double shapew[3]; // double shapew2[3]; double shapei[3]; // double eaw,ebw,ecw; // double lshapew; // double wellw[3]; double welli[3]; double epsw; // double sigmaw; /* Called variables */ double **well; // double *lshape; // double lshapei; double gamma,sigma; double upsilon,epsilon,cutoff,mu; // double offset; int eflag; double ewall[7],ewall_all[7]; int nlevels_respa; // double dt; char *idregion; double eng; //double fwall; double fwall[3]; double torx,tory,torz; void gbmixing(double a1[3][3],double b1[3][3],double g1[3][3],double r12[3],double r); void compute_eta(double m[3][3], double m2[3][3],double *s, double ans[3][3]); protected: class AtomVecEllipsoid *avec; }; } #endif #endif