1
/* -*- c++ -*- ----------------------------------------------------------
2
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
3
http://lammps.sandia.gov, Sandia National Laboratories
4
Steve Plimpton, sjplimp@sandia.gov
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.
11
See the README file in the top-level LAMMPS directory.
12
------------------------------------------------------------------------- */
16
PairStyle(sw/intel,PairSWIntel)
20
#ifndef LMP_PAIR_SW_INTEL_H
21
#define LMP_PAIR_SW_INTEL_H
24
#include "fix_intel.h"
28
class PairSWIntel : public PairSW {
30
PairSWIntel(class LAMMPS *);
31
virtual ~PairSWIntel();
32
virtual void compute(int, int);
33
virtual void init_style();
38
template <class flt_t> class ForceConst;
40
virtual void allocate();
42
template <class flt_t, class acc_t>
43
void compute(int eflag, int vflag, IntelBuffers<flt_t,acc_t> *buffers,
44
const ForceConst<flt_t> &fc);
45
template <int SPQ, int EVFLAG, int EFLAG, class flt_t, class acc_t>
46
void eval(const int offload, const int vflag,
47
IntelBuffers<flt_t,acc_t> * buffers, const ForceConst<flt_t> &fc,
48
const int astart, const int aend, const int pad_width);
50
template <class flt_t, class acc_t>
51
void pack_force_const(ForceConst<flt_t> &fc,
52
IntelBuffers<flt_t, acc_t> *buffers);
54
int _ccache_stride, _host_pad, _offload_pad, _spq;
56
// ----------------------------------------------------------------------
58
template <class flt_t>
62
flt_t cutsq, cut, sigma_gamma, pad;
65
flt_t powerp, powerq, cut, sigma, c1, c2, c3, c4;
71
flt_t costheta, lambda_epsilon, lambda_epsilon2, pad;
79
ForceConst() : _ntypes(0) {}
80
~ForceConst() { set_ntypes(0, NULL, _cop); }
82
void set_ntypes(const int ntypes, Memory *memory, const int cop);
88
ForceConst<float> force_const_single;
89
ForceConst<double> force_const_double;
97
/* ERROR/WARNING messages:
99
E: The 'package intel' command is required for /intel styles
103
E: The 'ghost no' option cannot be used with sw/intel.
107
E: Intel compiler versions before 15 Update 1 not supported for sw/intel.