first few pieces of pair style python

This commit is contained in:
Axel Kohlmeyer
2017-05-14 18:29:06 -04:00
parent 06c151421c
commit 34cc3946b8
6 changed files with 440 additions and 2 deletions

View File

@ -0,0 +1,60 @@
# 3d Lennard-Jones hybrid
units lj
atom_style atomic
lattice fcc 0.8442
region box block 0 10 0 10 0 10
create_box 2 box
create_atoms 1 box
mass * 1.0
velocity all create 3.0 87287
pair_style hybrid lj/cut 2.5 python 2.5
pair_coeff * * python lj-melt-potential.py lj NULL
pair_coeff * 2 lj/cut 1.0 1.0
neighbor 0.3 bin
neigh_modify every 10 delay 0 check no
fix 1 all nve
thermo 50
run 250
write_data hybrid.data
write_restart hybrid.restart
clear
read_restart hybrid.restart
pair_style hybrid lj/cut 2.5 python 2.5
pair_coeff * * python lj-melt-potential.py lj NULL
pair_coeff * 2 lj/cut 1.0 1.0
fix 1 all nve
thermo 50
run 250
clear
units lj
atom_style atomic
read_data hybrid.data
pair_style hybrid lj/cut 2.5 python 2.5
pair_coeff * * python lj-melt-potential.py lj NULL
pair_coeff * 2 lj/cut 1.0 1.0
neighbor 0.3 bin
neigh_modify every 10 delay 0 check no
fix 1 all nve
thermo 50
run 250

View File

@ -0,0 +1,57 @@
# 3d Lennard-Jones melt
units lj
atom_style atomic
lattice fcc 0.8442
region box block 0 10 0 10 0 10
create_box 1 box
create_atoms 1 box
mass 1 1.0
velocity all create 3.0 87287
pair_style python 2.5
pair_coeff * * lj-melt-potential.py lj
neighbor 0.3 bin
neigh_modify every 10 delay 0 check no
fix 1 all nve
thermo 50
run 250
write_data melt.data
write_restart melt.restart
clear
read_restart melt.restart
pair_style python 2.5
pair_coeff * * lj-melt-potential.py lj
fix 1 all nve
thermo 50
run 250
clear
units lj
atom_style atomic
read_data melt.data
pair_style python 2.5
pair_coeff * * lj-melt-potential.py lj
neighbor 0.3 bin
neigh_modify every 10 delay 0 check no
fix 1 all nve
thermo 50
run 250

View File

@ -0,0 +1,28 @@
from __future__ import print_function
class LAMMPSLJCutPotential(object):
def __init__(self):
self.pmap=dict()
# coefficients: epsilon, sigma
self.coeff = {'lj' : {'lj' : (1.0,1.0),
'NULL': (0.0,1.0)},
'NULL': {'lj' : (0.0,1.0),
'NULL': (0.0,1.0)}}
def map_coeff(self,type,name):
if self.coeff.has_key(name):
print("map type %d to name %s" % (type,name))
self.pmap[type] = name
else:
print("cannot match atom type",name)
def compute_force(self,r,itype,jtype,factor_lj):
return 0.0
def compute_energy(self,r,itype,jtype,factor_lj):
return 0.0
lammps_pair_style = LAMMPSLJCutPotential()
print ("lj-melt potential file loaded")