(no subject)

dear all user

I want to simulate a graphene sheet and a protein in the presence of water using MC(Monte Calro) and Tersoff and Charmm potential functions. I know how to perform a typical MC simulation from an example in lammps example files.

I got these warnings.

WARNING: No fixes defined, atoms won’t move (…/verlet.cpp:55)
WARNING: Using 12-bit tables for long-range coulomb (…/kspace.cpp:317)
WARNING: Using a manybody potential with bonds/angles/dihedrals and special_bond exclusions (…/pair.cpp:218)

then I used the gcmc and face to these belows and the program stopped after showing these warnings.

WARNING: Using 12-bit tables for long-range coulomb (…/kspace.cpp:317)
WARNING: Using a manybody potential with bonds/angles/dihedrals and special_bond exclusions (…/pair.cpp:218)
WARNING: Fix gcmc using full_energy option (…/fix_gcmc.cpp:408)

do you have any advice for me?
here is the program but without pair-coeff commands that are too long.

make sure neigh skin > 2*deltamove

variable iter loop 3000 # number of Monte Carlo moves
variable deltaperturb equal 0.2 # max size of initial perturbation per dim
variable deltamove equal 0.1 # max size of MC move in one dimension
variable density equal 1.0 # reduced LJ density of atoms on lattice
variable kT equal 0.05 # effective T in Boltzmann factor
variable seed equal 582783 # RNG seed

problem setup

#units lj
units real

#atom_style atomic

atom_style full
bond_style harmonic
angle_style charmm
dihedral_style charmm
improper_style harmonic

atom_modify map array sort 0 0.0

dimension 3

#lattice hex \${density}
#region box block 0 10 0 5 -0.5 0.5

#create_box 1 box
#create_atoms 1 box
#mass 1 1.0

#pair_style lj/cut 2.5
#pair_coeff 1 1 1.0 1.0 2.5
#pair_modify shift yes

neighbor 0.3 bin
#neigh_modify delay 0 every 1 check yes

pair_style hybrid tersoff lj/charmm/coul/long 8 10

pair_coeff * * --------------------

pair_modify mix arithmetic shift yes
kspace_style pppm 1e-4
special_bonds charmm
variable e equal pe

fix gcmc3 all gcmc 10 1000 1000 2 29494 298.0 -0.5 0.01

emin = minimum energy

run 0
variable emin equal \$e

estart = initial energy

variable x atom x+v_deltaperturbrandom(-1.0,1.0,{seed}) variable y atom y+v_deltaperturb*random(-1.0,1.0,{seed})
variable z atom z+v_deltaperturb
random(-1.0,1.0,\${seed})
set group all x v_x
set group all y v_y
set group all y v_z
#dump 1 all atom 25 dump.mc

#dump 2 all image 25 image.*.jpg type type &

#dump 3 all movie 25 movie.mpg type type &

variable elast equal \$e
thermo_style custom step v_emin v_elast pe

run 0

variable estart equal \$e
variable elast equal \$e

loop over Monte Carlo moves

variable naccept equal 0
variable increment equal v_naccept+1
variable irandom equal floor(atomsrandom(0.0,1.0,{seed})+1) variable rn equal random(0.0,1.0,{seed})
variable boltzfactor equal "exp(atoms
(v_elast - v_e) / v_kT)"
variable xnew equal x[v_i]+v_deltamoverandom(-1.0,1.0,{seed}) variable ynew equal y[v_i]+v_deltamove*random(-1.0,1.0,{seed})
variable znew equal z[v_i]+v_deltamove
random(-1.0,1.0,\${seed})
variable xi equal x[v_i]
variable yi equal y[v_i]
variable zi equal z[v_i]
label loop

variable i equal \${irandom}

variable x0 equal {xi} variable y0 equal {yi}
variable z0 equal \${zi}

set atom i x {xnew}
set atom i y {ynew}
set atom i z {znew}

run 1 pre no post no

