Dr. Axel,
Thanks for your reply. I agree with you that something is wrong.
-
In terms of the domain, I pre-compressed my domain using the info. from the bulk simulation including strain, stress. And to get the velocities, I relaxed the defective domain at 300K and 0 pressure using NPT, then I got the atomic velocities. Checking the potential energy of each atom at the 0ps, I don’t observe a concentration of the potential energy which may indicate the domain is stable.
-
There maybe some stupid mistakes in my input file. However, I can’t find them out. If you can, could you please give it a glance?
this is not very helpful since it is missing files that are read by this input. having the log file would be more helpful.
from looking through the input, there are a few things that stand out. not all of them related to your issue. please see my comments following those lines.
INITIALIZATION
units real
dimension 3
processors * * *
boundary p p p
atom_style full
bond_style harmonic
angle_style harmonic
dihedral_style harmonic
improper_style harmonic
box tilt large
is this really needed? it is not a good idea to do an NPT simulation of a strongly tilted simulation cell. the larger the tilt the more likely that there will be a tendency to “flatten” the cell (as that will become a favorable configuration, especially with long-range electrostatics). in general, it may be better to construct a less tilted or even orthogonal supercell.
read_data data.txt
pair_style born/coul/long 15.0
kspace_style pppm 1.0e-4
1e-4 is a very low convergence. while it is acceptable for constant volume simulations, because there is a lot of error cancellation, it will introduce significant errors for variable cell calculations since stress components are not so easily converged. something like 1e-6 would be better.
include pair_born.dat
special_bonds lj/coul 0.0 0.0 1.0 dihedral yes
why “dihedral yes”?
suffix off
kspace_style pppm 1.0e-4
neighbor 2.0 nsq
why “nsq”? this is rarely an efficient choice unless your system is tiny. and then you may be better off using ewald instead of pppm.
neigh_modify delay 0 every 1 check yes one 100000 page 1000000
why so large values for “one” and “page”? they are like 10x larger than the default? for a normal density system, this should not be needed.
since you seem to be using the GPU package, that setting is irrelevant anyway.
compute 1 all temp
compute PE all pe/atom
compute KE all ke/atom
compute eng all pe/atom
compute eatoms all reduce sum c_eng
compute stress all stress/atom NULL
variable totaleng equal “c_eatoms”
variable p1 equal “-pxx0.000101325"
variable p2 equal "-pyy0.000101325”
variable p3 equal “-pzz0.000101325"
variable p4 equal "-pxy0.000101325”
variable p5 equal “-pxz0.000101325"
variable p6 equal "-pyz0.000101325”
suffix gpu
pair_style buck/coul/long 15.0
include pair_buck.dat
reset_timestep 0
variable stress_xx equal “-2.6176e+04”
variable stress_yy equal “-5.6426e+04”
variable stress_zz equal “-7.3006e+04”
fix 1 all npt temp 300 300 1000 x {stress_xx} {stress_xx} 100000 y {stress_yy} {stress_yy} 100000 z {stress_zz} {stress_zz} 100000
thermo 100
thermo_style custom step pe ke lx ly lz press v_p1 v_p2 v_p3 v_p4 v_p5 v_p6 vol v_beta temp
dump 1 all custom 1000 deform.* id mol type q xu yu zu c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6] vx vy vz ix iy iz c_PE c_KE
run 100000
this run is far too short to have an equilibrated system given the time constants of your fix npt command.
axel.