~ubuntu-branches/debian/sid/lammps/sid

« back to all changes in this revision

Viewing changes to tools/moltemplate/examples/all_atom_examples/nanotube+water/moltemplate_files/graphite.lt

  • Committer: Package Import Robot
  • Author(s): Anton Gladky
  • Date: 2015-04-29 23:44:49 UTC
  • mfrom: (5.1.3 experimental)
  • Revision ID: package-import@ubuntu.com-20150429234449-mbhy9utku6hp6oq8
Tags: 0~20150313.gitfa668e1-1
Upload into unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
import "graphene.lt"  # defines "Graphene"
2
 
 
3
 
 
4
 
# ------------   Graphite  -----------
5
 
#
6
 
# Note: For graphite: sheets stacked in the Z direction are separated by a
7
 
#       distance of 3.35 Angstroms, and shifted in an alternating +/-Y direction
8
 
#       by a distance of d (1.42 Angstroms).  To add additional graphene layers
9
 
#       you could use:
10
 
#   sheet2 = new Graphene [10].move(2.4595121467478,0,0)
11
 
#                         [10].move(1.2297560733739,2.13,0)
12
 
#   sheet2[*][*].move(0,  1.42, 3.35)
13
 
#   sheet3 = new Graphene [10].move(2.4595121467478,0,0)
14
 
#                         [10].move(1.2297560733739,2.13,0)
15
 
#   sheet3[*][*].move(0, -1.42, 6.70)
16
 
#   etc...
17
 
#
18
 
#       This should work fine.
19
 
#       However, to build a thick sheet of graphite, it may be less trouble
20
 
#       to use a 4-atom unit cell which includes two graphene layers.
21
 
#       Here is one way to do that:
22
 
 
23
 
Graphite inherits Graphene {
24
 
 
25
 
  # This allows us to access access the "@atom:C" carbon atom type
26
 
  # whose properties are defined in the "Graphene" object (see "graphene.lt").
27
 
  # That atom is NOT globally defined.  It belongs to the "Graphene" object.
28
 
  # This is one way to access it.  Alternately, you could redefine it here
29
 
  
30
 
  # atomID   molID     atomType charge       x               y       z
31
 
  write("Data Atoms") {
32
 
    $atom:C1  $mol:...  @atom:C   0.0  -0.61487803668695 -0.355  0.0
33
 
    $atom:C2  $mol:...  @atom:C   0.0   0.61487803668695  0.355  0.0
34
 
    $atom:C3  $mol:...  @atom:C   0.0  -0.61487803668695  1.065  3.35
35
 
    $atom:C4  $mol:...  @atom:C   0.0   0.61487803668695  1.775  3.35
36
 
  }
37
 
 
38
 
  # Note: The first two lines in the "Data Atoms" section override the positions
39
 
  #       of the $atom:C1 and $atom:C2 atoms previously defined in "Graphene"
40
 
  #       (which this object inherits).  This is okay.
41
 
 
42
 
} # Graphite
43
 
 
44
 
 
45
 
 
46
 
 
47
 
 
48
 
 
49
 
# This is a 3-dimensional hexagonal unit cell.  The unit vectors are:
50
 
#
51
 
# (2.4595121467478,    0,     0 )    
52
 
# (1.2297560733739,  2.13,    0 )
53
 
# (  0,                0,   6.70)
54
 
 
55
 
# Then you could create a thick sheet of graphite this way:
56
 
#
57
 
#   graphite = new Graphite [10].move(2.4595121467478,0,0)
58
 
#                           [10].move(1.2297560733739,2.13,0)
59
 
#                            [5].move(0,0,6.70)
60
 
#
61
 
# (Your graphite slab will contain an even number of graphene sheets.)