This script is designed to create a cross linked network in a system containing an oligomer and a cross-linking molecule using beads. Beads on the oligomer and cross-linker are designated as reactive beads by assigning a specific name to the beads (eg R1 and R2). Close contacts are calculated between the reactive beads and connectors are created if beads have names R1 and R2, if they have only one attached bead, and if they have a close contact between them.
After this, there are optional subroutines to optimize and perturb the system using a temperature cycle, minimization, or just straight dynamics. The user needs to hash out the ones they don't want (around line 250). The default is minimization.
The loop used is:
- Create the close contact sets for the reactive atoms
- Set the close contact cutoff value and create the new connections
- Calculate some statistics on the system
- Perform some perturbation (optimization/dynamics/temperature cycle)
- Check to see if there were new connections made, if not, increment the close contact cutoff or perform another loop
There is also a check to see whether the conversion rate is greater than the rate defined (\$conversion). If it is, the loop stops and the excess bonds are randomly deleted.
You can choose what perturbation method to use by hashing out the lines around line 250. The default is to just perform a quick optimization. Although longer, using the temperature cycle will probably give a better distribution of bonds.
Note that this script requires an additional forcefield MartAngle.off. This forcefield is the same as the original MARTINI forcefield but has an extra term to constrain the geometry of the cross-linker. Please note that no effort has been put into validating whether this is an appropriate forcefield - use at own risk! If this is not required, you should edit the script to remove this.
Output documents:
- Final x-linked structure doc called \$xsdDoc_xlinked_final.xsd contains the x-linked structure
- Statistics study table contains the degree of x-linking based on the x-linker
- Chart documents contain the distribution of connector lengths - a useful check to see if you have created many extended bonds.
Limitations:
- The input mesostructure needs to have molecules defined. This can only be obtained from the mesostructure builder. Coarse-grained amorphous cells will not work with this script without modifying the script as molecule definitions are used in the statistics.
- Need to have at least two beads in the xlinker (unless you edit the script!)
- This is a very experimental script and should be used with care!
Again, using the script is a research project in itself so feel free to play and have some fun with it!
Modules Used: Materials Visualizer, Mesocite
Version: Tested against Materials Studio 5.0.
This script was developed as part of the NanoInterface EU project.
Cheers
Stephen