Closed tfhughes closed 2 months ago
If the packing is not successful, probably the density is too large, indeed.
But, in any case, one way to try to avoid the entangling of molecules is start the packing with a much larger tolerance, such that the molecules repel each other and then the system slowly shrinks to its actual size.
This can be done with the option:
discale 2.0
where 2.0
is the initial scale of the tolerance
. For example, if you set tolerance 2.0
the packing will start with tolerance == 4.0
and reduce it progressively (the default is discale 1.1
). Using 2.0
or maybe a larger value may alleviate that problem.
Just to be sure that is a parameter that goes outside of any structure block, etc. like the following?
tolerance 2 filetype pdb output tfh_out.pdb
seed 123 nloop 100 discale 2.0 sidemax 10000.0
structure solvent.pdb number 29 inside box 0 0 0 20.0 20.0 13.747570705878516 resnumbers 0 end structure
Yes.
Thanks for the reply. For the job in the attached tarball I tried discale values of 1.5, 2, and 3 and at least for this specific example packmol still exits with the imperfect packing error and the best output pdb still has these types of ring-spears. From the user guide I can see that packmol has lots of options for potentially improving solutions. Do you have any other immediate suggestions?
I'm not sure. What exactly do you want to achieve there?
The solvent molecule has 9.3 Angs of length:
And the constraint is inside box inside box 0 0 0 20.0 20.0 13.74
, which means a length of 13.74 in one dimension, which is almost the length of the box. Does that density and number of molecules make sense?
FWIW, with 25 molecules in that same region a proper solution is still found.
With these options:
tolerance 2
filetype pdb
output tfh_out.pdb
seed 123
nloop 200
sidemax 10000.0
discale 5.0
movebadrandom
packall
structure solvent.pdb
number 29
inside box 0 0 0 20.0 20.0 18.0
resnumbers 0
end structure
structure surfactant.pdb
number 16
inside box 0 0 14.747570705878516 20.0 20.0 34.5
atoms 53 54 79 80
below plane 0 0 1 24.099579538476977
end atoms
atoms 11 13
over plane 0 0 1 29.56189267646963
end atoms
resnumbers 0
end structure
structure surfactant.pdb
number 16
inside box 0 0 35.5 20.0 20.0 55.252429294121484
atoms 53 54 79 80
over plane 0 0 1 45.90042046152303
end atoms
atoms 11 13
below plane 0 0 1 40.438107323530375
end atoms
resnumbers 0
end structure
structure solvent.pdb
number 29
inside box 0 0 52.0 20.0 20.0 70.0
resnumbers 0
end structure
I got a configuration that is more or less what you want, I think. (attached here) tfh_out.pdb.tar.gz
Thank you for your insight on this. You have given me a few things to think about here. I will go ahead and close this ticket.
Please see the attached image and tarball containing packmol input and output. I am trying to build a bilayer involving molecules with rings. Packmol exits with the imperfect packing error which from my experience can simply mean that some restrictions were violated which standard MD can usually resolve. But in this case several rings are speared by atoms from other molecules, for example a bond from one molecule goes right through the center of the ring of another molecule. See the tfh_out.pdb in the attached tarball. Since it is a meta-stable state these are things that standard MD typically can't resolve.
Maybe I am trying to pack to too high a density? Or some other input is obviously wrong? Is there a general strategy to try to avoid such solutions? Any advice is greatly appreciated.
C3237.tar.gz