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.
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];