From 9b172d66f86a7ac2cfefea7f038f3fc2d83a1482 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 10 Sep 2022 12:50:45 -0400 Subject: [PATCH] recover non-labelmap functionality with Kokkos. Error out when maps are used with Kokkos --- doc/src/labelmap.rst | 2 ++ doc/src/read_data.rst | 5 ++++- src/KOKKOS/atom_vec_angle_kokkos.cpp | 3 ++- src/KOKKOS/atom_vec_angle_kokkos.h | 2 +- src/KOKKOS/atom_vec_atomic_kokkos.cpp | 3 ++- src/KOKKOS/atom_vec_atomic_kokkos.h | 2 +- src/KOKKOS/atom_vec_bond_kokkos.cpp | 3 ++- src/KOKKOS/atom_vec_bond_kokkos.h | 2 +- src/KOKKOS/atom_vec_charge_kokkos.cpp | 3 ++- src/KOKKOS/atom_vec_charge_kokkos.h | 2 +- src/KOKKOS/atom_vec_dpd_kokkos.cpp | 3 ++- src/KOKKOS/atom_vec_dpd_kokkos.h | 2 +- src/KOKKOS/atom_vec_full_kokkos.cpp | 3 ++- src/KOKKOS/atom_vec_full_kokkos.h | 2 +- src/KOKKOS/atom_vec_hybrid_kokkos.cpp | 3 ++- src/KOKKOS/atom_vec_hybrid_kokkos.h | 2 +- src/KOKKOS/atom_vec_molecular_kokkos.cpp | 3 ++- src/KOKKOS/atom_vec_molecular_kokkos.h | 2 +- src/KOKKOS/atom_vec_sphere_kokkos.cpp | 3 ++- src/KOKKOS/atom_vec_sphere_kokkos.h | 2 +- src/KOKKOS/atom_vec_spin_kokkos.cpp | 3 ++- src/KOKKOS/atom_vec_spin_kokkos.h | 2 +- src/atom.cpp | 4 +++- src/atom_vec.cpp | 11 ----------- src/atom_vec.h | 1 - src/special.cpp | 4 ++-- 26 files changed, 41 insertions(+), 36 deletions(-) diff --git a/doc/src/labelmap.rst b/doc/src/labelmap.rst index 6ff7e96846..a709bb1104 100644 --- a/doc/src/labelmap.rst +++ b/doc/src/labelmap.rst @@ -86,6 +86,8 @@ This command must come after the simulation box is defined by a :doc:`read_data `, :doc:`read_restart `, or :doc:`create_box ` command. +Labelmaps are currently not supported when using the KOKKOS package. + Related commands """""""""""""""" diff --git a/doc/src/read_data.rst b/doc/src/read_data.rst index b474767422..f39e27df90 100644 --- a/doc/src/read_data.rst +++ b/doc/src/read_data.rst @@ -1519,11 +1519,14 @@ To read gzipped data files, you must compile LAMMPS with the -DLAMMPS_GZIP option. See the :doc:`Build settings ` doc page for details. +Labelmaps are currently not supported when using the KOKKOS package. + Related commands """""""""""""""" :doc:`read_dump `, :doc:`read_restart `, -:doc:`create_atoms `, :doc:`write_data ` +:doc:`create_atoms `, :doc:`write_data `, +:doc:`labelmap ` Default """"""" diff --git a/src/KOKKOS/atom_vec_angle_kokkos.cpp b/src/KOKKOS/atom_vec_angle_kokkos.cpp index dd37d1a838..3746f62a81 100644 --- a/src/KOKKOS/atom_vec_angle_kokkos.cpp +++ b/src/KOKKOS/atom_vec_angle_kokkos.cpp @@ -1633,7 +1633,7 @@ void AtomVecAngleKokkos::create_atom(int itype, double *coord) ------------------------------------------------------------------------- */ void AtomVecAngleKokkos::data_atom(double *coord, imageint imagetmp, - const std::vector &values) + const std::vector &values, std::string &extract) { int nlocal = atom->nlocal; if (nlocal == nmax) grow(0); @@ -1642,6 +1642,7 @@ void AtomVecAngleKokkos::data_atom(double *coord, imageint imagetmp, h_tag(nlocal) = utils::inumeric(FLERR,values[0],true,lmp); h_molecule(nlocal) = utils::inumeric(FLERR,values[1],true,lmp); h_type(nlocal) = utils::inumeric(FLERR,values[2],true,lmp); + extract = values[2]; if (h_type(nlocal) <= 0 || h_type(nlocal) > atom->ntypes) error->one(FLERR,"Invalid atom type in Atoms section of data file"); diff --git a/src/KOKKOS/atom_vec_angle_kokkos.h b/src/KOKKOS/atom_vec_angle_kokkos.h index 5dec05f9db..193d4b7635 100644 --- a/src/KOKKOS/atom_vec_angle_kokkos.h +++ b/src/KOKKOS/atom_vec_angle_kokkos.h @@ -51,7 +51,7 @@ class AtomVecAngleKokkos : public AtomVecKokkos { int pack_restart(int, double *) override; int unpack_restart(double *) override; void create_atom(int, double *) override; - void data_atom(double *, imageint, const std::vector &) override; + void data_atom(double *, imageint, const std::vector &, std::string &) override; int data_atom_hybrid(int, const std::vector &, int) override; void pack_data(double **) override; int pack_data_hybrid(int, double *) override; diff --git a/src/KOKKOS/atom_vec_atomic_kokkos.cpp b/src/KOKKOS/atom_vec_atomic_kokkos.cpp index 0a78b42227..e291c10c39 100644 --- a/src/KOKKOS/atom_vec_atomic_kokkos.cpp +++ b/src/KOKKOS/atom_vec_atomic_kokkos.cpp @@ -824,13 +824,14 @@ void AtomVecAtomicKokkos::create_atom(int itype, double *coord) ------------------------------------------------------------------------- */ void AtomVecAtomicKokkos::data_atom(double *coord, imageint imagetmp, - const std::vector &values) + const std::vector &values, std::string &extract) { int nlocal = atom->nlocal; if (nlocal == nmax) grow(0); h_tag[nlocal] = utils::inumeric(FLERR,values[0],true,lmp); h_type[nlocal] = utils::inumeric(FLERR,values[1],true,lmp); + extract = values[1]; if (type[nlocal] <= 0 || type[nlocal] > atom->ntypes) error->one(FLERR,"Invalid atom type in Atoms section of data file"); diff --git a/src/KOKKOS/atom_vec_atomic_kokkos.h b/src/KOKKOS/atom_vec_atomic_kokkos.h index bc4004d2c0..410a0f66e2 100644 --- a/src/KOKKOS/atom_vec_atomic_kokkos.h +++ b/src/KOKKOS/atom_vec_atomic_kokkos.h @@ -44,7 +44,7 @@ class AtomVecAtomicKokkos : public AtomVecKokkos { int pack_restart(int, double *) override; int unpack_restart(double *) override; void create_atom(int, double *) override; - void data_atom(double *, imageint, const std::vector &) override; + void data_atom(double *, imageint, const std::vector &, std::string &) override; void pack_data(double **) override; void write_data(FILE *, int, double **) override; double memory_usage() override; diff --git a/src/KOKKOS/atom_vec_bond_kokkos.cpp b/src/KOKKOS/atom_vec_bond_kokkos.cpp index ea70f15dcb..bc5db852ae 100644 --- a/src/KOKKOS/atom_vec_bond_kokkos.cpp +++ b/src/KOKKOS/atom_vec_bond_kokkos.cpp @@ -1059,7 +1059,7 @@ void AtomVecBondKokkos::create_atom(int itype, double *coord) ------------------------------------------------------------------------- */ void AtomVecBondKokkos::data_atom(double *coord, imageint imagetmp, - const std::vector &values) + const std::vector &values, std::string &extract) { int nlocal = atomKK->nlocal; if (nlocal == nmax) grow(0); @@ -1068,6 +1068,7 @@ void AtomVecBondKokkos::data_atom(double *coord, imageint imagetmp, h_tag(nlocal) = utils::inumeric(FLERR,values[0],true,lmp); h_molecule(nlocal) = utils::inumeric(FLERR,values[1],true,lmp); h_type(nlocal) = utils::inumeric(FLERR,values[2],true,lmp); + extract = values[2]; if (h_type(nlocal) <= 0 || h_type(nlocal) > atom->ntypes) error->one(FLERR,"Invalid atom type in Atoms section of data file"); diff --git a/src/KOKKOS/atom_vec_bond_kokkos.h b/src/KOKKOS/atom_vec_bond_kokkos.h index eb3fca3130..573438ed41 100644 --- a/src/KOKKOS/atom_vec_bond_kokkos.h +++ b/src/KOKKOS/atom_vec_bond_kokkos.h @@ -45,7 +45,7 @@ class AtomVecBondKokkos : public AtomVecKokkos { int pack_restart(int, double *) override; int unpack_restart(double *) override; void create_atom(int, double *) override; - void data_atom(double *, imageint, const std::vector &) override; + void data_atom(double *, imageint, const std::vector &, std::string &) override; int data_atom_hybrid(int, const std::vector &, int) override; void pack_data(double **) override; int pack_data_hybrid(int, double *) override; diff --git a/src/KOKKOS/atom_vec_charge_kokkos.cpp b/src/KOKKOS/atom_vec_charge_kokkos.cpp index 3c0e1d46bb..0cf39938d9 100644 --- a/src/KOKKOS/atom_vec_charge_kokkos.cpp +++ b/src/KOKKOS/atom_vec_charge_kokkos.cpp @@ -957,13 +957,14 @@ void AtomVecChargeKokkos::create_atom(int itype, double *coord) ------------------------------------------------------------------------- */ void AtomVecChargeKokkos::data_atom(double *coord, imageint imagetmp, - const std::vector &values) + const std::vector &values, std::string &extract) { int nlocal = atom->nlocal; if (nlocal == nmax) grow(0); h_tag[nlocal] = utils::inumeric(FLERR,values[0],true,lmp); h_type[nlocal] = utils::inumeric(FLERR,values[1],true,lmp); + extract = values[1]; if (type[nlocal] <= 0 || type[nlocal] > atom->ntypes) error->one(FLERR,"Invalid atom type in Atoms section of data file"); diff --git a/src/KOKKOS/atom_vec_charge_kokkos.h b/src/KOKKOS/atom_vec_charge_kokkos.h index ceca4c8688..10b482fca5 100644 --- a/src/KOKKOS/atom_vec_charge_kokkos.h +++ b/src/KOKKOS/atom_vec_charge_kokkos.h @@ -46,7 +46,7 @@ class AtomVecChargeKokkos : public AtomVecKokkos { int pack_restart(int, double *) override; int unpack_restart(double *) override; void create_atom(int, double *) override; - void data_atom(double *, imageint, const std::vector &) override; + void data_atom(double *, imageint, const std::vector &, std::string &) override; int data_atom_hybrid(int , const std::vector &, int) override; void pack_data(double **) override; int pack_data_hybrid(int, double *) override; diff --git a/src/KOKKOS/atom_vec_dpd_kokkos.cpp b/src/KOKKOS/atom_vec_dpd_kokkos.cpp index 1b7ccd97d0..9176de6a67 100644 --- a/src/KOKKOS/atom_vec_dpd_kokkos.cpp +++ b/src/KOKKOS/atom_vec_dpd_kokkos.cpp @@ -1719,13 +1719,14 @@ void AtomVecDPDKokkos::create_atom(int itype, double *coord) ------------------------------------------------------------------------- */ void AtomVecDPDKokkos::data_atom(double *coord, imageint imagetmp, - const std::vector &values) + const std::vector &values, std::string &extract) { int nlocal = atom->nlocal; if (nlocal == nmax) grow(0); h_tag[nlocal] = utils::tnumeric(FLERR,values[0],true,lmp); h_type[nlocal] = utils::inumeric(FLERR,values[1],true,lmp); + extract = values[1]; if (type[nlocal] <= 0 || type[nlocal] > atom->ntypes) error->one(FLERR,"Invalid atom type in Atoms section of data file"); diff --git a/src/KOKKOS/atom_vec_dpd_kokkos.h b/src/KOKKOS/atom_vec_dpd_kokkos.h index 1a6b62f4af..338e0f6004 100644 --- a/src/KOKKOS/atom_vec_dpd_kokkos.h +++ b/src/KOKKOS/atom_vec_dpd_kokkos.h @@ -54,7 +54,7 @@ class AtomVecDPDKokkos : public AtomVecKokkos { int pack_restart(int, double *) override; int unpack_restart(double *) override; void create_atom(int, double *) override; - void data_atom(double *, imageint, const std::vector &) override; + void data_atom(double *, imageint, const std::vector &, std::string &) override; int data_atom_hybrid(int, const std::vector &, int) override; void pack_data(double **) override; int pack_data_hybrid(int, double *) override; diff --git a/src/KOKKOS/atom_vec_full_kokkos.cpp b/src/KOKKOS/atom_vec_full_kokkos.cpp index 7322a75b11..807953ef41 100644 --- a/src/KOKKOS/atom_vec_full_kokkos.cpp +++ b/src/KOKKOS/atom_vec_full_kokkos.cpp @@ -1491,7 +1491,7 @@ void AtomVecFullKokkos::create_atom(int itype, double *coord) ------------------------------------------------------------------------- */ void AtomVecFullKokkos::data_atom(double *coord, imageint imagetmp, - const std::vector &values) + const std::vector &values, std::string &extract) { int nlocal = atom->nlocal; if (nlocal == nmax) grow(0); @@ -1500,6 +1500,7 @@ void AtomVecFullKokkos::data_atom(double *coord, imageint imagetmp, h_tag(nlocal) = utils::inumeric(FLERR,values[0],true,lmp); h_molecule(nlocal) = utils::inumeric(FLERR,values[1],true,lmp); h_type(nlocal) = utils::inumeric(FLERR,values[2],true,lmp); + extract = values[2]; if (h_type(nlocal) <= 0 || h_type(nlocal) > atom->ntypes) error->one(FLERR,"Invalid atom type in Atoms section of data file"); diff --git a/src/KOKKOS/atom_vec_full_kokkos.h b/src/KOKKOS/atom_vec_full_kokkos.h index c1fa9242f4..9fc25b509e 100644 --- a/src/KOKKOS/atom_vec_full_kokkos.h +++ b/src/KOKKOS/atom_vec_full_kokkos.h @@ -45,7 +45,7 @@ class AtomVecFullKokkos : public AtomVecKokkos { int pack_restart(int, double *) override; int unpack_restart(double *) override; void create_atom(int, double *) override; - void data_atom(double *, imageint, const std::vector &) override; + void data_atom(double *, imageint, const std::vector &, std::string &) override; int data_atom_hybrid(int, const std::vector &, int) override; void pack_data(double **) override; int pack_data_hybrid(int, double *) override; diff --git a/src/KOKKOS/atom_vec_hybrid_kokkos.cpp b/src/KOKKOS/atom_vec_hybrid_kokkos.cpp index c733e5fe18..d9c3aa89f7 100644 --- a/src/KOKKOS/atom_vec_hybrid_kokkos.cpp +++ b/src/KOKKOS/atom_vec_hybrid_kokkos.cpp @@ -971,7 +971,7 @@ void AtomVecHybridKokkos::create_atom(int itype, double *coord) ------------------------------------------------------------------------- */ void AtomVecHybridKokkos::data_atom(double *coord, imageint imagetmp, - const std::vector &values) + const std::vector &values, std::string &extract) { atomKK->sync(Host,X_MASK|TAG_MASK|TYPE_MASK|IMAGE_MASK|MASK_MASK|V_MASK|OMEGA_MASK/*|ANGMOM_MASK*/); @@ -980,6 +980,7 @@ void AtomVecHybridKokkos::data_atom(double *coord, imageint imagetmp, h_tag[nlocal] = utils::tnumeric(FLERR,values[0],true,lmp); h_type[nlocal] = utils::inumeric(FLERR,values[1],true,lmp); + extract = values[1]; if (h_type[nlocal] <= 0 || h_type[nlocal] > atom->ntypes) error->one(FLERR,"Invalid atom h_type in Atoms section of data file"); diff --git a/src/KOKKOS/atom_vec_hybrid_kokkos.h b/src/KOKKOS/atom_vec_hybrid_kokkos.h index 6578ecdb9e..f633460634 100644 --- a/src/KOKKOS/atom_vec_hybrid_kokkos.h +++ b/src/KOKKOS/atom_vec_hybrid_kokkos.h @@ -57,7 +57,7 @@ class AtomVecHybridKokkos : public AtomVecKokkos { int pack_restart(int, double *) override; int unpack_restart(double *) override; void create_atom(int, double *) override; - void data_atom(double *, imageint, const std::vector &) override; + void data_atom(double *, imageint, const std::vector &, std::string &) override; int data_atom_hybrid(int, const std::vector &, int) override {return 0;} void data_vel(int, const std::vector &) override; void pack_data(double **) override; diff --git a/src/KOKKOS/atom_vec_molecular_kokkos.cpp b/src/KOKKOS/atom_vec_molecular_kokkos.cpp index 123adedbdf..a9f229c969 100644 --- a/src/KOKKOS/atom_vec_molecular_kokkos.cpp +++ b/src/KOKKOS/atom_vec_molecular_kokkos.cpp @@ -1892,7 +1892,7 @@ void AtomVecMolecularKokkos::create_atom(int itype, double *coord) ------------------------------------------------------------------------- */ void AtomVecMolecularKokkos::data_atom(double *coord, imageint imagetmp, - const std::vector &values) + const std::vector &values, std::string &extract) { int nlocal = atom->nlocal; if (nlocal == nmax) grow(0); @@ -1901,6 +1901,7 @@ void AtomVecMolecularKokkos::data_atom(double *coord, imageint imagetmp, h_tag(nlocal) = utils::inumeric(FLERR,values[0],true,lmp); h_molecule(nlocal) = utils::inumeric(FLERR,values[1],true,lmp); h_type(nlocal) = utils::inumeric(FLERR,values[2],true,lmp); + extract = values[2]; if (h_type(nlocal) <= 0 || h_type(nlocal) > atom->ntypes) error->one(FLERR,"Invalid atom type in Atoms section of data file"); diff --git a/src/KOKKOS/atom_vec_molecular_kokkos.h b/src/KOKKOS/atom_vec_molecular_kokkos.h index 418d800c7b..cca7c3c6d9 100644 --- a/src/KOKKOS/atom_vec_molecular_kokkos.h +++ b/src/KOKKOS/atom_vec_molecular_kokkos.h @@ -51,7 +51,7 @@ class AtomVecMolecularKokkos : public AtomVecKokkos { int pack_restart(int, double *) override; int unpack_restart(double *) override; void create_atom(int, double *) override; - void data_atom(double *, imageint, const std::vector &) override; + void data_atom(double *, imageint, const std::vector &, std::string &) override; int data_atom_hybrid(int, const std::vector &, int) override; void pack_data(double **) override; int pack_data_hybrid(int, double *) override; diff --git a/src/KOKKOS/atom_vec_sphere_kokkos.cpp b/src/KOKKOS/atom_vec_sphere_kokkos.cpp index 206d6c832c..fa952beb5f 100644 --- a/src/KOKKOS/atom_vec_sphere_kokkos.cpp +++ b/src/KOKKOS/atom_vec_sphere_kokkos.cpp @@ -2546,13 +2546,14 @@ void AtomVecSphereKokkos::create_atom(int itype, double *coord) ------------------------------------------------------------------------- */ void AtomVecSphereKokkos::data_atom(double *coord, imageint imagetmp, - const std::vector &values) + const std::vector &values, std::string &extract) { int nlocal = atom->nlocal; if (nlocal == nmax) grow(0); tag[nlocal] = utils::tnumeric(FLERR,values[0],true,lmp); type[nlocal] = utils::inumeric(FLERR,values[1],true,lmp); + extract = values[1]; if (type[nlocal] <= 0 || type[nlocal] > atom->ntypes) error->one(FLERR,"Invalid atom type in Atoms section of data file"); diff --git a/src/KOKKOS/atom_vec_sphere_kokkos.h b/src/KOKKOS/atom_vec_sphere_kokkos.h index 05bfeb6eb4..fee46ff5cf 100644 --- a/src/KOKKOS/atom_vec_sphere_kokkos.h +++ b/src/KOKKOS/atom_vec_sphere_kokkos.h @@ -58,7 +58,7 @@ class AtomVecSphereKokkos : public AtomVecKokkos { int pack_restart(int, double *) override; int unpack_restart(double *) override; void create_atom(int, double *) override; - void data_atom(double *, imageint, const std::vector &) override; + void data_atom(double *, imageint, const std::vector &, std::string &) override; int data_atom_hybrid(int, const std::vector &, int) override; void data_vel(int, const std::vector &) override; int data_vel_hybrid(int, const std::vector &, int) override; diff --git a/src/KOKKOS/atom_vec_spin_kokkos.cpp b/src/KOKKOS/atom_vec_spin_kokkos.cpp index 7722241756..3d22cbd183 100644 --- a/src/KOKKOS/atom_vec_spin_kokkos.cpp +++ b/src/KOKKOS/atom_vec_spin_kokkos.cpp @@ -1058,13 +1058,14 @@ void AtomVecSpinKokkos::create_atom(int itype, double *coord) ------------------------------------------------------------------------- */ void AtomVecSpinKokkos::data_atom(double *coord, imageint imagetmp, - const std::vector &values) + const std::vector &values, std::string &extract) { int nlocal = atom->nlocal; if (nlocal == nmax) grow(0); h_tag[nlocal] = utils::inumeric(FLERR,values[0],true,lmp); h_type[nlocal] = utils::inumeric(FLERR,values[1],true,lmp); + extract = values[1]; if (type[nlocal] <= 0 || type[nlocal] > atom->ntypes) error->one(FLERR,"Invalid atom type in Atoms section of data file"); diff --git a/src/KOKKOS/atom_vec_spin_kokkos.h b/src/KOKKOS/atom_vec_spin_kokkos.h index ab0d14e08e..3f48ad323a 100644 --- a/src/KOKKOS/atom_vec_spin_kokkos.h +++ b/src/KOKKOS/atom_vec_spin_kokkos.h @@ -45,7 +45,7 @@ class AtomVecSpinKokkos : public AtomVecKokkos { int pack_restart(int, double *) override; int unpack_restart(double *) override; void create_atom(int, double *) override; - void data_atom(double *, imageint, const std::vector &) override; + void data_atom(double *, imageint, const std::vector &, std::string &) override; int data_atom_hybrid(int, const std::vector &, int) override; void pack_data(double **) override; int pack_data_hybrid(int, double *) override; diff --git a/src/atom.cpp b/src/atom.cpp index 52a3441bcb..973ca616da 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -1200,7 +1200,7 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, break; } case 1: { // type label - if (!atom->labelmapflag) + if (!labelmapflag) error->one(FLERR, "Invalid line in {}: {}", location, utils::trim(buf)); type[nlocal - 1] = lmap->find(typestr, Atom::ATOM); if (type[nlocal - 1] == -1) @@ -2195,6 +2195,8 @@ void Atom::add_molecule_atom(Molecule *onemol, int iatom, int ilocal, tagint off void Atom::add_label_map() { + if (lmp->kokkos) + error->all(FLERR, "Label maps are currently not supported with Kokkos"); labelmapflag = 1; lmap = new LabelMap(lmp,ntypes,nbondtypes,nangletypes,ndihedraltypes,nimpropertypes); } diff --git a/src/atom_vec.cpp b/src/atom_vec.cpp index a3900732d6..586235d088 100644 --- a/src/atom_vec.cpp +++ b/src/atom_vec.cpp @@ -1650,17 +1650,6 @@ void AtomVec::create_atom(int itype, double *coord) atom->nlocal++; } -/* ---------------------------------------------------------------------- - version of data_atom without extract option - temporary fix for Kokkos compilation -------------------------------------------------------------------------- */ - -void AtomVec::data_atom(double *coord, imageint imagetmp, const std::vector &values) -{ - std::string strtmp; - data_atom(coord, imagetmp, values, strtmp); -} - /* ---------------------------------------------------------------------- unpack one line from Atoms section of data file initialize other peratom quantities diff --git a/src/atom_vec.h b/src/atom_vec.h index c33a9e2dda..8101eadcc0 100644 --- a/src/atom_vec.h +++ b/src/atom_vec.h @@ -123,7 +123,6 @@ class AtomVec : protected Pointers { virtual void create_atom(int, double *); virtual void create_atom_post(int) {} - virtual void data_atom(double *, imageint, const std::vector &); virtual void data_atom(double *, imageint, const std::vector &, std::string &); virtual void data_atom_post(int) {} virtual void data_atom_bonus(int, const std::vector &) {} diff --git a/src/special.cpp b/src/special.cpp index a7153b99d9..76091d10af 100644 --- a/src/special.cpp +++ b/src/special.cpp @@ -857,10 +857,10 @@ void Special::combine() utils::logmesg(lmp,"{:>6} = max # of special neighbors\n",atom->maxspecial); if (lmp->kokkos) { - auto atomKK = dynamic_cast( atom); + auto atomKK = dynamic_cast(atom); atomKK->modified(Host,SPECIAL_MASK); atomKK->sync(Device,SPECIAL_MASK); - auto memoryKK = dynamic_cast( memory); + auto memoryKK = dynamic_cast(memory); memoryKK->grow_kokkos(atomKK->k_special,atom->special, atom->nmax,atom->maxspecial,"atom:special"); atomKK->modified(Device,SPECIAL_MASK);