def calc_param(coord): """ Calculate octahedral distortion parameters. Parameters ---------- coord : array_like Atomic coordinates of octahedral structure. Returns ------- computed : dict Computed parameters. """ dist = octadist.CalcDistortion(coord) zeta = dist.zeta # Zeta delta = dist.delta # Delta sigma = dist.sigma # Sigma theta = dist.theta # Theta computed = {"zeta": zeta, "delta": delta, "sigma": sigma, "theta": theta} return computed
# The first atom must be metal center atom of octahedral structure. # If not, please see example_2.py for how to handle this issue. atom = ["Fe", "O", "O", "N", "N", "N", "N"] coord = [ [2.298354000, 5.161785000, 7.971898000], # <- Metal atom [1.885657000, 4.804777000, 6.183726000], [1.747515000, 6.960963000, 7.932784000], [4.094380000, 5.807257000, 7.588689000], [0.539005000, 4.482809000, 8.460004000], [2.812425000, 3.266553000, 8.131637000], [2.886404000, 5.392925000, 9.848966000], ] dist = oc.CalcDistortion(coord) zeta = dist.zeta # Zeta delta = dist.delta # Delta sigma = dist.sigma # Sigma theta = dist.theta # Theta print("\nAll computed parameters") print("-----------------------") print("Zeta =", zeta) print("Delta =", delta) print("Sigma =", sigma) print("Theta =", theta) # All computed parameters # ----------------------- # Zeta = 0.22807256171728651
coor = [ [1.885657000, 4.804777000, 6.183726000], [1.747515000, 6.960963000, 7.932784000], [2.298354000, 5.161785000, 7.971898000], # <- Metal atom [4.094380000, 5.807257000, 7.588689000], [0.539005000, 4.482809000, 8.460004000], [2.812425000, 3.266553000, 8.131637000], [2.886404000, 5.392925000, 9.848966000], ] # If the first atom is not metal atom, you can rearrange the sequence # of atom in list using coord.extract_octa method. atom_octa, coord_octa = oc.molecule.extract_octa(atom, coor) dist = oc.CalcDistortion(coord_octa) zeta = dist.zeta # Zeta delta = dist.delta # Delta sigma = dist.sigma # Sigma theta = dist.theta # Theta print("\nAll computed parameters") print("-----------------------") print("Zeta =", zeta) print("Delta =", delta) print("Sigma =", sigma) print("Theta =", theta) # All computed parameters # ----------------------- # Zeta = 0.22807256171728651