Dear lammps users,
I would like to simulate point defects in YSZ, Y stabilized ZrO2.
After I ran *NVT* or *NPT* simulation at 273K and 1 bar for relaxation, I
tried to swap Zr atoms with Y atoms in the same ensemble.
there are multiple problems with your input.
please find my comments below.
However, it didn't work well, and i got such error like below;
In case of* NVT*:
Step Temp PotEng f_mcswap2[1] f_mcswap2[2] Lx Ly Lz Press Pxx Pyy Pzz
Volume
0 246.7638 -11900.491 0 0
15.383859 15.383859 15.383859 1804.9412 1668.4532
3541.723 204.6473 3640.7922
10 -nan -nan 10 0
15.383859 15.383859 15.383859 -nan -nan
-nan -nan 3640.7922
ERROR on proc 1: Non-numeric atom coords - simulation unstable
(../domain.cpp:522)
ERROR on proc 2: Non-numeric atom coords - simulation unstable
(../domain.cpp:522)
ERROR on proc 3: Non-numeric atom coords - simulation unstable
(../domain.cpp:522)
ERROR on proc 4: Non-numeric atom coords - simulation unstable
(../domain.cpp:522)
the reason for that is, that your simulation cell is too small for use
with fix atom/swap relative to the cutoffs involved, when fix atom/swap
needs to communicate data.
if you insert a:
replicate 2 2 2
command after read_data, this kind of error should go away. also, running
in serial should avoid the issue.
============================================================
= BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
= EXIT CODE: 1
= CLEANING UP REMAINING PROCESSES
= YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
=======================
In case of *NPT*:
ERROR: Pressure control must be used with fix npt (../fix_npt.cpp:30)
Last command: fix setnpt2 all npt temp 273.0 273.0 0.1
this is incorrect syntax for fix npt. it is missing the pressure control
keyword. it would be correct for fix nvt.
============================================================
= BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
= EXIT CODE: 1
= CLEANING UP REMAINING PROCESSES
= YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
=======================
In those two cases, swapping atoms didn't seem to be preformed.
given that you are a full electron charge difference between the two atom
types in question, swapping is rather unlikely.
I am very happy if anyone give me an advise.
I add the input script below, and also attached an atomic configuration
file.
Thank you in advance.
Shin Kiyohara
*input script #Initialize Simulation --------------------- units metal
dimension 3 boundary p p p atom_style charge atom_modify map array #
---------- Create Atoms --------------------- read_data test.atomin #
---------- Define Interatomic Potential --------------------- kspace_style
ewald 1e-12*
FYI, it is rather meaningless to try a kspace style accuracy beyond 1.e-9,
since the analytical expressions to approximate erfc() are only this
accurate.
* #1:O, 2:Zr, 3:Y pair_style hybrid buck/coul/long 20.0 18.0 coul/long
18.0 pair_coeff 1 1 buck/coul/long 9547.96 0.2192 32.0 #O-O pair_coeff 1
2 buck/coul/long 1502.11 0.3477 5.10 #O-Zr pair_coeff 1 3
buck/coul/long 1766.40 0.33849 19.43 #O-Y pair_coeff 2 2 coul/long #Zr-Zr
pair_coeff 2 3 coul/long #Zr-Y pair_coeff 3 3 coul/long #Y-Y neigh_modify
one 10000 pair_modify table 0 # ---------- Define Settings
--------------------- compute eng all pe
########################################################### #relaxaion of
supercell timestep 0.001 reset_timestep 0 thermo 100 thermo_style custom
step temp pe lx ly lz press pxx pyy pzz vol fix setnpt1 all npt temp 273.0
273.0 0.1 iso 1.0 1.0 0.1** ( in case of NPT)*
please note the syntax error cause by "( in case of NPT)"
*#fix setnpt2 all npt temp 273.0 273.0 0.1 ( in case of NVT)*
please also note the incorrect syntax. for NVT, you must specify "fix nvt"
* velocity nonvacancy create 273.0 1 dist gaussian*
the group "nonvacancy" does not exist.
* run 100000 unfix setnpt1 #atom swapping timestep 0.000005 reset_timestep
0 fix setnpt2 all npt temp 273.0 273.0 0.1 iso 1.0 1.0 0.1 ( in case of
NPT)*
*#fix setnpt2 all npt temp 273.0 273.0 0.1 ( in case of NVT)*
see above about the thermostats.
axel.