if “e <= {elast}” then &
“variable elast equal e" & "variable naccept equal {increment}” &
elif “{rn} <= {boltzfactor}” &
“variable elast equal e" & "variable naccept equal {increment}” &
else &
“set atom i x {x0}” &
“set atom i y {y0}” &
“set atom i z {z0}”
next iter
jump SELF loop

final energy and stats

variable nb equal nbuild
variable nbuild equal \${nb}

I suggest starting with the LAMMPS water example in examples/gcmc and then add your protein to it. Once that is working, add your graphene sheet to the water example. Finally combine water, protein,and graphene sheet in a single simulation. It is not obvious to me that such a simulation is scientifically useful. You would probably be better off changing the chemical potential of water by running NVT dynamics at different volumes, or maybe NPT at different pressures.

Aidan

dear all user

I want to simulate a graphene sheet and a protein in the presence of water using MC(Monte Calro) and Tersoff and Charmm potential functions. I know how to perform a typical MC simulation from an example in lammps example files.

but you seem to be unaware, that LAMMPS is NOT a MC simulation code, but a code made for MD. The input you are starting from is a demonstration how to do basic MC steps, but it is a far cry from what a real MC code can do.

I got these warnings.

WARNING: No fixes defined, atoms won’t move (…/verlet.cpp:55)
WARNING: Using 12-bit tables for long-range coulomb (…/kspace.cpp:317)
WARNING: Using a manybody potential with bonds/angles/dihedrals and special_bond exclusions (…/pair.cpp:218)

Those are all explained in the LAMMPS manual. Some are serious, some less serious. It is up to you to decide how serious.
If you wanted to do MD, the first would be very serious, since you don’t, it is less important.

then I used the gcmc and face to these belows and the program stopped after showing these warnings.

what is it that you want to achieve by adding fix gcmc? why would you want to add/remove individual atoms (and what kind of atoms) from your system?

and - in my personal opinion - it doesn’t make much sense outside of being used in combination with MD to do a hybrid MD/MC simulation, as the steps done by fix gcmc can induce rather drastic changes and thus you want to give your system some “time” to relax in those cases before attempting the next move of this kind.

WARNING: Using 12-bit tables for long-range coulomb (…/kspace.cpp:317)
WARNING: Using a manybody potential with bonds/angles/dihedrals and special_bond exclusions (…/pair.cpp:218)
WARNING: Fix gcmc using full_energy option (…/fix_gcmc.cpp:408)

again. warnings are explained in the manual. you need to know and understand them and make a conscious choice of accepting them or changing your input to not have them show up.

since those are all warnings, they cannot be the reason why your calculation stops.
i have to agree with Aidan’s basic advice. It looks like you are trying too many things that you have very limited experience in at the same time. That is always a bad idea. You have to build your experience in steps and not just copy everything that seems reasonable together and hope for the best (and that somebody else on this list will know the one “magic” change that will make it work in case something goes wrong).
I suggest the following:

• become familiar with MD and do some simple and increasingly complex MD simulations (only water, only graphene, peptide with water and graphene). This is so you get to know how to use LAMMPS better and better understand errors and what they come from. There are quite a few issues, the will not easily show up with the (lame) MC program emulation you are employing, that will become quickly evident with MD. that will help you make certain that your how system setup is valid.
• read up on GCMC and what the implementation in LAMMPS can do (and what not, i.e. everything that is not mentioned)
• for serious simulations (and simulations being taken seriously by reviewers, you should improve your MC driver, e.g. by using the library interface or the python wrapper around it. or explore other simulation environment that natively support MC (some of that may support using LAMMPS as a library to compute forces).

do you have any advice for me?

i have one more piece of advice: find a competent collaborator. You seem to be in overwhelmed with what you are attempting to do. That is not easy to come out of on your own. Very, very few people are that smart and talented. For a regular mortal, like most of us, it is better to get started with the help of an experienced collaborator, perhaps your adviser/supervisor or somebody your adviser/supervisor can hook you up with.

axel.