How to embed a carbon nanotube in a polyethylene melt

Dear Dr. Veld

I’m looking to build a CNT+Polyethylene system with the pcff or compass forcefield using the method outlined in Getting comfortable with EMC scripting - #4 by veld, but am unable to do so. I face the following issues.

  1. I have generated a cnt file from VMD (.pdb and .psf), but am unable to import it to EMC using pcff or COMPASS.
    cnt.pdb (58.7 KB)
    cnt.psf (294.9 KB)

  2. I’m also unable to figure out how to construct the matrix (PE) around the cnt. I keep running into the following error when I attempt to create an exclusion group:
    Error: core/script/build/system.c:338 ScriptBuildSystem:
    New geometry is too small (ntotal?).
    Program aborted.

Could you please share a sample build script or guide me in doing so

Dear user,

To answer your questions:

  1. I noticed, that the currently available EMC does not interpret your provided carbon nanotube correctly, i.e. it does not recognize the carbons to be aromatic in nature. This could be circumvented by using a different format, such as Insight II (.car and .mdf). Your provided carbon nanotube is also not terminated at its end. I would assume normally it would be hydrogen-terminated? I also noticed, that you are using a structure bound by a rather large box with a lot of empty space. You can tighten this box by adding tighten=3 to your import line. This created a bounding box at the extremes of your structure plus 3 Angstrom.
  2. You are importing a structure with dimensions. I assume you are using the standard aspect ratio option of shape 1 (the default). You will need to introduce enough PE in order to accommodate the dimensions of your structure. You can do this by increasing the ntotal option.

Dear Dr. Veld

Thank you for your assistance on this.

I have one additional question regarding this approach. After I import the nanotube as suggested, is it necessary to create an exclusion group around it or can I move directly to packing the polymer?

Dear user,

I looked into your problem a little more in depth. The problem is caused by how VMD creates a carbon nanotube. The resulting structure consists of as many residues as there are atoms, which causes problems for EMC when recognizing groups and corresponding bond valences. An added complication forms the ends of the nanotube, which are not terminated by hydrogens. This can be circumvented by creating a unit cell for a carbon nanotube and use this as a template for creating a continuous tube embedded in a polymer melt. The unit cell is given by

unit.pdb (3.3 KB)
unit.psf (4.2 KB)

These two files need to be imported in order to embed them in a polymer. Here the polymer is chosen to be polyethylene. An EMC Setup script would look like

ITEM	OPTIONS

replace		true
field		basf
#number		true
ntotal		10000
moves_cluster	active=true
direction	x
density		1
emc_execute	true

ITEM	END

ITEM	GROUPS

ethyl		*CC*, 1,ethyl:2
methyl		*C, 1,ethyl:1, 1,ethyl:2

ITEM	END

ITEM	CLUSTERS

molecule	import, name="unit", type=tube, mode=pdb, percolate=true, &
		tighten=10, ncells=2:2:10, exclude=contour, direction=z
polymer		alternate,1

ITEM	END

ITEM	POLYMERS

polymer
1		ethyl,10,methyl,2

ITEM	END

The only problem is, that the current version online does not support type=tube. Therefore, I included the resulting build.emc,

build.emc (6.2 KB)

which should be working with the new online EMC version (v9.4.4 of 20230801, just a newer updated version, to be downloaded from here). The attached build.emc builds four continuous nanotubes and embeds them in a PE melt. Changes can be made by

emc.sh -ntotal=n -nx=mx -ny=my -nz=mz -ltighten=l build.emc 2>&1 | tee build.out

Values were chosen to be n=10000, mx=2, my=2, mz=10, and l=10, as reflected by the above .esh example. Note that ltighten controls the spacing between the nanotubes. The following represents the resulting structure:

1 Like

Dear Dr. Veld

Thank you for the detailed explanation and assistance.
I’ll implement the recommended steps and get back to you in case of any issues.