Both input and output data need quality control.

  1. For input data, this is primarily a task for Access’s Unmatched Query Wizard.
    1. It created the Anything_Missing queries below.
  2. The primary output test is in the output field Norm,
    1. where the sum of the yields for any Snapshot is Two atoms.

Input Data Quality Control

Round 1

The first requirement was that every nuclide mentioned in the initial yield data had half-life and branching data.  The two queries below found many “lonely” nuclides.  The Brookhaven data had the most isotopes in their Sigma database of initial yields.   We padded the Livermore/Geneva data with many zeroes to fill the gaps.

SELECT FP_Yields.*
FROM FP_Yields LEFT JOIN Nuclides ON FP_Yields.[Nuclide] = Nuclides.[Nuclide]
WHERE (((Nuclides.Nuclide) Is Null));

SELECT FP_Yields.Nuclide
FROM FP_Yields LEFT JOIN Branches ON FP_Yields.[Nuclide] = Branches.[Nuclide]
WHERE (((Branches.Nuclide) Is Null));

After a lot of work, these queries now find no missing parts.  Thus, we can use Integrated in the name “Integrated Fission Fragment Yields”.

However, the original table, FP_Yields, was not the final word.

Round 2

The FP_Yields table had gaps, primarily due to the *-m decay modes from the Geneva data.  It  also lacked the 65 chain, which was needed due to a B-N decay in the 66 chain.  We created a new table of initial yields called Yield_Matrix with the gaps filled in (and lacking the high-speed Sigma data).

The working table (Yield_Matrix) also needed  pads – isotopes that were not referenced by all 23 fuel/speed combos.  These were added to pad the matrix to a complete 23 x 1322 rectangle for easier processing.

SELECT Yield_Matrix.Nuclide
FROM Yield_Matrix LEFT JOIN Nuclides ON Yield_Matrix.[Nuclide] = Nuclides.[Nuclide]
WHERE (((Nuclides.Nuclide) Is Null));

SELECT Yield_Matrix.Nuclide
FROM Yield_Matrix LEFT JOIN Branches ON Yield_Matrix.[Nuclide] = Branches.[Nuclide]
WHERE (((Branches.Nuclide) Is Null));

No strays found

These QC queries now find nothing, meaning every relevant nuclide now has half-life and branching data.

Yield_Matrix is not the final word with respect to testing code and production.  A table called Primer0 has all of the Yield_Matrix nuclides after 0.5 seconds of decay.  This is essentially Snap0 in the EvolveAll table.  This table “primed the pump” for the simulation as it was being debugged.

Round 3

We augmented the original Branches table with the Daughters field.  New queries recheck the integration across the major input data tables, with a focus on the daughters.

SELECT Branches.Daughter
FROM Branches LEFT JOIN Nuclides ON Branches.[Daughter] = Nuclides.[Nuclide]
WHERE (((Nuclides.Nuclide) Is Null));

SELECT Branches.Daughter
FROM Branches LEFT JOIN Yield_Matrix ON Branches.[Daughter] = Yield_Matrix.[Nuclide]
WHERE (((Yield_Matrix.Nuclide) Is Null));

Output Data Quality Control

The primary method of quality control for the EvolveAll table is the Norm field.  The normalized yield divides the yield by two raised to the power Timestep.  The sum of all atoms for all fuels in all snapshots should be the same as the initial yield for that fuel.

Based on the Norm sum, errors remain in the Cm-Fast data.  These output data show a drop in the ninth decimal place.  We are not chasing this down with any vigor.  We didn’t even spruce up the pivot chart below: