mirror of https://github.com/lammps/lammps.git
62 lines
2.3 KiB
Plaintext
62 lines
2.3 KiB
Plaintext
import "graphene.lt" # defines "Graphene"
|
|
|
|
|
|
# ------------ Graphite -----------
|
|
#
|
|
# Note: For graphite: sheets stacked in the Z direction are separated by a
|
|
# distance of 3.35 Angstroms, and shifted in an alternating +/-Y direction
|
|
# by a distance of d (1.42 Angstroms). To add additional graphene layers
|
|
# you could use:
|
|
# sheet2 = new Graphene [10].move(2.4595121467478,0,0)
|
|
# [10].move(1.2297560733739,2.13,0)
|
|
# sheet2[*][*].move(0, 1.42, 3.35)
|
|
# sheet3 = new Graphene [10].move(2.4595121467478,0,0)
|
|
# [10].move(1.2297560733739,2.13,0)
|
|
# sheet3[*][*].move(0, -1.42, 6.70)
|
|
# etc...
|
|
#
|
|
# This should work fine.
|
|
# However, to build a thick sheet of graphite, it may be less trouble
|
|
# to use a 4-atom unit cell which includes two graphene layers.
|
|
# Here is one way to do that:
|
|
|
|
Graphite inherits Graphene {
|
|
|
|
# This allows us to access access the "@atom:C" carbon atom type
|
|
# whose properties are defined in the "Graphene" object (see "graphene.lt").
|
|
# That atom is NOT globally defined. It belongs to the "Graphene" object.
|
|
# This is one way to access it. Alternately, you could redefine it here
|
|
|
|
# atomID molID atomType charge x y z
|
|
write("Data Atoms") {
|
|
$atom:C1 $mol:... @atom:C 0.0 -0.61487803668695 -0.355 0.0
|
|
$atom:C2 $mol:... @atom:C 0.0 0.61487803668695 0.355 0.0
|
|
$atom:C3 $mol:... @atom:C 0.0 -0.61487803668695 1.065 3.35
|
|
$atom:C4 $mol:... @atom:C 0.0 0.61487803668695 1.775 3.35
|
|
}
|
|
|
|
# Note: The first two lines in the "Data Atoms" section override the positions
|
|
# of the $atom:C1 and $atom:C2 atoms previously defined in "Graphene"
|
|
# (which this object inherits). This is okay.
|
|
|
|
} # Graphite
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# This is a 3-dimensional hexagonal unit cell. The unit vectors are:
|
|
#
|
|
# (2.4595121467478, 0, 0 )
|
|
# (1.2297560733739, 2.13, 0 )
|
|
# ( 0, 0, 6.70)
|
|
|
|
# Then you could create a thick sheet of graphite this way:
|
|
#
|
|
# graphite = new Graphite [10].move(2.4595121467478,0,0)
|
|
# [10].move(1.2297560733739,2.13,0)
|
|
# [5].move(0,0,6.70)
|
|
#
|
|
# (Your graphite slab will contain an even number of graphene sheets.)
|