[lammps-users] building a system of molecules bound to a substrate

Dear all,
I’m trying to simulate a self assembled monolayer of alkylthiols bound to a gold surface. In this specific simulation instead of using a nonbonded interaction by anchoring the molecules and using the morse potential for the sulfur-gold bond, I’m following a different procedure where the molecules are already bound to the gold substrate with a fixed bond length and angle.

However until now I created a molecule fille specifying all bond lengths/angles and dihedrals for the thiols and then positioned them above the gold substrate.
Now I want to have explicit bonds and bond angles between them and the closest atom of the gold substrate. Is there a simple way to achieve this or do I have to combine everything in a single data file and use that for my simulation?
Thank you,
Mattia Siviero

This is too complex a step to be done automatically in all generality. You need to know additional details about the two subsystems to have this done automatically and means it would have to be done by a custom script or tool.

Ok, thanks for the reply. So, what I would need to do is to create the system first, with all the bonds I can already specify generate the data file and then manipulate it to add the bonds manually?
Mattia Siviero

It all depends on how you want to have it look in the end and on your creativity.
I can imagine different ways to go about it. What would be more preferred option depends on what exactly is your setup is supposed to be and how the system is going to assemble in reality.

E.g. you could establish the desired topology with designated “anchor” atoms from the very beginning with random thiol head groups resulting in very long bonds. you can then start with a force constant of 0 and use fix adapt to slowly increase it and thus pull the anchors to their designated adsorption site.
I’ve also done some self-assembly simulations (like 20 years ago and not with LAMMPS) by having only a non-bonded interaction between the surface and the anchor atoms and then use steered MD feature to pull all anchor atoms toward the surface and then post process the final geometry with some scripting to add the missing topology data. this was done with solvent present. And these are just two ideas. There are likely more possible ways depending on what the exact details are of your system at the beginning and what you want to see at the end.