modifications in dihedral & dihedral_hybrid
This commit is contained in:
committed by
GitHub
parent
ccd6eeb8af
commit
54d7f46151
@ -33,6 +33,7 @@ Dihedral::Dihedral(LAMMPS *_lmp) : Pointers(_lmp)
|
|||||||
{
|
{
|
||||||
energy = 0.0;
|
energy = 0.0;
|
||||||
writedata = 0;
|
writedata = 0;
|
||||||
|
reinitflag = 1;
|
||||||
|
|
||||||
allocated = 0;
|
allocated = 0;
|
||||||
suffix_flag = Suffix::NONE;
|
suffix_flag = Suffix::NONE;
|
||||||
@ -428,3 +429,15 @@ double Dihedral::memory_usage()
|
|||||||
bytes += (double) comm->nthreads * maxcvatom * 9 * sizeof(double);
|
bytes += (double) comm->nthreads * maxcvatom * 9 * sizeof(double);
|
||||||
return bytes;
|
return bytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------------------------
|
||||||
|
reset all type-based dihedral params via init()
|
||||||
|
-------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void Dihedral::reinit()
|
||||||
|
{
|
||||||
|
if (!reinitflag)
|
||||||
|
error->all(FLERR, "Fix adapt interface to this dihedral style not supported");
|
||||||
|
|
||||||
|
init();
|
||||||
|
}
|
||||||
|
|||||||
@ -37,6 +37,9 @@ class Dihedral : protected Pointers {
|
|||||||
// CENTROID_AVAIL = different and implemented
|
// CENTROID_AVAIL = different and implemented
|
||||||
// CENTROID_NOTAVAIL = different, not yet implemented
|
// CENTROID_NOTAVAIL = different, not yet implemented
|
||||||
|
|
||||||
|
int reinitflag; // 0 if not compatible with fix adapt
|
||||||
|
// extract() method may still need to be added
|
||||||
|
|
||||||
// KOKKOS host/device flag and data masks
|
// KOKKOS host/device flag and data masks
|
||||||
|
|
||||||
ExecutionSpace execution_space;
|
ExecutionSpace execution_space;
|
||||||
@ -62,6 +65,8 @@ class Dihedral : protected Pointers {
|
|||||||
du = 0.0;
|
du = 0.0;
|
||||||
du2 = 0.0;
|
du2 = 0.0;
|
||||||
}
|
}
|
||||||
|
virtual void *extract(const char *, int &) { return nullptr; }
|
||||||
|
void reinit();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
int suffix_flag; // suffix compatibility flag
|
int suffix_flag; // suffix compatibility flag
|
||||||
|
|||||||
@ -326,6 +326,14 @@ void DihedralHybrid::init_style()
|
|||||||
if (styles[m]) styles[m]->init_style();
|
if (styles[m]) styles[m]->init_style();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
int DihedralHybrid::check_itype(int itype, char *substyle)
|
||||||
|
{
|
||||||
|
if (strcmp(keywords[map[itype]], substyle) == 0) return 1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------
|
/* ----------------------------------------------------------------------
|
||||||
proc 0 writes to restart file
|
proc 0 writes to restart file
|
||||||
------------------------------------------------------------------------- */
|
------------------------------------------------------------------------- */
|
||||||
|
|||||||
@ -40,6 +40,8 @@ class DihedralHybrid : public Dihedral {
|
|||||||
void read_restart(FILE *) override;
|
void read_restart(FILE *) override;
|
||||||
double memory_usage() override;
|
double memory_usage() override;
|
||||||
|
|
||||||
|
int check_itype(int, char *);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
int *map; // which style each dihedral type points to
|
int *map; // which style each dihedral type points to
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user