.. |keff| replace:: *k*\ :sub:`eff` .. _sec-csas-shift: CSAS-Shift: Criticality Safety Analysis Sequence with Shift =========================================================== *K. B. Bekar*, *G. Davidson*, *B. Langley*, *B.J. Marshall* The CSAS-Shift sequence integrates the Shift advanced Monte Carlo solver into the CSAS framework as an alternative to the KENO transport solvers to perform reliable and efficient eigenvalue calculations for criticality safety and reactor physics analysis. It supports both KENO V.a and KENO-VI geometries and provides most widely used KENO capabilities available in the CSAS5 and CSAS6 sequences for both multigroup and continuous-energy transport modes. The highly scalable Shift Monte Carlo solver enables faster solutions when running on multiple cores, and it shows better performance to achieve the same level of accuracy compared to the CSAS sequences with the KENO codes. Introduction ------------ The CSAS-Shift sequence was designed to provide the modeling and simulation capabilities required for criticality safety and reactor physics analysis through the Shift Monte Carlo solver. Shift is a massively parallel Monte Carlo radiation transport package in the Exnihilo radiation transport code suite :cite:`CSS-pandya_shift_2016`, :cite:`CSS-evans_denovo_2010`. Shift was developed including features such as support for both fixed-source and eigenvalue Monte Carlo transport capabilities with multiple geometry and physics engines, hybrid capabilities for variance reduction methods, and advanced parallel decompositions to scale well from laptops to small computing clusters to advanced supercomputers. Shift supports different geometry engines, including the Oak Ridge Adaptable Nested Geometry Engine (ORANGE) designed to provide particle transport capabilities on both KENO V.a and KENO-VI geometries as well as geometry visualization capabilities in the Fulcrum user interface. Shift with both versions of KENO geometries performs eigenvalue calculations in both continuous-energy and multigroup modes. Shift supports most widely used primary capabilities available with the KENO codes and provides some unique capabilities with ORANGE such as modeling randomly packed media and efficient parallel calculations for volume estimates. CSAS-Shift provides all capabilities for both multigroup and continuous-energy transport modes. Like the CSAS5 and CSAS6 implementation, in the multigroup calculation mode, CSAS-Shift sequences automate the processing of the cross sections for temperature corrections and problem-dependent resonance self-shielding for utilization in multigroup neutron transport calculations using SCALE's cross section processing module, XSProc. If continuous-energy calculation mode is selected, no resonance processing is needed, and the continuous-energy cross sections are used directly in the Shift code, with temperature corrections provided as the cross sections are loaded. CSAS-Shift with the highly scalable Shift solver enables some unique capabilities and faster solutions when running on multiple cores, and it shows better performance to achieve the same level of accuracy compared to the CSAS sequences with the KENO codes. CSAS-Shift input requirements, supported and unsupported capabilities, and input and output details are described in the following sections. CSAS-Shift Input Requirements ----------------------------- CSAS-Shift's design is aimed to make a smooth transition between KENO codes to the Shift transport code. Therefore, the original input data layout available in CSAS sequence with the KENO transport codes was kept the same for the CSAS sequence with Shift transport. CSAS-Shift uses the same CSAS5 and CSAS6 inputs, the only input modification that should be required is changing the sequence name by appending ``-shift`` to the sequence name, as shown in :numref:`csas-shift-input`. Like CSAS sequences with KENO codes, CSAS-Shift sequences are named with the KENO geometry that they support: CSAS5-Shift for the models with KENO V.a geometry, and CSAS6-Shift for the models with KENO-VI geometry. .. code-block:: scale :caption: CSAS sequence inputs with KENO and Shift transport :name: csas-shift-input =csas5 Godiva sphere ce_v7.1 read composition u-234 1 0 0.000491995 300 end u-235 1 0 0.0449996 300 end u-238 1 0 0.002498 300 end end composition read parameter html=no end parameter read geometry sphere 1 1 8.741 end geometry end data end =csas5-shift Godiva sphere ce_v7.1 read composition u-234 1 0 0.000491995 300 end u-235 1 0 0.0449996 300 end u-238 1 0 0.002498 300 end end composition read parameter html=no end parameter read geometry sphere 1 1 8.741 end geometry end data end .. warning:: CSAS-Shift sequence implementation may ask the user for some minor input updates for a successful calculation. Sequence Capabilities --------------------- In the CSAS-Shift sequence framework, SCALE data handling is automated as much as possible. Similar to many other SCALE sequences, CSAS-Shift also applies a standardized procedure to provide appropriate number densities and cross sections for the calculation. XSProc is responsible for reading the standard composition data and other engineering-type specifications---including volume fraction or percent theoretical density, temperature, and isotopic distribution, as well as the unit cell data. XSProc then generates number densities and related information, prepares geometry data for resonance self-shielding and flux-weighting cell calculations, and (if needed) provides problem-dependent multigroup cross section processing. Sequences that execute Shift transport include a data processor named ExnihiloInputBuilder to read and check the KENO data. This data processor processes the KENO data and creates a ParameterList input used by Shift to construct the problem and perform transport calculations. When the data checking has been completed, the CSAS-Shift sequence executes XSProc to prepare a resonance-corrected macroscopic cross section library in the AMPX working library format for the subsequent Shift transport calculation if a multigroup library has been selected. Similar to CSAS sequences with KENO transport, the CSAS-Shift sequence supports both CELLMIX and Double-het capabilities. For each unit cell specified as being cell-weighted, XSProc performs the necessary calculations and produces a cell-weighted macroscopic cross-section library. Shift may be executed to calculate the k-effective, or neutron multiplication factor, using the cross section library that was prepared by the control sequence. Computational capabilities available in CSAS sequences with KENO codes---including the determination of k-effective, flux densities, fission densities, mesh tallies, Shannon entropy tally, problem-dependent continuous-energy temperature treatments, parallel calculations, and many more---are also provided by the CSAS-Shift sequence. CSAS-Shift also supports two new CSAS sequence data blocks, definitions and tallies data, to allow flexible definition and output control of mesh tallies. The mesh responses neutron flux, fission rate, and fission source can now be requested multiple times on different spatial and energy grids in the same calculation. This capability helps users efficiently manage computational resources when collecting detailed information, depending on their requirements. Criticality safety tools in SCALE attain some unique capabilities provided by Shift with the new geometry engine ORANGE, such as parallel volume estimates for KENO-VI geometric regions and modeling randomly packed media, which is enabled by implementing a random-packing algorithm to place spherical particles within simple bounding geometries. This capability allows constructing tristructural isotropic (TRISO) particle models for advanced reactor modeling and simulation activities. See :numref:`sec-module.shift.randomgeom` for further details. Details for some of these capabilities, their input methods, and output edits are provided in the following sections. Multigroup limitations ~~~~~~~~~~~~~~~~~~~~~~ Some of the limitations of the CSAS-Shift multigroup sequences are a result of using preprocessed multigroup cross sections. Inherent limitations in multigroup CSAS-Shift calculations are as follows: 1. Spatial effects such as fuel rods in assemblies where some positions are filled with control rod guide tubes, burnable poison rods, and/or fuel rods of different enrichments. The cross sections are processed as if the rods are in an infinite lattice of identical rods. If the user inputs a Dancoff factor for the cell (such as one computed by MCDancoff), XSProc can produce an infinite lattice cell which reproduces that Dancoff. This can mitigate some spatial lattice effects. Continuous-energy limitations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The continuous-energy cross sections are directly used in Shift. An existing multigroup input file can easily be converted to a continuous-energy input file by simply specifying the continuous-energy library. In this case, all cell data is ignored. However, the following limitations exist: 1. If CELLMIX is defined in the cell data, the problem will not run in continuous-energy mode. CELLMIX implies new mixture cross sections are generated using XSDRNPM-calculated cell fluxes; therefore it is not applicable in continuous-energy mode. 2. Problems with DOUBLEHET cell data are not allowed, as they inherently utilize the CELLMIX feature. Unsupported Capabilities ~~~~~~~~~~~~~~~~~~~~~~~~ Although Shift Monte Carlo code was designed with several advanced capabilities, it does not currently support some of the unique features available in KENO codes. Therefore, CSAS-Shift does not provide some of the capabilities available in CSAS5 and CSAS6 sequences. The missing capabilities are mostly considered as the outdated features or those seldomly used by CSAS users in their analysis. The equivalent capabilities will be activated in the Shift transport code in the next SCALE release, depending on the need basis. :numref:`tab-csas-shift-unsupported-capabilities` summarizes the capabilities currently supported by CSAS with KENO codes but not supported by CSAS-Shift sequences. .. tabularcolumns:: |p{5cm}|p{5cm}|p{5cm}| .. table:: Unsupported CSAS capabilities :class: longtable :name: tab-csas-shift-unsupported-capabilities +---------------------+---------------------------+------------------------------------------------------------+ | Capability | Input method(s) to | Comments | | | activate the capability | | +=====================+===========================+============================================================+ | Adjoint transport | parameter data ``ADJ`` | Adjoint transport capability is not available in Shift | +---------------------+---------------------------+------------------------------------------------------------+ | Prompt-only | parameter ``PNU`` | Shift does not support using prompt neutron spectrum only | | :math:`nu` | | in continuous-energy mode | +---------------------+---------------------------+------------------------------------------------------------+ | Use unionized | parameter ``UUM`` | Shift does not support KENO-like mechanism to store | | mixture cross | | cross sections on a material-based unionized energy grid | | section | | for a faster cross section lookup in continuous-energy | | | | mode | | | | | | | | Although this method benefits for faster runtimes for some | | | | KENO models, storing all data may require prohibitively | | | | large amount of memory for problem with a large number of | | | | materials. Different approaches are being developed in | | | | Shift transport, and some experimental implementation is | | | | available in CSAS-Shift. See | | | | :numref:`tab-csas-shift-new-parameters` for more details. | +---------------------+---------------------------+------------------------------------------------------------+ | Matrix k-effective | parameters | An alternative k-effective calculation method available in | | | ``MKP``, ``CKP``, ``FMP`` | KENO codes are not supported by Shift. | | | ``MKU``, ``CKU``, ``FMU`` | | | | ``MKH``, ``CKH``, ``FMH`` | | | | ``MKA``, ``CKA``, ``FMA`` | | | | ``HAL``, ``HHL``, ``FMA`` | | +---------------------+---------------------------+------------------------------------------------------------+ | Start data types | ``start data`` block | Start data types 2 - 5 have not been implemented | | 2, 3, 4, 5 and 9 | ``NST=`` 2, 3, 4, 5, and | by ORANGE geometry engine used by Shift transport. | | | 9 | | | | | Start type 9 designed to read starting distribution from a | | | | mesh source file is not currently supported by CSAS-Shift. | +---------------------+---------------------------+------------------------------------------------------------+ | Biasing or | ``bias data`` block | KENO-like biasing capability is not currently supported by | | weighting data | | Shift transport. | +---------------------+---------------------------+------------------------------------------------------------+ | Periodic and White | ``bounds data`` block | Shift transport does not currently support PERIODIC and | | Albedo boundary | | WHITE boundary conditions for both KENO V.a and KENO-VI | | conditions | | geometries. | +---------------------+---------------------------+------------------------------------------------------------+ | Differential Albedos| ``bounds data`` block, | Material specific albedos available with KENO multigroup | | | ``PAX`` in | transport is not supported by Shift multigroup transport | | | ``parameter data`` block | | +---------------------+---------------------------+------------------------------------------------------------+ | LOOP construct in | ``array data`` block | LOOP construct in array data input block is not supported | | array data | | by ORANGE geometry engine as part of Shift code. | | | | | +---------------------+---------------------------+------------------------------------------------------------+ | Volume calculation | ``type=RANDOM`` in | Random volume estimates for KENO-VI geometry is not | | (random sampling) | ``volume data`` block | available in ORANGE geometry engine used by Shift transport| +---------------------+---------------------------+------------------------------------------------------------+ | Accumulate mesh | parameter ``MFX`` | Shift does not support to tally mesh fluxes which are | | fluxes | | averaged over the region volumes in each mesh voxel. | +---------------------+---------------------------+------------------------------------------------------------+ | Compute and print | parameter ``MFP`` | This capability is not currently implemented in Shift. | | mean free paths | | | +---------------------+---------------------------+------------------------------------------------------------+ | Region-dependent | parameters ``FAR`` and | Although these tallies are available in Shift transport | | fissions and | ``GAS`` | they are not currently implemented in CSAS-Shift. | | absorptions | | | +---------------------+---------------------------+------------------------------------------------------------+ | Mixture-dependent | ``reaction data`` block | Although these tallies are available in Shift transport | | reaction tallies | | they are not currently implemented in CSAS-Shift. | | | | | +---------------------+---------------------------+------------------------------------------------------------+ | Time controlled | parameter ``TME`` | Shift does not have job termination capability controlled | | termination | | by the user-defined time limit. | +---------------------+---------------------------+------------------------------------------------------------+ | Terminate execution | by creating a file named | CSAS-Shift does not support this capability | | on user signal | ``stop_keno`` in the | | | | working directory | | +---------------------+---------------------------+------------------------------------------------------------+ | Restart capability | parameters ``RES``, | Restart capability is not available in Shift | | | ``BEG``, ``APP``, | | | | ``RST``, ``WRS`` | | +---------------------+---------------------------+------------------------------------------------------------+ | Print particle | parameter ``TRK`` | Although Shift has its own mechanisms to print information | | tracks | | about each particle history, this capability is not fully | | | | integrated in CSAS-Shift sequence. It will be available | | | | in next releases. | +---------------------+---------------------------+------------------------------------------------------------+ | Problem | always ON | This capability is not currently implemented in CSAS-Shift.| | Characterization | | | | Output Edit | | | +---------------------+---------------------------+------------------------------------------------------------+ | Frequency | always ON | This capability is not currently implemented in CSAS-Shift | | Distributions | | | +---------------------+---------------------------+------------------------------------------------------------+ | Plots of avg. | always ON | CSAS-Shift does not plot the average k-effective by | | k-effective and | | generations run, the k-effective by generations skipped, | | Shannon entropy | | and Shannon entropy per generation. | | | | | | | | Instead of the char-plots, CSAS-Shift creates Ptolemy | | | | plots and stores them in a dedicated plot directory. | | | | Fulcrum may be used to visualize these plots. See | | | | :numref:`sec-module.shift.k_plot` | +---------------------+---------------------------+------------------------------------------------------------+ | Summary of Source | parameter ``SCD`` | CSAS-Shift does not perform the posterior entropy tests | | Convergence | | available in KENO. Instead, result of a single test | | Diagnostics | | performed by Shift is captured and printed in the relevant | | | | output section. | +---------------------+---------------------------+------------------------------------------------------------+ | Print capabilities | parameters ``AMX``, | Currently, no capability is available to print the cross | | for mixed cross | ``XS1``, ``XS2``, ``PKI`` | sections used by Shift transport. | | section | ``P1D``, ``XAP``, ``XSL`` | | +---------------------+---------------------------+------------------------------------------------------------+ | Flux moments and | parameters ``TFM``, | CSAS-Shift does not support any of these capabilities. | | angular flux calc. | ``PMF``, ``PMM`` | | +---------------------+---------------------------+------------------------------------------------------------+ | Print starting | ``PSP`` parameter | This capability is not currently implemented in CSAS-Shift | | points | in ``start data`` | | +---------------------+---------------------------+------------------------------------------------------------+ | Plot capability | parameter ``PLT`` | Old-style plotting capabilities available in KENO codes | | | ``plot data`` block | are not supported. Fulcrum can be used for geometry | | | | visualization. | +---------------------+---------------------------+------------------------------------------------------------+ | HTML output | parameter ``HTM`` | Old-style HTML-based output method is not supported. | | | | | +---------------------+---------------------------+------------------------------------------------------------+ Input Data Guide ---------------- This section describes the input data required for the CSAS-Shift sequence. A typical CSAS6-Shift input, shown in :numref:`csas-shift-input-layout`, starts with the sequence identifier always preceded by the ``=`` sign, and it is followed by the problem title. Then, a cross section library name is specified, and all these entries are followed by several data blocks each starting with `READ data_block` and ending with `END data_block`. .. code-block:: scale :caption: A typical CSAS-Shift sequence input :name: csas-shift-input-layout =CSAS6-Shift parm=(parm_options) problem title ' ----- XSProc data ' cross section library name (REQUIRED) ce_v7.1 ' List of material specifications in standard SCALE format (REQUIRED) read composition ... end composition ' Specify data for resonance processing (OPTIONAL) read celldata ... end celldata ' ---- New CSAS sequence data blocks ' Used to define energy bounds and grid geometries for ' the tallies defined in tallies data block ' (REQUIRED if tallies data block exists) read definitions ... end definitions ' Used to define tallies in a more robust way (OPTIONAL) read tallies ... end tallies ' ---- KENO transport data ' Specify the problem geometry (REQUIRED) read geometry ... end geometry ' Other input data blocks (OPTIONAL) Because CSAS-Shift uses the same input data used by CSAS5 and CSAS6, details of the input data blocks, compositions, celldata, definitions, and tallies will not be repeated here, and they can be seen in :numref:`sec-csas.input`. Data blocks in the KENO transport data category will be discussed in the following section. .. note:: For CSAS-Shift, the grid boundaries must be inside the specified geometry, while CSAS-KENO permits grid boundaries beyond the geometry. KENO input data in CSAS-Shift ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :numref:`tab-csas-shift-input-blocks` presents the lists of the KENO input data blocks supported by CSAS-Shift sequence. The input method in some data blocks may show some minor differences between the CSAS-KENO and CSAS-Shift sequences. Similarly, some capabilities provided by each input block also have some differences. All these details are discussed in this section. KENO input data blocks, that are ``reaction data``, ``bias data``, ``mixt data``, and ``plot data``, are not currently supported by the CSAS-Shift sequences. .. raw:: latex \clearpage .. tabularcolumns:: |p{4cm}|p{2cm}|p{5cm}| .. table:: Summary of KENO input data blocks available in CSAS-Shift sequences. :class: longtable :name: tab-csas-shift-input-blocks +----------------------+-----------------+------------------------------------------------------------+ | **Data block** | **Status** | **Comments** | +----------------------+-----------------+------------------------------------------------------------+ | Parameters\ :sup:`*` | Supported | See :numref:`sec-csas-shift.parameters` for more details. | +----------------------+-----------------+------------------------------------------------------------+ | Geometry | Supported | See :numref:`sec-csas-shift.geometry` for more details. | +----------------------+-----------------+------------------------------------------------------------+ | Array data | Supported | | +----------------------+-----------------+------------------------------------------------------------+ | Boundary conditions | Supported | See :numref:`sec-csas-shift.geometry` for more details. | +----------------------+-----------------+------------------------------------------------------------+ | Volume data | Supported | See :numref:`sec-csas-shift.geometry` for more details. | +----------------------+-----------------+------------------------------------------------------------+ | Energy boundaries | Supported | | +----------------------+-----------------+------------------------------------------------------------+ | Start data | Supported | See :numref:`1-2-5-1-3` for more details. | +----------------------+-----------------+------------------------------------------------------------+ | Grid geometry data | Supported | | +----------------------+-----------------+------------------------------------------------------------+ | Plot data | Not available | The data in this block will be ignored in the calculations | +----------------------+-----------------+------------------------------------------------------------+ | Bias data | Not available | Execution will be terminated. | +----------------------+-----------------+------------------------------------------------------------+ | Reaction data | Not available | The data in this block will be ignored in the calculations | +----------------------+-----------------+------------------------------------------------------------+ | Mixt data | Not available | The data in this block will be ignored in the calculations | +----------------------+-----------------+------------------------------------------------------------+ | :sup:`*` Must precede all other data blocks in this table. | +-----------------------------------------------------------------------------------------------------+ Similar to CSAS5 and CSAS6, ``geometry data`` is the only KENO data block required to perform Shift transport calculation as part of the CSAS-Shift sequence. Other data blocks are optional, and the same default values listed in various locations in :numref:`sec-module.keno` are also applied to the data in each data block in CSAS-Shift. Note that parameter data must precede all other KENO data blocks if it is entered. When CSAS-Shift is run with a user input including ``bias data`` block, the execution will be terminated with the error message given in :numref:`csas-shift-unsupported-data-blocks-1`. Note that CSAS-Shift ignores the data entered in the unsupported ``plot data``, ``mixt data``, and ``reaction data`` blocks and continues the calculation. User is notified with a warning message as shown in :numref:`csas-shift-unsupported-data-blocks-2`. .. code-block:: scale :caption: Error message printed by CSAS-Shift output when ``biasing data`` is found in user input. :name: csas-shift-unsupported-data-blocks-1 ***Error: Failed to run ExnihiloModule with assertion: ---------------------------------------------- These input cards are unsupported by Shift. ---------------------------------------------- They must be removed from the input to run. ---------------------------------------------- line: 19 column: 1 biasing ---------------------------------------------- ^^^ at /ornldev/code/Scale/S63/Source/packages/Module/Exnihilo/InputProcessorBase.cpp:193 .. code-block:: text :caption: A typical warning message printed by CSAS-Shift output when an unsupported data block is found in user input. :name: csas-shift-unsupported-data-blocks-2 ==================================================================================================== Input Warnings: ==================================================================================================== ***Warning: Plot block found. This is not currently supported by Shift and will be ignored for now. .. note:: CSAS5-Shift and CSAS6-Shift also support PARM=CHECK or PARM=CHK sequence parm options. This will allow checking the input data without performing cross section calculation as well as Shift transport calculations. =CSAS6-SHIFT PARM=CHK .. _sec-csas-shift.parameters: Parameter data ^^^^^^^^^^^^^^ The KENO parameter data block in both CSAS5 and CSAS6 sequences provides many control parameters to activate the capabilities available in KENO transport for the problem being run. CSAS-Shift supports only a subset of these parameters, as listed in :numref:`tab-csas-shift.parameters`. Detailed description of these parameter can be seen in :numref:`sec-module.keno.parameters`. Parameters entered in the ``parameter data`` input block are processed by CSAS-Shift sequence implementation, and then the ParameterList input is updated to accordingly activate/deactivate the equivalent capabilities with Shift transport if the asking feature is currently supported by Shift. CSAS-Shift usually ignores the unsupported parameters by notifying the user with a warning message, and then it continues the calculation. For some specific parameters, code can terminate the execution and ask the user to remove this parameter from the input and rerun the code for a successful calculation. .. caution:: CSAS-Shift notifies users of the unsupported parameters with a warning message before **Numeric and Logical Parameters** edit in the output, and then it ignores this parameter. It is the user's responsibility to examine which input parameter is ignored in the current calculation. .. note:: CSAS-Shift defaults the value of a parameter, which is currently supported but not defined in the ``parameter data`` input block, to the KENO default. In other words, both CSAS and CSAS-Shift use the same defaults for the same parameters. .. tabularcolumns:: |p{1.2cm}|p{1.5cm}|p{4.5cm}|p{1.2cm}|p{1.5cm}|p{4.5cm}| .. table:: Summary of KENO parameters currently supported by CSAS-Shift :class: longtable :name: tab-csas-shift.parameters +--------------------------+------------------------------------------------------------------------------------------------------+ | PARAMETERS: | Format: ``READ PARAM`` *parameter_data* ``END PARAM`` | | | | | | See :numref:`sec-module.keno.parameters` for details. | +============+=============+=====================================+============+=============+=====================================+ | **KEY** | **DEFAULT** | **DEFINITION** | **KEY** | **DEFAULT** | **DEFINITION** | +------------+-------------+-------------------------------------+------------+-------------+-------------------------------------+ | ``RND=`` | given | random number | ``THC=`` | 10.0 | thermal energy cutoff (eV) | +------------+-------------+-------------------------------------+------------+-------------+-------------------------------------+ | ``SIG=`` | 0.0 | deviation limit | ``DBL=`` | 0.4 | DBRC lower energy cutoff (eV) | +------------+-------------+-------------------------------------+------------+-------------+-------------------------------------+ | ``WTA=`` | 0.5 | average weight | ``DBH=`` | 210 | DBRC upper energy cutoff (eV) | +------------+-------------+-------------------------------------+------------+-------------+-------------------------------------+ | ``WTL=`` | 1/WTH | Russian Roulette weight | ``MSH=`` | 0.0 | mesh size of the cubic mesh | +------------+-------------+-------------------------------------+------------+-------------+-------------------------------------+ | ``GEN=`` | 203 | number of generations | ``DBR=`` | 0 | use DBRC for scattering | +------------+-------------+-------------------------------------+------------+-------------+-------------------------------------+ | ``NPG=`` | 1000 | number per generation | ``DBX=`` | 2 | Doppler Broadening method | +------------+-------------+-------------------------------------+------------+-------------+-------------------------------------+ | ``NSK=`` | 3 | generations skipped | ``CET=`` | 0 | CE TSUNAMI calculation mode | +------------+-------------+-------------------------------------+------------+-------------+-------------------------------------+ | ``NGP=`` | 252 | number of energy groups for tallying| ``CFP=`` | -1 | number of latent generations for | | | | | | | CE- SUNAMI | +------------+-------------+-------------------------------------+------------+-------------+-------------------------------------+ | ``PTB=`` | YES | use probability tables | ``SCD=`` | YES | fission source convergence diag. | +------------+-------------+-------------------------------------+------------+-------------+-------------------------------------+ | ``FLX=`` | NO | collect and print region fluxes | ``CDS=`` | NO | accumulate neutron production | +------------+-------------+-------------------------------------+------------+-------------+-------------------------------------+ | ``FDN=`` | YES | fission densities | ``FIS=`` | NO | fission rate mesh tally | +------------+-------------+-------------------------------------+------------+-------------+-------------------------------------+ | ``NUB=`` | YES | neutrons per fission | ``GFX=`` | NO | compute grid fluxes | +------------+-------------+-------------------------------------+------------+-------------+-------------------------------------+ | ``FST=`` | NO | print F\*(r) 3dmap | ``CGD=`` | NO | use mesh for CLUTCH F\*(r) calc. | +------------+-------------+-------------------------------------+------------+-------------+-------------------------------------+ | ``RUN=`` | YES | execute problem | ``TRK=`` | NO | NOT FULLY IMPLEMENTED | +------------+-------------+-------------------------------------+------------+-------------+-------------------------------------+ .. tabularcolumns:: |m{4cm}|m{3cm}|m{5cm}| .. table:: Summary of parameters available only in CSAS-Shift :class: longtable :name: tab-csas-shift-new-parameters +--------------------------+-----------------------------------------------------------------+ | PARAMETERS: | | | | | | | | +--------------------------+-------------+---------------------------------------------------+ | **KEY** | **DEFAULT** | **DEFINITION** | +==========================+=============+===================================================+ | ``PN_ORDER=`` | 5 | Legendre polynomial order | +--------------------------+-------------+---------------------------------------------------+ | ``DOUBLE_INDEXING=`` | 0.0 | Accelerate xsec calculation using double indexing | +--------------------------+-------------+---------------------------------------------------+ | ``THINNING_TOLERANCE=`` | 0.0001 | Tolerance to use thinning the unionized xsec grid | +--------------------------+-------------+---------------------------------------------------+ In CSAS5 and CSAS6, users can control the number of scattering angles in multigroup calculations by entering the ``SCT`` parameter in the KENO ``mixing data`` block. The similar capability in CSAS-Shift was provided by adding a new parameter, ``PN_ORDER=``, to the ``parameter data`` block because the ``mixing data`` block is not supported by CSAS-Shift sequences. Its default is set as 5. .. _sec-csas-shift.geometry: Geometry data ^^^^^^^^^^^^^ CSAS-Shift with ORANGE geometry supports all KENO V.a and KENO-VI geometry capabilities except the following: - ``LOOP`` construct in ``array data`` block - Material-specific albedo boundary conditions - PERIODIC and WHITE albedo boundary conditions - Random volume estimates for KENO-VI geometry (``TYPE=random`` option in ``volume data``) CSAS-Shift can perform volume calculations with the stochastic ray-tracing method concurrently on the replicated domain on multiple cores. .. _sec-module.shift.randomgeom: Random geometry ''''''''''''''' Another new capability in CSAS-Shift is the automatic placement of units within another unit. This capability is currently limited to the stochastic placement of spherical geometries without clipping within another geometry. Additional options such as the automatic placement in lattice structures and the extension to other geometries is planned for future SCALE releases. This new capability is enabled through a new input block named ``randomgeom``. The ``randomgeom`` block is composed of ``randommix`` specifications which is again composed of key/value pairs. The basic structure of the ``randomgeom`` block and the ``randommix`` specifications is as follows: .. code-block:: scale :caption: New randomgeom data block in CSAS-Shift :name: csas-shift-randomgeom read randomgeom RANDOMMIX = ID TYPE=random UNITS= U1 U2 ... UN end PFS= pf1 pf2 ... pfN end CLIP= no SEED= int end RANDOMMIX end randomgeom with - *RANDOMMIX* - keyword with ID number or name - *TYPE* - distribution type of units (currently limited to *random*) - *UNITS* - list of unit number(s) to be distributed in geometry - *PFS* - fraction of volume occupied by units ``U1 ... UN`` - *CLIP* - boundary clipping (currently limited to *no*) - *SEED* - random seed for random placement Similar to the array block, this input block requires that the unit specified as part of a randommix in the *units* list must exist in the geometry. An additional requirement is that the the units must have a spherical outer boundary. The ``PF`` list must have the same length as the units list. The sum of the values listed in ``PFS`` must be less than 1.0. In practice, the actual limit to the total PF depends on the size and number of the units specified by the user. The ``TYPE`` keyword specifies the distribution of the units within the geometry. The type is currently limited to *random* which will call a stochastic placement algorithm to randomly distribute the units in the geometry. The ``CLIP`` keyword controls the clipping of the units along the geometry in which they are placed. This is currently limited to *no*, that is the units are not clipped by the geometry. The ``SEED`` keyword is specifying the random seed used for the stochastic distribution of units. This assures the same random distribution if the input is run multiple times. .. note:: Given the stochastic algorithm that is currently called by the *randommix* block, in practice total packing fractions of up to approximately 20% are achieved. A "fill" material---the interstitial media surrounding the random spherical geometry units---is not present in the ``randomgeom`` block. Instead, the fill media is handled in the unit specification within the KENO ``geometry`` block of the input file: A region in a unit is filled with both a media and a ``randommix`` record. Then the media is filling the space of the region that is not occupied by units placed through the units defined in the ``randommix`` record. A ``randommix`` block can be used in multiple different units with varying fill materials. The basic unit format along with a ``randommix`` on the media record itself is as follows: .. note:: A ``randommix`` can currently be filled only into regions that have an outer boundary of a sphere, cuboid, or cylinder. .. code-block:: scale read randomgeom randommix=ID ... end randommix end randomgeom read geometry ... unit U surfaces ... media ... media F biasID surfaces randommix=ID boundary S ... end geometry In the sample case shown in :numref:`example-shift-triso-pebble`, a single pebble is filled with a single TRISO particle type. :numref:`fig-csas-shift-random-geom` shows how TRISO particles are placed in a single pebble with the randomgeom capability. The individual location of particles is written in the Shift Hierarchical Data Format (HDF5) output file, so these locations can be used for verification or other purposes as needed. .. code-block:: scale :caption: One TRISO type in a pebble :name: example-shift-triso-pebble =csas6-shift ... read geometry unit 1 com='kernel1' sphere 1 2.50e-02 sphere 2 3.40e-02 sphere 3 3.80e-02 sphere 4 4.15e-02 sphere 5 4.55e-02 media 100 1 1 media 101 1 2 -1 media 102 1 3 -2 media 103 1 4 -3 media 104 1 5 -4 boundary 5 global unit 10 com='pebble' sphere 1 2.5 sphere 2 3.0 cuboid 3 6p5.0 media 101 1 1 RANDOMMIX='trisos' media 106 1 2 -1 media 0 1 3 -2 boundary 3 end geometry read randomgeom randommix = 'trisos' type= random units= 1 end pfs= 0.05 end clip= no seed= 0 end randommix end randomgeom end data end .. figure:: figs/CSAS-Shift/csas_shift_random_geom.png :align: center :width: 800 :name: fig-csas-shift-random-geom Visualization of 3D and 2D cuts of the single TRISO model. .. _1-2-5-1-3: Start data ^^^^^^^^^^ CSAS-Shift supports only START types 0, 1, 6, 7, and 8. CSAS-Shift start data implementation does not currently support the ``PSP`` option, which is used to print source positions sampled by the Shift transport. Implementations for start types 0, 1, 7, and 8 in CSAS-Shift are are similar to those in CSAS5 and CSAS6. However, there are some minor differences in start type 6. In KENO start type 6 implementation, the following rules are applied when selecting the starting points (see :numref:`sec-module.keno.start_dist` and :numref:`sec-module.keno.parameters` for more details). - Start NPG initial fission neutrons at first-NPG starting points defined by start type 6 data if NPG < LNU. Remaining starting points beyond NPG will be discarded. - Start NPG initial fission neutrons at LNU starting points defined by start type 6 data if NPG = LNU. - Start LNU initial fission neutrons at the starting points defined by start type 6 data, then randomly select the remaining fission source points (NPG-LNU) from these starting points if NPG > LNU. where LNU, a start type 6 data parameter, is the total number of starting points specified in the start data block; and NPG, a parameter in the parameter data block, is the number of neutrons per generations. Unlike KENO, the CSAS-Shift input processor does not follow the above rules when selecting positions for the initial fission neutrons. It calculates the probability of each point being selected and passes all starting points with this information to the Shift module. The Shift module always samples NPG initial fission source points using these data. For example, the KENO code processes the following input and then samples the initial fission points. .. code-block:: scale =csas6 parm=bonami Godiva test problem test-8grp read composition u-234 1 0 0.000491995 300 end u-235 1 0 0.0449996 300 end u-238 1 0 0.002498 300 end end composition read parameter htm=no gen=10 npg=15 end parameter read geometry global unit 1 sphere 1 8.67 media 1 1 1 boundary 1 end geometry read start nst=6 ps6=yes psp=yes tfx=1.0 tfy=1.0 tfz=1.0 lnu=5 tfx=2.0 tfy=2.0 tfz=2.0 lnu=20 end start end data end The summary of the sampling process is printed in KENO output, as shown in :numref:`fig-oedit-keno-start-type6-out`. KENO first starts 5 neutrons at (1.0, 1.0, 1.0) and the remaining 10 neutrons at (2.0, 2.0, 2.0) since LNU=20 > NPG=15. .. figure:: figs/CSAS-Shift/csas_shift_oedit_keno_start_type6.png :align: center :width: 800 :name: fig-oedit-keno-start-type6-out Start type 6 output printed by CSAS6. However, CSAS-Shift creates a probability distribution from the defined start type 6 points and samples starting positions for NPG=15 particles using this distribution, as shown in :numref:`fig-oedit-start-type6-out`. .. figure:: figs/CSAS-Shift/csas_shift_oedit_start_type6.png :align: center :width: 800 :name: fig-oedit-start-type6-out Start type 6 output printed by CSAS-Shift. .. _1-2-6: Notes to CSAS-Shift Users ------------------------- In Monte Carlo calculation, the variance of the eigenvalue (k-effective) at each generation is calculated as a sample variance, which is the quantity obtained by assuming no correlation over the generations. However, there is a correlation among the fission sources over generations since the deviation of fission source at a generation from its equilibrium distribution is transferred to the following generations. To resolve this issue, KENO codes use an iterative method to estimate the real variance. :cite:`CS-ueki_error_1997` The same methodology is also implemented inside Shift transport, so that printed k-effective uncertainties in both message and output files are derived from the real variance estimates. .. caution:: User may observe differences in k-effective uncertainty values estimated by CSAS and CSAS-Shift sequences when running the identical problem. This is mainly due to the use of a different k-effective estimator in both KENO and Shift transport codes. Note that, KENO implements absorption estimator in CE mode and collision estimator in MG mode, whereas Shift implements track-length estimator for both CE and MG modes. .. warning:: k-effective values and associated information from Shift calculation and some diagnostics messages originated by Shift are always printed to the standard output (and :file:`.msg` file). There is no user option to suppress these. CSAS-Shift Output ----------------- The CSAS-Shift sequence output is similar to the CSAS5 and CSAS6 outputs, except the output section dedicated to the transport module. See :numref:`sec-csas.output` for the layout of the output, mixture table edit, and cross section processing summary edits for a typical CSAS sequence. This section contains a brief description of the output section dedicated to the Shift transport module. This section provides representative samples of the output format. The actual data contained in this section are not necessarily consistent with results computed by the current version of CSAS-Shift. Shift output ~~~~~~~~~~~~ The output layout of the Shift transport module is generally similar to the typical KENO output edits printed in the CSAS sequence output. However, some output edits are printed in a very different format, and these are discussed in this section. Warning and error messages show stylistic differences compared to the traditional CSAS and KENO messages, and their details are not documented in this manual. Program verification information ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Program verification information :numref:`fig-csas-shift-oedit-prog-ver` is printed after the header page. It lists the name of the program, the date the load module was created, the library that contains the load module, the computer code name from the configuration control table, and the revision number. The job name, date, and time of execution are also printed. This information may be used for quality assurance purposes. .. figure:: figs/CSAS-Shift/csas_shift_oedit_shift_pver.png :align: center :width: 800 :name: fig-csas-shift-oedit-prog-ver Sample program verification table. General problem information ^^^^^^^^^^^^^^^^^^^^^^^^^^^ A general problem information output edit, shown in :numref:`fig-csas-shift-oedit-general-info`, follows the program verification information table. This table is printed by all SCALE Shift sequence implementations. After printing the title given in the input, it summarizes some high-level information for the physics setup of the Shift code. .. figure:: figs/CSAS-Shift/csas_shift_oedit_shift_gen_inf.png :align: center :width: 800 :name: fig-csas-shift-oedit-general-info Sample general problem information table. Input Warnings ^^^^^^^^^^^^^^ CSAS-Shift captures the warning messages emitted from the ExnihiloInputBuilder when processing KENO data for the Shift transport. All these stacked warning messages are printed in the input warnings output table as shown in :numref:`fig-csas-shift-oedit-input-warnings`. .. figure:: figs/CSAS-Shift/csas_shift_oedit_shift_input_warnings.png :align: center :width: 800 :name: fig-csas-shift-oedit-input-warnings Sample input warnings table. Tables of parameter data ^^^^^^^^^^^^^^^^^^^^^^^^ The CSAS-Shift parameter edits list both numeric and logical parameters in the same table. In each table row, the name of the KENO parameter, its short description, the current value of the parameter, and its input method are printed. If the parameter value has been entered by user in the KENO parameter data block, the input method is printed as `( input \* )`. Otherwise, the input method is printed as `( default )`. The user should always verify that the parameter data block was entered as desired. An example of the parameters table is shown in :numref:`fig-csas-shift-oedit-parameters`. .. figure:: figs/CSAS-Shift/csas_shift_oedit_shift_parameters.png :align: center :width: 800 :name: fig-csas-shift-oedit-parameters Sample table of numeric and logical parameter data. Energy boundaries data ^^^^^^^^^^^^^^^^^^^^^^ The CSAS-Shift implementation supports multiple sets of energy boundaries specifications for some of the tallies. This can be done by using the definitions data block as described in the CSAS manual :numref:`sec-csas.input`. However, it prints only the default energy group bounds in the energy boundaries data edit, as illustrated in :numref:`fig-csas-shift-oedit-energy-edit`. Energy group boundaries used for each mesh tally will be printed in the mesh tallies output edit. .. figure:: figs/CSAS-Shift/csas_shift_oedit_energy_edit.png :align: center :width: 800 :name: fig-csas-shift-oedit-energy-edit Sample energy boundaries edit. Mixing table data edits ^^^^^^^^^^^^^^^^^^^^^^^ CSAS-Shift uses the same format and contents as those described for KENO codes in :numref:`sec-module.keno.mixing_table` for the mixing table data edits. In this table, the mixture number, density, and temperature are first printed, followed by a table of the nuclides which make up the mixture. This table contains the following data: nuclide ID number, nuclide mixture ID number, atom density, weight fraction of nuclide in mixture, ZA number, atomic weight, temperature, and nuclide title. Mixture temperature is the same as the nuclides' temperatures for the multigroup calculations, but it may show some differences in continuous-energy calculations. See :numref:`sec-module.keno.mixing_table` for details. A sample mixing table data edit is shown in :numref:`fig-csas-shift-oedit-mixing-table` for a multigroup calculation. .. figure:: figs/CSAS-Shift/csas_shift_oedit_mixing_table.png :align: center :width: 800 :name: fig-csas-shift-oedit-mixing-table Sample mixing table edit. Geometry data edits ^^^^^^^^^^^^^^^^^^^ CSAS-Shift captures the output edit from ORANGE and prints these data as the overview of the geometry. Its format is completely different from the traditional KENO geometry output format but includes more descriptive sections for each geometry piece, as shown in :numref:`fig-csas-shift-oedit-geoemetry`. .. figure:: figs/CSAS-Shift/csas_shift_oedit_geometry.png :align: center :width: 800 :name: fig-csas-shift-oedit-geoemetry Sample ORANGE geometry output edit. Volume information ^^^^^^^^^^^^^^^^^^ Volume tables for both KENO V.a and KENO-VI geometries are always printed by CSAS-Shift using the KENO-style volume editing format and cannot be suppressed. KENO V.a and KENO-VI volume tables show some differences, and all these details are described in KENO manual. See :numref:`8-1-4-15` for further details. A sample volume output edit for KENO-VI geometry printed by CSAS-Shift is shown in :numref:`fig-csas-shift-oedit-volume`. .. figure:: figs/CSAS-Shift/csas_shift_oedit_volume.png :align: center :width: 800 :name: fig-csas-shift-oedit-volume Sample volume output edit. Initial source edits ^^^^^^^^^^^^^^^^^^^^ A summary table is always printed for start types 0, 1, 6, 7, and 8. The table format is the same for both KENO V.a and KENO-VI geometries. :numref:`fig-csas-shift-oedit-start0` illustrates typical starting data for start type 0. The parameter used in this example was ``NST=0``. .. figure:: figs/CSAS-Shift/csas_shift_oedit_start_0.png :align: center :width: 800 :name: fig-csas-shift-oedit-start0 Example of start data. K-effectives by generation ^^^^^^^^^^^^^^^^^^^^^^^^^^ At the completion of each generation, CSAS-Shift prints the k-effective for that generation and associated information obtained from the Shift transport module. An example of this printout is given in :numref:`fig-csas-shift-oedit-keff-gen`. .. figure:: figs/CSAS-Shift/csas_shift_oedit_keff_gen.png :align: center :width: 800 :name: fig-csas-shift-oedit-keff-gen Example of k-effectives and source entropy by generation. The data printed include (1) the generation number, (2) the k-effective calculated for the generation, (3) the average value of k-effective through the current generation (excluding the ``nskip``-1 generations), (4) the deviation associated with the average k-effective, and (5) Shannon entropy for the generation. After the last generation, a message is printed to indicate why execution was terminated. The user should examine this portion of the printed results to ensure that k-effective is in acceptable agreement and to verify that the average value of k-effective has become relatively stable. If the k-effectives appear to be oscillating or drifting significantly, then the user should consider rerunning the problem with a larger number of histories per generation. .. note:: k-effective values from Shift calculations are always printed to the standard output (and :file:`.msg` file). There is no user option to suppress this. Final k-effective edit ^^^^^^^^^^^^^^^^^^^^^^ The final k-effective edit prints the average k-effective, its associated deviation, and the limits of k-effective for the 67, 95, and 99% confidence intervals. The number of histories used in calculating the average k-effective is also printed. This is done by skipping various numbers of generations. The user should carefully examine the final k-effective edit to determine whether the average k-effective is relatively stable. If a noticeable drift is apparent as the number of initial generations skipped increases, then it may indicate a problem in converging the source. If this appears to be the case, the problem should be rerun with a better initial source distribution and should be run for sufficient number of generations so that the average k-effective becomes stable. The final k-effective edit is printed as shown in :numref:`fig-csas-shift-oedit-final-keff`. .. figure:: figs/CSAS-Shift/csas_shift_oedit_final_keff.png :align: center :width: 800 :name: fig-csas-shift-oedit-final-keff Example of the final k-effective edit. .. _sec-module.shift.k_plot: Plot of average k-effective by generations run and by generations skipped ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ASCII character plots of the average k-effective versus the number of generations run, and the average k-effective versus the number of generations skipped, are not printed by CSAS-Shift in the code output. Instead, two Ptolemy plot files are created and copied into the plots directory in ``${OUTDIR}``. The name of the plot files and their final destinations are printed in the output, followed by the final k-effective edit as illustrated in :numref:`fig-csas-shift-oedit-plots`. These plot files can be loaded and visualized by Fulcrum. .. figure:: figs/CSAS-Shift/csas_shift_oedit_plots.png :align: center :width: 800 :name: fig-csas-shift-oedit-plots Information about the average k-effective plot files. Shannon Entropy Diagnostics ^^^^^^^^^^^^^^^^^^^^^^^^^^^ CSAS-Shift does not perform any posterior entropy tests like those available in KENO codes. Instead, it captures diagnostic test results performed by Shift and prints its details in the Shannon entropy diagnostics output edit, as shown in :numref:`fig-csas-shift-oedit-shannon-entropy` .. figure:: figs/CSAS-Shift/csas_shift_oedit_shannon_entropy.png :align: center :width: 800 :name: fig-csas-shift-oedit-shannon-entropy Sample Shannon Entropy Diagnostics edit. Fission densities ^^^^^^^^^^^^^^^^^ The fission density edit is optional. CSAS-Shift prints the neutron production density and the fission density for each geometry region if parameters ``FDN=YES`` and ``NUB=YES`` are specified in the parameter data (these are the default values). If ``NUB=NO`` is specified but ``FDN=YES``, then only the production density will be given. An example of the fission density edit is shown in :numref:`fig-csas-shift-oedit-fis-dens` .. figure:: figs/CSAS-Shift/csas_shift_oedit_fis_dens.png :align: center :width: 800 :name: fig-csas-shift-oedit-fis-dens Example of the fission density edit. Flux Edit ^^^^^^^^^ Printing the fluxes is optional; they are printed only if ``FLX=YES`` is specified in the parameter data. The fluxes are printed for each unit and each geometry region in the unit for every energy group. A sample of a flux edit is given in :numref:`fig-csas-shift-oedit-flux`. .. figure:: figs/CSAS-Shift/csas_shift_oedit_flux.png :align: center :width: 800 :name: fig-csas-shift-oedit-flux An example of a flux edit. Final results table ^^^^^^^^^^^^^^^^^^^ The final results table contains the best-estimate system k-effective with one standard deviation, the number of warning and error messages generated during code execution, and a final statement on the convergence of the :math:`\chi^2` test results as shown in :numref:`fig-csas-shift-oedit-final-result`. .. figure:: figs/CSAS-Shift/csas_shift_oedit_final_result.png :align: center :width: 800 :name: fig-csas-shift-oedit-final-result An example of the final results table. Final timing report table ^^^^^^^^^^^^^^^^^^^^^^^^^ The final timing report table summarizes the time elapsed for input processing, cell processing (for multigroup mode), cross section processing (for multigroup mode), the entire transport process (Shift transport), and post-processing performed by the CSAS-Shift sequence after obtaining all results from the Shift transport calculation. A sample timing report obtained for a multigroup calculation is shown in :numref:`fig-csas-shift-oedit-final-timing`. .. figure:: figs/CSAS-Shift/csas_shift_oedit_final_timing.png :align: center :width: 800 :name: fig-csas-shift-oedit-final-timing An example of the final results table. .. only:: html .. rubric:: References .. bibliography:: zSCALE.bib :cited: :keyprefix: CSS- :labelprefix: CSAS-Shift