Increased the default max iterations to 50, put a note on setting the local epsilon for charged interface particles to be the mean dielectric value
This commit is contained in:
@ -31,7 +31,7 @@ Examples
|
||||
|
||||
fix 2 interface polarize/bem/gmres 5 0.0001
|
||||
fix 1 interface polarize/bem/icc 1 0.0001
|
||||
fix 3 interface polarize/functional 1 0.001
|
||||
fix 3 interface polarize/functional 1 0.0001
|
||||
|
||||
|
||||
Used in input scripts:
|
||||
@ -69,8 +69,9 @@ along the normal vector is then 78 - 4 = 74, the mean dielectric value
|
||||
is (78 + 4) / 2 = 41. Each boundary element also has its area and the
|
||||
local mean curvature, which is used by these fixes for computing a
|
||||
correction term in the local electric field. To model charged
|
||||
interfaces, the interface particle will have a non-zero charge value,
|
||||
coming from its area and surface charge density.
|
||||
interfaces, an interface particle will have a non-zero charge value,
|
||||
coming from its area and surface charge density, and its local dielectric
|
||||
constant set to the mean dielectric value.
|
||||
|
||||
For non-interface particles such as atoms and charged particles, the
|
||||
interface normal vectors, element area, and dielectric mismatch are
|
||||
@ -223,7 +224,7 @@ Related commands
|
||||
Default
|
||||
"""""""
|
||||
|
||||
*iter_max* = 20
|
||||
*iter_max* = 50
|
||||
|
||||
*kspace* = yes
|
||||
|
||||
|
||||
@ -67,10 +67,10 @@ if "${method} == gmres" then &
|
||||
"fix 3 interface polarize/bem/gmres 1 1.0e-4" &
|
||||
"fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" &
|
||||
elif "${method} == icc"&
|
||||
"fix 3 interface polarize/bem/icc 1 1.0e-4 itr_max 50" &
|
||||
"fix 3 interface polarize/bem/icc 1 1.0e-4" &
|
||||
"fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" &
|
||||
elif "${method} == dof" &
|
||||
"fix 3 interface polarize/functional 1 0.001" &
|
||||
"fix 3 interface polarize/functional 1 0.0001" &
|
||||
"fix_modify 3 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" &
|
||||
else &
|
||||
"print 'Unsupported polarization solver' "
|
||||
|
||||
@ -81,7 +81,7 @@ FixPolarizeBEMGMRES::FixPolarizeBEMGMRES(LAMMPS *_lmp, int narg, char **arg) :
|
||||
double tol = utils::numeric(FLERR, arg[4], false, lmp);
|
||||
tol_abs = tol_rel = tol;
|
||||
|
||||
itr_max = 20;
|
||||
itr_max = 50;
|
||||
mr = 0;
|
||||
randomized = 0;
|
||||
ave_charge = 0;
|
||||
|
||||
@ -67,7 +67,7 @@ FixPolarizeBEMICC::FixPolarizeBEMICC(LAMMPS *_lmp, int narg, char **arg) : Fix(_
|
||||
double tol = utils::numeric(FLERR, arg[4], false, lmp);
|
||||
tol_abs = tol_rel = tol;
|
||||
|
||||
itr_max = 20;
|
||||
itr_max = 50;
|
||||
omega = 0.7;
|
||||
randomized = 0;
|
||||
ave_charge = 0;
|
||||
|
||||
Reference in New Issue
Block a user