from core.lattice import Lattice Ca227 = Lattice([7.21, 10.1, 7.39, 90, 90, 90], 'C m c m') n = [1, 1, 1] r = [0.25, 0.25, 0.25] q = [1, 9, 0] E = 10872 azir = [1, 0, 0] MS = [0, 0, 1] Fats = Ca227.genTensor(r, q) print(Fats) Ca227.diffraction(E, [1, 0], n, azir) Ca227.diffract.aziScan(Fats, q) # * Make sure call to genOp is minimized, keep operators in mem. # * Generalise rotTensor for hexagonal, monoclinic and triclinic - # * this requires transforming to an orthogonal basis first # * Restructure OO?
from core.lattice import Lattice # ---- Ca2RuO4 REXS ----- # # create lattice and symmetry Ca214 = Lattice([5.38,5.630,11.722],'P b c a') r = [0,0,0] q = [0,1,3] MS = [0,1,0] # generate ATS and magnetic tensors Fats = Ca214.genTensor(r,q) Fm = Ca214.xrmsTensor(MS) print(Fats," ",Fm) # setup diffraction experiment n = [0,0,1] # crystal surface E = 2967 # energy pol = [1,0] # incident polarisation azir = [0,1,0] # azimuthal reference Ca214.diffraction(E,pol,n,azir) # simulate azimuthal scan Ca214.diffract.aziScan(Fats+0.5*Fm,q)
from core.lattice import Lattice # ---- Pyrite ATS tensor ----- # FeS2 = Lattice([5.417],'P a -3') r = [0,0,0] q = [0,1,1] Fats = FeS2.genTensor(r,q) print(Fats)