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.


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.


  DELETE * FROM Snapshots;


  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.


  SELECT DISTINCT Primer0.Fuel, Primer0.Speed

  FROM Primer0 

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


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

  FROM Nuclides

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


  UPDATE Growth_Buffer INNER JOIN Plump_Buffer

  ON Growth_Buffer.Nuclide = Plump_Buffer.Giver

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


  UPDATE Growth_Buffer INNER JOIN Plump_Buffer

  ON Growth_Buffer.Nuclide = Plump_Buffer.Taker

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