[lammps-users] bond creation

Hi Chris,

    It's a very interesting method. I wonder what routine does this. Did you write some Lammps plugin for taking care of bond parameter rewriting? If so, can you show me the way to do it?
    Thank you.

jiwu

Hi Jiwu

I wrote an additional module for lammps which has to be included during compilation. Additionally some small changes on some of the original Lammps files have to be done (one to initiallize the new object before the simulation loop starts, a call to the bond update function within the simulation loop, and some lines to handle the keyword interpretation of the input file) all in all about 10 lines of code or so.

But as I said the routine I wrote, works right now only for some types of angle potential (e.g. the harmonic angle potential).
If you write me which potential you want to use I could take a look at that and check which internal lists you would have to change in that routine. I will send you my additional module as well so you can check how I did that stuff. But I dont have time to write explanations right now. I am just on my last day of half a year being abroad, so I cant access all my data right now. I'll come back to you end of the coming week (thrusday or friday) if thats ok for you.

Best wishes
Christian

P.S. If you just need to update your bond lists every 1000 or even more steps the way you used is probably quiet ok, because it takes some time to work out what you data you would have to update during runtime.
Took me the better part of 2 or 3 weeks to get that routine running.
But I have to update my bonds every 10 steps at least and its favorable to do it even more often. Using an external script like you did would probably increase the simulation time by one or two order of magnitudes in that case (besides the fact that I am not sure if it would work on a computer cluster with job queue and automatic resource allocation). So it allways depends what you need.

-------- Original-Nachricht --------

Hi Chris:

   I really like to know about it. Currently I'm using FENE and harmonic bond
potential. Can you give me some advices on these two?
   You are right that my method doesn't work too efficiently. I didn't profile
it but I believe it is much slower. I did use a cluster but most of time I
submit many serial jobs, each of them only use one CPU. So I haven't
encountered the parallel problem yet.
   The only small advantage of my approach is that Lammps can dump correct
structure file to visualize, and one can make a movie of dynamic bond forming
of the system. But it is not a big deal. Based on your method, I can still
write a script to parse through dump file to produce right bond topology.
   Thank you.

jiwu

Hi Jiwu and Christian,

I am also interested in modifying the bond connectivity of my system (I'm
trying to do occasional monte carlo insertion of a chain in between MD
runs). I have code that can do widom insertion (although it doesn't work
in parallel yet) but I've been struggling with inserting multiple
connected atoms. Christian, does your code work in parallel? Would you be
willing to share it? Maybe we can take this discussion offlist so we don't
spam the list. Thanks.

Naveen

hi,
I am also interested in making a change to the bond data structure. I havent
really tried it yet but I imagine it should be doable even in parallel through
updating the bond_atom 2d array holding the tags of the bond neighbors of
every atom. The problem is one has to implement subsequent changes to exclude
the added bond atom from the pair neighbor list and add it to the bond
neighbors and maybe update also the molecule array. Those will be trickier to
do I think...
In any case I'll be glad if you keep me posted.

Mihail