A simulation is a computer model of some real world phenomenon. It always has less definition than reality. A key design issue is how detailed a model needs to be, in order to answer the question(s) asked of it. If you missed it, the original question for IFFY was, with respect to a molten salt reactor, “What’s in the salt?” We have since expanded this to, “What is in the waste stream, over time, for any reactor?”
Aggregation – How to lose detail but still answer the question
The King wanted a map (model) of his kingdom. He rejected the Royal Cartographer’s first try, “I need more detail!” Further efforts were also sent back, until the map was as big as the kingdom. The King had a poor concept of what a map was for.
You don’t need to draw every leaf in in the kingdom, nor every tree in the forest, unless the question is “How much limber can we harvest?” For other purposes, the trees can be aggregated to a simple green spot with no other details.
All simulations use aggregation, and so lose details that are (hopefully) not relevant to the question. IFFY uses an aggregated atom, composed of all possible fission fragments. Don’t worry that this means a fission event produces 0.062 atoms of 134-Tellurium. The math works.
We also use aggregation in the analysis of our output data. Sometimes you want to see the forest, not the trees. Our Time_Bin field aggregates 1322 nuclides into nine bins, based on half-lives. It makes pretty charts. We also bin neutron poisons in two ways. (We haven’t decided which to keep.)
Simulation Choice: Deterministic vs Stochastic
One major simulation design choice is whether or not to use random numbers. If we use random numbers, the sim is stochastic (def: randomly determined). If not, the sim is deterministic. We would need to run a stochastic sim many times to smooth out the variations the random numbers cause. This would produce an average result plus information on variability, such as the standard deviation. Alternately, we can run a deterministic sim just once. It uses the average from the start. This is faster, but you lose the opportunity for some forms of statistical analysis. Also, you’d better have a good handle on the input data, because garbage-in, garbage-out is a definite risk.
Simulation Choice: Time-step vs Event-driven
The IFFY simulation is time-stepped. We could instead use an event-driven simulation. In the first, a clock initiates the action, usually on a regular basis. Everything happens at the start of each time-step. In an event-driven simulation, nothing happens until some event occurs. The timekeeper is a schedule rather than a regularly ticking clock. “At 2:15:21 a car will arrive at the light.” There is a clock behind the scenes, of course.
Event-driven simulations are good for irregular events. A nuclear reactor is a very steady-state system. In IFFY, one fission event occurs every second. A time-stepped simulation is a natural choice.
Time-step length: Accuracy vs Run Time
One can always get more detail by decreasing the size of the time-step. This comes at the cost of computing time, but may be needed if that’s what it takes to answer the question. For a fixed time-step, the chosen span is a compromise between accuracy and run time.
IFFY’s Exponential Treatment of Time
The exponential time-step tries to get the best of both; higher accuracy when things are changing fast, and shorter run time when things calm down. This approach might be appropriate for other phenomenon, like reforestation after a fire. First, there is a rapidly changing war of weeds, then for a few years bushes dominate, and finally the forest matures to a near steady state. But such cases are rare, so exponential time-steps are rather unique.
No discrete simulation of a continuous process can ever be totally accurate. In this case isotope creation, decay, and neutron absorption occur simultaneously. Digital computers work serially. All of the action happens at the start of the time step. There is no way to simulate true simultaneity.
With an exponential treatment of time, we expect the error to increase over time. In the last IFFY time-step, 17 years of activity happen at once. However, by that time the rapidly changing (short-lived) isotopes have come to equilibrium. The only isotopes that are changing “rapidly” are those with half-lives measured in years. Exponential time is a good fit for this (we contend).