mirror of
https://github.com/ParticulateFlow/LPP.git
synced 2025-12-08 06:37:46 +00:00
102 lines
4.2 KiB
Plaintext
102 lines
4.2 KiB
Plaintext
"Pizza.py WWW Site"_pws - "Pizza.py Documentation"_pd - "Pizza.py Tools"_pc :c
|
|
|
|
:link(pws,http://www.cs.sandia.gov/~sjplimp/pizza.html)
|
|
:link(pd,Manual.html)
|
|
:link(pc,Section_tools.html)
|
|
|
|
:line
|
|
|
|
patch tool :h3
|
|
|
|
[Purpose:]
|
|
|
|
Create patchy Lennard-Jones particles for LAMMPS input.
|
|
|
|
[Description:]
|
|
|
|
The patch tool creates large multi-atom particles and writes them out
|
|
as a LAMMPS data file. They need to be simulated with a soft
|
|
potential in LAMMPS to un-overlap them before they form a proper
|
|
ensemble.
|
|
|
|
The individual particles consist of a collection of Lennard-Jones
|
|
atoms of various types. By defining force field coefficients
|
|
appropriately, specific atoms can be made attractive or repulsive, so
|
|
that "patches" of atoms on the particle surface are reactive. The
|
|
"Pizza.py WWW site"_pws has example images and movies of simulations
|
|
using such particles. A "paper"_#Glotzer by "Sharon Glotzer's
|
|
group"_glotzer at U Michigan describing a variety of patchy particle
|
|
models was the motivation for this tool.
|
|
|
|
:link(glotzer,http://www.engin.umich.edu/dept/che/research/glotzer)
|
|
|
|
The patch constructor takes a volume fraction as an argument to determine
|
|
how densely to fill the simulation box. Optionally, the box shape can
|
|
also be specified.
|
|
|
|
The build() method creates N particles, each of speficied style and
|
|
with specified atom types. Several styles are available and new ones
|
|
can easily be added to patch.py. You will need to look in patch.py
|
|
for the details of what each style represents. For example, "hex2"
|
|
uses a C60 bucky ball as a template and creates hexagonal 6-atom
|
|
patches (atoms of a different type) on either side of the ball.
|
|
|
|
The build() method can be invoked multiple times to create collections
|
|
of particles. The position and orientation of each particle is chosen
|
|
randomly. The seed value sets the random number generator used for
|
|
coordinate generation.
|
|
|
|
The ensemble of chains is written to a LAMMPS data file via the
|
|
write() method.
|
|
|
|
[Usage:]
|
|
|
|
p = patch(vfrac) setup box with a specified volume fraction
|
|
p = patch(vfrac,1,1,2) x,y,z = aspect ratio of box (def = 1,1,1) :pre
|
|
|
|
p.seed = 48379 set random # seed (def = 12345)
|
|
p.randomized = 0 1 = choose next particle randomly, 0 = as generated
|
|
p.dim = 2 set dimension of created box (def = 3)
|
|
p.blen = 0.97 set length of tether bonds (def = 0.97)
|
|
p.dmin = 1.02 set min r from i-1 to i+1 tether site (def = 1.02)
|
|
p.lattice = \[Nx,Ny,Nz\] generate Nx by Ny by Nz lattice of particles :pre
|
|
|
|
if lattice is set, Nx*Ny*Nz must equal N for build
|
|
lattice = \[0,0,0\] = generate N particles randomly, default :pre
|
|
|
|
p.build(100,"hex2",1,2,3) create 100 "hex2" particles with types 1,2,3 :pre
|
|
|
|
can be invoked multiple times
|
|
keywords:
|
|
c60hex2: diam,1,2,3 = C-60 with 2 hex patches and ctr part, types 1,2,3
|
|
hex2: diam,1,2 = one large particle with 2 7-mer hex patches, types 1,2
|
|
hex4: diam,1,2 = one large particle with 4 7-mer hex patches, types 1,2
|
|
ring: diam,N,1,2 = one large part with equatorial ring of N, types 1,2
|
|
ball: diam,m1,m2,1,2,3 = large ball with m12-len tethers, types 1,2,3
|
|
tri5: 1,2 = 3-layer 5-size hollow tri, types 1,2
|
|
rod: N,m1,m2,1,2,3 = N-length rod with m12-len tethers, types 1,2,3
|
|
tri: N,m1,m2,m3,1,2,3,4 = N-size tri with m123-len tethers, types 1-4
|
|
hex: m1,m2,m3,m4,m5,m6,1,2,3,4,5,6,7 = 7-atom hex with m-len tethers, t 1-7
|
|
dimer: r,1 = two particles r apart, type 1, no bond
|
|
star2d: N,r,1 = 2d star of length N (odd), beads r apart, type 1, no bonds
|
|
box2d: N,M,r,1 = 2d NxM box, beads r apart, type 1, no bonds
|
|
tritet: A,m = 4-tri tet with edge length A, tri type m
|
|
tribox: Alo,Ahi,Blo,Bhi,Clo,Chi,m = 12-tri box with side lengths A,B,C & m
|
|
linebox: Alo,Ahi,Blo,Bhi,m = 4-line 2d rectangle with random side lengths
|
|
from Alo to Ahi and Blo to Bhi, line type m
|
|
linetri: Alo,Ahi,Blo,Bhi,m = 3-line 2d triangle with random base
|
|
from Alo to Ahi and height Blo to Bhi, type m :pre
|
|
|
|
p.write("data.patch") write out system to LAMMPS data file :pre
|
|
|
|
[Related tools:]
|
|
|
|
"chain"_chain.html, "data"_data.html
|
|
|
|
[Prerequisites:] none
|
|
|
|
:line
|
|
|
|
:link(Glotzer)
|
|
[(Glotzer)] Zhang and Glotzer, NanoLetters, 4, 1407-1413 (2004).
|