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

« back to all changes in this revision

Viewing changes to tools/moltemplate/examples/silly/pyramids_vs_gravity/moltemplate_files/system.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
 
# Description.
2
 
# This is a simulation of pyramid-like objects made of particles stacked 
3
 
# and arranged like cannon-balls, or fruit-stands.  Ordinarilly, the stack 
4
 
# does not collapse because the particles at the ground layer are immobilized.
5
 
# However given an initial perterbation the pyramids collapse in an avalanche.
6
 
# (This can happen, for example when you do not minimize the system beforehand.)
7
 
# The particles roll down the pyramid and bounce off the "ground". The bouncing
8
 
# is due to a repulsive external force which is added artificially.
9
 
# (See the "run.in" file.)  The simulation looks weird without something 
10
 
# to bounce off of.  So I added a graphene surface at the bottom as scenery. 
11
 
# The ground does not serve any purpose except to look pretty.
12
 
#
13
 
# (Because there is no damping, I suspect that the distribution of heights of 
14
 
#  the particles in a small area should approach the Boltzmann distribution, 
15
 
#  if you run the simulation long enough.)
16
 
 
17
 
 
18
 
# ----------------- Pyramids: -----------------
19
 
 
20
 
import "pyramids.lt"
21
 
 
22
 
# Move the pyramids into their locations in Giza (approximate)
23
 
 
24
 
pyramidKhufu    = new    PyramidKhufu.move(210, 215, 1)
25
 
pyramidKhafre   = new   PyramidKhafre.move(150, 150, 1)
26
 
pyramidMenkaure = new PyramidMenkaure.move(105, 082, 1)
27
 
PyramidQueens1  = new  PyramidQueens1.move(089, 059, 1)
28
 
PyramidQueens2  = new  PyramidQueens2.move(100, 059, 1)
29
 
PyramidQueens3  = new  PyramidQueens3.move(111, 059, 1)
30
 
 
31
 
 
32
 
# --------------- Scenery: --------------------
33
 
 
34
 
import "graphene_wall.lt"
35
 
 
36
 
graphene_wall = new GrapheneWall
37
 
 
38
 
write_once("In Settings") {
39
 
  # Turn off all interactions with the graphene atoms by setting epsilon to 0.
40
 
  # (We will use a different repulsive barrier to represent the ground instead.)
41
 
  #  These atoms are just "for show".                     epsilon     sigma
42
 
  pair_coeff  @atom:Graphene/C @atom:Graphene/C  lj/cut   0.00000     3.407
43
 
 
44
 
  # Optional: Add the graphene atoms to the "gImmobile" group. Later freeze them
45
 
  group gImmobile type @atom:Graphene/C
46
 
}
47
 
 
48
 
# Unfortunately, the ground still looks kind of ugly because moltemplate does
49
 
# not yet know how to automatically connect nearby carbon atoms with C-C bonds 
50
 
# (based on distance).  (As of 2013-4-29, moltemplate is not good at 
51
 
# generating crystalline objects containing explicit bonds.)  
52
 
# If you want bonds between atoms, use VMD's "carbon-nanotube-builder plugin"
53
 
# (which creates data files with bonds) and then merge the two data files 
54
 
# manually later.  (This is not done here.)
55
 
 
56
 
 
57
 
# -------- override earlier settings ----------
58
 
 
59
 
write_once("In Init") {
60
 
  # Override any earlier style settings
61
 
  atom_style      full
62
 
  units           lj
63
 
  pair_style      hybrid lj/cut 1.0
64
 
  bond_style      none
65
 
  angle_style     none
66
 
  dihedral_style  none
67
 
  improper_style  none
68
 
  pair_modify     mix arithmetic
69
 
  special_bonds   lj 0.0 0.0 0.0
70
 
}
71
 
 
72
 
# ------------ boundary conditions ------------
73
 
 
74
 
write_once("Data Boundary") {
75
 
  -1.842033 398.493813              xlo xhi
76
 
  -0.708994 399.167013              ylo yhi
77
 
   0.0             400.0            zlo zhi
78
 
}
79
 
# ---------------------------------------------
80