Structure Refinement: YAlO3+Al2O3, SPODI¶
This example demonstrates a staged two-phase Rietveld refinement of yttrium aluminium perovskite YAlO3 (or YAP) with a small Al2O3 impurity using constant wavelength neutron powder diffraction data measured at 3 K on SPODI at MLZ.
The workflow defines both structures, configures the experiment, and refines the cell, scale, profile, background, and atom parameters of both phases in stages.
🛠️ Import Library¶
import easydiffraction as edi
project = edi.Project(
name='yap_3k',
description='Two-phase YAlO3 and Al2O3 refinement using 3 K data from SPODI at MLZ.',
)
Save Initial Project¶
project.save_as(dir_path='projects/refine-yap-3k')
Saving project 📦 'yap_3k' to '../../../projects/refine-yap-3k'
├── 📄 project.edi
├── 📁 structures/
├── 📁 experiments/
├── 📁 analysis/
│ └── 📄 analysis.edi
└── 📁 reports/
└── 📄 yap_3k.html
🧩 Define Structures¶
Create Structure 1: YAlO3¶
Preserve the orthorhombic Pbnm setting used in FullProf. In
EasyDiffraction this is represented by the standard space-group
symbol P n m a with coordinate-system code cab. The cell axes and
atom coordinates below therefore stay in the original Pbnm setting.
FullProf's PCR occupancies include the site multiplicity divided by the general-position multiplicity. Here each atom site is fully occupied: the PCR values 0.5 for Y, Al, and O1, and 1.0 for O2, all become an occupancy of 1.0. Displacement parameters are entered as Biso, matching the PCR file.
yap_cif = """
data_yap
_cell.length_a 5.18
_cell.length_b 5.33
_cell.length_c 7.37
_cell.angle_alpha 90.
_cell.angle_beta 90.
_cell.angle_gamma 90.
_space_group.name_h_m "P n m a"
_space_group.coord_system_code cab
loop_
_atom_site.id
_atom_site.type_symbol
_atom_site.fract_x
_atom_site.fract_y
_atom_site.fract_z
_atom_site.occupancy
_atom_site.adp_iso
_atom_site.adp_type
Y Y 0.0100 0.5500 0.2500 1.0 0.12 Biso
Al Al 0.0000 0.0000 0.0000 1.0 0.13 Biso
O1 O -0.0800 -0.0200 0.2500 1.0 0.06 Biso
O2 O 0.2000 0.2900 0.0400 1.0 0.14 Biso
"""
project.structures.add_from_cif_str(yap_cif)
yap = project.structures['yap']
Display Structure 1: YAlO3¶
yap.show_as_text()
Structure 🧩 'yap' as text
| Edi | |
|---|---|
| 1 | data_yap |
| 2 | |
| 3 | _cell.length_a 5.18 |
| 4 | _cell.length_b 5.33 |
| 5 | _cell.length_c 7.37 |
| 6 | _cell.angle_alpha 90. |
| 7 | _cell.angle_beta 90. |
| 8 | _cell.angle_gamma 90. |
| 9 | |
| 10 | _space_group.name_h_m "P n m a" |
| 11 | _space_group.coord_system_code cab |
| 12 | |
| 13 | _geom.min_bond_distance_cutoff 0. |
| 14 | _geom.bond_distance_inc 0.25 |
| 15 | |
| 16 | loop_ |
| 17 | _atom_site.id |
| 18 | _atom_site.type_symbol |
| 19 | _atom_site.fract_x |
| 20 | _atom_site.fract_y |
| 21 | _atom_site.fract_z |
| 22 | _atom_site.wyckoff_letter |
| 23 | _atom_site.multiplicity |
| 24 | _atom_site.occupancy |
| 25 | _atom_site.adp_iso |
| 26 | _atom_site.adp_type |
| 27 | Y Y 0.01 0.55 0.25 c 4 1. 0.12 Biso |
| 28 | Al Al 0. 0. 0. a 4 1. 0.13 Biso |
| 29 | O1 O -0.08 -0.02 0.25 c 4 1. 0.06 Biso |
| 30 | O2 O 0.2 0.29 0.04 d 8 1. 0.14 Biso |
project.display.structure(struct_name='yap')
Structure 🧩 'yap' (Atom view type: 'covalent')
wheel = zoom
right-drag = pan
Create Structure 2: Al2O3¶
Define the corundum impurity in the hexagonal setting of R-3c. The FullProf PCR occupancies of 2/3 for Al and 1 for O also describe fully occupied sites. Refine its two independent cell lengths, Al z and O x coordinates, and both Biso values, as specified by the PCR codewords. The PCR contains a negative Al Biso. EasyDiffraction requires a nonnegative input value, so start this parameter at 0.1 Ų and refine it alongside O Biso.
alumina = edi.StructureFactory.from_scratch(name='alumina')
Set Space Group¶
alumina.space_group.name_h_m = 'R -3 c'
alumina.space_group.coord_system_code = 'h'
Set Unit Cell¶
alumina.cell.length_a = 4.75
alumina.cell.length_c = 12.95
Set Atom Sites¶
alumina.atom_sites.create(
id='Al1',
type_symbol='Al',
fract_x=0.0,
fract_y=0.0,
fract_z=0.33351,
occupancy=1.0,
adp_type='Biso',
adp_iso=0.1,
)
alumina.atom_sites.create(
id='O1',
type_symbol='O',
fract_x=0.3503,
fract_y=0.0,
fract_z=0.25,
occupancy=1.0,
adp_type='Biso',
adp_iso=1.22884,
)
project.structures.add(alumina)
Display Structure 2: Al2O3¶
alumina.show_as_text()
Structure 🧩 'alumina' as text
| Edi | |
|---|---|
| 1 | data_alumina |
| 2 | |
| 3 | _cell.length_a 4.75 |
| 4 | _cell.length_b 4.75 |
| 5 | _cell.length_c 12.95 |
| 6 | _cell.angle_alpha 90. |
| 7 | _cell.angle_beta 90. |
| 8 | _cell.angle_gamma 120. |
| 9 | |
| 10 | _space_group.name_h_m "R -3 c" |
| 11 | _space_group.coord_system_code h |
| 12 | |
| 13 | _geom.min_bond_distance_cutoff 0. |
| 14 | _geom.bond_distance_inc 0.25 |
| 15 | |
| 16 | loop_ |
| 17 | _atom_site.id |
| 18 | _atom_site.type_symbol |
| 19 | _atom_site.fract_x |
| 20 | _atom_site.fract_y |
| 21 | _atom_site.fract_z |
| 22 | _atom_site.wyckoff_letter |
| 23 | _atom_site.multiplicity |
| 24 | _atom_site.occupancy |
| 25 | _atom_site.adp_iso |
| 26 | _atom_site.adp_type |
| 27 | Al1 Al 0. 0. 0.33351 c 12 1. 0.1 Biso |
| 28 | O1 O 0.3503 0. 0.25 e 18 1. 1.22884 Biso |
project.display.structure(struct_name='alumina')
Structure 🧩 'alumina' (Atom view type: 'covalent')
wheel = zoom
right-drag = pan
data_path = edi.download_data('meas-yap-spodi', destination='data')
Getting data...
Data 'meas-yap-spodi': YAlO3 + Al2O3, SPODI (MLZ), 3 K
✅ Data 'meas-yap-spodi' downloaded to '../../../data/meas-yap-spodi.xye'
project.experiments.add_from_data_path(
name='yap_3k',
data_path=data_path,
sample_form='powder',
beam_mode='constant wavelength',
radiation_probe='neutron',
)
Data loaded successfully
Experiment 🔬 'yap_3k'. Number of data points: 3000.
expt = project.experiments['yap_3k']
Set Instrument¶
Use the neutron wavelength reported for the SPODI dataset and start with zero 2-theta offset.
expt.instrument.setup_wavelength = 1.54816
expt.instrument.calib_twotheta_offset = 0.0
Set Peak Profile¶
Use a pseudo-Voigt profile with Bérar-Baldinozzi asymmetry.
expt.peak.show_supported()
Peak types
| Type | Description | ||
|---|---|---|---|
| 1 | * | pseudo-voigt | CWL pseudo-Voigt profile |
| 2 | pseudo-voigt + berar-baldinozzi asymmetry | CWL pseudo-Voigt profile with Berar-Baldinozzi asymmetry correction. |
expt.peak.type = 'pseudo-voigt + berar-baldinozzi asymmetry'
⚠️ Switching peak profile type adds these settings with defaults: • asym_beba_a0=0.0 • asym_beba_a1=0.0 • asym_beba_b0=0.0 • asym_beba_b1=0.0
Peak profile type for experiment 'yap_3k' changed to
pseudo-voigt + berar-baldinozzi asymmetry
expt.peak.broad_gauss_u = 0.04
expt.peak.broad_gauss_v = -0.05
expt.peak.broad_gauss_w = 0.10
expt.peak.broad_lorentz_x = 0.0
expt.peak.broad_lorentz_y = 0.01
expt.peak.asym_beba_a0 = 0.0
expt.peak.asym_beba_b0 = 0.0
expt.peak.asym_beba_a1 = 0.0
expt.peak.asym_beba_b1 = 0.0
expt.peak.cutoff_fwhm = 8.0
Set Absorption¶
Apply the cylindrical-sample Hewat correction with the absorption radius product from FullProf.
expt.absorption.type = 'cylinder-hewat'
expt.absorption.mu_r = 0.0221
Absorption type changed to
cylinder-hewat
Set Excluded Regions¶
expt.excluded_regions.create(id='1', start=0.0, end=4.0)
expt.excluded_regions.create(id='2', start=153.95, end=180.0)
Set Background¶
Estimate the initial line-segment background from the measured pattern. This first estimate does not use a calculated structural model.
expt.background.auto_estimate(use_model=False)
expt.background.show()
Line-segment background points
| Position | Intensity | |
|---|---|---|
| 1 | 4.05000 | 1303.00000 |
| 2 | 5.95000 | 2193.97204 |
| 3 | 18.20000 | 1997.00000 |
| 4 | 37.35000 | 2147.12282 |
| 5 | 47.70000 | 2092.00000 |
| 6 | 59.25000 | 1977.00000 |
| 7 | 151.95000 | 3468.48635 |
Set Linked Structures¶
Give each phase an independent scale factor. Scale factors are fitted intensity multipliers, rather than phase weight fractions.
expt.linked_structures.create(structure_id='yap', scale=30)
expt.linked_structures.create(structure_id='alumina', scale=0.1)
expt.show_as_text()
Experiment 🔬 'yap_3k' as text
| Edi | |
|---|---|
| 1 | data_yap_3k |
| 2 | |
| 3 | _experiment_type.sample_form powder |
| 4 | _experiment_type.beam_mode "constant wavelength" |
| 5 | _experiment_type.radiation_probe neutron |
| 6 | _experiment_type.scattering_type bragg |
| 7 | |
| 8 | _diffrn.ambient_temperature ? |
| 9 | _diffrn.ambient_pressure ? |
| 10 | _diffrn.ambient_magnetic_field ? |
| 11 | _diffrn.ambient_electric_field ? |
| 12 | |
| 13 | _calculator.type cryspy |
| 14 | |
| 15 | _peak.asym_beba_a0 0. |
| 16 | _peak.asym_beba_b0 0. |
| 17 | _peak.asym_beba_a1 0. |
| 18 | _peak.asym_beba_b1 0. |
| 19 | _peak.broad_gauss_u 0.04 |
| 20 | _peak.broad_gauss_v -0.05 |
| 21 | _peak.broad_gauss_w 0.1 |
| 22 | _peak.broad_lorentz_x 0. |
| 23 | _peak.broad_lorentz_y 0.01 |
| 24 | _peak.cutoff_fwhm 8. |
| 25 | _peak.type cwl-pseudo-voigt-berar-baldinozzi-asymmetry |
| 26 | |
| 27 | _instrument.setup_wavelength 1.54816 |
| 28 | _instrument.setup_wavelength_2 0. |
| 29 | _instrument.setup_wavelength_2_to_1_ratio 0. |
| 30 | _instrument.calib_twotheta_offset 0. |
| 31 | _instrument.calib_sample_displacement 0. |
| 32 | _instrument.calib_sample_transparency 0. |
| 33 | |
| 34 | _absorption.type cylinder-hewat |
| 35 | _absorption.mu_r 0.0221 |
| 36 | |
| 37 | loop_ |
| 38 | _linked_structure.structure_id |
| 39 | _linked_structure.scale |
| 40 | yap 30 |
| 41 | alumina 0.1 |
| 42 | |
| 43 | loop_ |
| 44 | _excluded_region.id |
| 45 | _excluded_region.start |
| 46 | _excluded_region.end |
| 47 | 1 0. 4. |
| 48 | 2 153.95 180. |
| 49 | |
| 50 | _background.type line-segment |
| 51 | |
| 52 | loop_ |
| 53 | _background.id |
| 54 | _background.position |
| 55 | _background.intensity |
| 56 | 1 4.05 1303. |
| 57 | 2 5.95 2193.97203967 |
| 58 | 3 18.2 1997. |
| 59 | 4 37.35 2147.12281802 |
| 60 | 5 47.7 2092. |
| 61 | 6 59.25 1977. |
| 62 | 7 151.95 3468.48635134 |
| 63 | |
| 64 | loop_ |
| 65 | _data.two_theta |
| 66 | _data.id |
| 67 | _data.d_spacing |
| 68 | _data.intensity_meas |
| 69 | _data.intensity_meas_su |
| 70 | _data.intensity_calc |
| 71 | _data.intensity_bkg |
| 72 | _data.calc_status |
| 73 | 2. 1 0. 0. 1. 0. 0. excl |
| 74 | 2.05 2 0. 0. 1. 0. 0. excl |
| 75 | 2.1 3 0. 0. 1. 0. 0. excl |
| 76 | 2.15 4 0. 0. 1. 0. 0. excl |
| 77 | 2.2 5 0. 0. 1. 0. 0. excl |
| 78 | 2.25 6 0. 0. 1. 0. 0. excl |
| 79 | 2.3 7 0. 0. 1. 0. 0. excl |
| 80 | 2.35 8 0. 0. 1. 0. 0. excl |
| 81 | 2.4 9 0. 0. 1. 0. 0. excl |
| 82 | 2.45 10 0. 0. 1. 0. 0. excl |
| 83 | ... |
| 84 | 151.5 2991 0.79865385 3354. 57. 4902.79239884 3461.24612633 incl |
| 85 | 151.55 2992 0.79856544 3438. 58. 4938.57755495 3462.05059578 incl |
| 86 | 151.6 2993 0.79847719 3441. 58. 4948.05195479 3462.85506522 incl |
| 87 | 151.65 2994 0.79838912 3396. 58. 4927.349773 3463.65953467 incl |
| 88 | 151.7 2995 0.79830122 3429. 58. 4876.02736329 3464.46400411 incl |
| 89 | 151.75 2996 0.79821349 3448. 58. 4796.74526503 3465.26847356 incl |
| 90 | 151.8 2997 0.79812593 3532. 59. 4694.51730196 3466.072943 incl |
| 91 | 151.85 2998 0.79803854 3693. 60. 4575.78062248 3466.87741245 incl |
| 92 | 151.9 2999 0.79795132 3780. 61. 4447.50441615 3467.68188189 incl |
| 93 | 151.95 3000 0.79786427 3784. 61. 4316.44341414 3468.48635134 incl |
| 94 | |
| 95 | loop_ |
| 96 | _refln.id |
| 97 | _refln.structure_id |
| 98 | _refln.d_spacing |
| 99 | _refln.sin_theta_over_lambda |
| 100 | _refln.index_h |
| 101 | _refln.index_k |
| 102 | _refln.index_l |
| 103 | _refln.f_calc |
| 104 | _refln.f_squared_calc |
| 105 | _refln.two_theta |
| 106 | 1 yap 7.37 0.06784261 0 0 1 0. 0. 12.05792913 |
| 107 | 2 yap 5.33 0.09380863 0 1 0 0. 0. 16.7012855 |
| 108 | 3 yap 5.18 0.0965251 1 0 0 0. 0. 17.18852072 |
| 109 | 4 yap 4.31891055 0.11576994 0 1 1 0. 0. 20.64987025 |
| 110 | 5 yap 4.23794054 0.11798183 1 0 1 0.17288679 0.02988984 21.0488605 |
| 111 | 6 yap 3.71471093 0.13459998 1 1 0 0.10027655 0.01005539 24.05513521 |
| 112 | 7 yap 3.685 0.13568521 0 0 2 0.02219992 0.00049284 24.25201992 |
| 113 | 8 yap 3.31717219 0.15073079 1 1 1 0.86359044 0.74578846 26.98939657 |
| 114 | 9 yap 3.03110835 0.16495616 0 1 2 0. 0. 29.5920322 |
| 115 | 10 yap 3.00271487 0.16651598 1 0 2 0. 0. 29.878338 |
| 116 | ... |
| 117 | 365 alumina 0.81930006 0.61027702 4 -1 11 1.19108015 1.41867193 141.75014806 |
| 118 | 366 alumina 0.81616218 0.61262334 5 0 2 4.22226892 17.82755481 143.04165903 |
| 119 | 367 alumina 0.81529214 0.6132771 5 -2 -8 0.52947251 0.28034113 143.40934214 |
| 120 | 368 alumina 0.81138823 0.61622782 2 -1 15 5.6072072 31.44077264 145.11538603 |
| 121 | 369 alumina 0.80534833 0.62084936 4 0 10 0.67018386 0.44914641 147.96362502 |
| 122 | 370 alumina 0.79864545 0.62606004 4 -2 12 0.91581608 0.8387191 151.50474768 |
| 123 | 371 alumina 0.79738004 0.62705357 5 0 -4 0.18323927 0.03357663 152.22995668 |
| 124 | 372 alumina 0.79495324 0.62896781 3 -1 -14 2.05217352 4.21141616 153.68237943 |
| 125 | 373 alumina 0.79414921 0.6296046 1 0 16 2.43194259 5.91434477 154.18330783 |
| 126 | 374 alumina 0.79166667 0.63157895 6 -3 0 9.73709759 94.8110695 155.80110779 |
project.display.pattern(expt_name='yap_3k')
project.display.pattern(expt_name='yap_3k', x_min=134, x_max=146)
Select Calculator¶
expt.calculator.show_supported()
Calculator types
| Type | Description | ||
|---|---|---|---|
| 1 | crysfml | CrysFML library for crystallographic calculations | |
| 2 | * | cryspy | CrysPy library for crystallographic calculations |
expt.calculator.type = 'cryspy'
Calculator for experiment 'yap_3k' already set to
cryspy
Select Minimizer¶
project.analysis.minimizer.show_supported()
Minimizer types
| Type | Description | ||
|---|---|---|---|
| 1 | bumps | BUMPS library using the default Levenberg-Marquardt method | |
| 2 | bumps (amoeba) | BUMPS library with Nelder-Mead simplex method | |
| 3 | bumps (de) | BUMPS library with differential evolution method | |
| 4 | bumps (dream) | BUMPS library with DREAM Bayesian sampling | |
| 5 | bumps (lm) | BUMPS library with Levenberg-Marquardt method | |
| 6 | dfols | DFO-LS library for derivative-free least-squares optimization | |
| 7 | emcee | emcee affine-invariant ensemble Bayesian sampling | |
| 8 | lmfit | LMFIT library using the default Levenberg-Marquardt method | |
| 9 | lmfit (least_squares) | LMFIT library with SciPy's trust region reflective algorithm | |
| 10 | * | lmfit (leastsq) | LMFIT library with Levenberg-Marquardt least squares method |
project.analysis.minimizer.type = 'bumps (lm)'
⚠️ Switching minimizer type removes these settings: • gradient_tolerance
Current minimizer changed to
bumps (lm)
project.analysis.minimizer.max_iterations = 500
project.analysis.minimizer.chi_square_change_tolerance = 1e-2
Perform Fit 1/3: Cell, Scale, and Background¶
First refine the independent cell lengths of both phases, both phase scales, the instrument zero offset, and the automatically estimated background intensities. Hexagonal symmetry couples the Al2O3 b length to a, leaving only a and c independent.
yap.cell.length_a.free = True
yap.cell.length_b.free = True
yap.cell.length_c.free = True
alumina.cell.length_a.free = True
alumina.cell.length_c.free = True
expt.linked_structures['yap'].scale.free = True
expt.linked_structures['alumina'].scale.free = True
expt.instrument.calib_twotheta_offset.free = True
for point in expt.background:
point.intensity.free = True
project.display.parameters.free()
Free parameters for both structures (🧩 data blocks) and experiments (🔬 data blocks)
| datablock | category | entry | parameter | value | uncertainty | min | max | units | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | yap | cell | length_a | 5.18000 | -inf | inf | Å | ||
| 2 | yap | cell | length_b | 5.33000 | -inf | inf | Å | ||
| 3 | yap | cell | length_c | 7.37000 | -inf | inf | Å | ||
| 4 | alumina | cell | length_a | 4.75000 | -inf | inf | Å | ||
| 5 | alumina | cell | length_c | 12.95000 | -inf | inf | Å | ||
| 6 | yap_3k | linked_structure | yap | scale | 30.00000 | -inf | inf | ||
| 7 | yap_3k | linked_structure | alumina | scale | 0.10000 | -inf | inf | ||
| 8 | yap_3k | instrument | twotheta_offset | 0.00000 | -inf | inf | deg | ||
| 9 | yap_3k | background | 1 | intensity | 1303.00000 | -inf | inf | ||
| 10 | yap_3k | background | 2 | intensity | 2193.97204 | -inf | inf | ||
| 11 | yap_3k | background | 3 | intensity | 1997.00000 | -inf | inf | ||
| 12 | yap_3k | background | 4 | intensity | 2147.12282 | -inf | inf | ||
| 13 | yap_3k | background | 5 | intensity | 2092.00000 | -inf | inf | ||
| 14 | yap_3k | background | 6 | intensity | 1977.00000 | -inf | inf | ||
| 15 | yap_3k | background | 7 | intensity | 3468.48635 | -inf | inf |
project.analysis.fit()
Standard fitting
📋 Using experiment 🔬 'yap_3k' for 'single' fitting
🚀 Starting fit process with 'bumps (lm)'...
📈 Goodness-of-fit progress:
| iteration | time (s) | χ² | change / status | |
|---|---|---|---|---|
| 1 | 1 | 0.37 | 1170.67 | |
| 2 | 17 | 2.61 | 266.00 | 77.3% ↓ |
| 3 | 33 | 4.80 | 74.80 | 71.9% ↓ |
| 4 | 49 | 7.37 | 66.39 | 11.3% ↓ |
| 5 | 67 | 17.89 | 66.03 |
🏆 Best goodness-of-fit (reduced χ²) is 66.03 at iteration 67
✅ Fitting complete.
project.display.fit.results()
⚙️ Settings used:
| Name | Value | Description | |
|---|---|---|---|
| 1 | max_iterations | 500 | Maximum solver iterations. |
| 2 | chi_square_change_tolerance | 0.01 | Relative change in the objective (chi-square) used to stop fitting. |
| 3 | parameter_change_tolerance | 1e-08 | Relative change in fitted parameters used to stop fitting. |
📋 Least-squares fit results:
| Metric | Value | |
|---|---|---|
| 1 | 🧪 Minimizer | bumps (lm) |
| 2 | ✅ Overall status | success |
| 3 | ⏱️ Fitting time (seconds) | 17.89 |
| 4 | 📏 Goodness-of-fit (reduced χ²) | 66.03 |
| 5 | 📏 R-factor (Rf, %) | 8.19 |
| 6 | 📏 R-factor squared (Rf², %) | 10.54 |
| 7 | 📏 Weighted R-factor (wR, %) | 10.63 |
📈 Refined parameters:
| datablock | category | entry | parameter | units | start | value | s.u. | change | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | yap | cell | length_a | Å | 5.1800 | 5.1736 | 0.0001 | 0.12 % ↓ | |
| 2 | yap | cell | length_b | Å | 5.3300 | 5.3278 | 0.0001 | 0.04 % ↓ | |
| 3 | yap | cell | length_c | Å | 7.3700 | 7.3624 | 0.0001 | 0.10 % ↓ | |
| 4 | alumina | cell | length_a | Å | 4.7500 | 4.7556 | 0.0012 | 0.12 % ↑ | |
| 5 | alumina | cell | length_c | Å | 12.9500 | 12.9893 | 0.0063 | 0.30 % ↑ | |
| 6 | yap_3k | linked_structure | yap | scale | 30.0000 | 27.0708 | 0.0851 | 9.76 % ↓ | |
| 7 | yap_3k | linked_structure | alumina | scale | 0.1000 | 0.1940 | 0.0166 | 93.98 % ↑ | |
| 8 | yap_3k | instrument | twotheta_offset | deg | 0.0000 | 0.0044 | 0.0010 | N/A | |
| 9 | yap_3k | background | 1 | intensity | 1303.0000 | 1364.5791 | 89.8261 | 4.73 % ↑ | |
| 10 | yap_3k | background | 2 | intensity | 2193.9720 | 2366.3256 | 42.1391 | 7.86 % ↑ | |
| 11 | yap_3k | background | 3 | intensity | 1997.0000 | 2014.4755 | 28.6320 | 0.88 % ↑ | |
| 12 | yap_3k | background | 4 | intensity | 2147.1228 | 2231.3583 | 33.2468 | 3.92 % ↑ | |
| 13 | yap_3k | background | 5 | intensity | 2092.0000 | 2238.6534 | 39.8940 | 7.01 % ↑ | |
| 14 | yap_3k | background | 6 | intensity | 1977.0000 | 2069.8340 | 21.0995 | 4.70 % ↑ | |
| 15 | yap_3k | background | 7 | intensity | 3468.4864 | 2414.2626 | 24.4757 | 30.39 % ↓ |
• value = refined value from least-squares minimization
• s.u. = standard uncertainty (one sigma), from the covariance matrix
• change = relative change from start, in %; ↑ = increase, ↓ = decrease
Perform Fit 2/3: Peak Profile¶
Add the Gaussian and Lorentzian broadening and asymmetry parameters to the refinement. The background intensities remain free.
expt.peak.broad_gauss_u.free = True
expt.peak.broad_gauss_v.free = True
expt.peak.broad_gauss_w.free = True
expt.peak.broad_lorentz_y.free = True
expt.peak.asym_beba_a0.free = True
# expt.peak.asym_beba_b0.free = True
# expt.peak.asym_beba_a1.free = True
expt.peak.asym_beba_b1.free = True
project.display.parameters.free()
Free parameters for both structures (🧩 data blocks) and experiments (🔬 data blocks)
| datablock | category | entry | parameter | value | uncertainty | min | max | units | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | yap | cell | length_a | 5.17364 | 0.00007 | -inf | inf | Å | |
| 2 | yap | cell | length_b | 5.32778 | 0.00007 | -inf | inf | Å | |
| 3 | yap | cell | length_c | 7.36239 | 0.00010 | -inf | inf | Å | |
| 4 | alumina | cell | length_a | 4.75560 | 0.00119 | -inf | inf | Å | |
| 5 | alumina | cell | length_c | 12.98925 | 0.00626 | -inf | inf | Å | |
| 6 | yap_3k | linked_structure | yap | scale | 27.07084 | 0.08509 | -inf | inf | |
| 7 | yap_3k | linked_structure | alumina | scale | 0.19398 | 0.01660 | -inf | inf | |
| 8 | yap_3k | peak | asym_beba_a0 | 0.00000 | -inf | inf | |||
| 9 | yap_3k | peak | asym_beba_b1 | 0.00000 | -inf | inf | |||
| 10 | yap_3k | peak | broad_gauss_u | 0.04000 | -inf | inf | deg² | ||
| 11 | yap_3k | peak | broad_gauss_v | -0.05000 | -inf | inf | deg² | ||
| 12 | yap_3k | peak | broad_gauss_w | 0.10000 | -inf | inf | deg² | ||
| 13 | yap_3k | peak | broad_lorentz_y | 0.01000 | -inf | inf | deg | ||
| 14 | yap_3k | instrument | twotheta_offset | 0.00445 | 0.00096 | -inf | inf | deg | |
| 15 | yap_3k | background | 1 | intensity | 1364.57909 | 89.82607 | -inf | inf | |
| 16 | yap_3k | background | 2 | intensity | 2366.32560 | 42.13908 | -inf | inf | |
| 17 | yap_3k | background | 3 | intensity | 2014.47546 | 28.63205 | -inf | inf | |
| 18 | yap_3k | background | 4 | intensity | 2231.35827 | 33.24678 | -inf | inf | |
| 19 | yap_3k | background | 5 | intensity | 2238.65341 | 39.89401 | -inf | inf | |
| 20 | yap_3k | background | 6 | intensity | 2069.83400 | 21.09954 | -inf | inf | |
| 21 | yap_3k | background | 7 | intensity | 2414.26259 | 24.47574 | -inf | inf |
project.analysis.fit()
Standard fitting
📋 Using experiment 🔬 'yap_3k' for 'single' fitting
🚀 Starting fit process with 'bumps (lm)'...
📈 Goodness-of-fit progress:
| iteration | time (s) | χ² | change / status | |
|---|---|---|---|---|
| 1 | 1 | 0.15 | 66.17 | |
| 2 | 23 | 4.77 | 59.24 | 10.5% ↓ |
| 3 | 45 | 9.89 | 58.60 | 1.1% ↓ |
| 4 | 69 | 22.28 | 58.50 |
🏆 Best goodness-of-fit (reduced χ²) is 58.50 at iteration 69
✅ Fitting complete.
project.display.fit.results()
⚙️ Settings used:
| Name | Value | Description | |
|---|---|---|---|
| 1 | max_iterations | 500 | Maximum solver iterations. |
| 2 | chi_square_change_tolerance | 0.01 | Relative change in the objective (chi-square) used to stop fitting. |
| 3 | parameter_change_tolerance | 1e-08 | Relative change in fitted parameters used to stop fitting. |
📋 Least-squares fit results:
| Metric | Value | |
|---|---|---|
| 1 | 🧪 Minimizer | bumps (lm) |
| 2 | ✅ Overall status | success |
| 3 | ⏱️ Fitting time (seconds) | 22.28 |
| 4 | 📏 Goodness-of-fit (reduced χ²) | 58.50 |
| 5 | 📏 R-factor (Rf, %) | 7.66 |
| 6 | 📏 R-factor squared (Rf², %) | 10.03 |
| 7 | 📏 Weighted R-factor (wR, %) | 9.99 |
📈 Refined parameters:
| datablock | category | entry | parameter | units | start | value | s.u. | change | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | yap | cell | length_a | Å | 5.1736 | 5.1728 | 0.0001 | 0.02 % ↓ | |
| 2 | yap | cell | length_b | Å | 5.3278 | 5.3270 | 0.0001 | 0.01 % ↓ | |
| 3 | yap | cell | length_c | Å | 7.3624 | 7.3610 | 0.0002 | 0.02 % ↓ | |
| 4 | alumina | cell | length_a | Å | 4.7556 | 4.7577 | 0.0011 | 0.04 % ↑ | |
| 5 | alumina | cell | length_c | Å | 12.9893 | 12.9761 | 0.0059 | 0.10 % ↓ | |
| 6 | yap_3k | linked_structure | yap | scale | 27.0708 | 28.0693 | 0.1137 | 3.69 % ↑ | |
| 7 | yap_3k | linked_structure | alumina | scale | 0.1940 | 0.1941 | 0.0161 | 0.07 % ↑ | |
| 8 | yap_3k | peak | asym_beba_a0 | 0.0000 | -0.1818 | 0.0152 | N/A | ||
| 9 | yap_3k | peak | asym_beba_b1 | 0.0000 | -0.0612 | 0.0050 | N/A | ||
| 10 | yap_3k | peak | broad_gauss_u | deg² | 0.0400 | 0.0364 | 0.0020 | 8.95 % ↓ | |
| 11 | yap_3k | peak | broad_gauss_v | deg² | -0.0500 | -0.0510 | 0.0041 | 2.07 % ↑ | |
| 12 | yap_3k | peak | broad_gauss_w | deg² | 0.1000 | 0.0985 | 0.0022 | 1.55 % ↓ | |
| 13 | yap_3k | peak | broad_lorentz_y | deg | 0.0100 | 0.0298 | 0.0019 | 198.09 % ↑ | |
| 14 | yap_3k | instrument | twotheta_offset | deg | 0.0044 | 0.0059 | 0.0027 | 33.39 % ↑ | |
| 15 | yap_3k | background | 1 | intensity | 1364.5791 | 1368.9347 | 84.5448 | 0.32 % ↑ | |
| 16 | yap_3k | background | 2 | intensity | 2366.3256 | 2355.8542 | 39.6696 | 0.44 % ↓ | |
| 17 | yap_3k | background | 3 | intensity | 2014.4755 | 2037.0481 | 27.0053 | 1.12 % ↑ | |
| 18 | yap_3k | background | 4 | intensity | 2231.3583 | 2140.9844 | 32.0606 | 4.05 % ↓ | |
| 19 | yap_3k | background | 5 | intensity | 2238.6534 | 2025.1406 | 41.3151 | 9.54 % ↓ | |
| 20 | yap_3k | background | 6 | intensity | 2069.8340 | 1954.5600 | 21.6874 | 5.57 % ↓ | |
| 21 | yap_3k | background | 7 | intensity | 2414.2626 | 2293.7219 | 26.6836 | 4.99 % ↓ |
• value = refined value from least-squares minimization
• s.u. = standard uncertainty (one sigma), from the covariance matrix
• change = relative change from start, in %; ↑ = increase, ↓ = decrease
Perform Fit 3/3: Model-Guided Background and Atom Parameters¶
Replace the initial background with a new estimate based on the fitted peak model. Automatically generated points are fixed by default, so mark their intensities free before fitting them with the atom parameters.
expt.background.auto_estimate(use_model=True)
expt.background.show()
Line-segment background points
| Position | Intensity | |
|---|---|---|
| 1 | 4.05000 | 1303.00000 |
| 2 | 5.85000 | 2173.00000 |
| 3 | 7.30000 | 2414.80830 |
| 4 | 17.85000 | 2010.28100 |
| 5 | 24.75000 | 2041.00000 |
| 6 | 35.00000 | 1968.46433 |
| 7 | 39.35000 | 1606.73948 |
| 8 | 41.45000 | 0.00000 |
| 9 | 43.95000 | 1695.97793 |
| 10 | 44.95000 | 2367.00000 |
| 11 | 47.65000 | 1691.86967 |
| 12 | 48.15000 | 1321.52032 |
| 13 | 51.60000 | 1934.23588 |
| 14 | 74.60000 | 1881.37866 |
| 15 | 101.10000 | 1996.38773 |
| 16 | 122.20000 | 1525.63663 |
| 17 | 129.65000 | 3108.73377 |
| 18 | 142.50000 | 2493.86153 |
| 19 | 144.75000 | 2295.53422 |
| 20 | 151.95000 | 2451.55313 |
for point in expt.background:
point.intensity.free = True
Refine the independent Y and O coordinates in Pbnm and the isotropic displacement parameters of both phases. Symmetry keeps Y and O1 in YAlO3 at z = 1/4 and Al at the origin. For Al2O3, refine Al1 z and O1 x. Occupancies remain fixed at 1.0, and all coordinates fixed by symmetry remain fixed.
yap.atom_sites['Y'].fract_x.free = True
yap.atom_sites['Y'].fract_y.free = True
yap.atom_sites['O1'].fract_x.free = True
yap.atom_sites['O1'].fract_y.free = True
yap.atom_sites['O2'].fract_x.free = True
yap.atom_sites['O2'].fract_y.free = True
yap.atom_sites['O2'].fract_z.free = True
alumina.atom_sites['Al1'].fract_z.free = True
alumina.atom_sites['O1'].fract_x.free = True
for structure in (yap, alumina):
for atom in structure.atom_sites:
atom.adp_iso.free = True
project.display.parameters.free()
Free parameters for both structures (🧩 data blocks) and experiments (🔬 data blocks)
| datablock | category | entry | parameter | value | uncertainty | min | max | units | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | yap | cell | length_a | 5.17278 | 0.00012 | -inf | inf | Å | |
| 2 | yap | cell | length_b | 5.32698 | 0.00012 | -inf | inf | Å | |
| 3 | yap | cell | length_c | 7.36105 | 0.00017 | -inf | inf | Å | |
| 4 | yap | atom_site | Y | fract_x | 0.01000 | -inf | inf | ||
| 5 | yap | atom_site | Y | fract_y | 0.55000 | -inf | inf | ||
| 6 | yap | atom_site | Y | adp_iso | 0.12000 | -inf | inf | Ų | |
| 7 | yap | atom_site | Al | adp_iso | 0.13000 | -inf | inf | Ų | |
| 8 | yap | atom_site | O1 | fract_x | -0.08000 | -inf | inf | ||
| 9 | yap | atom_site | O1 | fract_y | -0.02000 | -inf | inf | ||
| 10 | yap | atom_site | O1 | adp_iso | 0.06000 | -inf | inf | Ų | |
| 11 | yap | atom_site | O2 | fract_x | 0.20000 | -inf | inf | ||
| 12 | yap | atom_site | O2 | fract_y | 0.29000 | -inf | inf | ||
| 13 | yap | atom_site | O2 | fract_z | 0.04000 | -inf | inf | ||
| 14 | yap | atom_site | O2 | adp_iso | 0.14000 | -inf | inf | Ų | |
| 15 | alumina | cell | length_a | 4.75771 | 0.00112 | -inf | inf | Å | |
| 16 | alumina | cell | length_c | 12.97614 | 0.00589 | -inf | inf | Å | |
| 17 | alumina | atom_site | Al1 | fract_z | 0.33351 | -inf | inf | ||
| 18 | alumina | atom_site | Al1 | adp_iso | 0.10000 | -inf | inf | Ų | |
| 19 | alumina | atom_site | O1 | fract_x | 0.35030 | -inf | inf | ||
| 20 | alumina | atom_site | O1 | adp_iso | 1.22884 | -inf | inf | Ų | |
| 21 | yap_3k | linked_structure | yap | scale | 28.06935 | 0.11372 | -inf | inf | |
| 22 | yap_3k | linked_structure | alumina | scale | 0.19413 | 0.01609 | -inf | inf | |
| 23 | yap_3k | peak | asym_beba_a0 | -0.18183 | 0.01524 | -inf | inf | ||
| 24 | yap_3k | peak | asym_beba_b1 | -0.06117 | 0.00501 | -inf | inf | ||
| 25 | yap_3k | peak | broad_gauss_u | 0.03642 | 0.00197 | -inf | inf | deg² | |
| 26 | yap_3k | peak | broad_gauss_v | -0.05103 | 0.00409 | -inf | inf | deg² | |
| 27 | yap_3k | peak | broad_gauss_w | 0.09845 | 0.00218 | -inf | inf | deg² | |
| 28 | yap_3k | peak | broad_lorentz_y | 0.02981 | 0.00192 | -inf | inf | deg | |
| 29 | yap_3k | instrument | twotheta_offset | 0.00593 | 0.00268 | -inf | inf | deg | |
| 30 | yap_3k | background | 1 | intensity | 1303.00000 | -inf | inf | ||
| 31 | yap_3k | background | 2 | intensity | 2173.00000 | -inf | inf | ||
| 32 | yap_3k | background | 3 | intensity | 2414.80830 | -inf | inf | ||
| 33 | yap_3k | background | 4 | intensity | 2010.28100 | -inf | inf | ||
| 34 | yap_3k | background | 5 | intensity | 2041.00000 | -inf | inf | ||
| 35 | yap_3k | background | 6 | intensity | 1968.46433 | -inf | inf | ||
| 36 | yap_3k | background | 7 | intensity | 1606.73948 | -inf | inf | ||
| 37 | yap_3k | background | 8 | intensity | 0.00000 | -inf | inf | ||
| 38 | yap_3k | background | 9 | intensity | 1695.97793 | -inf | inf | ||
| 39 | yap_3k | background | 10 | intensity | 2367.00000 | -inf | inf | ||
| 40 | yap_3k | background | 11 | intensity | 1691.86967 | -inf | inf | ||
| 41 | yap_3k | background | 12 | intensity | 1321.52032 | -inf | inf | ||
| 42 | yap_3k | background | 13 | intensity | 1934.23588 | -inf | inf | ||
| 43 | yap_3k | background | 14 | intensity | 1881.37866 | -inf | inf | ||
| 44 | yap_3k | background | 15 | intensity | 1996.38773 | -inf | inf | ||
| 45 | yap_3k | background | 16 | intensity | 1525.63663 | -inf | inf | ||
| 46 | yap_3k | background | 17 | intensity | 3108.73377 | -inf | inf | ||
| 47 | yap_3k | background | 18 | intensity | 2493.86153 | -inf | inf | ||
| 48 | yap_3k | background | 19 | intensity | 2295.53422 | -inf | inf | ||
| 49 | yap_3k | background | 20 | intensity | 2451.55313 | -inf | inf |
project.analysis.fit()
Standard fitting
📋 Using experiment 🔬 'yap_3k' for 'single' fitting
🚀 Starting fit process with 'bumps (lm)'...
📈 Goodness-of-fit progress:
| iteration | time (s) | χ² | change / status | |
|---|---|---|---|---|
| 1 | 1 | 0.14 | 78.60 | |
| 2 | 51 | 9.00 | 9.93 | 87.4% ↓ |
| 3 | 101 | 17.52 | 9.28 | 6.6% ↓ |
| 4 | 153 | 43.73 | 9.25 |
🏆 Best goodness-of-fit (reduced χ²) is 9.25 at iteration 153
✅ Fitting complete.
Inspect Results¶
Review the fit statistics, refined parameters, and correlations. Inspect the full pattern and a closer view with impurity reflections.
project.display.fit.results()
⚙️ Settings used:
| Name | Value | Description | |
|---|---|---|---|
| 1 | max_iterations | 500 | Maximum solver iterations. |
| 2 | chi_square_change_tolerance | 0.01 | Relative change in the objective (chi-square) used to stop fitting. |
| 3 | parameter_change_tolerance | 1e-08 | Relative change in fitted parameters used to stop fitting. |
📋 Least-squares fit results:
| Metric | Value | |
|---|---|---|
| 1 | 🧪 Minimizer | bumps (lm) |
| 2 | ✅ Overall status | success |
| 3 | ⏱️ Fitting time (seconds) | 43.73 |
| 4 | 📏 Goodness-of-fit (reduced χ²) | 9.25 |
| 5 | 📏 R-factor (Rf, %) | 3.13 |
| 6 | 📏 R-factor squared (Rf², %) | 3.71 |
| 7 | 📏 Weighted R-factor (wR, %) | 3.96 |
📈 Refined parameters:
| datablock | category | entry | parameter | units | start | value | s.u. | change | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | yap | cell | length_a | Å | 5.1728 | 5.1728 | 0.0000 | 0.00 % ↑ | |
| 2 | yap | cell | length_b | Å | 5.3270 | 5.3271 | 0.0000 | 0.00 % ↑ | |
| 3 | yap | cell | length_c | Å | 7.3610 | 7.3613 | 0.0001 | 0.00 % ↑ | |
| 4 | yap | atom_site | Y | fract_x | 0.0100 | 0.0123 | 0.0001 | 22.93 % ↑ | |
| 5 | yap | atom_site | Y | fract_y | 0.5500 | 0.5541 | 0.0001 | 0.74 % ↑ | |
| 6 | yap | atom_site | Y | adp_iso | Ų | 0.1200 | 0.0711 | 0.0086 | 40.77 % ↓ |
| 7 | yap | atom_site | Al | adp_iso | Ų | 0.1300 | 0.0938 | 0.0149 | 27.81 % ↓ |
| 8 | yap | atom_site | O1 | fract_x | -0.0800 | -0.0839 | 0.0001 | 4.91 % ↑ | |
| 9 | yap | atom_site | O1 | fract_y | -0.0200 | -0.0219 | 0.0001 | 9.38 % ↑ | |
| 10 | yap | atom_site | O1 | adp_iso | Ų | 0.0600 | 0.0280 | 0.0096 | 53.41 % ↓ |
| 11 | yap | atom_site | O2 | fract_x | 0.2000 | 0.2047 | 0.0001 | 2.33 % ↑ | |
| 12 | yap | atom_site | O2 | fract_y | 0.2900 | 0.2948 | 0.0001 | 1.64 % ↑ | |
| 13 | yap | atom_site | O2 | fract_z | 0.0400 | 0.0442 | 0.0001 | 10.53 % ↑ | |
| 14 | yap | atom_site | O2 | adp_iso | Ų | 0.1400 | 0.0894 | 0.0075 | 36.17 % ↓ |
| 15 | alumina | cell | length_a | Å | 4.7577 | 4.7580 | 0.0004 | 0.01 % ↑ | |
| 16 | alumina | cell | length_c | Å | 12.9761 | 12.9748 | 0.0024 | 0.01 % ↓ | |
| 17 | alumina | atom_site | Al1 | fract_z | 0.3335 | 0.3409 | 0.0036 | 2.22 % ↑ | |
| 18 | alumina | atom_site | Al1 | adp_iso | Ų | 0.1000 | 0.0789 | 0.3262 | 21.13 % ↓ |
| 19 | alumina | atom_site | O1 | fract_x | 0.3503 | 0.3402 | 0.0077 | 2.88 % ↓ | |
| 20 | alumina | atom_site | O1 | adp_iso | Ų | 1.2288 | 1.0775 | 0.2565 | 12.32 % ↓ |
| 21 | yap_3k | linked_structure | yap | scale | 28.0693 | 28.0057 | 0.0755 | 0.23 % ↓ | |
| 22 | yap_3k | linked_structure | alumina | scale | 0.1941 | 0.1847 | 0.0123 | 4.87 % ↓ | |
| 23 | yap_3k | peak | asym_beba_a0 | -0.1818 | -0.1825 | 0.0064 | 0.35 % ↑ | ||
| 24 | yap_3k | peak | asym_beba_b1 | -0.0612 | -0.0596 | 0.0021 | 2.51 % ↓ | ||
| 25 | yap_3k | peak | broad_gauss_u | deg² | 0.0364 | 0.0303 | 0.0007 | 16.83 % ↓ | |
| 26 | yap_3k | peak | broad_gauss_v | deg² | -0.0510 | -0.0458 | 0.0015 | 10.26 % ↓ | |
| 27 | yap_3k | peak | broad_gauss_w | deg² | 0.0985 | 0.0964 | 0.0009 | 2.03 % ↓ | |
| 28 | yap_3k | peak | broad_lorentz_y | deg | 0.0298 | 0.0326 | 0.0009 | 9.53 % ↑ | |
| 29 | yap_3k | instrument | twotheta_offset | deg | 0.0059 | 0.0084 | 0.0011 | 42.18 % ↑ | |
| 30 | yap_3k | background | 1 | intensity | 1303.0000 | 1389.3685 | 36.3054 | 6.63 % ↑ | |
| 31 | yap_3k | background | 2 | intensity | 2173.0000 | 2260.6485 | 32.2917 | 4.03 % ↑ | |
| 32 | yap_3k | background | 3 | intensity | 2414.8083 | 2363.8752 | 17.4837 | 2.11 % ↓ | |
| 33 | yap_3k | background | 4 | intensity | 2010.2810 | 2000.3479 | 14.0653 | 0.49 % ↓ | |
| 34 | yap_3k | background | 5 | intensity | 2041.0000 | 2093.0766 | 14.7535 | 2.55 % ↑ | |
| 35 | yap_3k | background | 6 | intensity | 1968.4643 | 2089.9668 | 18.0042 | 6.17 % ↑ | |
| 36 | yap_3k | background | 7 | intensity | 1606.7395 | 2267.8070 | 28.6865 | 41.14 % ↑ | |
| 37 | yap_3k | background | 8 | intensity | 0.0000 | 1651.2100 | 51.4432 | N/A | |
| 38 | yap_3k | background | 9 | intensity | 1695.9779 | 2069.5408 | 49.6652 | 22.03 % ↑ | |
| 39 | yap_3k | background | 10 | intensity | 2367.0000 | 2093.7316 | 38.8953 | 11.54 % ↓ | |
| 40 | yap_3k | background | 11 | intensity | 1691.8697 | 2062.8503 | 34.5231 | 21.93 % ↑ | |
| 41 | yap_3k | background | 12 | intensity | 1321.5203 | 1738.0206 | 37.4917 | 31.52 % ↑ | |
| 42 | yap_3k | background | 13 | intensity | 1934.2359 | 2008.8316 | 14.0618 | 3.86 % ↑ | |
| 43 | yap_3k | background | 14 | intensity | 1881.3787 | 2028.2740 | 12.7842 | 7.81 % ↑ | |
| 44 | yap_3k | background | 15 | intensity | 1996.3877 | 2072.5901 | 13.5330 | 3.82 % ↑ | |
| 45 | yap_3k | background | 16 | intensity | 1525.6366 | 1925.4302 | 15.7703 | 26.21 % ↑ | |
| 46 | yap_3k | background | 17 | intensity | 3108.7338 | 2266.1180 | 24.4631 | 27.10 % ↓ | |
| 47 | yap_3k | background | 18 | intensity | 2493.8615 | 2561.2009 | 23.8398 | 2.70 % ↑ | |
| 48 | yap_3k | background | 19 | intensity | 2295.5342 | 2546.2284 | 28.5615 | 10.92 % ↑ | |
| 49 | yap_3k | background | 20 | intensity | 2451.5531 | 2754.9245 | 37.8898 | 12.37 % ↑ |
• value = refined value from least-squares minimization
• s.u. = standard uncertainty (one sigma), from the covariance matrix
• change = relative change from start, in %; ↑ = increase, ↓ = decrease
project.display.fit.correlations()
project.display.pattern(expt_name='yap_3k')
project.display.pattern(expt_name='yap_3k', x_min=134, x_max=146)
💾 Save Project¶
Save the refined model and analysis results in the project directory.
project.save()
Saving project 📦 'yap_3k' to '../../../projects/refine-yap-3k'
├── 📄 project.edi
├── 📁 structures/
│ └── 📄 yap.edi
│ └── 📄 alumina.edi
├── 📁 experiments/
│ └── 📄 yap_3k.edi
├── 📁 analysis/
│ └── 📄 analysis.edi
└── 📁 reports/
└── 📄 yap_3k.html