Set rlogarg to intermediate value, force capped at 35 LJU
This commit is contained in:
@ -167,7 +167,7 @@ void BondOxdnaFene::compute(int eflag, int vflag)
|
|||||||
int nlocal = atom->nlocal;
|
int nlocal = atom->nlocal;
|
||||||
int newton_bond = force->newton_bond;
|
int newton_bond = force->newton_bond;
|
||||||
|
|
||||||
const double rlogarg_min = 0.1;
|
const double rlogarg_min = 0.2;
|
||||||
ebond = 0.0;
|
ebond = 0.0;
|
||||||
ev_init(eflag, vflag);
|
ev_init(eflag, vflag);
|
||||||
|
|
||||||
@ -225,11 +225,11 @@ void BondOxdnaFene::compute(int eflag, int vflag)
|
|||||||
ebond = -0.5 * k[type] * log(rlogarg);
|
ebond = -0.5 * k[type] * log(rlogarg);
|
||||||
}
|
}
|
||||||
|
|
||||||
// switching to capped force for r-r0 -> Delta, i.e.
|
// switching to capped force for r-r0 -> Delta at
|
||||||
// r > r_max = r0 + Delta*sqrt(1-rlogarg) OR
|
// r > r_max = r0 + Delta*sqrt(1-rlogarg) OR
|
||||||
// r < r_min = r0 - Delta*sqrt(1-rlogarg)
|
// r < r_min = r0 - Delta*sqrt(1-rlogarg)
|
||||||
if (rlogarg < rlogarg_min) {
|
if (rlogarg < rlogarg_min) {
|
||||||
// issue warning, reset rlogarg and rr0 to cap force to
|
// issue warning, reset rlogarg and rr0 to cap force
|
||||||
error->warning(FLERR, "FENE bond too long: {} {} {} {}", update->ntimestep, atom->tag[a],
|
error->warning(FLERR, "FENE bond too long: {} {} {} {}", update->ntimestep, atom->tag[a],
|
||||||
atom->tag[b], r);
|
atom->tag[b], r);
|
||||||
rlogarg = rlogarg_min;
|
rlogarg = rlogarg_min;
|
||||||
@ -243,7 +243,7 @@ void BondOxdnaFene::compute(int eflag, int vflag)
|
|||||||
(r - r0[type] - Delta[type] * sqrt(1.0-rlogarg));
|
(r - r0[type] - Delta[type] * sqrt(1.0-rlogarg));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// if overcompressed F(r)=F(r_min)=F_max, E(r)=E(r_min)+F_max*(r-r_min)
|
// if overcompressed F(r)=F(r_min)=F_max, E(r)=E(r_min)+F_max*(r_min-r)
|
||||||
else if (r < r0[type]) {
|
else if (r < r0[type]) {
|
||||||
rr0 = -Delta[type]*sqrt(1.0-rlogarg);
|
rr0 = -Delta[type]*sqrt(1.0-rlogarg);
|
||||||
// energy
|
// energy
|
||||||
|
|||||||
Reference in New Issue
Block a user