well, this is not my field but have learned some by now., yet b/c of
well, whether this is your field or not is irrelevant.
if you want to do MD simulations, you have to learn to
do them properly, or you will be wasting you time (and
that of others). computer simulation is brutally stupid.
it does *exactly* what you tell it to do, and that may
not be what you *want* it to do. one has to understand
how the "mind" of the software is working and then how
the method works in order to get good and usable results.
the chance to get out garbage is surprisingly high,
considering how simple most of the models are.
some comparison in my project
am very willing to get this running if I can. I modified the input
file, if possible please let me know
if it still has got major problems. Thank you.
yes, it still has. you probably should study
existing inputs and examples a bit more and
stick your nose into a textbook on MD a bit
deeper. there are still both lammps specific
problems, i.e. you have not fully realized
what individual command in lammps are doing
and how you "assemble" an MD input and there
are choices of parameters that ignore good
practice guidelines that are outlined in most
of the standard text books. sorry to be a
bit harsh on this, but after pointing out
the same type of problem repeatedly, you
are exhausting the credit that i am willing
to give a person with little experience
very quickly.
units lj
boundary f f f
atom_style molecular
neighbor 1.5 bin
angle_style none
read_data dna_n200_rect_p0.02
fix walls all wall/lj93 xlo -10.8 1.0 1.0 2.5 xhi 10.8 1.0 1.0 2.5
units box
fix walls all wall/lj93 ylo -10.8 1.0 1.0 2.5 yhi 10.8 1.0 1.0 2.5
units box
fix walls all wall/lj93 zlo -10.8 1.0 1.0 2.5 zhi 10.8 1.0 1.0 2.5
units box
pair_style soft 1.12246
pair_coeff * * 30.0 1.12246
bond_coeff 1 1.5 1.0
you cannot set bond parameters before you define the bond style.
bond_style fene
bond_coeff 1 30.0 1.5 1.0 1.0
fix 1 all nve
you should initialize the kinetic energy
and have some thermostatting here, e.g.
with fix langevin to get a good
initialization and equipartitioning of
the kinetic energy.
run 50000
it is near impossible to predict for how
many steps this part of the calculation
needs to be done, if don't know your system.
it takes some experience and monitoring
to know what is a good choice. this holds
true for all run statements. so rather than
running multiple steps in one go, you may be
better off to build and understand your
system in stages and use restart files to
not have to re-do everything from the beginning
all the time. BTW: you haven't defined a time
step, so lammps will pick the default. not sure
if that is what you want.
pair_style lj/cut 2.5
pair_modify shift yes
if you define a new pair style,
you *have* to define new pair
interaction coefficients.
the old settings are lost.
each style and fix or dump command
creates an object inside of lammps
and will than hold the associated
information. if you override or delete
the object, that information will be
gone and has to be initialize again.
fix 2 all nve
you are defining a second fix
to time integrate atom positions
without removing the first through
unfix. since you had used fix nve
before, there is no need to define
it again. unless you use the "clear"
command, which will completely wipe
out the system, every "object" that
was defined stays active
run 20000
dump 1 all atom 20000 in.lj1.dump
fix 3 all langevin 1.0 1.0 100.0 48279
you are giving a *very* long time constant here
with 100.0. that will render this fix nearly
inactive. there are suggestions for what is a
good choice in the lammps manual.
run 10000
dump 2 all atom 50000 in.lj2.dump
for dumps the same rule applies than what applies
to fixes. this will create a second trajectory file,
while the fist will stay active and is going to be
written to. you can turn off fixes with "unfix"
and dumps with "undump".
fix 4 all nvt temp 1.0 1.0 0.61
... and now you define yet another time integration
fix *and* still have fix langevin active. ...and
here you use a *much* shorter time constant. in general
you would want to do it exactly the other way around:
use a somewhat shorter time constant for the thermostat
to initially bring the system close to equilibrium,
and then use a weaker thermal coupling, to get the
more realistic trajectory with no interference of
the thermostat.
run 300000
dump 3 all atom 300000 in.lj3.dump
if you define a dump object *after* the last run
command, it will have no effect. if you want to
store the final state, you need to write a restart.
axel.