Dear all,
I have one equilibrated system of water of size (498.142 99 99). The NPT
equilibrium process was run by using periodic boundary in all orthogonal
direction. Now, I want to use "fs p p" with "fix wall/reflect" and
long-range pppm solver altogether in a script. During run I got one error
that "Cannot use nonperiodic boundaries with PPPM (../pppm.cpp:190)". From
the doc page of "Kspace_modify" I saw that this problem I can avoid by using
the "slab 3" keyword and argument. I have some questions here--
> As per the doc page system should be non-periodic in Z direction to use
kspace_modify, but my system would be non-periodic in X, as it is already
equilibrated, so is there any way to change the X direction to Z after the
equlibration ?
no. convert your restart into a data file and swap the X and Z
coordinate columns and you're done.
at any rate, you have some more serious equilibrating to do, since you
are cutting through a bulk system and the two resulting surface will
be of high potential energy wherever atoms were interacting across the
periodic boundary. particularly in water the coulomb is pretty strong.
> The doc page says that "The volfactor value sets the ratio of the
extended dimension in z divided by the actual dimension in z." Can anybody
explain that how can I set the value Volfactor ? What the extended dimension
in Z is ?
as *already* explained in the docs you looked at, volfactor is the
number following the "slab" keyword.
when using the so-called slab correction, you _still_ do a periodic
calculation, but you enlarge the volume of your box (i.e. extend it)
to somewhat disconnect the periodic images. since coulomb is a
long-range interaction, that is incomplete and thus you need the slab
correction, which solves the poisson equation in the z-direction and
compensates the residual inter slab interaction (in z-direction only).
details are in the referenced paper by mark tuckerman.
In case of my system i.e. 498.142 99 99 , does the volfactor value would
3 ?
the tuckerman poisson solver requires at least 3 for a system like
yours. otherwise the inter-slab compensation would be incomplete.
there are cases where this would not apply, e.g. if there are regions
of uncharged particles or volumes from which particles are completely
excluded. using a larger value is possible to reduce the inter-slab
interaction in x- and y. this is typically too small to matter and
thus using more than 3 would mostly consume more CPU time.
axel.