explained differences between absolute and relative tolerance more
This commit is contained in:
@ -326,7 +326,16 @@ field_rel = relative accuracy in electric field :ul
|
||||
|
||||
The values with suffix "_rel" indicate the tolerance is a relative
|
||||
tolerance; the other values impose an absolute tolerance on the given
|
||||
quantity.
|
||||
quantity. Absoulte tolerance in this case means, that for a given
|
||||
quantity q and a given absolute tolerance of t_a the result should
|
||||
be between q-t_a and q+t_a. For a relative tolerance t_r the relative
|
||||
error should not be greater than t_r, i.e. abs(1 - (result/q)) < t_r.
|
||||
As a consequence of this, the tolerance type should be checked, when
|
||||
performing computations with a high absolute field / energy. E.g.
|
||||
if the total energy in the system is 1000000.0 an absolute tolerance
|
||||
of 1e-3 would mean that the result has to be between 999999.999 and
|
||||
1000000.001, which would be equivalent to a relative tolerance of
|
||||
1e-9.
|
||||
|
||||
The energy and energy_rel values, set a tolerance based on the total
|
||||
Coulomic energy of the system. The potential and potential_rel set a
|
||||
@ -337,13 +346,6 @@ the per-atom electric field, this effectively sets a tolerance on the
|
||||
forces, simimlar to other LAMMPS KSpace styles, as explained on the
|
||||
"kspace_style"_kspace_style.html doc page.
|
||||
|
||||
RENE: Can you add some explanation of the difference between relative
|
||||
and absolute? Something like this (if it's correct). If the total
|
||||
Coul energy is computed to be -1000.0, then an absolute tolerance of
|
||||
1.0e-3 means the actual energy is between -999.999 and -1000.001.
|
||||
Whereas a relative tolerance means it is between -999 and -1001. Thus
|
||||
an absolute tolerance is generally much more stringent?
|
||||
|
||||
RENE: Also, can you explain more what is the difference between energy
|
||||
(total) and potential (per-atom)? Which one is more vs less accurate?
|
||||
Does potential mean that the maximum of any atom's energy error is <
|
||||
@ -358,10 +360,9 @@ p2nfft = field (1d-,2d-,3d-periodic systems) or potential (0d-periodic)
|
||||
ewald = field
|
||||
direct = has no tolerance tuning :ul
|
||||
|
||||
RENE: I think this means that the default tolerance setting
|
||||
is differnet for different methods. If so, it should
|
||||
be documented in the above list, i.e. by listing the default
|
||||
value first.
|
||||
If the tolerance type is not changed, the default values for the
|
||||
tolerance type are the first values in the above list, e.g. energy
|
||||
is the default tolerance type for the fmm solver.
|
||||
|
||||
RENE: Does the code (LAMMPS or Scafacos) generate an error
|
||||
if an unsupported tolerance is specified for a method?
|
||||
|
||||
Reference in New Issue
Block a user