Creating triclinic simulation box

Hello LAMMPS community
In the beginning many thanks for your assistances , I tried to create triclinic box but I didn’t success in my purpose. When I opened the dump file it showed me that it was an ortho simulation box !, in below, I drop my LAMMPS code, I’ll be very happy if you tell me in which part I did mistake. Also my data file include triclinic box.
Many thanks

echo both
dimension 3
boundary p p p
units metal
atom_style charge
timestep 0.0001
atom_modify map array sort 0 0.0
neighbor 3.0 nsq
neigh_modify delay 0 every 1 check yes

region 1 prism -4.40215 22.01075 -7.6247474625 15.2494949251 0.0 22.7585 -13.20645 0.0 0.0
create_box 4 1
region 2 prism -4.40215 22.01075 -7.6247474625 15.2494949251 0.0 22.7585 -13.20645 0.0 0.0
read_data NaZr2P3O12.data add append

mass 1 15.9994 #O
mass 2 30.973761 #P
mass 3 91.224 #Zr
mass 4 22.98977 #Na

pair_style lj/cut/coul/long 12 14

pair_coeff 1 1 0.0026 3.500 #O_O

pair_coeff 2 2 0.0132 4.147 #P_P

pair_coeff 3 3 0.003 3.124 #Zr_Zr

pair_coeff 4 4 0.0013 2.983 #Na_Na
pair_modify mix arithmetic
group Oxygen type 1
group phosphorus type 2
group zirconium type 3
group Sodium type 4

set type 1 charge -2.0
set type 2 charge 5.0
set type 3 charge 4.0
set type 4 charge 1.0

kspace_style ewald 1.0e-6
kspace_modify gewald 1.0e-6
dump befor_min all xyz 1 dump(min).xyz
dump_modify befor_min element O P Zr Na

fix MM all box/relax tri 0.0 vmax 0.001
min_style cg

minimize 1.0e-12 1.0e-12 10000 10000
unfix MM
velocity all create 1400 2547913 mom yes rot yes
undump befor_min

dump after_min all xyz 1000 dump.npt.xyz
dump_modify after_min element O P Zr Na
thermo_style custom step temp etotal pxx pyy pzz
thermo 1000
fix NPT all npt temp 1400 1400 0.01 x 0 0 1 y 0 0 1 z 0 0 1 xy 0 0 1 xz 0 0 1 yz 0 0 1
run 1000

It should be visible from the log file whether you were successful.

Update: here is the output I get from running the first few lines of your input:

LAMMPS (22 Dec 2022)
  using 1 OpenMP thread(s) per MPI task
Created triclinic box = (-4.40215 -7.6247475 0) to (22.01075 15.249495 22.7585) with tilt (-13.20645 0 0)
WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (src/domain.cpp:220)

So it obviously works. You may also consider using a supercell geometry to reduce the tilt factor. With classical MD the need for minimal cell geometries is much less than for quantum calculations since the computational cost is so much less.

You are creating xyz file format dump files. Those files do not store the box information thus whatever program you use for visualization has to make an educated guess and cannot know about your box and whether it was supposed to be orthogonal or not. Try using atom style dumps instead.

Thank you very much sir, I’ll try it.
I want to make sure that my simulation box is triclinic, before that I changed my simulation box with “atomsk” to orthogonal although they said the symmetry doesn’t change during this process but I decide to try my simulation without of any changes on my structure.
Is my box triclinic? in log file LAMMPS wrote “triclinic box”

This is a superfluous question. Output your complete system information including the box and you can see by yourself if you don’t trust the LAMMPS output. It is also pointless to ask people that are remote. Not to mention, that when you present your results you cannot say “some dude on the internet said it was so”. That will kill your credibility.

Structure information in my data file:
972 atoms
4 atom types
-4.40215 22.01075 xlo xhi
-7.6247474625 15.2494949251 ylo yhi
0.0 22.7585 zlo zhi
-13.20645 0.0 0.0 xy xz yz
yes!
you’re right.