Structure type 'Other'

Hello! I’m trying to run a simple compressive stress simulation for a High Entropy Alloy; BCC with lattice parameter of 3.404. But when I load the dump files on Ovito & perform DXA, 779 out of 2000 are shown to have BCC structure and the remaining are ‘Other’ type. At the end of the simulation, 121 have BCC and the remainder are ‘Other’ type. The simulation has been done up to a small timeframe so far & I think for a longer time, all the structure types will be ‘Other’. Is this normal? This is the LAMMPS code:

------------------------ INITIALIZATION ----------------------------

units metal
dimension 3
boundary p p p
atom_style atomic
variable latparam equal 3.404

----------------------- ATOM DEFINITION ----------------------------

lattice bcc ${latparam}
region HEA block 0 10 0 10 0 10
create_box 5 HEA

------------------ Create different types of Atoms --------------------

create_atoms 1 region HEA
set type 1 type/fraction 2 .20 1559
set type 1 type/fraction 3 .25 7869
set type 1 type/fraction 4 .333333 3692
set type 1 type/fraction 5 .50 8016

------------------------ FORCE FIELDS ------------------------------

pair_style meam
pair_coeff * * library.meam Hf Nb Ta Ti Zr HfNbTaTiZr.meam Hf Nb Ta Ti Zr
neighbor 2.0 bin
neigh_modify delay 10 check yes

------------------------- SETTINGS ---------------------------------

compute csym all centro/atom bcc
compute potatom all pe/atom

######################################

EQUILIBRATION

reset_timestep 0
timestep 0.001

minimize 1e-4 1e- 100 1000

velocity all create 300 12345 mom yes rot no
fix 1 all npt temp 300 300 1 iso 0 0 1 drag 1

Set thermo output

thermo 500
thermo_style custom step lx ly lz press pxx pyy pzz pe temp

dump 1 all cfg 250 dump.hnttz_T1-3_velocity.comp_*.cfg mass type xs ys zs c_csym c_potatom fx fy fz

Run for at least 10 picosecond (assuming 1 fs timestep)

run 50000
unfix 1

Store final cell length for strain calculations

variable tmp equal “lx”
variable L0 equal {tmp} print "Initial Length, L0: {L0}"

######################################

DEFORMATION

reset_timestep 0

fix 1 all npt temp 300 300 1 y 0 0 1 z 0 0 1 drag 1
variable srate equal 1.0e10
variable srate1 equal “-v_srate / 1.0e12”
fix 2 all deform 1 x erate ${srate1} units box remap x

Output strain and stress info to file

for units metal, pressure is in [bars] = 100 [kPa] = 1/10000 [GPa]

p2, p3, p4 are in GPa

variable strain equal “(lx - v_L0)/v_L0”
variable p1 equal “v_strain”
variable p2 equal “-pxx/10000”
variable p3 equal “-pyy/10000”
variable p4 equal “-pzz/10000”
fix def1 all print 100 “{p1} {p2} {p3} {p4}” file hnttz_T1-3_comp.def1.txt screen no

Use cfg for AtomEye

dump 2 all cfg 250 dump.hnttz_T1-3_strain.comp_*.cfg mass type xs ys zs c_csym c_potatom fx fy fz

Display thermo

thermo 500
thermo_style custom step v_strain temp v_p2 v_p3 v_p4 ke pe press

run 50000

SIMULATION DONE

print “All done”

The DXA function in OVITO internally runs the CNA routine to identify crystalline atoms. CNA may fail to identify perfect atoms if the lattice distortions (common in HEAs) become too large – similar to how the identification breaks down in the presence of large atomic displacements at high temperatures close to the melting point.

Have you already tried running the PTM identification method on your system instead? PTM is designed to tolerate larger perturbations. It would be interesting to see if it finds a larger fraction of BCC atoms.

Typically, DXA is able to identify dislocations successfully even if the underlying CNA step fails to identify a large fraction of atoms as crystalline. DXA’s tolerance and robustness are naturally limited though. If almost no atoms are recognized as crystalline, then at some point DXA can also no longer find any dislocations.

But just as a general cautionary note: Of course, you should first make sure that your system actually remains in the BCC phase, i.e., it is not transitioning to a liquid, amorphous, or other kind of structural state. Things like that can easily happen in MD simulations if the model is not set up correctly.

Thanks for the suggestion mate. I have tried the PTM & it doesn’t solve the problem at all. A portion of the BCC atoms are now being identified as HCP; but the amount of ‘Other’ type remains same. I think there are some issues with the code. The original code that I downloaded from Wiki was for uniaxial compression of a single metal. I’ve tried to modify it for a 5-element alloy, but probably I am missing out on some other data/code that must be incorporated for multiple elements. I will be grateful if you could kindly find the issue. :blush:

** Some lines such as “Variable L0 equal …” have been deformed a bit due to direct copy-paste from Notepad++. This isn’t a problem. I’m looking for the faults in logistics & such

It’s probably smart then if you move this question to the LAMMPS forum so it gets noticed by more people from the right community. Here in the OVITO forum we cannot really help you with the debugging of a LAMMPS simulation script.

1 Like

Are you certain that this alloy should be in a BCC or other lattice configuration at 300K? Have there been experiments to verify this?

Regardless, if this was in the LAMMPS forum, Axel would probably say something like, “LAMMPS is running your simulation exactly as you told it to. Whether or not this represents your expected results is a part of the research process, and is a matter for your adviser/tutor/collaborator s.”

1 Like

You’ve raised a very good point. There is a paper from Oleg Senkov which is based on experimental results where it is stated that this alloy achieves a stable BCC state at 1473K after going through Hot Isostatic Pressing. But it was also stated that opinion on stability at RT would require further study. I didn’t really notice that & I apologize.

I will post the code on LAMMPS forum anyway just to be sure… but I think I might have found the biggest issue. Thanks a lot