Structure factor across backends
[1]:
%matplotlib inline
import matplotlib
matplotlib.rcParams['figure.dpi'] = 100
try:
import srxraylib.plot.gol as _gol
_gol.set_qt = lambda: None
except Exception:
pass
[2]:
from crystalpy.diffraction.GeometryType import BraggDiffraction
from crystalpy.diffraction.DiffractionSetupXraylib import DiffractionSetupXraylib
from crystalpy.diffraction.DiffractionSetupDabax import DiffractionSetupDabax
from crystalpy.diffraction.DiffractionSetupShadowPreprocessorV1 import DiffractionSetupShadowPreprocessorV1
from crystalpy.diffraction.DiffractionSetupShadowPreprocessorV2 import DiffractionSetupShadowPreprocessorV2
from dabax.dabax_xraylib import DabaxXraylib
from xoppylib.crystals.create_bragg_preprocessor_file_v1 import create_bragg_preprocessor_file_v1
from xoppylib.crystals.create_bragg_preprocessor_file_v2 import create_bragg_preprocessor_file_v2
import numpy
a = DiffractionSetupXraylib(geometry_type=BraggDiffraction,
crystal_name="Si", thickness=1e-5,
miller_h=1, miller_k=1, miller_l=1,
asymmetry_angle=0.0,
azimuthal_angle=0.0,)
a2 = DiffractionSetupDabax(geometry_type=BraggDiffraction,
crystal_name="Si", thickness=1e-5,
miller_h=1, miller_k=1, miller_l=1,
asymmetry_angle=0.0,
azimuthal_angle=0.0,
dabax=DabaxXraylib())
create_bragg_preprocessor_file_v1(interactive=False,
DESCRIPTOR="Si",
H_MILLER_INDEX=1,
K_MILLER_INDEX=1,
L_MILLER_INDEX=1,
TEMPERATURE_FACTOR=1.0,
E_MIN=5000.0, E_MAX=15000.0, E_STEP=100.0,
SHADOW_FILE="bragg_v1.dat")
a3 = DiffractionSetupShadowPreprocessorV1(geometry_type=BraggDiffraction,
crystal_name="Si", thickness=1e-5,
miller_h=1, miller_k=1, miller_l=1,
asymmetry_angle=0.0,
azimuthal_angle=0.0,
preprocessor_file="bragg_v1.dat")
create_bragg_preprocessor_file_v2(interactive=False,
DESCRIPTOR="Si",
H_MILLER_INDEX=1,
K_MILLER_INDEX=1,
L_MILLER_INDEX=1,
TEMPERATURE_FACTOR=1.0,
E_MIN=5000.0, E_MAX=15000.0, E_STEP=100.0,
SHADOW_FILE="bragg_v2.dat")
a4 = DiffractionSetupShadowPreprocessorV2(geometry_type=BraggDiffraction,
crystal_name="Si", thickness=1e-5,
miller_h=1, miller_k=1, miller_l=1,
asymmetry_angle=0.0,
azimuthal_angle=0.0,
preprocessor_file="bragg_v2.dat")
energy = 8000.0
print("Photon energy: %g deg " % (energy))
print("d_spacing: %g %g %g %g A " % (a.dSpacing(),a2.dSpacing(),a3.dSpacing(),a4.dSpacing()))
print("unitCellVolumw: %g %g %g %g A**3 " % (a.unitcellVolume(),a2.unitcellVolume(),a3.unitcellVolume(),a4.unitcellVolume()))
print("Bragg angle: %g %g %g %g deg " % (a.angleBragg(energy) * 180 / numpy.pi,
a2.angleBragg(energy) * 180 / numpy.pi,
a3.angleBragg(energy) * 180 / numpy.pi,
a4.angleBragg(energy) * 180 / numpy.pi,
))
print("F0 ", a.F0(energy), a2.F0(energy), a3.F0(energy), a4.F0(energy))
print("FH ", a.FH(energy), a2.FH(energy), a3.FH(energy), a4.FH(energy))
print("FH_BAR ", a.FH_bar(energy), a2.FH_bar(energy), a3.FH_bar(energy), a4.FH_bar(energy))
print("PSI0 ", a.psi0(energy), a2.psi0(energy), a3.psi0(energy), a4.psi0(energy))
print("PSIH ", a.psiH(energy), a2.psiH(energy), a3.psiH(energy), a4.psiH(energy))
print("PSIH_bar ", a.psiH_bar(energy), a2.psiH_bar(energy), a3.psiH_bar(energy), a4.psiH_bar(energy))
Unit cell dimensions are 5.430700 5.430700 5.430700
Unit cell angles are 90.000000 90.000000 90.000000
Unit cell volume is 160.164932 A^3
Atoms at:
Z fraction X Y Z
14 1.000000 0.000000 0.000000 0.000000
14 1.000000 0.000000 0.500000 0.500000
14 1.000000 0.500000 0.000000 0.500000
14 1.000000 0.500000 0.500000 0.000000
14 1.000000 0.250000 0.250000 0.250000
14 1.000000 0.250000 0.750000 0.750000
14 1.000000 0.750000 0.250000 0.750000
14 1.000000 0.750000 0.750000 0.250000
File written to disk: bragg_v1.dat
File written to disk: bragg_v2.dat
Photon energy: 8000 deg
d_spacing: 3.13542 3.13542 3.13542 3.13542 A
unitCellVolumw: 160.165 160.165 160.165 160.165 A**3
Bragg angle: 14.3086 14.3086 14.3086 14.3086 deg
F0 (114.0671599778+2.7210611299816887j) [114.36691391+2.62954001j] (114.0671599778+2.721061129984j) (114.0671599778+2.721061129984j)
FH (44.5361940515001-41.81513292151844j) [44.65102865-42.02148864j] (44.536196014226284-41.81513488424231j) (45.20550401662895-42.484442886644956j)
FH_BAR (41.81513292151842+44.536194051500125j) [42.02148864+44.65102865j] (41.81513488424228+44.53619601422631j) (42.484442886644956+45.20550401662895j)
PSI0 (-1.534361936013982e-05-3.660205640452224e-07j) [-1.53839403e-05-3.53709699e-07j] (-1.534361879346813e-05-3.6602055052763464e-07j) (-1.534361879346813e-05-3.6602055052763464e-07j)
PSIH (-5.990737469123762e-06+5.624716905078544e-06j) [-6.00618428e-06+5.65247458e-06j] (-5.990737511887359e-06+5.624716961359728e-06j) (-6.080768743017185e-06+5.71474819248955e-06j)
PSIH_bar (-5.624716905078541e-06-5.9907374691237654e-06j) [-5.65247458e-06-6.00618428e-06j] (-5.624716961359724e-06-5.990737511887362e-06j) (-5.71474819248955e-06-6.080768743017185e-06j)