Diagnostics: structures and magnetism#

These codes come from reading a structure, its symmetry or a magnetic structure. Each section gives the code’s name, what it means and why it fires, its level, and the source files that raise it. The diagnostic codes page lists every code in one table.

CHILD_GROUP_UNNAMED#

Child cell group has no standard symbol.

No Hermann-Mauguin symbol generates the group of the magnetic supercell in this cell choice. The phase carries its symmetry operations directly, under a bracketed label that names the closest group type. The statement is complete. The leading symbol of the label generates a different group, so check the cell transform before you compare it with a published symbol.

Level: info. Raised in rietx/crystallography/magnetic/supercell.py.

CIF_CELL_ANGLE_CORRECTED#

Lattice angle set to its symmetry value.

The file stores an angle that its space group fixes, and the stored value differs slightly from the fixed one. The reader used the exact value, because a cell that contradicts its symmetry cannot be refined. The deviation may be real. If it is, the symmetry is lower than the symbol claims, and the phase needs a space group that leaves this angle free.

Level: warning. Raised in rietx/crystallography/cif.py.

CIF_MAGNETIC_CENTERING_ASSUMED#

Magnetic centring loop missing.

The file lists no magnetic centring translations, so the group is read as its operation list with no centring. A forgotten anti-centring (a translation combined with time reversal) would make this a different and smaller magnetic group. The moments would then refine under the wrong symmetry. Add the centring loop if the group has one.

Level: info. Raised in rietx/crystallography/magcif.py.

CIF_MAGNETIC_ION_UNCHARGED#

Magnetic ion has no charge stated.

A magnetic CIF has no item for the magnetic ion, and the type symbol of this site gives no oxidation state. The form factor therefore comes from the neutral atom. Neutral and ionic form factors differ, so a moment refined under the wrong one absorbs the difference into its size. State the ion for the site to use the one your chemistry implies.

Level: info. Raised in rietx/crystallography/magcif.py.

CIF_MAGNETIC_MAGNITUDE_ESD_NOT_STORED#

Moment uncertainty not carried.

The file gives a standard uncertainty for the size of a moment. A structure has no field for it, so the reader does not store it. The uncertainty belongs to the fit that produced it. A refinement of this structure reports its own with the magnetic results and writes it back to this item when it exports a CIF.

Level: info. Raised in rietx/crystallography/magcif.py.

CIF_MAGNETIC_MOMENT_ON_ALLOWED#

Moment moved onto its symmetry-allowed form.

The file prints a moment with fewer decimals than the symmetry relation between its components needs. The printed values then sit slightly off the form that the site symmetry allows. The reader moved the moment to the nearest allowed point within the printed precision. The change is no larger than the rounding in the file. A larger disagreement is refused.

Level: info. Raised in rietx/crystallography/cif.py.

CIF_MAGNETIC_NUCLEAR_GROUP#

Positions refine under the parent group.

The atom positions refine under the parent nuclear group that the file names. That group contains the file’s magnetic operators and gives every listed site the same orbit. The moments refine under the magnetic group. Where the parent is larger than the file’s own group, the positions carry constraints that the file’s operators do not impose. Check this where a structural distortion accompanies the magnetic order.

Level: info. Raised in rietx/crystallography/magcif.py.

CIF_MAGNETIC_NUCLEAR_SETTING#

Positions refine under the file’s own group.

The parent group named by the file cannot carry the file’s atoms. The positions refine instead under the group that the magnetic operators imply once time reversal is dropped. Common causes are an origin or axis choice that differs from the tabulated one, and a magnetic group that splits one parent site into two. The phase may carry its operations directly, so its symbol can differ from the one in the file.

Level: info. Raised in rietx/crystallography/magcif.py.

CIF_MAGNETIC_NUMBER_MISMATCH#

Magnetic group number contradicts the operators.

The group number stated in the file names a different magnetic group from the one that the file’s operator lists make. The operators are what is refined, so their numbers are stored and the stated name is dropped. Either side can be wrong. A typing error in the number leaves the operators right. A missing centring translation makes the operators a smaller group, and the moments then refine under the wrong symmetry. Check the loops against the source.

Level: warning. Raised in rietx/crystallography/magcif.py.

CIF_MAGNETIC_SPHERICAL_ESD_NOT_STORED#

