-
Notifications
You must be signed in to change notification settings - Fork 0
02 The VISION Model
The VISION model itself exists on 33 separate diagrams in Powersim (similar to sheets in an Excel workbook). Each diagram contains an assortment of icons and arrows representing individual variables and their interconnections. The shapes and features of these icons are set by Powersim to indicate certain features or attributes, and a coloring scheme is applied by the developer to provide a further visual indication of the variable's usage within the model.
This page will first describe the coding, coloring, and organizational conventions used in the diagrams and then give a brief summary of each of the diagrams used in the model. Finally, a brief description will be given of the other windows available within Powersim and how they relate to the VISION model.
This section describes how the basic components of the VISION model are arranged at a high level. For greater detail, the interested user is invited to look to the source code in the corresponding area of the VISION model.
This tab is one of the core aspects of the VISION model. It tracks the production and utilization of nuclear material from initial extraction through to final disposal. At several key junctures, the material tracking is transferred to other specialized tabs for more intensive calculation, and most, if not all, of the logic that determines the rates at which fuel material advances through the lifecycle pipeline is computed on other sheets. The mass of material is tracked here on a mass-basis for each of the tracked isotopes and categories listed here
The model of the fuel cycle is decomposed into three separate parts: 1) the front end, 2) in the reactor, and 3) the back end.
The front end comprises everything from the mining of the source material through the fabricating of completed fuel that is provided to the reactor.
Within the reactor, fuel mass is quantized according to the average amount of fuel delivered to an operating reactor over a single timestep. These quanta are tracked according to a number of attributes, including the reactor type, the recycling pass, the number of timesteps over which it has been irradiated, and whether it is of an incoming or outgoing fuel recipe.
The back end of the fuel cycle includes wet storage, dry storage, and retrievable storage. Fuel sent for recycling or permanent disposal is transferred to models existing on other tabs.
The reactor fleet life cycle is modeled in the '(R) Reactor Life Cycle' tab. Within this model, the reactor progresses through a series of stages, starting with licensing, construction (including substages for when they need to order their first core and first operational reload, and a waiting area for ready reactors awaiting backordered fuel), operations (including substages for milestones that occur when nearing retirement, such as no longer ordering fuel and requiring the procurement of a replacement reactor to maintain net power output). The final step of the lifecycle is retirement (decommissioning and demolition are not explicitly modeled.)
The reactors in operation at the start of the simulation are termed 'legacy reactors,' and their life cycle is determined by a retirement curve given in user inputs. That is, the user input specifies how many reactors retire in a given year, and the model back-calculates the total number in each life cycle stage for the first timestep and then advances them through the stages accordingly.
The ordering of new reactors for construction occurs on the '(ED) Energy Demand Prediction' tab.
Other facilities, such as enrichment, fuel fabrication, and disposal are modeled at a much higher level, where the facility demand is divided by the user-specified facility size to estimate the total number of facilities required.
The list of isotopes and materials that can be tracked by the VISION model is found here.
The VISION model takes, as user-provided inputs, the precise isotopic composition of both fresh and spent fuel for a given reactor type. Though fuel is not tracked isotopically while it is in the reactor, the isotopic breakdown of the mass contained therein is estimated via linear interpolation according to burnup accrued. The details of the recipe definition are explained here.
Used nuclear fuel is expected to vary in isotopic composition depending on details of its usage (irradiation history, core location[s], burnup, cooling time, etc.) and on how it is reprocessed (which elements are retained together vs separately, purity standards, batch sizes, cross-batch mixing, etc.). This greatly complicates the ability to make multidecade estimates of material inventory and availability across recurrent recycling passes where the detailed isotopics of the first batch will feed back to alter the isotopics of subsequent batches. Even if perfect modeling fidelity of the physical effects were possible, the search space of the resulting process optimization model would be mind boggling. To work back to a tractable approach to meet the present purposes, a series of assumptions and simplifications are made. While some effort is made to assess the validity of these assumptions, these assumptions represent one area for future methods research and development, probably using a more powerful platform than Powersim.
To gain a tractable estimation of the mass of recycled fuel that can be obtained by reprocessing a unit mass of spent fuel, the VISION model assumes that all material is fungible, so long as the mass of a core fraction of so-called 'control isotopes' is maintained. Thus, the spent fuel is reduced to a total mass of control isotopes according to the spent fuel recipe. The mass of fresh fuel thus derived is computed by multiplying the mass of control isotopes by the given fresh fuel recipe. The set of control isotopes is determined by the user from one of the values listed below:
- Conserve Pu-239
- Conserve Total TRU (Np-237-Cf-252)
- Conserve Total Pu
- Conserve All U Except U-238
- Conserve All Fissile Isotopes (U-233, U-235, Pu-239, Pu-241, Am-242m, Cm-243, Cm-245, Cm-247, Cf-249, Cf-251)
- Conserve Transthorium (Pa-231 through Cf-252, except U-233, U-238)
The discrepancy between fuel isotopes consumed and supplied via this simplification is tracked using the variable 'Cumulative MF Isotopes Not Supplied', which is reported in the output data file.
In modeling the nuclear fuel cycle, isotopes fall into one of three categories. Those that have half-lives on the order of the modeling timestep or shorter can be implicitly converted into the next long-lived daughter isotope, while those that have half-lives an order of magnitude longer than the simulation time do not decay appreciably during the simulation and therefore do not need to be modeled either. The final set of isotopes, with half-lives falling between the modeling timestep and simulation time, may need to be modeled explicitly, depending upon their import to the metrics of interest for the simulation. That is, if they are all to be simply lumped as fission products, there is no need for specificity.
Within VISION, decay is computed via repeated application of an externally computed decay transformation matrix. This matrix computes the mass of daughter isotopes resulting from 1 year of decay of a unit mass of any incoming isotope. This matrix is then repeatedly applied to create a static array of decay outcomes for a range of predetermined decay timeframes (the 'Decay Precalculation' range). Though this calculation is quite involved (for the capabilities of Powersim), it is only computed once whenever the user opens the variable, so it otherwise does not impede the model performance.
These precalculated decay matrices are applied to fuel isotopes at either or both of the wet- and dry-storage buffers as indicated by the 'decay wet storage' and 'decay dry storage' input values.
When the user inputs specify that fuel separations capacity exists, that capacity is allocated to first to fuel sitting in the dry storage buffer and then to fuel sitting in the managed retrievable storage (MRS) buffer (this calculation occurs on the '(Fcp) Separations Capacity' tab). The isotopic flows of selected fuel are debited from the respective buffers and process through the 'separations efficiency matrix', which determines the routings of each of the isotopes to the desired separated materials buffers.
The separated material is then credited to the 'Separated Material Buffer Box Stock' variable on the '(Ff) Separation Fuel Makeup' tab, wherein calculations are made to determine the mass of recycled fuel that can be created from the available buffer stock and the prioritization of fuel requests to which that fuel is allocated. This is also where the "flow control" approximations are applied and where the resulting mass discrepancies are tracked.
Fuel separations processes in VISION are modeled using a fixed routing matrix that maps incoming fuel isotopes to outgoing process buffers using mass percentages. It does not inherently contain any embedded chemical or physical models and so does not fall under any sort of export control restriction. Specific values are provided by the user and may either represent an underlying process flowsheet or more often a set of simplifying assumptions (e.g., 99.9% recovery of transuranic material). These separations matrices are provided using a fixed format in the input spreadsheet, and their use is selected on an annual basis by the corresponding values in the 'Separations N' spreadsheet.
Recycled fuel, when specified and when available in sufficient quantities, is first provided to operating reactors requiring refueling. If any recycled fuel remains available, then it is provided to new reactors awaiting their first core. Fuel remaining afterward is retained for later use. If supplies are insufficient to fuel new reactors, either a contingent source of new enriched (Pass0) fuel is used or the reactor is held in a waiting state until such fuel becomes available. If supplies are insufficient to fuel operating reactors, those reactors that do not receive fuel are considered idle, no electric output is reported, and existing fuel does not advance through the aging chain. If, coincident with a fuel shortage, a reactor is retired, the reactor experiencing the shortage is preferentially retired and its fuel is discharged to wet storage.
Where the separations matrices above determine where material incoming to a given type of separations facility is routed for reuse, the Recycling Strategy Matrix and Recycling Strategy Option input values determine the prioritization for routing spent fuel from a given reactor type into a given separation type. Thus, the user can specify that spent fuel from a legacy light-water reactor (LWR) fleet is treated separately than material from a new LWR fleet or that a sodium-cooled fast reactor (SFR) blanket assembly (modeled as its own reactor type) is treated differently than an SFR driver assembly.
The Recycle Strategy Matrix sheet in the input has spaces for the user to specify up to 15 different strategies. Each strategy lists, in decreasing priority, the type of fuel to route to each separations facility. The incoming fuel type is encoded using a three-digit code, where the first two digits give the fuel type number (which corresponds to the reactor type number plus nine) and the final digit indicates the pass (0–6). For example, Code 100 would be Fuel Type 1 Pass 0, and 125 would be Fuel Type 3 Pass 5. The ordering of the codes within the rows gives the prioritization for sending material to separations. Thus, a sequence of (125, 124, 123, 122, 121) would preferentially reuse the most-recycled Type 3 fuel, whereas (100) would simply take any available unrecycled Type 1 fuel. Any fuel types not listed in the matrix will not be eligible for recycling. The Recycle Strategy Option input sheet permits the user to change the operative recycle strategy on an annual basis during the simulation (though this capability has not been tested in conjunction with the fuel supply forecasting model described below).
Because most of the fueling parameters for a given reactor under normal operations are defined at the start of the simulation, and because VISION uses the aforementioned flow-control isotope approximation for spent fuel recycling, we can generate an estimate for the cumulative consumption or production of flow-control isotopes for a single reactor as a function of time. As an example, imagine a hypothetical SFR that requires 10 kg of Pu-239 in its initial core and that, every year during refueling, it takes in 2 kg of Pu-239 in fresh fuel while producing 5 kg of new Pu-239, which requires 5 years to be reprocessed into new fuel. In this situation, the net cumulative production is -10 kg in the first year, -12 kg in the second, and so on until Year 6, where a minimum value of -20 kg is reached. Every year after that increases by 3 kg as the bred material accumulates. After 14 years of operation, a net positive inventory will be realized, which will continue to grow as long as the reactor operates. After 17 years, it will have produced enough surplus Pu-239 to support starting another reactor, while the continued output of 3 kg/year can support the initial 2 kg/year start-up needs of the new reactor.
In VISION, for each reactor type, the cumulative control isotope production profile is estimated at the start of the simulation. Then, for each reactor requested for construction, that profile is credited or debited against a standing forecast of the available material. If this causes a negative forecast value to occur at any future timesteps, then there will not be sufficient fuel to support that reactor at some point during its life cycle. At this point, two options are available in the simulation to ensure that power demand can be met. First, a recycling reactor may utilize a contingent (Pass0) fuel source that does not depend upon availability of recycled material (i.e., fresh LEU or HALEU). Alternatively, a backup reactor type (such as an LWR) that does not depend upon recycled material may be ordered. If neither option is selected, then power shortfalls may result, but the model will still produce valid results.
To run the model, it must first be opened in Powersim. This can be accomplished by first opening Powersim, going to File -> Open, and selecting the VISION model file. More simply, the user may double-click the VISION model file. When VISION opens, the Output Data 1 spreadsheet will open as well.
Once the model is open, the user should update the input spreadsheet selection if they are using a different input file than the default. This is done by going to the Simulation menu and selecting Simulation Settings. Go to the Placeholder Values tab and update the INPUT_DECK placeholder value to the desired file.
Assuming the input deck is up to date with what the user wishes to run, the model should then be reset using the Reset Simulation button on the top left of the Powersim interface. This will reload any external variables to get them to the latest state. It will also reset the RUNINDEX counter to 1.
Next, look on the Interface diagram within VISION to confirm that the 'Recycle Strategy Row Count' value is not '?', as this indicates a rare bug has occurred. If this bug is encountered, the user must open the 'Recycle Strategy Row Count' variable in the VISION model, make a change to the whitespace (such as adding a space), click 'apply', then remove that whitespace, click 'apply' again, and then exit the variable and reset the model. Then open the 'Select Base Case' drop-down list and select the base case from the input deck that you wish to use. Finally, confirm that the start and stop times from the input deck match those in the simulation by looking at the Simulation Time Horizon Table on the Interface diagram. If they are different, press the Set Start Time or Set End Time buttons; this will update the built-in placeholder values and array bounds so that the simulation is ready to run.
To run the simulation, press the Play button at the top left of the Powersim interface. The simulation will run to completion, pausing for a while at the end as the data is exported to the output spreadsheet.
Once the simulation is complete, the user may either change the inputs, save the changes, reset the model, and run it again or may advance the model. Advancing the model using the Advance button on the top left of the Powersim input will increment the RUNINDEX value and reset the simulation time to the start time. A new base case may now be selected and run to completion.
When all of the planned simulations are run (up to five), the model can be reset to start again.
When all work is completed, be sure to save the Output Data 1 spreadsheet prior to closing Powersim. If the results are to be archived or saved for later analysis, it is recommended to copy the output spreadsheet to a different folder for later use.
Each variable in a diagram presents a detailed view when double clicked. The two most valuable tabs in the detail view are the definition and documentation.
The definition tab shows the key properties of the variable being calculated, including units, dimension, and type (real, integer, complex, logical). Code comments may be provided within the definition window using double forward slash marks //. Liberal use of comments and indentation generally makes for more readable code.
The documentation tab contains two fields for providing written explanations of the calculations, and their use is highly encouraged.
The variables within a diagram are represented by various icons with differing shapes and ornamentations denoting such features as scalar vs nonscalar values, whether they are 'ghost' variables copied over from other areas or diagrams, and whether they are computed at each timestep or at startup only. For understanding these conventions, please consult the Constructor Diagram Symbols entry within the Powersim help menu.
Because the VISION model is quite complicated, a number of organizational conventions are utilized to make navigation easier. On the left side of most diagrams is an interface block, where all of the externally defined variables are placed and colored red. Their values are copied over to corresponding 'catching' variables used within the diagram. These catching variables have the same name appended with the one or two letter code of the diagram name; this supports navigation when using the precedent and dependent windows. Variables used as inputs in other diagrams are colored blue for easy identification. Particularly complicated diagrams may be broken down into component calculations, each identified by a labeled 'frame' (colored background box). Constant-valued variables are identified using a bright green color.
One of the more useful features of Powersim is that the calculations incorporate all necessary unit conversions. Additionally, custom units can be defined for special cases; these can be seen in Global Units under the View menu.
Of particular note is how the model handles time. The default timestep for the VISION model is 3 months. The internal calendar selected for VISION simplifies the year to consist of four quarters, each of which is 90 days, so each year will have 360 days. Depending on how input assumptions are formulated and how subsequent calculations are performed, this may result in discrepancies when comparing results against those of other models.
Powersim enables users to create multidimensional arrays where the extent and enumeration of each dimension is given by a range. Ranges in Powersim are defined in the Ranges view list, which is accessed under the view menu. A range is an enumerable (countable) collection of items defined through either lower and upper bounds, sets of text entries, or subsets of other ranges. Ranges may be static (given fixed definitions within Powersim) or dynamic (loaded at startup from Excel inputs); both types are utilized in VISION.
Notable ranges used in the VISION scenario include:
-
Master Mat Listcontains the comprehensive listing of all materials tracked within the VISION model. Numerous subranges are defined from this list. -
Passis an enumeration of the number of times a fuel quantity has been recycled through a reactor. AfterPass5, the fuel is assumed to have reached equilibrium, and further recycling results in morePass5material. -
SIMULATION TIMEis a dynamic numeric range that reads the starting and ending year from the input spreadsheet. -
Consolidated Recipe Entriesis a dynamic enumeration range that loads the indices used to correlate selected fuel recipes.
In general, it is highly encouraged when modifying the VISION code to utilize ranges and enumerations where possible, as hard-coded numerical ranges often lack context.