# This file contains a unit cell for building graphene and nanotubes
#
#
#  The 4AtomRectCellXY "molecule" defined below is a reactangular unit cell
# for hexagonal tesselations in 2-dimensions.  (See "graphene_unit_cell.jpg")
# Surfaces constructed with this unit cell can be flat or curved into tubes.
# The distance between nearest-neighbor carbon atoms (ie the length of a 
# carbon-carbon bond) is equal to "d" which I set to 1.42 Angstroms.
#
#    d = length of each hexagon's side  = 1.42 Angstroms
#    L = length of each hexagon = 2*d   = 2.84 Angstroms
#    W =  width of each hexagon = 2*d*sqrt(3)/2 = 2.4595121467478056 Angstroms
#   2w =  width of hexagon rows = 3*l   = 4.26 Angstroms
#
# Consequently, the Lattice-cell vectors for singe-layer graphene are:
#   (2.4595121467478,    0,     0)      (aligned with X axis)
#   (0,               4.26,     0)      (aligned with Y axis)
# So, to build a sheet of graphite, you could use:
#   sheet = new Graphene/4AtomRectCellXY [10].move(2.4595121467478, 0,   0)
#                                        [10].move(0,              4.26, 0)




Graphene {

  4AtomRectCellXY
  {
    # atomID   molID     atomType charge         x               y     z
    write("Data Atoms") {
      $atom:C11  $mol:...  @atom:../C   0.0   0.61487803668695  0.71  0.0
      $atom:C21  $mol:...  @atom:../C   0.0   1.84463411006085  1.42  0.0
      $atom:C12  $mol:...  @atom:../C   0.0   0.61487803668695  3.55  0.0
      $atom:C22  $mol:...  @atom:../C   0.0   1.84463411006085  2.84  0.0
    }
  }

  # Now define properties of the Carbon graphene atom

  write_once("In Init") {
    pair_style hybrid  lj/cut  9.0
  }

  write_once("Data Masses") {
    @atom:C  12.0
  }

  write_once("In Settings") {
    #              i       j              epsilon     sigma 
    pair_coeff  @atom:C @atom:C  lj/cut   0.068443     3.407

    # These Lennard-Jones parameters come from
    #  R. Saito, R. Matsuo, T. Kimura, G. Dresselhaus, M.S. Dresselhaus,
    #  Chem Phys Lett, 348:187 (2001)

    # Define a group consisting of only carbon atoms in graphene molecules
    group gGraphene type @atom:C
  }

} # Graphene

