forked from lijiext/lammps
document latest fix hyper/local diagnostics
This commit is contained in:
parent
f16486b23e
commit
07e58fd681
|
@ -345,7 +345,7 @@ The "fix_modify"_fix_modify.html {energy} option is supported by this
|
||||||
fix to add the energy of the bias potential to the system's potential
|
fix to add the energy of the bias potential to the system's potential
|
||||||
energy as part of "thermodynamic output"_thermo_style.html.
|
energy as part of "thermodynamic output"_thermo_style.html.
|
||||||
|
|
||||||
This fix computes a global scalar and global vector of length 26,
|
This fix computes a global scalar and global vector of length 28,
|
||||||
which can be accessed by various "output commands"_Howto_output.html.
|
which can be accessed by various "output commands"_Howto_output.html.
|
||||||
The scalar is the magnitude of the bias potential (energy units)
|
The scalar is the magnitude of the bias potential (energy units)
|
||||||
applied on the current timestep, summed over all biased bonds. The
|
applied on the current timestep, summed over all biased bonds. The
|
||||||
|
@ -368,19 +368,22 @@ vector stores the following quantities:
|
||||||
14 = max bond length during this run (distance units)
|
14 = max bond length during this run (distance units)
|
||||||
15 = average bias coeff for all bonds during this run (unitless)
|
15 = average bias coeff for all bonds during this run (unitless)
|
||||||
16 = min bias coeff for any bond during this run (unitless)
|
16 = min bias coeff for any bond during this run (unitless)
|
||||||
17 = max bias coeff for any bond during this run (unitless)
|
17 = max bias coeff for any bond during this run (unitless) :ul
|
||||||
|
|
||||||
18 = max drift distance of any bond atom during this run (distance units)
|
18 = max drift distance of any bond atom during this run (distance units)
|
||||||
19 = max distance from proc subbox of any ghost atom with maxstrain < qfactor during this run (distance units)
|
19 = max distance from proc subbox of any ghost atom with maxstrain < qfactor during this run (distance units)
|
||||||
20 = max distance outside my box of any ghost atom with any maxstrain during this run (distance units)
|
20 = max distance outside my box of any ghost atom with any maxstrain during this run (distance units)
|
||||||
21 = count of ghost atoms that could not be found on reneighbor steps during this run
|
21 = count of ghost atoms that could not be found on reneighbor steps during this run
|
||||||
22 = count of bias overlaps (< Dcut) found during this run
|
22 = count of bias overlaps (< Dcut) found during this run :ul
|
||||||
|
|
||||||
23 = cumulative hyper time since fix created (time units)
|
23 = cumulative hyper time since fix created (time units)
|
||||||
24 = cumulative count of event timesteps since fix created
|
24 = cumulative count of event timesteps since fix created
|
||||||
25 = cumulative count of atoms in events since fix created
|
25 = cumulative count of atoms in events since fix created
|
||||||
26 = cumulative # of new bonds formed since fix created :ul
|
26 = cumulative # of new bonds formed since fix created :ul
|
||||||
|
|
||||||
|
27 = average boost for biased bonds on this step (unitless)
|
||||||
|
28 = # of bonds with absolute strain >= q on this step
|
||||||
|
|
||||||
The first quantities 1-9 are for the current timestep. Quantities
|
The first quantities 1-9 are for the current timestep. Quantities
|
||||||
10-22 are for the current hyper run. They are reset each time a new
|
10-22 are for the current hyper run. They are reset each time a new
|
||||||
hyper run is performed. Quantities 23-26 are cumulative across
|
hyper run is performed. Quantities 23-26 are cumulative across
|
||||||
|
@ -473,6 +476,11 @@ operation. Bonds between a specific I,J pair of atoms may persist for
|
||||||
the entire hyperdynamics simulation if neither I or J are involved in
|
the entire hyperdynamics simulation if neither I or J are involved in
|
||||||
an event.
|
an event.
|
||||||
|
|
||||||
|
Value 27 computes the average boost for biased bonds only on this step.
|
||||||
|
|
||||||
|
Value 28 is the count of bonds with an absolute value of strain >= q
|
||||||
|
on this step.
|
||||||
|
|
||||||
The scalar and vector values calculated by this fix are all
|
The scalar and vector values calculated by this fix are all
|
||||||
"intensive".
|
"intensive".
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,6 @@ FixHyperLocal::FixHyperLocal(LAMMPS *lmp, int narg, char **arg) :
|
||||||
hyperflag = 2;
|
hyperflag = 2;
|
||||||
scalar_flag = 1;
|
scalar_flag = 1;
|
||||||
vector_flag = 1;
|
vector_flag = 1;
|
||||||
// DEBUG - changed 26 to 28
|
|
||||||
size_vector = 28;
|
size_vector = 28;
|
||||||
local_flag = 1;
|
local_flag = 1;
|
||||||
size_local_rows = 0;
|
size_local_rows = 0;
|
||||||
|
@ -196,7 +195,6 @@ FixHyperLocal::FixHyperLocal(LAMMPS *lmp, int narg, char **arg) :
|
||||||
bound_upper = 1.0 + boundfrac;
|
bound_upper = 1.0 + boundfrac;
|
||||||
lastreset = update->ntimestep;
|
lastreset = update->ntimestep;
|
||||||
|
|
||||||
// DEBUG - one line
|
|
||||||
overcount = 0;
|
overcount = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -485,7 +483,6 @@ void FixHyperLocal::pre_reverse(int /* eflag */, int /* vflag */)
|
||||||
|
|
||||||
double **x = atom->x;
|
double **x = atom->x;
|
||||||
|
|
||||||
// DEBUG - one line
|
|
||||||
overcount = 0;
|
overcount = 0;
|
||||||
|
|
||||||
m = 0;
|
m = 0;
|
||||||
|
@ -506,7 +503,7 @@ void FixHyperLocal::pre_reverse(int /* eflag */, int /* vflag */)
|
||||||
maxbondlen = MAX(r,maxbondlen);
|
maxbondlen = MAX(r,maxbondlen);
|
||||||
r0 = blist[m].r0;
|
r0 = blist[m].r0;
|
||||||
estrain = fabs(r-r0) / r0;
|
estrain = fabs(r-r0) / r0;
|
||||||
// DEBUG - one line
|
// DEBUG quantity - could remove this line and output option
|
||||||
if (estrain >= qfactor) overcount++;
|
if (estrain >= qfactor) overcount++;
|
||||||
maxstrain[i] = MAX(maxstrain[i],estrain);
|
maxstrain[i] = MAX(maxstrain[i],estrain);
|
||||||
maxstrain[j] = MAX(maxstrain[j],estrain);
|
maxstrain[j] = MAX(maxstrain[j],estrain);
|
||||||
|
@ -739,6 +736,7 @@ void FixHyperLocal::pre_reverse(int /* eflag */, int /* vflag */)
|
||||||
// delta in boost coeff is function of boost_domain vs target boost
|
// delta in boost coeff is function of boost_domain vs target boost
|
||||||
// boost_domain is function of two maxstrain_domains for I,J
|
// boost_domain is function of two maxstrain_domains for I,J
|
||||||
// NOTE: biascoeff update is now scaled by 1/Vmax
|
// NOTE: biascoeff update is now scaled by 1/Vmax
|
||||||
|
// still need to think about what this means for units
|
||||||
|
|
||||||
minbiascoeff = BIG;
|
minbiascoeff = BIG;
|
||||||
maxbiascoeff = 0.0;
|
maxbiascoeff = 0.0;
|
||||||
|
@ -1466,8 +1464,7 @@ double FixHyperLocal::compute_scalar()
|
||||||
|
|
||||||
double FixHyperLocal::compute_vector(int i)
|
double FixHyperLocal::compute_vector(int i)
|
||||||
{
|
{
|
||||||
// 26 vector outputs returned for i = 0-25
|
// 28 vector outputs returned for i = 0-27
|
||||||
// DEBUG = 28
|
|
||||||
|
|
||||||
// i = 0 = average boost for all bonds on this step
|
// i = 0 = average boost for all bonds on this step
|
||||||
// i = 1 = # of biased bonds on this step
|
// i = 1 = # of biased bonds on this step
|
||||||
|
@ -1502,7 +1499,8 @@ double FixHyperLocal::compute_vector(int i)
|
||||||
// i = 24 = cumulative # of atoms in events since fix created
|
// i = 24 = cumulative # of atoms in events since fix created
|
||||||
// i = 25 = cumulative # of new bonds formed since fix created
|
// i = 25 = cumulative # of new bonds formed since fix created
|
||||||
|
|
||||||
// i = 26 = average boost for biased bonds on this step (unitless)
|
// these 2 were added for debugging - could be removed at some point
|
||||||
|
// i = 26 = average boost for biased bonds on this step
|
||||||
// i = 27 = current count of bonds with strain >= q
|
// i = 27 = current count of bonds with strain >= q
|
||||||
|
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
|
@ -1658,7 +1656,7 @@ double FixHyperLocal::compute_vector(int i)
|
||||||
return (double) allnewbond;
|
return (double) allnewbond;
|
||||||
}
|
}
|
||||||
|
|
||||||
// DEBUG - added two options
|
// these two options were added for debugging
|
||||||
|
|
||||||
if (i == 26) {
|
if (i == 26) {
|
||||||
double allboost;
|
double allboost;
|
||||||
|
|
|
@ -140,7 +140,7 @@ class FixHyperLocal : public FixHyper {
|
||||||
};
|
};
|
||||||
|
|
||||||
OneBond *blist; // list of owned bonds
|
OneBond *blist; // list of owned bonds
|
||||||
double *biascoeff; // biasing coefficient Cij for each bond
|
double *biascoeff; // bias coefficient Cij for each bond
|
||||||
int nblocal; // # of owned bonds
|
int nblocal; // # of owned bonds
|
||||||
int maxbond; // allocated size of blist
|
int maxbond; // allocated size of blist
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue