Hi Steve,
When the command “if” is used at the end of the input script like the following(ended by quotes and &), it will not be excuted.
if “$i==0” then &
“run 10” &
Yours,
Cun
The following is part of the input script:
cunzhang@…33…2088…:test$ lmp
LAMMPS (28 Mar 2012)
cunzhang@…2088…:test$ cat in.crack
2d LJ crack simulation
…
zoom 1.6 adiam 1.5
#dump_modify 1 pad 4
if "i==0" then &
"run 5000" &
"run 5"
[email protected]...:test
If I put these lines at the end of bench/in.lj,
it runs an extra 105 steps.
Steve
variable i equal 0
if "$i==0" then &
"run 100" &
"run 5"
Sorry, I give you wrong input file.
But What will be if you add a quote after “run 5” ? My test is that it won’t run.
The following is OK (“run 5” & isn’t at the end of the file):
Sorry, I give you wrong input file.
But What will be if you add a quote after "run 5" ? My test is that it won't
run.
The following is OK ("run 5" & isn't at the end of the file):
variable i equal 0
if "$i==0" then &
"run 100" &
"run 5" &
run 5
But the following will not run ( "run 5" & at the end of the file):
variable i equal 0
if "$i==0" then &
"run 100" &
"run 5" &
so why *should* that work? you tell lammps
that there would be more to come and then
there isn't.
sorry but this is a case of PEBCAC,
axel.
You will have the same problem with any LAMMPS command
which is the last line in the file and ends with a "&", so it
has nothing to do with the if command.
If you added an extra blank line at the end of your script
it would be fine.
When LAMMPS sees the trailing "&" it tries to read another line.
If there is not another line, it triggers LAMMPS to exit, whether
it was in the middle of a multiline command or not.
Steve
Thank you for your help! I will take care of it.
Yours,
Cun