IFFY Code

The IFFY simulation uses the Visual Basic code at the following link.  It requires the SQL queries below.  Copying the code into a new Access database will not be sufficient.  You will need a start button and a AtWt counter on a new form.

IFFY_code

Simulation prep queries

These two queries clear the temporary table Snapshots and load it with the relevant previous snapshot.  The code is not fully automatic.  (It is still in debug mode.)  The current procedure runs one fuel at a time, by editing the Get_Fuel_Speed_Pairs query.  One can deduce from the query below that the last fuel was Np.  The user needs to store the Snapshots table in a new table before running the next fuel.

It is also “normal” to run only a few timesteps each run.  This requires the user to change the first and last Timestep values in the main loop.  In this case, do not empty Snapshots before reaching timestep 30.

EmptySnapshots

  DELETE * FROM Snapshots;

LoadElement0

  INSERT INTO Snapshots (Timestep, Fuel, Speed, Nuclide, Yield) 

  SELECT Primer0.Snap, Primer0.Fuel, Primer0.Speed, Primer0.Nuclide, Primer0.Yield

  FROM Primer0 

  WHERE (((Primer0.Snap)=0) AND ((Primer0.Fuel) Like “*-Np”));

Canned SQL calls

These are called from within the code.  The first two create the recordsets that drive the sim.  The last two capture neutrons and give them to daughters.

Get_Fuel_Speed_Pairs

  SELECT DISTINCT Primer0.Fuel, Primer0.Speed

  FROM Primer0 

  WHERE (((Primer0.Fuel) Like “*-Np”));

Get_Nuclides_In_Processing_Order

  SELECT Nuclides.Nuclide, Nuclides.half_Life AS HL, Nuclides.AtWt  

  FROM Nuclides

  ORDER BY Nuclides.AtWt DESC , Nuclides.Rung DESC;

DecrementGivers

  UPDATE Growth_Buffer INNER JOIN Plump_Buffer

  ON Growth_Buffer.Nuclide = Plump_Buffer.Giver

  SET Growth_Buffer.Plump_Loss = [Plump_Buffer].[PlumpLoss];

SupplementTakers

  UPDATE Growth_Buffer INNER JOIN Plump_Buffer

  ON Growth_Buffer.Nuclide = Plump_Buffer.Taker

  SET Growth_Buffer.Plump_Gain = [Plump_Buffer].[PlumpLoss];