Dear lammps users,
I am a beginner of lammps, and I am trying to use lammps for simulating crosslinked polymer, but i find that no matter how i set my in file, the total number of bonds won’t increase, that means the fix bond/create command has no influence on my system, there must be some problem with my in file. Could you give me some advice for my in file, thank you for your help.
Sorry for the late reply.
I have not used fix bond/create in a long time, so I don’t want to take the time to learn how answer your question on that topic.
I just wanted to reply to your post in order to suggest that you use “fix bond/react” instead. “fix bond/react” is more complicated to use than fix bond/create, however it is much more powerful (flexible) than fix bond/create. It is actively supported by the developer (Jacob Gissinger). Documentation is here:
If you are new to LAMMPS, I suggest starting with some simple examples first. Reactive simulations are complicated. If you want, I am happy to suggest some other examples you could try first to familiarize yourself with LAMMPS.
I have a few things to add here. First, I think the reason you’re not seeing any bonds forming is because you don’t have an active time integrator. If you don’t have an nvt, npt, nph, or nve command active during the crosslinking run, your atoms will not move (and will not move close enough to each other to bond).
Second, if you’re running polymeric simulations, I think it would be more helpful for you to use real units than lj units. To me, real units make more sense and are more easily interpretable for the simulations I run (polymer nanocomposites).
Third, I agree with Andrew on fix bond/react (link to the fix bond/react paper: https://doi.org/10.1016/j.polymer.2017.09.038) . Fix bond/react has been extremely helpful (thanks Jake!) to me since its introduction. It does take more time to learn than fix bond/create, but it’s worth it. If you’re planning on keeping your simulations in a fixed-bond force field, then it’s a good idea to update your molecular topology with the new angles, dihedrals, and impropers (though it just looks like angles in your case). Fix bond/react can update the topology easily. If you’re planning on moving your simulations from a fixed-bond force field to a many-body potential like ReaxFF (say for mechanical testing), then I would say you don’t need to worry about updating the angles.
Fourth, I recommend splitting up your input script into separate files for ease of debugging and to keep things focused and organized. Usually, my approach for preparing a neat polymer system is to write a densification script, then a polymerization script, and then an equilibration script. Also, if you want snapshots of the simulation, you’ll need to specify your dump command closer to the beginning of your script. LAMMPS runs everything sequentially so if the dump command is not before the runs, those runs will not be snapshotted. You’ll need to be careful with the dumping frequency since you’re using a 0.1 time step; you don’t want to fill up your hard drive (or the storage node!) by accident.
Hope this helps you out.