Dear all,
I’m new to LAMMPS, so I appreciate any comment/suggestion.
I’m trying to apply fix bond/react
to describe the crosslinking of an epoxy resin. I based my input on the tiny_epoxy
example under /examples/PACKAGES/reaction/tiny_epoxy
.
After some modifications of my template and map files, I was able to run a simulation without errors due to template format. However, no bonds were broken or formed — the molecules just drift away and don’t react. Maybe the fix
is not matching the template with the molecules in my simulation, but I don’t know how to fix this.
Can anyone help me with it?
I’m using LAMMPS 29Aug2024.
Here are the files used in the simulation:
Simulation files on Google Drive
Thank you all!
How have you troubleshooted your system so far? For example, you should make sure that your initiator atoms (in your simulation) are within the reaction distance cutoff.
Dear @jrgissing,
Thank you very much for your reply.
I have built the simulation with initiator atoms placed at a very close distance (~2 Å), and I visually inspected the trajectory. From this, I can observe that the initiator atoms do come within the cutoff range required for the reaction to take place. However, the reaction does not occur.
In addition, I simulated the epoxy ring-opening with a smaller system, following the same procedure for constructing the template and map files (a link to the files is provided at the end). In this case, the reaction occurs within the first 50 steps, as expected.
After that, I attempted to simulate the reaction in my full epoxy system—this time using the complete molecules (i.e., with edge atoms removed). However, I encountered the same issue: the reactants come into close proximity but do not react. I suspect the problem lies in the map file, since the scripted construction of the template files works well for the smaller epoxy system.
I am currently reviewing the LAMMPS manual to learn how to dump the initiator atoms from my simulation and verify whether the initiator atoms in the map file are correctly defined.
I’m attaching the files I built and used for both simulations (the small and large epoxy systems):
Google Drive link
I appreciate any comments and suggestions.
A couple more notes and things to try before I take a closer look:
- I am not sure what you mean by removing edge atoms. The simulation should also have the correct chemistry, and the reaction template should always include edge atoms if they do not contain the full molecule.
- Using the ‘molecule inter’ option can help if you have other other atoms that have the same type as the initiator atoms.
Regarding the confusion about edge atoms, I believe I was not clear in my previous message. What I meant to say is that I used the full molecule, so there are zero edge atoms in my case.
Thank you very much for suggesting the molecule inter
option. I will give it a try and see if it works for my system.
OK. Note that, if there are no edge atoms in your reaction templates, there will be no polymerization beyond dimerization.
Dear @jrgissing,
Thank you for your feedback.
I understand that polymerization cannot occur without defining the Edge atoms. I am currently working with the full molecules to eliminate the possibility of incorrectly assigning Edge atoms. My intention is to construct the templates with Edge atoms as soon as I can properly describe the reaction using the complete molecules.
Unfortunately, the use of the molecule inter
option had no effect on my system, as expected, since each initiator atom belongs to a different molecule — the epoxy oxygen and the amine nitrogen — making the intramolecular reaction impossible. I will continue reading the manual to explore possible solutions. In parallel, I am gradually increasing the size of my small epoxy system in an effort to identify the source of my mistake.
I truly appreciate your comments. Any further suggestions you may have would be most welcome.
Thank you again.