How to set up a Polymer Crystal Calculation for Discover_3:

The Crystal_Cell module in InsightII is designed to explore phase space for "best" crystal structures, usually with new polymers in mind. For this reason, it employs a helical boundary condition along the chain which is not supported anywhere else in the InsightII package. This means that if you wish to study a structure contstructed in Crystal_Cell using Discover or Discover_3, some fixing is required. The recommended procedure for setting up this calculation is illustrated as follows:
  1. Build your crystal cell model. Save the unit cell.
  2. Load the hlx2pbc and make_infinte macros using the command under the Session pulldown to load_macros.
  3. Use hlx2pbc to generate a normal 3D pbc cell of your system (and to extend your model in c direction if desired)
  4. Read in the resulting .car file
  5. Use Assembly/Cell_Display to display several cells and to extend in the a and b directions, if desired)
  6. Use macro_cell to make the several cells displayed into one.
  7. Use the make_infinite macro to put in the "infinite" or cross cell bonding in the chain direction. This produces an output files called infinite.car and infinite.mdf
    Unfortunatly the infinite bonding records have been written to infinite.mdf TWICE (whoops - programming error) - so go edit the file and take out the second one:

    Wrong line example:

    ETHE_1E:C1 C c2 MET1 0 0 -0.1060 1 0 8 1.0000 0.0000 H11 H13 C2 ETHE_1H:C2%00-1 ETHE_1H:C2%00-1%+0+0-1

    (this says that there are two bonds between ETHE_1E:C1 in the central cell and ETHE_1H:C2 in the adjacent cell in the -Z direction - there should only be one!)

    Corrected line:

    ETHE_1E:C1 C c2 MET1 0 0 -0.1060 1 0 8 1.0000 0.0000 H11 H13 C2 ETHE_1H:C2%00-1

  8. You can now read infinite.car into InsightII and carry out a simulation using Discover3.

Notes:

  • You should rename infinite.car and infinite.mdf because every time you use the macro they will be overwritten
  • You should either use Ewald Summation method (for small simulations) or the Cell Multipole method (for large simulations) for non-bond calculations (change to cell based PBC Summation Method in the Specify/Nonbonds command). Or, if you prefer to use group based cutoffs, you should insert the command:

    vdWTailCorrection $cutoff

    after the nonbond command, but before any simulation (you can do this in the UIF using the Language_Control/Command_Comment pulldown).


    A suitable log file which does this is shown below:

    m:Polymerizer
    m:Polymerize Homopolymer Save_Inputs Olefins Current ETHE 10 1 Set_Dihedral Regular_Angle 180
    m:Select Forcefield Clear_Potentials -Clear_Charges "$BIOSYM_LIBRARY/pcff.frc" -Make_Copy
    m:Potentials Forcefield Fix -Print_Potentials Fix -Print_Part_Chargs Accept POLYETHE
    m:Crystal_Cell
    m:Gen_Helix_Run pe POLYETHE:1E:C2 POLYETHE:1E:C2 -Highlight_Conf_RU Characterize_Only 30 2 10
    # Wait here for Gen_Helix_Run to complete
    m:Build_CAU New pe_cell 30 2 7.5 4.9 90 90 90 File pe.hlx 1 0.25 0.25 0 135
    r:Build_CAU Edit PE_CELL 30 2 Add_Helix File pe.hlx 1 0.75 0.75 0 -135
    m:Build_CAU Save pe_cell.car PE_CELL
    m:Convert_CC_Disco Molecule pe_cell.car 4
    m:dele *
    m:Get Molecule Archive Frame 1 pe_cell_disco.car PE -Reference_Object
    m:Cell_display Assembly PE_CELL Border 1 1 1 1 0 0 Border_Display 255,255,255
    m:Macro_Cell Assembly PE_CELL -Save_Original_Cell
    m:Builder
    m:Make_Infinite -End_List PE_CELL PE05:1H:C2 PE05:1E:C1
    r:Make_Infinite -End_List PE_CELL PE013:1H:C2 PE013:1E:C1
    r:Make_Infinite -End_List PE_CELL PE03:1H:C2 PE03:1E:C1
    r:Make_Infinite -End_List PE_CELL PE06:1H:C2 PE06:1E:C1
    r:Make_Infinite -End_List PE_CELL PE00:1H:C2 PE00:1E:C1
    r:Make_Infinite -End_List PE_CELL PE011:1H:C2 PE011:1E:C1
    r:Make_Infinite -End_List PE_CELL PE014:1H:C2 PE014:1E:C1
    r:Make_Infinite -End_List PE_CELL PE010:1H:C2 PE010:1E:C1
    r:Make_Infinite -End_List PE_CELL PE012:1H:C2 PE012:1E:C1
    r:Make_Infinite -End_List PE_CELL PE02:1H:C2 PE02:1E:C1
    r:Make_Infinite -End_List PE_CELL PE04:1H:C2 PE04:1E:C1
    r:Make_Infinite -End_List PE_CELL PE07:1H:C2 PE07:1E:C1
    r:Make_Infinite -End_List PE_CELL PE_2:1H:C2 PE_2:1E:C1
    r:Make_Infinite -End_List PE_CELL PE01:1H:C2 PE01:1E:C1
    r:Make_Infinite -End_List PE_CELL PE_1:1H:C2 PE_1:1E:C1
    r:Make_Infinite -End_List PE_CELL PE08:1H:C2 PE08:1E:C1
    r:Make_Infinite -End_List PE_CELL PE015:1H:C2 PE015:1E:C1
    r:Make_Infinite -End_List PE_CELL PE09:1H:C2 PE09:1E:C1
    r:Make_Infinite End_List
    r:Delete Object *
    # Go edit infinite.mdf and take out those duplicate bonding statement
    m:Get Molecule Archive Frame 1 infinite.car INFINITE -Reference_Object
    m:Discover_3
    m:System Setup INFINITE_CELL PBC_On -Expert
    m:Minimize Calculate Add "3 minimize" -More 100 0.001 -Optimize_Cell
    m:Dynamics Calculate Add "4 dynamics" -More 1000 Create NVT_PBC 298.0
    m:Output Analyze "4 dynamics" Dynamics_Stage -Delete_File_Type Archive default -Before During 100 1 end -After
    m:Run D_Run infinite_cell0
    m:Nonbonds Specify Add "2 nonbonds" -More Cell_Based 1


    MIT Home page | UP one level

    Last modified: 6/20/97 - GCR