Spherical moment uncertainties dropped.

The file gives the moment in spherical form, with standard uncertainties. Converting to crystal-axis components is nonlinear, so the reader does not carry the uncertainties over. The components then show no error, and that does not mean the moment was fixed. Restate the row in crystal-axis or Cartesian form to keep the uncertainties.

Level: info. Raised in rietx/crystallography/magcif.py.

CIF_MAGNETIC_SYMMFORM#

File records its own moment constraint.

The file records the constraint on a moment that its producer applied. The package derives the allowed moment directions from the operator list and keeps the recorded form for reference. When both give the same number of free parameters, the finding is informational. When they differ, the refinement follows the operators. Check that the operator loop and the recorded form describe the same site symmetry.

Level: set at run time. Raised in rietx/crystallography/magcif.py.

CIF_MAGNETIC_UNIDENTIFIED#

Magnetic group not found in the database.

The operator list does not match any magnetic space group in the tabulated database, so no UNI number is recorded. The operators are still the model, and the refinement is unaffected. The number is metadata. A list that is not closed under composition can cause this, as can a setting that the database does not recognise.

Level: info. Raised in rietx/crystallography/magcif.py.

CIF_SITE_LISTED_TWICE#

One site listed twice, second dropped.

Two sites of the same species lie on one symmetry orbit and share their occupancy and other properties. The file lists the same atoms twice, and counting both would double them in the cell. The reader dropped the second. Nothing needs changing if the two labels are one site. If they are meant as two sites, their coordinates are closer than any two atoms can be. A pair that differs in any property is refused instead.

Level: warning. Raised in rietx/crystallography/cif.py.

CIF_SITE_MULTIPLICITY_DISAGREES#

Stated multiplicity contradicts the coordinates.

The file states a site multiplicity that differs from the one its coordinates give under the stated space group. Rounding in the coordinates does not explain the gap. The atom count follows the coordinates, and so do the cell contents, the density and every weight fraction. Check the space group setting and the site against the source.

Level: warning. Raised in rietx/crystallography/cif.py.

CIF_SITE_TWINS_MERGED#

Near-duplicate atoms merged onto a special position.

A site sits slightly off a special position, so its symmetry images fall in tight pairs and would scatter as twice the atoms. The reader moved the site onto the special position. The usual cause is a relation such as (x, 2x, z) printed with one coordinate rounded. Check the coordinates against the source.

Level: warning. Raised in rietx/crystallography/cif.py.

CIF_SPECIES_NORMALISED#

Atom type symbol rewritten.

The file writes an atom type in a form that the scattering tables do not read. Examples are a site label in the type-symbol field and a charge written before its digit. The reader rewrote the symbol to the standard form and kept the ion where the file gave one. The meaning is unchanged, but the species spelling in the model now differs from the file.

Level: info. Raised in rietx/crystallography/cif.py.

K_VECTOR_UNSEPARATED#

Two propagation vectors fit equally well.

The two best candidate propagation vectors differ in fit quality by less than the gap that counts as a tie. Fit quality is ΔBIC against the nuclear fit, counting N/f² observations: N fitted points and f the Bérar-Lelann factor, since neighbouring points of one peak share their misfit. The data do not choose between them, so the winner is not established. Treat both as open. Look for reflections that one vector predicts and the other does not.

Level: info. Raised in rietx/strategy/magnetic.py.

LANDE_G_ASSUMED#

Landé g taken from the free ion.

The file gives no Landé g, and the assumed magnetic ion needs one. The package used the Hund’s-rule value for the free ion. The magnetic form factor of a rare-earth or actinide ion depends on g, so a different value changes the calculated intensities and the refined moment. State g for the site if you know the value in the compound.

Level: info. Raised in rietx/crystallography/magcif.py, rietx/strategy/magnetic.py.

MAGNETIC_ION_ASSUMED#

Magnetic ion chosen by the package.

The file states no ion for a site whose element has no neutral-atom magnetic form factor in the tables. The package took the most common magnetic oxidation state of that element. The form factor depends on the ion, so a moment refined under the wrong one absorbs the difference into its size. State the ion for the site to override the default.

Level: info. Raised in rietx/crystallography/magcif.py, rietx/strategy/magnetic.py.

