Apply override to AtomVec classes
This commit is contained in:
@ -28,12 +28,12 @@ class AtomVecWavepacket : public AtomVec {
|
|||||||
public:
|
public:
|
||||||
AtomVecWavepacket(class LAMMPS *);
|
AtomVecWavepacket(class LAMMPS *);
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void force_clear(int, size_t);
|
void force_clear(int, size_t) override;
|
||||||
void create_atom_post(int);
|
void create_atom_post(int) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
int property_atom(char *);
|
int property_atom(char *) override;
|
||||||
void pack_property_atom(int, double *, int, int);
|
void pack_property_atom(int, double *, int, int) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int *spin;
|
int *spin;
|
||||||
|
|||||||
@ -27,11 +27,11 @@ namespace LAMMPS_NS {
|
|||||||
class AtomVecOxdna : public AtomVec {
|
class AtomVecOxdna : public AtomVec {
|
||||||
public:
|
public:
|
||||||
AtomVecOxdna(class LAMMPS *);
|
AtomVecOxdna(class LAMMPS *);
|
||||||
~AtomVecOxdna() = default;
|
~AtomVecOxdna() override = default;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
void data_bonds_post(int, int, tagint, tagint, tagint);
|
void data_bonds_post(int, int, tagint, tagint, tagint) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
tagint *id5p;
|
tagint *id5p;
|
||||||
|
|||||||
@ -31,12 +31,12 @@ class AtomVecDielectric : public AtomVec {
|
|||||||
public:
|
public:
|
||||||
AtomVecDielectric(class LAMMPS *);
|
AtomVecDielectric(class LAMMPS *);
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void create_atom_post(int);
|
void create_atom_post(int) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
void unpack_restart_init(int);
|
void unpack_restart_init(int) override;
|
||||||
int property_atom(char *);
|
int property_atom(char *) override;
|
||||||
void pack_property_atom(int, double *, int, int);
|
void pack_property_atom(int, double *, int, int) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
int *num_bond, *num_angle, *num_dihedral, *num_improper;
|
int *num_bond, *num_angle, *num_dihedral, *num_improper;
|
||||||
|
|||||||
@ -28,8 +28,8 @@ class AtomVecDipole : public AtomVec {
|
|||||||
public:
|
public:
|
||||||
AtomVecDipole(class LAMMPS *);
|
AtomVecDipole(class LAMMPS *);
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
double **mu;
|
double **mu;
|
||||||
|
|||||||
@ -27,12 +27,12 @@ namespace LAMMPS_NS {
|
|||||||
class AtomVecEDPD : public AtomVec {
|
class AtomVecEDPD : public AtomVec {
|
||||||
public:
|
public:
|
||||||
AtomVecEDPD(class LAMMPS *);
|
AtomVecEDPD(class LAMMPS *);
|
||||||
void init();
|
void init() override;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void force_clear(int, size_t);
|
void force_clear(int, size_t) override;
|
||||||
void create_atom_post(int);
|
void create_atom_post(int) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
double *edpd_cv, *edpd_temp, *edpd_flux;
|
double *edpd_cv, *edpd_temp, *edpd_flux;
|
||||||
|
|||||||
@ -27,13 +27,13 @@ namespace LAMMPS_NS {
|
|||||||
class AtomVecMDPD : public AtomVec {
|
class AtomVecMDPD : public AtomVec {
|
||||||
public:
|
public:
|
||||||
AtomVecMDPD(class LAMMPS *);
|
AtomVecMDPD(class LAMMPS *);
|
||||||
void init();
|
void init() override;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void force_clear(int, size_t);
|
void force_clear(int, size_t) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
int property_atom(char *);
|
int property_atom(char *) override;
|
||||||
void pack_property_atom(int, double *, int, int);
|
void pack_property_atom(int, double *, int, int) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
double *rho, *drho;
|
double *rho, *drho;
|
||||||
|
|||||||
@ -27,12 +27,12 @@ namespace LAMMPS_NS {
|
|||||||
class AtomVecTDPD : public AtomVec {
|
class AtomVecTDPD : public AtomVec {
|
||||||
public:
|
public:
|
||||||
AtomVecTDPD(class LAMMPS *);
|
AtomVecTDPD(class LAMMPS *);
|
||||||
void process_args(int, char **);
|
void process_args(int, char **) override;
|
||||||
void init();
|
void init() override;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void force_clear(int, size_t);
|
void force_clear(int, size_t) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
double **cc_flux;
|
double **cc_flux;
|
||||||
|
|||||||
@ -28,9 +28,9 @@ class AtomVecDPD : public AtomVec {
|
|||||||
public:
|
public:
|
||||||
AtomVecDPD(class LAMMPS *);
|
AtomVecDPD(class LAMMPS *);
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void unpack_restart_init(int);
|
void unpack_restart_init(int) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
double *rho, *dpdTheta;
|
double *rho, *dpdTheta;
|
||||||
|
|||||||
@ -28,12 +28,12 @@ class AtomVecElectron : public AtomVec {
|
|||||||
public:
|
public:
|
||||||
AtomVecElectron(class LAMMPS *);
|
AtomVecElectron(class LAMMPS *);
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void force_clear(int, size_t);
|
void force_clear(int, size_t) override;
|
||||||
void create_atom_post(int);
|
void create_atom_post(int) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
int property_atom(char *);
|
int property_atom(char *) override;
|
||||||
void pack_property_atom(int, double *, int, int);
|
void pack_property_atom(int, double *, int, int) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int *spin;
|
int *spin;
|
||||||
|
|||||||
@ -30,63 +30,63 @@ namespace LAMMPS_NS {
|
|||||||
class AtomVecAngleKokkos : public AtomVecKokkos {
|
class AtomVecAngleKokkos : public AtomVecKokkos {
|
||||||
public:
|
public:
|
||||||
AtomVecAngleKokkos(class LAMMPS *);
|
AtomVecAngleKokkos(class LAMMPS *);
|
||||||
virtual ~AtomVecAngleKokkos() {}
|
~AtomVecAngleKokkos() override = default;
|
||||||
void grow(int);
|
void grow(int) override;
|
||||||
void copy(int, int, int);
|
void copy(int, int, int) override;
|
||||||
int pack_comm(int, int *, double *, int, int *);
|
int pack_comm(int, int *, double *, int, int *) override;
|
||||||
int pack_comm_vel(int, int *, double *, int, int *);
|
int pack_comm_vel(int, int *, double *, int, int *) override;
|
||||||
void unpack_comm(int, int, double *);
|
void unpack_comm(int, int, double *) override;
|
||||||
void unpack_comm_vel(int, int, double *);
|
void unpack_comm_vel(int, int, double *) override;
|
||||||
int pack_reverse(int, int, double *);
|
int pack_reverse(int, int, double *) override;
|
||||||
void unpack_reverse(int, int *, double *);
|
void unpack_reverse(int, int *, double *) override;
|
||||||
int pack_border(int, int *, double *, int, int *);
|
int pack_border(int, int *, double *, int, int *) override;
|
||||||
int pack_border_vel(int, int *, double *, int, int *);
|
int pack_border_vel(int, int *, double *, int, int *) override;
|
||||||
int pack_border_hybrid(int, int *, double *);
|
int pack_border_hybrid(int, int *, double *) override;
|
||||||
void unpack_border(int, int, double *);
|
void unpack_border(int, int, double *) override;
|
||||||
void unpack_border_vel(int, int, double *);
|
void unpack_border_vel(int, int, double *) override;
|
||||||
int unpack_border_hybrid(int, int, double *);
|
int unpack_border_hybrid(int, int, double *) override;
|
||||||
int pack_exchange(int, double *);
|
int pack_exchange(int, double *) override;
|
||||||
int unpack_exchange(double *);
|
int unpack_exchange(double *) override;
|
||||||
int size_restart();
|
int size_restart() override;
|
||||||
int pack_restart(int, double *);
|
int pack_restart(int, double *) override;
|
||||||
int unpack_restart(double *);
|
int unpack_restart(double *) override;
|
||||||
void create_atom(int, double *);
|
void create_atom(int, double *) override;
|
||||||
void data_atom(double *, imageint, const std::vector<std::string> &);
|
void data_atom(double *, imageint, const std::vector<std::string> &) override;
|
||||||
int data_atom_hybrid(int, const std::vector<std::string> &, int);
|
int data_atom_hybrid(int, const std::vector<std::string> &, int) override;
|
||||||
void pack_data(double **);
|
void pack_data(double **) override;
|
||||||
int pack_data_hybrid(int, double *);
|
int pack_data_hybrid(int, double *) override;
|
||||||
void write_data(FILE *, int, double **);
|
void write_data(FILE *, int, double **) override;
|
||||||
int write_data_hybrid(FILE *, double *);
|
int write_data_hybrid(FILE *, double *) override;
|
||||||
double memory_usage();
|
double memory_usage() override;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
int pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist,
|
int pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist,
|
||||||
const int & iswap,
|
const int & iswap,
|
||||||
const DAT::tdual_xfloat_2d &buf,
|
const DAT::tdual_xfloat_2d &buf,
|
||||||
const int &pbc_flag, const int pbc[]);
|
const int &pbc_flag, const int pbc[]) override;
|
||||||
void unpack_comm_kokkos(const int &n, const int &nfirst,
|
void unpack_comm_kokkos(const int &n, const int &nfirst,
|
||||||
const DAT::tdual_xfloat_2d &buf);
|
const DAT::tdual_xfloat_2d &buf) override;
|
||||||
int pack_comm_self(const int &n, const DAT::tdual_int_2d &list,
|
int pack_comm_self(const int &n, const DAT::tdual_int_2d &list,
|
||||||
const int & iswap, const int nfirst,
|
const int & iswap, const int nfirst,
|
||||||
const int &pbc_flag, const int pbc[]);
|
const int &pbc_flag, const int pbc[]) override;
|
||||||
int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
||||||
DAT::tdual_xfloat_2d buf,int iswap,
|
DAT::tdual_xfloat_2d buf,int iswap,
|
||||||
int pbc_flag, int *pbc, ExecutionSpace space);
|
int pbc_flag, int *pbc, ExecutionSpace space) override;
|
||||||
void unpack_border_kokkos(const int &n, const int &nfirst,
|
void unpack_border_kokkos(const int &n, const int &nfirst,
|
||||||
const DAT::tdual_xfloat_2d &buf,
|
const DAT::tdual_xfloat_2d &buf,
|
||||||
ExecutionSpace space);
|
ExecutionSpace space) override;
|
||||||
int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf,
|
int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf,
|
||||||
DAT::tdual_int_1d k_sendlist,
|
DAT::tdual_int_1d k_sendlist,
|
||||||
DAT::tdual_int_1d k_copylist,
|
DAT::tdual_int_1d k_copylist,
|
||||||
ExecutionSpace space, int dim,
|
ExecutionSpace space, int dim,
|
||||||
X_FLOAT lo, X_FLOAT hi);
|
X_FLOAT lo, X_FLOAT hi) override;
|
||||||
int unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, int nrecv,
|
int unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, int nrecv,
|
||||||
int nlocal, int dim, X_FLOAT lo, X_FLOAT hi,
|
int nlocal, int dim, X_FLOAT lo, X_FLOAT hi,
|
||||||
ExecutionSpace space);
|
ExecutionSpace space) override;
|
||||||
|
|
||||||
void sync(ExecutionSpace space, unsigned int mask);
|
void sync(ExecutionSpace space, unsigned int mask) override;
|
||||||
void modified(ExecutionSpace space, unsigned int mask);
|
void modified(ExecutionSpace space, unsigned int mask) override;
|
||||||
void sync_overlapping_device(ExecutionSpace space, unsigned int mask);
|
void sync_overlapping_device(ExecutionSpace space, unsigned int mask) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
|||||||
@ -31,43 +31,43 @@ namespace LAMMPS_NS {
|
|||||||
class AtomVecAtomicKokkos : public AtomVecKokkos {
|
class AtomVecAtomicKokkos : public AtomVecKokkos {
|
||||||
public:
|
public:
|
||||||
AtomVecAtomicKokkos(class LAMMPS *);
|
AtomVecAtomicKokkos(class LAMMPS *);
|
||||||
virtual ~AtomVecAtomicKokkos() {}
|
~AtomVecAtomicKokkos() override = default;
|
||||||
void grow(int);
|
void grow(int) override;
|
||||||
void copy(int, int, int);
|
void copy(int, int, int) override;
|
||||||
int pack_border(int, int *, double *, int, int *);
|
int pack_border(int, int *, double *, int, int *) override;
|
||||||
int pack_border_vel(int, int *, double *, int, int *);
|
int pack_border_vel(int, int *, double *, int, int *) override;
|
||||||
void unpack_border(int, int, double *);
|
void unpack_border(int, int, double *) override;
|
||||||
void unpack_border_vel(int, int, double *);
|
void unpack_border_vel(int, int, double *) override;
|
||||||
int pack_exchange(int, double *);
|
int pack_exchange(int, double *) override;
|
||||||
int unpack_exchange(double *);
|
int unpack_exchange(double *) override;
|
||||||
int size_restart();
|
int size_restart() override;
|
||||||
int pack_restart(int, double *);
|
int pack_restart(int, double *) override;
|
||||||
int unpack_restart(double *);
|
int unpack_restart(double *) override;
|
||||||
void create_atom(int, double *);
|
void create_atom(int, double *) override;
|
||||||
void data_atom(double *, imageint, const std::vector<std::string> &);
|
void data_atom(double *, imageint, const std::vector<std::string> &) override;
|
||||||
void pack_data(double **);
|
void pack_data(double **) override;
|
||||||
void write_data(FILE *, int, double **);
|
void write_data(FILE *, int, double **) override;
|
||||||
double memory_usage();
|
double memory_usage() override;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
||||||
DAT::tdual_xfloat_2d buf,int iswap,
|
DAT::tdual_xfloat_2d buf,int iswap,
|
||||||
int pbc_flag, int *pbc, ExecutionSpace space);
|
int pbc_flag, int *pbc, ExecutionSpace space) override;
|
||||||
void unpack_border_kokkos(const int &n, const int &nfirst,
|
void unpack_border_kokkos(const int &n, const int &nfirst,
|
||||||
const DAT::tdual_xfloat_2d &buf,
|
const DAT::tdual_xfloat_2d &buf,
|
||||||
ExecutionSpace space);
|
ExecutionSpace space) override;
|
||||||
int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf,
|
int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf,
|
||||||
DAT::tdual_int_1d k_sendlist,
|
DAT::tdual_int_1d k_sendlist,
|
||||||
DAT::tdual_int_1d k_copylist,
|
DAT::tdual_int_1d k_copylist,
|
||||||
ExecutionSpace space, int dim,
|
ExecutionSpace space, int dim,
|
||||||
X_FLOAT lo, X_FLOAT hi);
|
X_FLOAT lo, X_FLOAT hi) override;
|
||||||
int unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, int nrecv,
|
int unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, int nrecv,
|
||||||
int nlocal, int dim, X_FLOAT lo, X_FLOAT hi,
|
int nlocal, int dim, X_FLOAT lo, X_FLOAT hi,
|
||||||
ExecutionSpace space);
|
ExecutionSpace space) override;
|
||||||
|
|
||||||
void sync(ExecutionSpace space, unsigned int mask);
|
void sync(ExecutionSpace space, unsigned int mask) override;
|
||||||
void modified(ExecutionSpace space, unsigned int mask);
|
void modified(ExecutionSpace space, unsigned int mask) override;
|
||||||
void sync_overlapping_device(ExecutionSpace space, unsigned int mask);
|
void sync_overlapping_device(ExecutionSpace space, unsigned int mask) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
tagint *tag;
|
tagint *tag;
|
||||||
|
|||||||
@ -30,48 +30,48 @@ namespace LAMMPS_NS {
|
|||||||
class AtomVecBondKokkos : public AtomVecKokkos {
|
class AtomVecBondKokkos : public AtomVecKokkos {
|
||||||
public:
|
public:
|
||||||
AtomVecBondKokkos(class LAMMPS *);
|
AtomVecBondKokkos(class LAMMPS *);
|
||||||
virtual ~AtomVecBondKokkos() {}
|
~AtomVecBondKokkos() override = default;
|
||||||
void grow(int);
|
void grow(int) override;
|
||||||
void copy(int, int, int);
|
void copy(int, int, int) override;
|
||||||
int pack_border(int, int *, double *, int, int *);
|
int pack_border(int, int *, double *, int, int *) override;
|
||||||
int pack_border_vel(int, int *, double *, int, int *);
|
int pack_border_vel(int, int *, double *, int, int *) override;
|
||||||
int pack_border_hybrid(int, int *, double *);
|
int pack_border_hybrid(int, int *, double *) override;
|
||||||
void unpack_border(int, int, double *);
|
void unpack_border(int, int, double *) override;
|
||||||
void unpack_border_vel(int, int, double *);
|
void unpack_border_vel(int, int, double *) override;
|
||||||
int unpack_border_hybrid(int, int, double *);
|
int unpack_border_hybrid(int, int, double *) override;
|
||||||
int pack_exchange(int, double *);
|
int pack_exchange(int, double *) override;
|
||||||
int unpack_exchange(double *);
|
int unpack_exchange(double *) override;
|
||||||
int size_restart();
|
int size_restart() override;
|
||||||
int pack_restart(int, double *);
|
int pack_restart(int, double *) override;
|
||||||
int unpack_restart(double *);
|
int unpack_restart(double *) override;
|
||||||
void create_atom(int, double *);
|
void create_atom(int, double *) override;
|
||||||
void data_atom(double *, imageint, const std::vector<std::string> &);
|
void data_atom(double *, imageint, const std::vector<std::string> &) override;
|
||||||
int data_atom_hybrid(int, const std::vector<std::string> &, int);
|
int data_atom_hybrid(int, const std::vector<std::string> &, int) override;
|
||||||
void pack_data(double **);
|
void pack_data(double **) override;
|
||||||
int pack_data_hybrid(int, double *);
|
int pack_data_hybrid(int, double *) override;
|
||||||
void write_data(FILE *, int, double **);
|
void write_data(FILE *, int, double **) override;
|
||||||
int write_data_hybrid(FILE *, double *);
|
int write_data_hybrid(FILE *, double *) override;
|
||||||
double memory_usage();
|
double memory_usage() override;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
||||||
DAT::tdual_xfloat_2d buf,int iswap,
|
DAT::tdual_xfloat_2d buf,int iswap,
|
||||||
int pbc_flag, int *pbc, ExecutionSpace space);
|
int pbc_flag, int *pbc, ExecutionSpace space) override;
|
||||||
void unpack_border_kokkos(const int &n, const int &nfirst,
|
void unpack_border_kokkos(const int &n, const int &nfirst,
|
||||||
const DAT::tdual_xfloat_2d &buf,
|
const DAT::tdual_xfloat_2d &buf,
|
||||||
ExecutionSpace space);
|
ExecutionSpace space) override;
|
||||||
int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf,
|
int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf,
|
||||||
DAT::tdual_int_1d k_sendlist,
|
DAT::tdual_int_1d k_sendlist,
|
||||||
DAT::tdual_int_1d k_copylist,
|
DAT::tdual_int_1d k_copylist,
|
||||||
ExecutionSpace space, int dim,
|
ExecutionSpace space, int dim,
|
||||||
X_FLOAT lo, X_FLOAT hi);
|
X_FLOAT lo, X_FLOAT hi) override;
|
||||||
int unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, int nrecv,
|
int unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, int nrecv,
|
||||||
int nlocal, int dim, X_FLOAT lo, X_FLOAT hi,
|
int nlocal, int dim, X_FLOAT lo, X_FLOAT hi,
|
||||||
ExecutionSpace space);
|
ExecutionSpace space) override;
|
||||||
|
|
||||||
void sync(ExecutionSpace space, unsigned int mask);
|
void sync(ExecutionSpace space, unsigned int mask) override;
|
||||||
void modified(ExecutionSpace space, unsigned int mask);
|
void modified(ExecutionSpace space, unsigned int mask) override;
|
||||||
void sync_overlapping_device(ExecutionSpace space, unsigned int mask);
|
void sync_overlapping_device(ExecutionSpace space, unsigned int mask) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
|||||||
@ -31,48 +31,48 @@ namespace LAMMPS_NS {
|
|||||||
class AtomVecChargeKokkos : public AtomVecKokkos {
|
class AtomVecChargeKokkos : public AtomVecKokkos {
|
||||||
public:
|
public:
|
||||||
AtomVecChargeKokkos(class LAMMPS *);
|
AtomVecChargeKokkos(class LAMMPS *);
|
||||||
virtual ~AtomVecChargeKokkos() {}
|
~AtomVecChargeKokkos() override = default;
|
||||||
void grow(int);
|
void grow(int) override;
|
||||||
void copy(int, int, int);
|
void copy(int, int, int) override;
|
||||||
int pack_border(int, int *, double *, int, int *);
|
int pack_border(int, int *, double *, int, int *) override;
|
||||||
int pack_border_vel(int, int *, double *, int, int *);
|
int pack_border_vel(int, int *, double *, int, int *) override;
|
||||||
int pack_border_hybrid(int, int *, double *);
|
int pack_border_hybrid(int, int *, double *) override;
|
||||||
void unpack_border(int, int, double *);
|
void unpack_border(int, int, double *) override;
|
||||||
void unpack_border_vel(int, int, double *);
|
void unpack_border_vel(int, int, double *) override;
|
||||||
int unpack_border_hybrid(int, int, double *);
|
int unpack_border_hybrid(int, int, double *) override;
|
||||||
int pack_exchange(int, double *);
|
int pack_exchange(int, double *) override;
|
||||||
int unpack_exchange(double *);
|
int unpack_exchange(double *) override;
|
||||||
int size_restart();
|
int size_restart() override;
|
||||||
int pack_restart(int, double *);
|
int pack_restart(int, double *) override;
|
||||||
int unpack_restart(double *);
|
int unpack_restart(double *) override;
|
||||||
void create_atom(int, double *);
|
void create_atom(int, double *) override;
|
||||||
void data_atom(double *, imageint, const std::vector<std::string> &);
|
void data_atom(double *, imageint, const std::vector<std::string> &) override;
|
||||||
int data_atom_hybrid(int , const std::vector<std::string> &, int);
|
int data_atom_hybrid(int , const std::vector<std::string> &, int) override;
|
||||||
void pack_data(double **);
|
void pack_data(double **) override;
|
||||||
int pack_data_hybrid(int, double *);
|
int pack_data_hybrid(int, double *) override;
|
||||||
void write_data(FILE *, int, double **);
|
void write_data(FILE *, int, double **) override;
|
||||||
int write_data_hybrid(FILE *, double *);
|
int write_data_hybrid(FILE *, double *) override;
|
||||||
double memory_usage();
|
double memory_usage() override;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
||||||
DAT::tdual_xfloat_2d buf,int iswap,
|
DAT::tdual_xfloat_2d buf,int iswap,
|
||||||
int pbc_flag, int *pbc, ExecutionSpace space);
|
int pbc_flag, int *pbc, ExecutionSpace space) override;
|
||||||
void unpack_border_kokkos(const int &n, const int &nfirst,
|
void unpack_border_kokkos(const int &n, const int &nfirst,
|
||||||
const DAT::tdual_xfloat_2d &buf,
|
const DAT::tdual_xfloat_2d &buf,
|
||||||
ExecutionSpace space);
|
ExecutionSpace space) override;
|
||||||
int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf,
|
int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf,
|
||||||
DAT::tdual_int_1d k_sendlist,
|
DAT::tdual_int_1d k_sendlist,
|
||||||
DAT::tdual_int_1d k_copylist,
|
DAT::tdual_int_1d k_copylist,
|
||||||
ExecutionSpace space, int dim,
|
ExecutionSpace space, int dim,
|
||||||
X_FLOAT lo, X_FLOAT hi);
|
X_FLOAT lo, X_FLOAT hi) override;
|
||||||
int unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, int nrecv,
|
int unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, int nrecv,
|
||||||
int nlocal, int dim, X_FLOAT lo, X_FLOAT hi,
|
int nlocal, int dim, X_FLOAT lo, X_FLOAT hi,
|
||||||
ExecutionSpace space);
|
ExecutionSpace space) override;
|
||||||
|
|
||||||
void sync(ExecutionSpace space, unsigned int mask);
|
void sync(ExecutionSpace space, unsigned int mask) override;
|
||||||
void modified(ExecutionSpace space, unsigned int mask);
|
void modified(ExecutionSpace space, unsigned int mask) override;
|
||||||
void sync_overlapping_device(ExecutionSpace space, unsigned int mask);
|
void sync_overlapping_device(ExecutionSpace space, unsigned int mask) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
tagint *tag;
|
tagint *tag;
|
||||||
|
|||||||
@ -31,65 +31,65 @@ namespace LAMMPS_NS {
|
|||||||
class AtomVecDPDKokkos : public AtomVecKokkos {
|
class AtomVecDPDKokkos : public AtomVecKokkos {
|
||||||
public:
|
public:
|
||||||
AtomVecDPDKokkos(class LAMMPS *);
|
AtomVecDPDKokkos(class LAMMPS *);
|
||||||
virtual ~AtomVecDPDKokkos() {}
|
~AtomVecDPDKokkos() override = default;
|
||||||
void grow(int);
|
void grow(int) override;
|
||||||
void copy(int, int, int);
|
void copy(int, int, int) override;
|
||||||
int pack_comm(int, int *, double *, int, int *);
|
int pack_comm(int, int *, double *, int, int *) override;
|
||||||
int pack_comm_vel(int, int *, double *, int, int *);
|
int pack_comm_vel(int, int *, double *, int, int *) override;
|
||||||
int pack_comm_hybrid(int, int *, double *);
|
int pack_comm_hybrid(int, int *, double *) override;
|
||||||
void unpack_comm(int, int, double *);
|
void unpack_comm(int, int, double *) override;
|
||||||
void unpack_comm_vel(int, int, double *);
|
void unpack_comm_vel(int, int, double *) override;
|
||||||
int unpack_comm_hybrid(int, int, double *);
|
int unpack_comm_hybrid(int, int, double *) override;
|
||||||
int pack_reverse(int, int, double *);
|
int pack_reverse(int, int, double *) override;
|
||||||
void unpack_reverse(int, int *, double *);
|
void unpack_reverse(int, int *, double *) override;
|
||||||
int pack_border(int, int *, double *, int, int *);
|
int pack_border(int, int *, double *, int, int *) override;
|
||||||
int pack_border_vel(int, int *, double *, int, int *);
|
int pack_border_vel(int, int *, double *, int, int *) override;
|
||||||
int pack_border_hybrid(int, int *, double *);
|
int pack_border_hybrid(int, int *, double *) override;
|
||||||
void unpack_border(int, int, double *);
|
void unpack_border(int, int, double *) override;
|
||||||
void unpack_border_vel(int, int, double *);
|
void unpack_border_vel(int, int, double *) override;
|
||||||
int unpack_border_hybrid(int, int, double *);
|
int unpack_border_hybrid(int, int, double *) override;
|
||||||
int pack_exchange(int, double *);
|
int pack_exchange(int, double *) override;
|
||||||
int unpack_exchange(double *);
|
int unpack_exchange(double *) override;
|
||||||
int size_restart();
|
int size_restart() override;
|
||||||
int pack_restart(int, double *);
|
int pack_restart(int, double *) override;
|
||||||
int unpack_restart(double *);
|
int unpack_restart(double *) override;
|
||||||
void create_atom(int, double *);
|
void create_atom(int, double *) override;
|
||||||
void data_atom(double *, imageint, const std::vector<std::string> &);
|
void data_atom(double *, imageint, const std::vector<std::string> &) override;
|
||||||
int data_atom_hybrid(int, const std::vector<std::string> &, int);
|
int data_atom_hybrid(int, const std::vector<std::string> &, int) override;
|
||||||
void pack_data(double **);
|
void pack_data(double **) override;
|
||||||
int pack_data_hybrid(int, double *);
|
int pack_data_hybrid(int, double *) override;
|
||||||
void write_data(FILE *, int, double **);
|
void write_data(FILE *, int, double **) override;
|
||||||
int write_data_hybrid(FILE *, double *);
|
int write_data_hybrid(FILE *, double *) override;
|
||||||
double memory_usage();
|
double memory_usage() override;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
int pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist,
|
int pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist,
|
||||||
const int & iswap,
|
const int & iswap,
|
||||||
const DAT::tdual_xfloat_2d &buf,
|
const DAT::tdual_xfloat_2d &buf,
|
||||||
const int &pbc_flag, const int pbc[]);
|
const int &pbc_flag, const int pbc[]) override;
|
||||||
void unpack_comm_kokkos(const int &n, const int &nfirst,
|
void unpack_comm_kokkos(const int &n, const int &nfirst,
|
||||||
const DAT::tdual_xfloat_2d &buf);
|
const DAT::tdual_xfloat_2d &buf) override;
|
||||||
int pack_comm_self(const int &n, const DAT::tdual_int_2d &list,
|
int pack_comm_self(const int &n, const DAT::tdual_int_2d &list,
|
||||||
const int & iswap, const int nfirst,
|
const int & iswap, const int nfirst,
|
||||||
const int &pbc_flag, const int pbc[]);
|
const int &pbc_flag, const int pbc[]) override;
|
||||||
int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
||||||
DAT::tdual_xfloat_2d buf,int iswap,
|
DAT::tdual_xfloat_2d buf,int iswap,
|
||||||
int pbc_flag, int *pbc, ExecutionSpace space);
|
int pbc_flag, int *pbc, ExecutionSpace space) override;
|
||||||
void unpack_border_kokkos(const int &n, const int &nfirst,
|
void unpack_border_kokkos(const int &n, const int &nfirst,
|
||||||
const DAT::tdual_xfloat_2d &buf,
|
const DAT::tdual_xfloat_2d &buf,
|
||||||
ExecutionSpace space);
|
ExecutionSpace space) override;
|
||||||
int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf,
|
int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf,
|
||||||
DAT::tdual_int_1d k_sendlist,
|
DAT::tdual_int_1d k_sendlist,
|
||||||
DAT::tdual_int_1d k_copylist,
|
DAT::tdual_int_1d k_copylist,
|
||||||
ExecutionSpace space, int dim,
|
ExecutionSpace space, int dim,
|
||||||
X_FLOAT lo, X_FLOAT hi);
|
X_FLOAT lo, X_FLOAT hi) override;
|
||||||
int unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, int nrecv,
|
int unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, int nrecv,
|
||||||
int nlocal, int dim, X_FLOAT lo, X_FLOAT hi,
|
int nlocal, int dim, X_FLOAT lo, X_FLOAT hi,
|
||||||
ExecutionSpace space);
|
ExecutionSpace space) override;
|
||||||
|
|
||||||
void sync(ExecutionSpace space, unsigned int mask);
|
void sync(ExecutionSpace space, unsigned int mask) override;
|
||||||
void modified(ExecutionSpace space, unsigned int mask);
|
void modified(ExecutionSpace space, unsigned int mask) override;
|
||||||
void sync_overlapping_device(ExecutionSpace space, unsigned int mask);
|
void sync_overlapping_device(ExecutionSpace space, unsigned int mask) override;
|
||||||
double *uCond,*uMech,*uChem,*uCG,*uCGnew,*rho,*dpdTheta;
|
double *uCond,*uMech,*uChem,*uCG,*uCGnew,*rho,*dpdTheta;
|
||||||
double *duChem;
|
double *duChem;
|
||||||
|
|
||||||
|
|||||||
@ -30,48 +30,48 @@ namespace LAMMPS_NS {
|
|||||||
class AtomVecFullKokkos : public AtomVecKokkos {
|
class AtomVecFullKokkos : public AtomVecKokkos {
|
||||||
public:
|
public:
|
||||||
AtomVecFullKokkos(class LAMMPS *);
|
AtomVecFullKokkos(class LAMMPS *);
|
||||||
virtual ~AtomVecFullKokkos() {}
|
~AtomVecFullKokkos() override = default;
|
||||||
void grow(int);
|
void grow(int) override;
|
||||||
void copy(int, int, int);
|
void copy(int, int, int) override;
|
||||||
int pack_border(int, int *, double *, int, int *);
|
int pack_border(int, int *, double *, int, int *) override;
|
||||||
int pack_border_vel(int, int *, double *, int, int *);
|
int pack_border_vel(int, int *, double *, int, int *) override;
|
||||||
int pack_border_hybrid(int, int *, double *);
|
int pack_border_hybrid(int, int *, double *) override;
|
||||||
void unpack_border(int, int, double *);
|
void unpack_border(int, int, double *) override;
|
||||||
void unpack_border_vel(int, int, double *);
|
void unpack_border_vel(int, int, double *) override;
|
||||||
int unpack_border_hybrid(int, int, double *);
|
int unpack_border_hybrid(int, int, double *) override;
|
||||||
int pack_exchange(int, double *);
|
int pack_exchange(int, double *) override;
|
||||||
int unpack_exchange(double *);
|
int unpack_exchange(double *) override;
|
||||||
int size_restart();
|
int size_restart() override;
|
||||||
int pack_restart(int, double *);
|
int pack_restart(int, double *) override;
|
||||||
int unpack_restart(double *);
|
int unpack_restart(double *) override;
|
||||||
void create_atom(int, double *);
|
void create_atom(int, double *) override;
|
||||||
void data_atom(double *, imageint, const std::vector<std::string> &);
|
void data_atom(double *, imageint, const std::vector<std::string> &) override;
|
||||||
int data_atom_hybrid(int, const std::vector<std::string> &, int);
|
int data_atom_hybrid(int, const std::vector<std::string> &, int) override;
|
||||||
void pack_data(double **);
|
void pack_data(double **) override;
|
||||||
int pack_data_hybrid(int, double *);
|
int pack_data_hybrid(int, double *) override;
|
||||||
void write_data(FILE *, int, double **);
|
void write_data(FILE *, int, double **) override;
|
||||||
int write_data_hybrid(FILE *, double *);
|
int write_data_hybrid(FILE *, double *) override;
|
||||||
double memory_usage();
|
double memory_usage() override;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
||||||
DAT::tdual_xfloat_2d buf,int iswap,
|
DAT::tdual_xfloat_2d buf,int iswap,
|
||||||
int pbc_flag, int *pbc, ExecutionSpace space);
|
int pbc_flag, int *pbc, ExecutionSpace space) override;
|
||||||
void unpack_border_kokkos(const int &n, const int &nfirst,
|
void unpack_border_kokkos(const int &n, const int &nfirst,
|
||||||
const DAT::tdual_xfloat_2d &buf,
|
const DAT::tdual_xfloat_2d &buf,
|
||||||
ExecutionSpace space);
|
ExecutionSpace space) override;
|
||||||
int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf,
|
int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf,
|
||||||
DAT::tdual_int_1d k_sendlist,
|
DAT::tdual_int_1d k_sendlist,
|
||||||
DAT::tdual_int_1d k_copylist,
|
DAT::tdual_int_1d k_copylist,
|
||||||
ExecutionSpace space, int dim,
|
ExecutionSpace space, int dim,
|
||||||
X_FLOAT lo, X_FLOAT hi);
|
X_FLOAT lo, X_FLOAT hi) override;
|
||||||
int unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, int nrecv,
|
int unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, int nrecv,
|
||||||
int nlocal, int dim, X_FLOAT lo, X_FLOAT hi,
|
int nlocal, int dim, X_FLOAT lo, X_FLOAT hi,
|
||||||
ExecutionSpace space);
|
ExecutionSpace space) override;
|
||||||
|
|
||||||
void sync(ExecutionSpace space, unsigned int mask);
|
void sync(ExecutionSpace space, unsigned int mask) override;
|
||||||
void modified(ExecutionSpace space, unsigned int mask);
|
void modified(ExecutionSpace space, unsigned int mask) override;
|
||||||
void sync_overlapping_device(ExecutionSpace space, unsigned int mask);
|
void sync_overlapping_device(ExecutionSpace space, unsigned int mask) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
|||||||
@ -33,68 +33,68 @@ class AtomVecHybridKokkos : public AtomVecKokkos {
|
|||||||
char **keywords;
|
char **keywords;
|
||||||
|
|
||||||
AtomVecHybridKokkos(class LAMMPS *);
|
AtomVecHybridKokkos(class LAMMPS *);
|
||||||
~AtomVecHybridKokkos();
|
~AtomVecHybridKokkos() override;
|
||||||
void process_args(int, char **);
|
void process_args(int, char **) override;
|
||||||
void init();
|
void init() override;
|
||||||
void grow(int);
|
void grow(int) override;
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void copy(int, int, int);
|
void copy(int, int, int) override;
|
||||||
void clear_bonus();
|
void clear_bonus() override;
|
||||||
void force_clear(int, size_t);
|
void force_clear(int, size_t) override;
|
||||||
int pack_comm(int, int *, double *, int, int *);
|
int pack_comm(int, int *, double *, int, int *) override;
|
||||||
int pack_comm_vel(int, int *, double *, int, int *);
|
int pack_comm_vel(int, int *, double *, int, int *) override;
|
||||||
void unpack_comm(int, int, double *);
|
void unpack_comm(int, int, double *) override;
|
||||||
void unpack_comm_vel(int, int, double *);
|
void unpack_comm_vel(int, int, double *) override;
|
||||||
int pack_reverse(int, int, double *);
|
int pack_reverse(int, int, double *) override;
|
||||||
void unpack_reverse(int, int *, double *);
|
void unpack_reverse(int, int *, double *) override;
|
||||||
int pack_border(int, int *, double *, int, int *);
|
int pack_border(int, int *, double *, int, int *) override;
|
||||||
int pack_border_vel(int, int *, double *, int, int *);
|
int pack_border_vel(int, int *, double *, int, int *) override;
|
||||||
void unpack_border(int, int, double *);
|
void unpack_border(int, int, double *) override;
|
||||||
void unpack_border_vel(int, int, double *);
|
void unpack_border_vel(int, int, double *) override;
|
||||||
int pack_exchange(int, double *);
|
int pack_exchange(int, double *) override;
|
||||||
int unpack_exchange(double *);
|
int unpack_exchange(double *) override;
|
||||||
int size_restart();
|
int size_restart() override;
|
||||||
int pack_restart(int, double *);
|
int pack_restart(int, double *) override;
|
||||||
int unpack_restart(double *);
|
int unpack_restart(double *) override;
|
||||||
void create_atom(int, double *);
|
void create_atom(int, double *) override;
|
||||||
void data_atom(double *, imageint, const std::vector<std::string> &);
|
void data_atom(double *, imageint, const std::vector<std::string> &) override;
|
||||||
int data_atom_hybrid(int, const std::vector<std::string> &, int) {return 0;}
|
int data_atom_hybrid(int, const std::vector<std::string> &, int) override {return 0;}
|
||||||
void data_vel(int, const std::vector<std::string> &);
|
void data_vel(int, const std::vector<std::string> &) override;
|
||||||
void pack_data(double **);
|
void pack_data(double **) override;
|
||||||
void write_data(FILE *, int, double **);
|
void write_data(FILE *, int, double **) override;
|
||||||
void pack_vel(double **);
|
void pack_vel(double **) override;
|
||||||
void write_vel(FILE *, int, double **);
|
void write_vel(FILE *, int, double **) override;
|
||||||
int property_atom(char *);
|
int property_atom(char *) override;
|
||||||
void pack_property_atom(int, double *, int, int);
|
void pack_property_atom(int, double *, int, int) override;
|
||||||
double memory_usage();
|
double memory_usage() override;
|
||||||
|
|
||||||
int pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist,
|
int pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist,
|
||||||
const int & iswap,
|
const int & iswap,
|
||||||
const DAT::tdual_xfloat_2d &buf,
|
const DAT::tdual_xfloat_2d &buf,
|
||||||
const int &pbc_flag, const int pbc[]);
|
const int &pbc_flag, const int pbc[]) override;
|
||||||
void unpack_comm_kokkos(const int &n, const int &nfirst,
|
void unpack_comm_kokkos(const int &n, const int &nfirst,
|
||||||
const DAT::tdual_xfloat_2d &buf);
|
const DAT::tdual_xfloat_2d &buf) override;
|
||||||
int pack_comm_self(const int &n, const DAT::tdual_int_2d &list,
|
int pack_comm_self(const int &n, const DAT::tdual_int_2d &list,
|
||||||
const int & iswap, const int nfirst,
|
const int & iswap, const int nfirst,
|
||||||
const int &pbc_flag, const int pbc[]);
|
const int &pbc_flag, const int pbc[]) override;
|
||||||
int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
||||||
DAT::tdual_xfloat_2d buf,int iswap,
|
DAT::tdual_xfloat_2d buf,int iswap,
|
||||||
int pbc_flag, int *pbc, ExecutionSpace space);
|
int pbc_flag, int *pbc, ExecutionSpace space) override;
|
||||||
void unpack_border_kokkos(const int &n, const int &nfirst,
|
void unpack_border_kokkos(const int &n, const int &nfirst,
|
||||||
const DAT::tdual_xfloat_2d &buf,
|
const DAT::tdual_xfloat_2d &buf,
|
||||||
ExecutionSpace space);
|
ExecutionSpace space) override;
|
||||||
int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf,
|
int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf,
|
||||||
DAT::tdual_int_1d k_sendlist,
|
DAT::tdual_int_1d k_sendlist,
|
||||||
DAT::tdual_int_1d k_copylist,
|
DAT::tdual_int_1d k_copylist,
|
||||||
ExecutionSpace space, int dim,
|
ExecutionSpace space, int dim,
|
||||||
X_FLOAT lo, X_FLOAT hi);
|
X_FLOAT lo, X_FLOAT hi) override;
|
||||||
int unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, int nrecv,
|
int unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, int nrecv,
|
||||||
int nlocal, int dim, X_FLOAT lo, X_FLOAT hi,
|
int nlocal, int dim, X_FLOAT lo, X_FLOAT hi,
|
||||||
ExecutionSpace space);
|
ExecutionSpace space) override;
|
||||||
|
|
||||||
void sync(ExecutionSpace space, unsigned int mask);
|
void sync(ExecutionSpace space, unsigned int mask) override;
|
||||||
void modified(ExecutionSpace space, unsigned int mask);
|
void modified(ExecutionSpace space, unsigned int mask) override;
|
||||||
void sync_overlapping_device(ExecutionSpace space, unsigned int mask);
|
void sync_overlapping_device(ExecutionSpace space, unsigned int mask) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
tagint *tag;
|
tagint *tag;
|
||||||
|
|||||||
@ -36,17 +36,17 @@ union d_ubuf {
|
|||||||
class AtomVecKokkos : public AtomVec {
|
class AtomVecKokkos : public AtomVec {
|
||||||
public:
|
public:
|
||||||
AtomVecKokkos(class LAMMPS *);
|
AtomVecKokkos(class LAMMPS *);
|
||||||
virtual ~AtomVecKokkos() {}
|
~AtomVecKokkos() override = default;
|
||||||
bigint roundup(bigint);
|
bigint roundup(bigint) override;
|
||||||
virtual int pack_comm(int, int *, double *, int, int *);
|
int pack_comm(int, int *, double *, int, int *) override;
|
||||||
virtual int pack_comm_vel(int, int *, double *, int, int *);
|
int pack_comm_vel(int, int *, double *, int, int *) override;
|
||||||
virtual void unpack_comm(int, int, double *);
|
void unpack_comm(int, int, double *) override;
|
||||||
virtual void unpack_comm_vel(int, int, double *);
|
void unpack_comm_vel(int, int, double *) override;
|
||||||
virtual int pack_reverse(int, int, double *);
|
int pack_reverse(int, int, double *) override;
|
||||||
virtual void unpack_reverse(int, int *, double *);
|
void unpack_reverse(int, int *, double *) override;
|
||||||
virtual void data_vel(int, const std::vector<std::string> &);
|
void data_vel(int, const std::vector<std::string> &) override;
|
||||||
virtual void pack_vel(double **);
|
void pack_vel(double **) override;
|
||||||
virtual void write_vel(FILE *, int, double **);
|
void write_vel(FILE *, int, double **) override;
|
||||||
|
|
||||||
virtual void sync(ExecutionSpace space, unsigned int mask) = 0;
|
virtual void sync(ExecutionSpace space, unsigned int mask) = 0;
|
||||||
virtual void modified(ExecutionSpace space, unsigned int mask) = 0;
|
virtual void modified(ExecutionSpace space, unsigned int mask) = 0;
|
||||||
|
|||||||
@ -30,63 +30,63 @@ namespace LAMMPS_NS {
|
|||||||
class AtomVecMolecularKokkos : public AtomVecKokkos {
|
class AtomVecMolecularKokkos : public AtomVecKokkos {
|
||||||
public:
|
public:
|
||||||
AtomVecMolecularKokkos(class LAMMPS *);
|
AtomVecMolecularKokkos(class LAMMPS *);
|
||||||
virtual ~AtomVecMolecularKokkos() {}
|
~AtomVecMolecularKokkos() override = default;
|
||||||
void grow(int);
|
void grow(int) override;
|
||||||
void copy(int, int, int);
|
void copy(int, int, int) override;
|
||||||
int pack_comm(int, int *, double *, int, int *);
|
int pack_comm(int, int *, double *, int, int *) override;
|
||||||
int pack_comm_vel(int, int *, double *, int, int *);
|
int pack_comm_vel(int, int *, double *, int, int *) override;
|
||||||
void unpack_comm(int, int, double *);
|
void unpack_comm(int, int, double *) override;
|
||||||
void unpack_comm_vel(int, int, double *);
|
void unpack_comm_vel(int, int, double *) override;
|
||||||
int pack_reverse(int, int, double *);
|
int pack_reverse(int, int, double *) override;
|
||||||
void unpack_reverse(int, int *, double *);
|
void unpack_reverse(int, int *, double *) override;
|
||||||
int pack_border(int, int *, double *, int, int *);
|
int pack_border(int, int *, double *, int, int *) override;
|
||||||
int pack_border_vel(int, int *, double *, int, int *);
|
int pack_border_vel(int, int *, double *, int, int *) override;
|
||||||
int pack_border_hybrid(int, int *, double *);
|
int pack_border_hybrid(int, int *, double *) override;
|
||||||
void unpack_border(int, int, double *);
|
void unpack_border(int, int, double *) override;
|
||||||
void unpack_border_vel(int, int, double *);
|
void unpack_border_vel(int, int, double *) override;
|
||||||
int unpack_border_hybrid(int, int, double *);
|
int unpack_border_hybrid(int, int, double *) override;
|
||||||
int pack_exchange(int, double *);
|
int pack_exchange(int, double *) override;
|
||||||
int unpack_exchange(double *);
|
int unpack_exchange(double *) override;
|
||||||
int size_restart();
|
int size_restart() override;
|
||||||
int pack_restart(int, double *);
|
int pack_restart(int, double *) override;
|
||||||
int unpack_restart(double *);
|
int unpack_restart(double *) override;
|
||||||
void create_atom(int, double *);
|
void create_atom(int, double *) override;
|
||||||
void data_atom(double *, imageint, const std::vector<std::string> &);
|
void data_atom(double *, imageint, const std::vector<std::string> &) override;
|
||||||
int data_atom_hybrid(int, const std::vector<std::string> &, int);
|
int data_atom_hybrid(int, const std::vector<std::string> &, int) override;
|
||||||
void pack_data(double **);
|
void pack_data(double **) override;
|
||||||
int pack_data_hybrid(int, double *);
|
int pack_data_hybrid(int, double *) override;
|
||||||
void write_data(FILE *, int, double **);
|
void write_data(FILE *, int, double **) override;
|
||||||
int write_data_hybrid(FILE *, double *);
|
int write_data_hybrid(FILE *, double *) override;
|
||||||
double memory_usage();
|
double memory_usage() override;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
int pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist,
|
int pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist,
|
||||||
const int & iswap,
|
const int & iswap,
|
||||||
const DAT::tdual_xfloat_2d &buf,
|
const DAT::tdual_xfloat_2d &buf,
|
||||||
const int &pbc_flag, const int pbc[]);
|
const int &pbc_flag, const int pbc[]) override;
|
||||||
void unpack_comm_kokkos(const int &n, const int &nfirst,
|
void unpack_comm_kokkos(const int &n, const int &nfirst,
|
||||||
const DAT::tdual_xfloat_2d &buf);
|
const DAT::tdual_xfloat_2d &buf) override;
|
||||||
int pack_comm_self(const int &n, const DAT::tdual_int_2d &list,
|
int pack_comm_self(const int &n, const DAT::tdual_int_2d &list,
|
||||||
const int & iswap, const int nfirst,
|
const int & iswap, const int nfirst,
|
||||||
const int &pbc_flag, const int pbc[]);
|
const int &pbc_flag, const int pbc[]) override;
|
||||||
int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
||||||
DAT::tdual_xfloat_2d buf,int iswap,
|
DAT::tdual_xfloat_2d buf,int iswap,
|
||||||
int pbc_flag, int *pbc, ExecutionSpace space);
|
int pbc_flag, int *pbc, ExecutionSpace space) override;
|
||||||
void unpack_border_kokkos(const int &n, const int &nfirst,
|
void unpack_border_kokkos(const int &n, const int &nfirst,
|
||||||
const DAT::tdual_xfloat_2d &buf,
|
const DAT::tdual_xfloat_2d &buf,
|
||||||
ExecutionSpace space);
|
ExecutionSpace space) override;
|
||||||
int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf,
|
int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf,
|
||||||
DAT::tdual_int_1d k_sendlist,
|
DAT::tdual_int_1d k_sendlist,
|
||||||
DAT::tdual_int_1d k_copylist,
|
DAT::tdual_int_1d k_copylist,
|
||||||
ExecutionSpace space, int dim,
|
ExecutionSpace space, int dim,
|
||||||
X_FLOAT lo, X_FLOAT hi);
|
X_FLOAT lo, X_FLOAT hi) override;
|
||||||
int unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, int nrecv,
|
int unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, int nrecv,
|
||||||
int nlocal, int dim, X_FLOAT lo, X_FLOAT hi,
|
int nlocal, int dim, X_FLOAT lo, X_FLOAT hi,
|
||||||
ExecutionSpace space);
|
ExecutionSpace space) override;
|
||||||
|
|
||||||
void sync(ExecutionSpace space, unsigned int mask);
|
void sync(ExecutionSpace space, unsigned int mask) override;
|
||||||
void modified(ExecutionSpace space, unsigned int mask);
|
void modified(ExecutionSpace space, unsigned int mask) override;
|
||||||
void sync_overlapping_device(ExecutionSpace space, unsigned int mask);
|
void sync_overlapping_device(ExecutionSpace space, unsigned int mask) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
|||||||
@ -31,86 +31,86 @@ namespace LAMMPS_NS {
|
|||||||
class AtomVecSphereKokkos : public AtomVecKokkos {
|
class AtomVecSphereKokkos : public AtomVecKokkos {
|
||||||
public:
|
public:
|
||||||
AtomVecSphereKokkos(class LAMMPS *);
|
AtomVecSphereKokkos(class LAMMPS *);
|
||||||
~AtomVecSphereKokkos() {}
|
~AtomVecSphereKokkos() override = default;
|
||||||
void init();
|
void init() override;
|
||||||
void grow(int);
|
void grow(int) override;
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void copy(int, int, int);
|
void copy(int, int, int) override;
|
||||||
int pack_comm(int, int *, double *, int, int *);
|
int pack_comm(int, int *, double *, int, int *) override;
|
||||||
int pack_comm_vel(int, int *, double *, int, int *);
|
int pack_comm_vel(int, int *, double *, int, int *) override;
|
||||||
int pack_comm_hybrid(int, int *, double *);
|
int pack_comm_hybrid(int, int *, double *) override;
|
||||||
void unpack_comm(int, int, double *);
|
void unpack_comm(int, int, double *) override;
|
||||||
void unpack_comm_vel(int, int, double *);
|
void unpack_comm_vel(int, int, double *) override;
|
||||||
int unpack_comm_hybrid(int, int, double *);
|
int unpack_comm_hybrid(int, int, double *) override;
|
||||||
int pack_reverse(int, int, double *);
|
int pack_reverse(int, int, double *) override;
|
||||||
int pack_reverse_hybrid(int, int, double *);
|
int pack_reverse_hybrid(int, int, double *) override;
|
||||||
void unpack_reverse(int, int *, double *);
|
void unpack_reverse(int, int *, double *) override;
|
||||||
int unpack_reverse_hybrid(int, int *, double *);
|
int unpack_reverse_hybrid(int, int *, double *) override;
|
||||||
int pack_border(int, int *, double *, int, int *);
|
int pack_border(int, int *, double *, int, int *) override;
|
||||||
int pack_border_vel(int, int *, double *, int, int *);
|
int pack_border_vel(int, int *, double *, int, int *) override;
|
||||||
int pack_border_hybrid(int, int *, double *);
|
int pack_border_hybrid(int, int *, double *) override;
|
||||||
void unpack_border(int, int, double *);
|
void unpack_border(int, int, double *) override;
|
||||||
void unpack_border_vel(int, int, double *);
|
void unpack_border_vel(int, int, double *) override;
|
||||||
int unpack_border_hybrid(int, int, double *);
|
int unpack_border_hybrid(int, int, double *) override;
|
||||||
int pack_exchange(int, double *);
|
int pack_exchange(int, double *) override;
|
||||||
int unpack_exchange(double *);
|
int unpack_exchange(double *) override;
|
||||||
int size_restart();
|
int size_restart() override;
|
||||||
int pack_restart(int, double *);
|
int pack_restart(int, double *) override;
|
||||||
int unpack_restart(double *);
|
int unpack_restart(double *) override;
|
||||||
void create_atom(int, double *);
|
void create_atom(int, double *) override;
|
||||||
void data_atom(double *, imageint, const std::vector<std::string> &);
|
void data_atom(double *, imageint, const std::vector<std::string> &) override;
|
||||||
int data_atom_hybrid(int, const std::vector<std::string> &, int);
|
int data_atom_hybrid(int, const std::vector<std::string> &, int) override;
|
||||||
void data_vel(int, const std::vector<std::string> &);
|
void data_vel(int, const std::vector<std::string> &) override;
|
||||||
int data_vel_hybrid(int, const std::vector<std::string> &, int);
|
int data_vel_hybrid(int, const std::vector<std::string> &, int) override;
|
||||||
void pack_data(double **);
|
void pack_data(double **) override;
|
||||||
int pack_data_hybrid(int, double *);
|
int pack_data_hybrid(int, double *) override;
|
||||||
void write_data(FILE *, int, double **);
|
void write_data(FILE *, int, double **) override;
|
||||||
int write_data_hybrid(FILE *, double *);
|
int write_data_hybrid(FILE *, double *) override;
|
||||||
void pack_vel(double **);
|
void pack_vel(double **) override;
|
||||||
int pack_vel_hybrid(int, double *);
|
int pack_vel_hybrid(int, double *) override;
|
||||||
void write_vel(FILE *, int, double **);
|
void write_vel(FILE *, int, double **) override;
|
||||||
int write_vel_hybrid(FILE *, double *);
|
int write_vel_hybrid(FILE *, double *) override;
|
||||||
double memory_usage();
|
double memory_usage() override;
|
||||||
|
|
||||||
int pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist,
|
int pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist,
|
||||||
const int & iswap,
|
const int & iswap,
|
||||||
const DAT::tdual_xfloat_2d &buf,
|
const DAT::tdual_xfloat_2d &buf,
|
||||||
const int &pbc_flag, const int pbc[]);
|
const int &pbc_flag, const int pbc[]) override;
|
||||||
void unpack_comm_kokkos(const int &n, const int &nfirst,
|
void unpack_comm_kokkos(const int &n, const int &nfirst,
|
||||||
const DAT::tdual_xfloat_2d &buf);
|
const DAT::tdual_xfloat_2d &buf) override;
|
||||||
int pack_comm_vel_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist,
|
int pack_comm_vel_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist,
|
||||||
const int & iswap,
|
const int & iswap,
|
||||||
const DAT::tdual_xfloat_2d &buf,
|
const DAT::tdual_xfloat_2d &buf,
|
||||||
const int &pbc_flag, const int pbc[]);
|
const int &pbc_flag, const int pbc[]) override;
|
||||||
void unpack_comm_vel_kokkos(const int &n, const int &nfirst,
|
void unpack_comm_vel_kokkos(const int &n, const int &nfirst,
|
||||||
const DAT::tdual_xfloat_2d &buf);
|
const DAT::tdual_xfloat_2d &buf) override;
|
||||||
int pack_comm_self(const int &n, const DAT::tdual_int_2d &list,
|
int pack_comm_self(const int &n, const DAT::tdual_int_2d &list,
|
||||||
const int & iswap, const int nfirst,
|
const int & iswap, const int nfirst,
|
||||||
const int &pbc_flag, const int pbc[]);
|
const int &pbc_flag, const int pbc[]) override;
|
||||||
int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
||||||
DAT::tdual_xfloat_2d buf,int iswap,
|
DAT::tdual_xfloat_2d buf,int iswap,
|
||||||
int pbc_flag, int *pbc, ExecutionSpace space);
|
int pbc_flag, int *pbc, ExecutionSpace space) override;
|
||||||
void unpack_border_kokkos(const int &n, const int &nfirst,
|
void unpack_border_kokkos(const int &n, const int &nfirst,
|
||||||
const DAT::tdual_xfloat_2d &buf,
|
const DAT::tdual_xfloat_2d &buf,
|
||||||
ExecutionSpace space);
|
ExecutionSpace space) override;
|
||||||
int pack_border_vel_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
int pack_border_vel_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
||||||
DAT::tdual_xfloat_2d buf,int iswap,
|
DAT::tdual_xfloat_2d buf,int iswap,
|
||||||
int pbc_flag, int *pbc, ExecutionSpace space);
|
int pbc_flag, int *pbc, ExecutionSpace space) override;
|
||||||
void unpack_border_vel_kokkos(const int &n, const int &nfirst,
|
void unpack_border_vel_kokkos(const int &n, const int &nfirst,
|
||||||
const DAT::tdual_xfloat_2d &buf,
|
const DAT::tdual_xfloat_2d &buf,
|
||||||
ExecutionSpace space);
|
ExecutionSpace space) override;
|
||||||
int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf,
|
int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf,
|
||||||
DAT::tdual_int_1d k_sendlist,
|
DAT::tdual_int_1d k_sendlist,
|
||||||
DAT::tdual_int_1d k_copylist,
|
DAT::tdual_int_1d k_copylist,
|
||||||
ExecutionSpace space, int dim,
|
ExecutionSpace space, int dim,
|
||||||
X_FLOAT lo, X_FLOAT hi);
|
X_FLOAT lo, X_FLOAT hi) override;
|
||||||
int unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, int nrecv,
|
int unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, int nrecv,
|
||||||
int nlocal, int dim, X_FLOAT lo, X_FLOAT hi,
|
int nlocal, int dim, X_FLOAT lo, X_FLOAT hi,
|
||||||
ExecutionSpace space);
|
ExecutionSpace space) override;
|
||||||
|
|
||||||
void sync(ExecutionSpace space, unsigned int mask);
|
void sync(ExecutionSpace space, unsigned int mask) override;
|
||||||
void modified(ExecutionSpace space, unsigned int mask);
|
void modified(ExecutionSpace space, unsigned int mask) override;
|
||||||
void sync_overlapping_device(ExecutionSpace space, unsigned int mask);
|
void sync_overlapping_device(ExecutionSpace space, unsigned int mask) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
tagint *tag;
|
tagint *tag;
|
||||||
|
|||||||
@ -31,52 +31,52 @@ namespace LAMMPS_NS {
|
|||||||
class AtomVecSpinKokkos : public AtomVecKokkos {
|
class AtomVecSpinKokkos : public AtomVecKokkos {
|
||||||
public:
|
public:
|
||||||
AtomVecSpinKokkos(class LAMMPS *);
|
AtomVecSpinKokkos(class LAMMPS *);
|
||||||
void grow(int);
|
void grow(int) override;
|
||||||
void copy(int, int, int);
|
void copy(int, int, int) override;
|
||||||
int pack_border(int, int *, double *, int, int *);
|
int pack_border(int, int *, double *, int, int *) override;
|
||||||
int pack_border_vel(int, int *, double *, int, int *);
|
int pack_border_vel(int, int *, double *, int, int *) override;
|
||||||
int pack_border_hybrid(int, int *, double *);
|
int pack_border_hybrid(int, int *, double *) override;
|
||||||
void unpack_border(int, int, double *);
|
void unpack_border(int, int, double *) override;
|
||||||
void unpack_border_vel(int, int, double *);
|
void unpack_border_vel(int, int, double *) override;
|
||||||
int unpack_border_hybrid(int, int, double *);
|
int unpack_border_hybrid(int, int, double *) override;
|
||||||
int pack_exchange(int, double *);
|
int pack_exchange(int, double *) override;
|
||||||
int unpack_exchange(double *);
|
int unpack_exchange(double *) override;
|
||||||
int size_restart();
|
int size_restart() override;
|
||||||
int pack_restart(int, double *);
|
int pack_restart(int, double *) override;
|
||||||
int unpack_restart(double *);
|
int unpack_restart(double *) override;
|
||||||
void create_atom(int, double *);
|
void create_atom(int, double *) override;
|
||||||
void data_atom(double *, imageint, const std::vector<std::string> &);
|
void data_atom(double *, imageint, const std::vector<std::string> &) override;
|
||||||
int data_atom_hybrid(int, const std::vector<std::string> &, int);
|
int data_atom_hybrid(int, const std::vector<std::string> &, int) override;
|
||||||
void pack_data(double **);
|
void pack_data(double **) override;
|
||||||
int pack_data_hybrid(int, double *);
|
int pack_data_hybrid(int, double *) override;
|
||||||
void write_data(FILE *, int, double **);
|
void write_data(FILE *, int, double **) override;
|
||||||
int write_data_hybrid(FILE *, double *);
|
int write_data_hybrid(FILE *, double *) override;
|
||||||
double memory_usage();
|
double memory_usage() override;
|
||||||
|
|
||||||
// clear magnetic and mechanic forces
|
// clear magnetic and mechanic forces
|
||||||
|
|
||||||
void force_clear(int, size_t);
|
void force_clear(int, size_t) override;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
// input lists to be checked
|
// input lists to be checked
|
||||||
int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist,
|
||||||
DAT::tdual_xfloat_2d buf,int iswap,
|
DAT::tdual_xfloat_2d buf,int iswap,
|
||||||
int pbc_flag, int *pbc, ExecutionSpace space);
|
int pbc_flag, int *pbc, ExecutionSpace space) override;
|
||||||
void unpack_border_kokkos(const int &n, const int &nfirst,
|
void unpack_border_kokkos(const int &n, const int &nfirst,
|
||||||
const DAT::tdual_xfloat_2d &buf,
|
const DAT::tdual_xfloat_2d &buf,
|
||||||
ExecutionSpace space);
|
ExecutionSpace space) override;
|
||||||
int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf,
|
int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf,
|
||||||
DAT::tdual_int_1d k_sendlist,
|
DAT::tdual_int_1d k_sendlist,
|
||||||
DAT::tdual_int_1d k_copylist,
|
DAT::tdual_int_1d k_copylist,
|
||||||
ExecutionSpace space, int dim,
|
ExecutionSpace space, int dim,
|
||||||
X_FLOAT lo, X_FLOAT hi);
|
X_FLOAT lo, X_FLOAT hi) override;
|
||||||
int unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, int nrecv,
|
int unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, int nrecv,
|
||||||
int nlocal, int dim, X_FLOAT lo, X_FLOAT hi,
|
int nlocal, int dim, X_FLOAT lo, X_FLOAT hi,
|
||||||
ExecutionSpace space);
|
ExecutionSpace space) override;
|
||||||
|
|
||||||
void sync(ExecutionSpace space, unsigned int mask);
|
void sync(ExecutionSpace space, unsigned int mask) override;
|
||||||
void modified(ExecutionSpace space, unsigned int mask);
|
void modified(ExecutionSpace space, unsigned int mask) override;
|
||||||
void sync_overlapping_device(ExecutionSpace space, unsigned int mask);
|
void sync_overlapping_device(ExecutionSpace space, unsigned int mask) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
tagint *tag;
|
tagint *tag;
|
||||||
|
|||||||
@ -39,10 +39,10 @@ class AtomVecSMD : public AtomVec {
|
|||||||
public:
|
public:
|
||||||
AtomVecSMD(class LAMMPS *);
|
AtomVecSMD(class LAMMPS *);
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void force_clear(int, size_t);
|
void force_clear(int, size_t) override;
|
||||||
void create_atom_post(int);
|
void create_atom_post(int) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
tagint *molecule;
|
tagint *molecule;
|
||||||
|
|||||||
@ -27,13 +27,13 @@ namespace LAMMPS_NS {
|
|||||||
class AtomVecAngle : public AtomVec {
|
class AtomVecAngle : public AtomVec {
|
||||||
public:
|
public:
|
||||||
AtomVecAngle(class LAMMPS *);
|
AtomVecAngle(class LAMMPS *);
|
||||||
~AtomVecAngle();
|
~AtomVecAngle() override;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void pack_restart_pre(int);
|
void pack_restart_pre(int) override;
|
||||||
void pack_restart_post(int);
|
void pack_restart_post(int) override;
|
||||||
void unpack_restart_init(int);
|
void unpack_restart_init(int) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int *num_bond, *num_angle;
|
int *num_bond, *num_angle;
|
||||||
|
|||||||
@ -27,13 +27,13 @@ namespace LAMMPS_NS {
|
|||||||
class AtomVecBond : public AtomVec {
|
class AtomVecBond : public AtomVec {
|
||||||
public:
|
public:
|
||||||
AtomVecBond(class LAMMPS *);
|
AtomVecBond(class LAMMPS *);
|
||||||
~AtomVecBond();
|
~AtomVecBond() override;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void pack_restart_pre(int);
|
void pack_restart_pre(int) override;
|
||||||
void pack_restart_post(int);
|
void pack_restart_post(int) override;
|
||||||
void unpack_restart_init(int);
|
void unpack_restart_init(int) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int *num_bond;
|
int *num_bond;
|
||||||
|
|||||||
@ -27,13 +27,13 @@ namespace LAMMPS_NS {
|
|||||||
class AtomVecFull : public AtomVec {
|
class AtomVecFull : public AtomVec {
|
||||||
public:
|
public:
|
||||||
AtomVecFull(class LAMMPS *);
|
AtomVecFull(class LAMMPS *);
|
||||||
~AtomVecFull();
|
~AtomVecFull() override;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void pack_restart_pre(int);
|
void pack_restart_pre(int) override;
|
||||||
void pack_restart_post(int);
|
void pack_restart_post(int) override;
|
||||||
void unpack_restart_init(int);
|
void unpack_restart_init(int) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int *num_bond, *num_angle, *num_dihedral, *num_improper;
|
int *num_bond, *num_angle, *num_dihedral, *num_improper;
|
||||||
|
|||||||
@ -27,13 +27,13 @@ namespace LAMMPS_NS {
|
|||||||
class AtomVecMolecular : public AtomVec {
|
class AtomVecMolecular : public AtomVec {
|
||||||
public:
|
public:
|
||||||
AtomVecMolecular(class LAMMPS *);
|
AtomVecMolecular(class LAMMPS *);
|
||||||
~AtomVecMolecular();
|
~AtomVecMolecular() override;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void pack_restart_pre(int);
|
void pack_restart_pre(int) override;
|
||||||
void pack_restart_post(int);
|
void pack_restart_post(int) override;
|
||||||
void unpack_restart_init(int);
|
void unpack_restart_init(int) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int *num_bond, *num_angle, *num_dihedral, *num_improper;
|
int *num_bond, *num_angle, *num_dihedral, *num_improper;
|
||||||
|
|||||||
@ -28,12 +28,12 @@ class AtomVecTemplate : public AtomVec {
|
|||||||
public:
|
public:
|
||||||
AtomVecTemplate(class LAMMPS *);
|
AtomVecTemplate(class LAMMPS *);
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void process_args(int, char **);
|
void process_args(int, char **) override;
|
||||||
void create_atom_post(int);
|
void create_atom_post(int) override;
|
||||||
void pack_data_pre(int);
|
void pack_data_pre(int) override;
|
||||||
void pack_data_post(int);
|
void pack_data_post(int) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int *molindex, *molatom;
|
int *molindex, *molatom;
|
||||||
|
|||||||
@ -28,11 +28,11 @@ class AtomVecPeri : public AtomVec {
|
|||||||
public:
|
public:
|
||||||
AtomVecPeri(class LAMMPS *);
|
AtomVecPeri(class LAMMPS *);
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void create_atom_post(int);
|
void create_atom_post(int) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
int property_atom(char *);
|
int property_atom(char *) override;
|
||||||
void pack_property_atom(int, double *, int, int);
|
void pack_property_atom(int, double *, int, int) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
double *rmass, *vfrac, *s0;
|
double *rmass, *vfrac, *s0;
|
||||||
|
|||||||
@ -28,12 +28,12 @@ class AtomVecSPH : public AtomVec {
|
|||||||
public:
|
public:
|
||||||
AtomVecSPH(class LAMMPS *);
|
AtomVecSPH(class LAMMPS *);
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void force_clear(int, size_t);
|
void force_clear(int, size_t) override;
|
||||||
void create_atom_post(int);
|
void create_atom_post(int) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
int property_atom(char *);
|
int property_atom(char *) override;
|
||||||
void pack_property_atom(int, double *, int, int);
|
void pack_property_atom(int, double *, int, int) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
double *rho, *drho, *esph, *desph, *cv;
|
double *rho, *drho, *esph, *desph, *cv;
|
||||||
|
|||||||
@ -28,9 +28,9 @@ class AtomVecSpin : public AtomVec {
|
|||||||
public:
|
public:
|
||||||
AtomVecSpin(class LAMMPS *);
|
AtomVecSpin(class LAMMPS *);
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void force_clear(int, size_t);
|
void force_clear(int, size_t) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
double **sp, **fm, **fm_long;
|
double **sp, **fm, **fm_long;
|
||||||
|
|||||||
@ -27,7 +27,7 @@ namespace LAMMPS_NS {
|
|||||||
class AtomVecAtomic : public AtomVec {
|
class AtomVecAtomic : public AtomVec {
|
||||||
public:
|
public:
|
||||||
AtomVecAtomic(class LAMMPS *);
|
AtomVecAtomic(class LAMMPS *);
|
||||||
~AtomVecAtomic() {}
|
~AtomVecAtomic() override = default;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace LAMMPS_NS
|
} // namespace LAMMPS_NS
|
||||||
|
|||||||
@ -40,31 +40,31 @@ class AtomVecBody : public AtomVec {
|
|||||||
struct Bonus *bonus;
|
struct Bonus *bonus;
|
||||||
|
|
||||||
AtomVecBody(class LAMMPS *);
|
AtomVecBody(class LAMMPS *);
|
||||||
~AtomVecBody();
|
~AtomVecBody() override;
|
||||||
void process_args(int, char **);
|
void process_args(int, char **) override;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void copy_bonus(int, int, int);
|
void copy_bonus(int, int, int) override;
|
||||||
void clear_bonus();
|
void clear_bonus() override;
|
||||||
int pack_comm_bonus(int, int *, double *);
|
int pack_comm_bonus(int, int *, double *) override;
|
||||||
void unpack_comm_bonus(int, int, double *);
|
void unpack_comm_bonus(int, int, double *) override;
|
||||||
int pack_border_bonus(int, int *, double *);
|
int pack_border_bonus(int, int *, double *) override;
|
||||||
int unpack_border_bonus(int, int, double *);
|
int unpack_border_bonus(int, int, double *) override;
|
||||||
int pack_exchange_bonus(int, double *);
|
int pack_exchange_bonus(int, double *) override;
|
||||||
int unpack_exchange_bonus(int, double *);
|
int unpack_exchange_bonus(int, double *) override;
|
||||||
int size_restart_bonus();
|
int size_restart_bonus() override;
|
||||||
int pack_restart_bonus(int, double *);
|
int pack_restart_bonus(int, double *) override;
|
||||||
int unpack_restart_bonus(int, double *);
|
int unpack_restart_bonus(int, double *) override;
|
||||||
void data_body(int, int, int, int *, double *);
|
void data_body(int, int, int, int *, double *) override;
|
||||||
double memory_usage_bonus();
|
double memory_usage_bonus() override;
|
||||||
|
|
||||||
void create_atom_post(int);
|
void create_atom_post(int) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
void pack_data_pre(int);
|
void pack_data_pre(int) override;
|
||||||
void pack_data_post(int);
|
void pack_data_post(int) override;
|
||||||
|
|
||||||
int pack_data_bonus(double *, int);
|
int pack_data_bonus(double *, int) override;
|
||||||
void write_data_bonus(FILE *, int, double *, int);
|
void write_data_bonus(FILE *, int, double *, int) override;
|
||||||
|
|
||||||
// methods used by other classes to query/set body info
|
// methods used by other classes to query/set body info
|
||||||
|
|
||||||
|
|||||||
@ -34,30 +34,30 @@ class AtomVecEllipsoid : public AtomVec {
|
|||||||
struct Bonus *bonus;
|
struct Bonus *bonus;
|
||||||
|
|
||||||
AtomVecEllipsoid(class LAMMPS *);
|
AtomVecEllipsoid(class LAMMPS *);
|
||||||
~AtomVecEllipsoid();
|
~AtomVecEllipsoid() override;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void copy_bonus(int, int, int);
|
void copy_bonus(int, int, int) override;
|
||||||
void clear_bonus();
|
void clear_bonus() override;
|
||||||
int pack_comm_bonus(int, int *, double *);
|
int pack_comm_bonus(int, int *, double *) override;
|
||||||
void unpack_comm_bonus(int, int, double *);
|
void unpack_comm_bonus(int, int, double *) override;
|
||||||
int pack_border_bonus(int, int *, double *);
|
int pack_border_bonus(int, int *, double *) override;
|
||||||
int unpack_border_bonus(int, int, double *);
|
int unpack_border_bonus(int, int, double *) override;
|
||||||
int pack_exchange_bonus(int, double *);
|
int pack_exchange_bonus(int, double *) override;
|
||||||
int unpack_exchange_bonus(int, double *);
|
int unpack_exchange_bonus(int, double *) override;
|
||||||
int size_restart_bonus();
|
int size_restart_bonus() override;
|
||||||
int pack_restart_bonus(int, double *);
|
int pack_restart_bonus(int, double *) override;
|
||||||
int unpack_restart_bonus(int, double *);
|
int unpack_restart_bonus(int, double *) override;
|
||||||
void data_atom_bonus(int, const std::vector<std::string> &);
|
void data_atom_bonus(int, const std::vector<std::string> &) override;
|
||||||
double memory_usage_bonus();
|
double memory_usage_bonus() override;
|
||||||
|
|
||||||
void create_atom_post(int);
|
void create_atom_post(int) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
void pack_data_pre(int);
|
void pack_data_pre(int) override;
|
||||||
void pack_data_post(int);
|
void pack_data_post(int) override;
|
||||||
|
|
||||||
int pack_data_bonus(double *, int);
|
int pack_data_bonus(double *, int) override;
|
||||||
void write_data_bonus(FILE *, int, double *, int);
|
void write_data_bonus(FILE *, int, double *, int) override;
|
||||||
|
|
||||||
// unique to AtomVecEllipsoid
|
// unique to AtomVecEllipsoid
|
||||||
|
|
||||||
|
|||||||
@ -31,41 +31,41 @@ class AtomVecHybrid : public AtomVec {
|
|||||||
char **keywords;
|
char **keywords;
|
||||||
|
|
||||||
AtomVecHybrid(class LAMMPS *);
|
AtomVecHybrid(class LAMMPS *);
|
||||||
~AtomVecHybrid();
|
~AtomVecHybrid() override;
|
||||||
void process_args(int, char **);
|
void process_args(int, char **) override;
|
||||||
void init();
|
void init() override;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void force_clear(int, size_t);
|
void force_clear(int, size_t) override;
|
||||||
void copy_bonus(int, int, int);
|
void copy_bonus(int, int, int) override;
|
||||||
void clear_bonus();
|
void clear_bonus() override;
|
||||||
int pack_comm_bonus(int, int *, double *);
|
int pack_comm_bonus(int, int *, double *) override;
|
||||||
void unpack_comm_bonus(int, int, double *);
|
void unpack_comm_bonus(int, int, double *) override;
|
||||||
int pack_border_bonus(int, int *, double *);
|
int pack_border_bonus(int, int *, double *) override;
|
||||||
int unpack_border_bonus(int, int, double *);
|
int unpack_border_bonus(int, int, double *) override;
|
||||||
int pack_exchange_bonus(int, double *);
|
int pack_exchange_bonus(int, double *) override;
|
||||||
int unpack_exchange_bonus(int, double *);
|
int unpack_exchange_bonus(int, double *) override;
|
||||||
int size_restart_bonus();
|
int size_restart_bonus() override;
|
||||||
int pack_restart_bonus(int, double *);
|
int pack_restart_bonus(int, double *) override;
|
||||||
int unpack_restart_bonus(int, double *);
|
int unpack_restart_bonus(int, double *) override;
|
||||||
double memory_usage_bonus();
|
double memory_usage_bonus() override;
|
||||||
|
|
||||||
void pack_restart_pre(int);
|
void pack_restart_pre(int) override;
|
||||||
void pack_restart_post(int);
|
void pack_restart_post(int) override;
|
||||||
void unpack_restart_init(int);
|
void unpack_restart_init(int) override;
|
||||||
void create_atom_post(int);
|
void create_atom_post(int) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
|
|
||||||
void data_bonds_post(int, int, tagint, tagint, tagint);
|
void data_bonds_post(int, int, tagint, tagint, tagint) override;
|
||||||
|
|
||||||
void pack_data_pre(int);
|
void pack_data_pre(int) override;
|
||||||
void pack_data_post(int);
|
void pack_data_post(int) override;
|
||||||
|
|
||||||
int pack_data_bonus(double *, int);
|
int pack_data_bonus(double *, int) override;
|
||||||
void write_data_bonus(FILE *, int, double *, int);
|
void write_data_bonus(FILE *, int, double *, int) override;
|
||||||
|
|
||||||
int property_atom(char *);
|
int property_atom(char *) override;
|
||||||
void pack_property_atom(int, double *, int, int);
|
void pack_property_atom(int, double *, int, int) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int nallstyles;
|
int nallstyles;
|
||||||
|
|||||||
@ -33,31 +33,31 @@ class AtomVecLine : public AtomVec {
|
|||||||
struct Bonus *bonus;
|
struct Bonus *bonus;
|
||||||
|
|
||||||
AtomVecLine(class LAMMPS *);
|
AtomVecLine(class LAMMPS *);
|
||||||
~AtomVecLine();
|
~AtomVecLine() override;
|
||||||
void init();
|
void init() override;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void copy_bonus(int, int, int);
|
void copy_bonus(int, int, int) override;
|
||||||
void clear_bonus();
|
void clear_bonus() override;
|
||||||
int pack_comm_bonus(int, int *, double *);
|
int pack_comm_bonus(int, int *, double *) override;
|
||||||
void unpack_comm_bonus(int, int, double *);
|
void unpack_comm_bonus(int, int, double *) override;
|
||||||
int pack_border_bonus(int, int *, double *);
|
int pack_border_bonus(int, int *, double *) override;
|
||||||
int unpack_border_bonus(int, int, double *);
|
int unpack_border_bonus(int, int, double *) override;
|
||||||
int pack_exchange_bonus(int, double *);
|
int pack_exchange_bonus(int, double *) override;
|
||||||
int unpack_exchange_bonus(int, double *);
|
int unpack_exchange_bonus(int, double *) override;
|
||||||
int size_restart_bonus();
|
int size_restart_bonus() override;
|
||||||
int pack_restart_bonus(int, double *);
|
int pack_restart_bonus(int, double *) override;
|
||||||
int unpack_restart_bonus(int, double *);
|
int unpack_restart_bonus(int, double *) override;
|
||||||
void data_atom_bonus(int, const std::vector<std::string> &);
|
void data_atom_bonus(int, const std::vector<std::string> &) override;
|
||||||
double memory_usage_bonus();
|
double memory_usage_bonus() override;
|
||||||
|
|
||||||
void create_atom_post(int);
|
void create_atom_post(int) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
void pack_data_pre(int);
|
void pack_data_pre(int) override;
|
||||||
void pack_data_post(int);
|
void pack_data_post(int) override;
|
||||||
|
|
||||||
int pack_data_bonus(double *, int);
|
int pack_data_bonus(double *, int) override;
|
||||||
void write_data_bonus(FILE *, int, double *, int);
|
void write_data_bonus(FILE *, int, double *, int) override;
|
||||||
|
|
||||||
// unique to AtomVecLine
|
// unique to AtomVecLine
|
||||||
|
|
||||||
|
|||||||
@ -27,14 +27,14 @@ namespace LAMMPS_NS {
|
|||||||
class AtomVecSphere : public AtomVec {
|
class AtomVecSphere : public AtomVec {
|
||||||
public:
|
public:
|
||||||
AtomVecSphere(class LAMMPS *);
|
AtomVecSphere(class LAMMPS *);
|
||||||
void process_args(int, char **);
|
void process_args(int, char **) override;
|
||||||
void init();
|
void init() override;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void create_atom_post(int);
|
void create_atom_post(int) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
void pack_data_pre(int);
|
void pack_data_pre(int) override;
|
||||||
void pack_data_post(int);
|
void pack_data_post(int) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
double *radius, *rmass;
|
double *radius, *rmass;
|
||||||
|
|||||||
@ -35,31 +35,31 @@ class AtomVecTri : public AtomVec {
|
|||||||
struct Bonus *bonus;
|
struct Bonus *bonus;
|
||||||
|
|
||||||
AtomVecTri(class LAMMPS *);
|
AtomVecTri(class LAMMPS *);
|
||||||
~AtomVecTri();
|
~AtomVecTri() override;
|
||||||
void init();
|
void init() override;
|
||||||
|
|
||||||
void grow_pointers();
|
void grow_pointers() override;
|
||||||
void copy_bonus(int, int, int);
|
void copy_bonus(int, int, int) override;
|
||||||
void clear_bonus();
|
void clear_bonus() override;
|
||||||
int pack_comm_bonus(int, int *, double *);
|
int pack_comm_bonus(int, int *, double *) override;
|
||||||
void unpack_comm_bonus(int, int, double *);
|
void unpack_comm_bonus(int, int, double *) override;
|
||||||
int pack_border_bonus(int, int *, double *);
|
int pack_border_bonus(int, int *, double *) override;
|
||||||
int unpack_border_bonus(int, int, double *);
|
int unpack_border_bonus(int, int, double *) override;
|
||||||
int pack_exchange_bonus(int, double *);
|
int pack_exchange_bonus(int, double *) override;
|
||||||
int unpack_exchange_bonus(int, double *);
|
int unpack_exchange_bonus(int, double *) override;
|
||||||
int size_restart_bonus();
|
int size_restart_bonus() override;
|
||||||
int pack_restart_bonus(int, double *);
|
int pack_restart_bonus(int, double *) override;
|
||||||
int unpack_restart_bonus(int, double *);
|
int unpack_restart_bonus(int, double *) override;
|
||||||
void data_atom_bonus(int, const std::vector<std::string> &);
|
void data_atom_bonus(int, const std::vector<std::string> &) override;
|
||||||
double memory_usage_bonus();
|
double memory_usage_bonus() override;
|
||||||
|
|
||||||
void create_atom_post(int);
|
void create_atom_post(int) override;
|
||||||
void data_atom_post(int);
|
void data_atom_post(int) override;
|
||||||
void pack_data_pre(int);
|
void pack_data_pre(int) override;
|
||||||
void pack_data_post(int);
|
void pack_data_post(int) override;
|
||||||
|
|
||||||
int pack_data_bonus(double *, int);
|
int pack_data_bonus(double *, int) override;
|
||||||
void write_data_bonus(FILE *, int, double *, int);
|
void write_data_bonus(FILE *, int, double *, int) override;
|
||||||
|
|
||||||
// unique to AtomVecTri
|
// unique to AtomVecTri
|
||||||
|
|
||||||
|
|||||||
@ -119,7 +119,7 @@ class Molecule : protected Pointers {
|
|||||||
// e.g. FixPour or CreateAtoms
|
// e.g. FixPour or CreateAtoms
|
||||||
|
|
||||||
Molecule(class LAMMPS *, int, char **, int &);
|
Molecule(class LAMMPS *, int, char **, int &);
|
||||||
~Molecule();
|
~Molecule() override;
|
||||||
void compute_center();
|
void compute_center();
|
||||||
void compute_mass();
|
void compute_mass();
|
||||||
void compute_com();
|
void compute_com();
|
||||||
|
|||||||
Reference in New Issue
Block a user