Inputs and outputs¶
Each experiment has its own directory containing experiment.yaml, a starting structure CIF, and
experimental .cif_pets data.
Required inputs¶
File |
Contents |
|---|---|
|
Input filenames and settings for the experiment. |
|
Starting crystal structure. |
|
Experimental diffraction data reduced by PETS2. |
Paths written in experiment.yaml are measured from the experiment directory:
inputs:
structure: structure.cif
exp_data: experiment.cif_pets
# Optional: force all CIF ADPs to refine as Uiso.
isotropic_displacements_only: false
The structure CIF supplies the atoms, fractional coordinates, occupancies, atomic displacement parameters (ADPs), and space-group symmetry operations.
The .cif_pets file supplies the observed reflection intensities and uncertainties, crystal
orientations, goniometer angles, electron wavelength, unit cell, and apparent mosaicity.
Unit cell¶
Both input files contain a unit cell. diffBloch uses the .cif_pets cell for the simulation and uses the
structure-CIF cell as a consistency check.
A difference greater than 1% in any cell parameter produces a warning.
A difference greater than 5% stops the calculation.
ADP parameterization¶
By default, diffBloch preserves the ADP kinds declared by the structure CIF: Uani sites refine with
anisotropic ADPs, and Uiso sites refine with isotropic ADPs. Set
inputs.isotropic_displacements_only: true to force every atom onto isotropic ADPs even when the CIF
contains _atom_site_aniso_* rows.
Atoms that were already Uiso keep their CIF U_iso_or_equiv seed. Atoms that were Uani are
seeded from the crystallographic equivalent isotropic value, Ueq, computed from their CIF Uij
tensor using the same unit cell that defines the refinement ADP frame. The original parsed structure
record is not mutated; this is an experiment parameterization choice applied when refinement inputs
are built.
The flag changes the preprocessed starting point and is recorded in the per-dataset checkpoint
identity. When refinement writes refined_structure.cif, force-converted atoms are written as Uiso
and stale anisotropic rows are removed so the output re-reads with the same effective ADP kinds.
Excluding rotations¶
Individual rotations can be excluded when their diffraction data should not be used, for example after beam damage has degraded the crystal or when no usable reflections were recorded. Rotations are selected by their zero-based indices:
blochwave:
ignore_orientations: [0, 1, 18, 56]
Excluded rotations are not used during preprocessing, inference, or refinement.
Multiple datasets¶
Several .cif_pets files from the same material can be combined in one refinement:
inputs:
structure: structure.cif
multi_dataset: true
exp_data:
- crystal_1.cif_pets
- crystal_2.cif_pets
The rotations from all files are combined against one structure. Each dataset keeps its own
orientations and thicknesses. The files must describe the same crystal and use the same electron
energy. The first .cif_pets file supplies the unit cell used for the combined refinement.
When the learned thickness model is enabled (refinement.thickness_nn, the default), each dataset
trains its own network over its own tilt range — pooled datasets with overlapping tilt ranges are
never forced onto one shared thickness-vs-alpha curve. The refinement report carries one
Thickness NN -- <ref> section and one thickness_nn_shape_<stem>.png plot per dataset.
Outputs¶
Running preprocessing or refinement adds results to the experiment directory:
Output |
Contents |
|---|---|
|
Refined crystal structure. |
|
Final residuals, reflection counts, and refinement summary. |
|
Thickness-search plots when plotting is enabled. |
|
Learned thickness curve per |
|
Saved preprocessing for each |
|
Inputs and settings used for the saved preprocessing. |
|
Refined parameter values. |
|
Inputs and settings used for the refinement. |
reproducibility/experiment.lock is not one of these calculation outputs. It identifies the raw
input files accepted for the experiment and is created automatically the first time any command runs
against the experiment directory. See Reproducibility for the
create-only lock-experiment command and the warning about invalidating plan and refinement locks
after input changes.
See Refinement for the refinement report and Reproducibility for the lock files.