MAGNETIC_SUBGROUP_PREFERRED#

A subgroup fits better than the winner.

After the ranking chose a winner, a maximal magnetic subgroup of it was refitted from the winner’s solution. It fitted better by more than the tie width, in ΔBIC counting N/f² observations (N fitted points, f the winner’s Bérar-Lelann factor). The ranking had not treated the subgroup as a competitor, so the ranked list is unchanged. The data prefer the lower symmetry, and you choose between the two by hand.

Level: warning. Raised in rietx/strategy/magnetic.py.

MAGNETIC_WIDTH_UNMEASURED#

Magnetic broadening not measured.

A freed magnetic broadening term came back with too little support to quote, or with no error estimate. Such a term can be separated only where the ratio of magnetic to nuclear intensity changes from one reflection to the next, for example in satellites with no nuclear counterpart. Elsewhere it is not a coherence length. A correlated width can still move the moment, so check whether releasing it changed the moment before you drop it.

Level: info. Raised in rietx/report/magnetic.py.

MAGNETIC_WIDTH_UNMODELLED#

Magnetic peaks too narrow, moment lowered.

The residual under the magnetic reflections is negative at the peak centres and positive in both tails, and the nuclear-only reflections do not show it. The calculated magnetic peaks are narrower than the observed ones. The fit compensates by lowering the moment, so the refined moment is biased low. Free the magnetic broadening with plan="magnetic_width" and refit.

Level: warning. Raised in rietx/report/magnetic.py.

MOMENT_ANGLE_STATIONARY#

Moment direction sits on a symmetry direction.

A moment angle finished at a direction that the site symmetry fixes. The pattern is even in that angle there, so its slope is zero and an error estimate read from it would depend on where the solver stopped. A test showed that moving the angle onto the symmetry direction costs no more than noise allows. The angle then leaves the error calculation, so the other estimates no longer depend on where the solver stopped. In place of an error estimate, a single-pattern fit computes the angle’s profile interval and stores it in RefinedParameter.interval. The message gives the angle’s distance from the direction and whether the interval includes it. Where it does, quote the moment as lying along the symmetry direction. Where it does not, quote the angle with its interval.

Level: info. Raised in rietx/report/magnetic.py.

MOMENT_PAIR_DEGENERATE#

Two moments cannot be told apart.

A powder pattern cannot always separate the sizes of two moments. These two are almost fully correlated, so only the quadrature sum of their sizes is measured. Each size alone is an artefact of the correlation. Quote the combined value with its error, or add a constraint that the physics justifies.

Level: info. Raised in rietx/report/magnetic.py.

SITE_SNAPPED_TO_SPECIAL_POSITION#

Site lies close to a special position.

A site lies within rounding distance of a special position but not on it. The package expands the site at the special position, so its multiplicity is the special one. Where the file states that multiplicity, the coordinates are moved onto the position as well. The multiplicity sets how many atoms the site puts in the cell, so it changes the density and every weight fraction. If it matches the source, the coordinates were only rounded. A CIF site whose printed digits already round to the position, within rietx.crystallography.cif.CIF_PRINTED_ROUNDING of the last digit, is read on it and not reported, so this fires on a deviation the file printed.

Level: warning. Raised in rietx/crystallography/cif.py, rietx/crystallography/symmetry.py.

SOLVE_B_TIED_PER_PARENT_SITE#

Supercell displacement parameters tied to the parent.

With tie_to_parent=True, a supercell trial holds the cell at the value derived from the parent. It also ties the displacement parameters of the child atoms that come from one parent atom. The nuclear reference that each trial is compared with is treated the same way, so the comparison is fair. Read the refined cell and displacement parameters as the parent’s, and not as measurements of the supercell.

Level: info. Raised in rietx/strategy/magnetic.py.

SPACE_GROUP_SETTING_ASSUMED#

Space group setting chosen by default.

The symbol names a space group that the tables hold in more than one setting, and it does not name the setting. The package took the first. The settings put different numbers of atoms on the same coordinates, so the choice changes the cell contents and every weight fraction while leaving Rwp alone. If the first is the one you meant, write its setting into the symbol. Otherwise name the setting your coordinates use.

Level: warning. Raised in rietx/crystallography/symmetry.py.