I am a fairly new EMC user and have been using the package to set up all-atom polymer systems for simulation in LAMMPS using the PCFF force field. I’ve been extremely impressed so far with how robust EMC is and how easy it is to generate different molecules and polymer morphologies by entering only a SMILES string and specifying the connectivity points.
Some of the systems that I’m interested in simulating are so-called “ladder polymers” like PIM-1. For these molecules, each monomer has four connection points instead of two, and when two monomers are joined they are connected by two separate ether linkages that join rings together into a planar structure.
My question is this: is there a way to build these kinds of polymers directly in EMC? I haven’t been able to figure one out directly, and I’m not sure if it’s because this is a feature that isn’t implemented or just because of my unfamiliarity. For what it’s worth my current solution is to build polymer chains that are connected by only one of the links and then attempt to close the second one using reactive MD in LAMMPS.
Thank you for your question. Your polymer appears to me to be a linear polymer, which – with a little bit of reorganizing – more of less abides by the following SMILES:
Unfortunately, the latter does not quite have the repeat unit connectivity you need. In essence, two adjacent repeat units share a carbon in a saturated five ring an do not connect between carbons in two separate saturated five rings. A SMILES reflecting this connectivity could look like
where [*C] reflect the shared carbon in both five rings. Unfortunately, this SMILES representation is currently not supported by EMC. In principle, the building mechanism should be able to handle the polymer though, if the representation could be interpreted.
The monomer unit itself is very stiff. This can be seen when building the monomer itself with e.g. fluor at the connection points:
This de facto means, that packing the molecule during build might be a challenge as well. A polymer consisting of this monomer displays a rather rigid zigzag structure, which does not help either.
My current workaround for this is a bit crude, but I have basically created a fictitious atom type that is equivalent in nonbonding and bonding to the tetrahedral carbon shared by two monomers in the SMILES string Pieter suggested above, which I call atom q. q is similar to that carbon (and has a sp2 carbon behavior for some bonding potentials) except for its q-q bond, which has an equilibrium length of 0.1 Angstroms. This basically places them right on top of each other and preserves the geometry that would have been built if the real molecule was constructed. I then used AutoMapper to create a pre- and post-reaction template that merges the two atoms into one and rebuilds the topology correctly in a reactive MD single-timestep run in LAMMPS with the REACTER package. Then I have my PIM-1 ladder polymer of however many units I’d like ready to go.
I will admit - this method is not straightforward, and there should be a better way to do this. I have been thinking recently about how the adjacent bonds in ladder polymers can be represented in SMILES string. In a 2019 paper from the Olsen group at MIT, they developed a new extension of SMILES called BigSMILES that has some additional syntax and can handle this construction. I have been wondering if it would be possible to extend or adapt EMC’s functionality to this language.