I am trying to perform molecular dynamics on a borophosphate system with the potentials from the Deng and Du article (https://ceramics.onlinelibrary.wiley.com/doi/10.1111/jace.16082). Using short-range buckingham and long-range coulombic. I got a lot of atom loss and range out errors. So I made the splice correction with a script, and I’m using the pair_style table. However, I continue to get these range out errors and loss of atoms, I wanted to understand what I can do. Below is the input and script.
test.py (1.5 KB)
////////////////////////////////////////////////////////////////////////////////////////////
pair_table_full.txt (323.5 KB)
Definir os tipos de átomos
units metal
dimension 3
boundary p p p
processors * * *
#create box
atom_style charge
region box block 0 34.19 0 34.19 0 34.19
create_box 5 box
create_atoms 1 random 700 12345 NULL overlap 1.7 maxtry 200000
create_atoms 2 random 1960 12345 NULL overlap 1.7 maxtry 200000
create_atoms 3 random 280 12345 NULL overlap 1.7 maxtry 200000
create_atoms 4 random 140 12345 NULL overlap 1.7 maxtry 200000
create_atoms 5 random 140 12345 NULL overlap 1.7 maxtry 200000
mass 1 10.811 # B
mass 2 15.9994 # O
mass 3 30.9738 # P
mass 4 39.0983 # K
mass 5 87.62 # Sr
atom charges
set type 1 charge 1.8000 # B
set type 2 charge -1.2000 # O
set type 3 charge 3.0000 # P
set type 4 charge 0.6000 # K
set type 5 charge 1.2000 # Sr
kspace_style ewald 1.0e-5
inter-atomic potential
pair_style hybrid/overlay coul/long 10 table linear 1000 ewald
pair_coeff * * coul/long
pair_coeff 2 2 table pair_table_full.txt O-O 10
pair_coeff 2 4 table pair_table_full.txt K-O 10
pair_coeff 2 5 table pair_table_full.txt Sr-O 10
pair_coeff 2 3 table pair_table_full.txt P-O 10
pair_coeff 1 2 table pair_table_full.txt B-O 10
neighbor 2.0 bin
neigh_modify every 1 check yes
outputs
thermo 1000
thermo_style custom step temp pe press lx density
fix 1 all nve/limit 0.01
Definindo o integrador
timestep 0.005
run 10000
unfix 1
timestep 0.005
reset_timestep 0
fix 1 all box/relax iso 0.0 vmax 0.001
minimize 1e-10 1e-10 1000 10000
unfix 1
write_data relaxed1_configuration.data
Relaxamento a 300 K em NVT
reset_timestep 0
fix 2 all nvt temp 300.0 300.0 100.0
run 10000 # Ajuste o número de passos conforme necessário
unfix 2
Gravação da configuração relaxada
write_data relaxed1_configuration.data
timestep 1
outputs
thermo 1000
thermo_style custom step temp pe press lx density
mixing
minimize 1.0e-8 1.0e-8 10000 10000
fix 1 all nvt temp 300 300 100
run 10000
unfix 1
write_data final.dat
neighbor 2.0 bin
neigh_modify every 1 check yes
timestep 1
outputs
thermo 1000
thermo_style custom step temp pe press lx density
mixing
minimize 1.0e-8 1.0e-8 10000 10000
fix 1 all nvt temp 300 300 100
run 10000
unfix 1
write_data final.dat
////////////////////////////////////////////////////////////////////////////////////////////////////////