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:
Trung Nguyen
2023-03-02 15:12:59 -06:00
parent 4a8aaf9f46
commit b08fe855a1
4 changed files with 9 additions and 8 deletions

View File

@ -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

View File

@ -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' "

View File

@ -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;

View File

@ -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;