Files
lammps-gran-kokkos/examples/PACKAGES/pafi/in.pafi
2025-03-11 16:41:41 -05:00

87 lines
2.0 KiB
Plaintext

units metal
atom_style atomic
atom_modify map array sort 0 0.0
neigh_modify every 2 delay 10 check yes page 1000000 one 100000
## read in path data using fix property/atom- here 4th image of a NEB
fix pa all property/atom d_nx d_ny d_nz d_dnx d_dny d_dnz d_ddnx d_ddny d_ddnz
read_data pafipath.4.data fix pa NULL PafiPath
## EAM potential
pair_style eam/fs
pair_coeff * * Fe_mm.eam.fs Fe
mass * 55.85
thermo 100
min_style fire
compute pe all pe
variable pe equal pe
run 0
print "energy=${pe}"
## compute property/atom to access relevant fields
compute pa all property/atom d_nx d_ny d_nz d_dnx d_dny d_dnz d_ddnx d_ddny d_ddnz
run 0
## fix name group-id pafi compute-id temperature tdamp seed overdamped 0/1 com 0/1
fix hp all pafi pa 500.0 0.01 434 overdamped no com yes
run 0
minimize 0 0 1000 1000 # best if using NEB path
compute dx all displace/atom
compute dmag all reduce max c_dx[4]
variable maxjump equal sqrt(c_dmag)
thermo_style custom step pe temp v_maxjump
variable dn equal f_hp[4]*f_hp[4] # should be zero to float precision
fix af all ave/time 1 1000 1000 f_hp[1] f_hp[2] f_hp[3] v_dn
variable adn equal sqrt(f_af[4]) # should be very small (approx. 1e-6 A)
variable apf equal f_af[1]
run 1000
minimize 0 0 1000 1000
variable s_pe equal ${pe}
variable s_apf equal ${apf}
variable s_adn equal ${adn}
variable s_maxjump equal ${maxjump}
unfix hp
unfix pa
unfix af
minimize 0 0 1000 1000
print """
---------- PAFI RESULTS --------
During run:
Average Distance From Hyperplane = ${s_adn}A (Should be very small, around 1e-5A),
Average Force Projection Along MFEP = ${s_apf} eV/A
"""
print """
In-plane minimization post-run:
energy = ${s_pe} eV
"""
if "${s_maxjump} > 0.1" then &
"print 'Max Atomic Displacement = ${s_maxjump}A > 0.1A'" &
"print ' => Possible shallow in-plane metastability: Reduce time in basin and/or decrease tdamp'" &
else &
"print 'Max Atomic Displacement = ${s_maxjump}A < 0.1A => No in-plane jumps'"
print """
Full minimization after removal of PAFI fixes:
energy = ${pe} eV
----- END PAFI ----
"""