Kraken tutorial 2024
Contents
General description
Inputs
Ants
Ants main input
Ants.inp
title "LDR-Lite" global geometry square neutronics diffusion library type polynomial path "../inputs/xs/narrow_2g.xs" core width_xy 21.5036 rows 9 columns 9 axial_nodes 22 axial_heights 15.000000 ! Support plate 1.748000 ! Bottom zirconium plugs 5.715000 ! Grid 1 8 * 5.535625 ! Fuel 5.715000 ! Grid 2 8 * 5.535625 ! Fuel 4.007000 ! Top plenum 14.712000 ! Structures above active core division_x 2 division_y 2 radial_boundary_coeff 0.031477 ! Extrapolation length axial_boundary_coeff 0.031477 ! Extrapolation length include "../inputs/ants_includes/fuel_assemblies.inc" include "../inputs/ants_includes/radial_reflector.inc" include "../inputs/ants_includes/control_rods.inc" include "../inputs/ants_includes/core.inc" iteration power 1.0 max_outer 10000 control_variable keff xenon_state zero samarium_state zero
Fuel assembly definitions
The group constant materials occupying the different horizontal quarters and axial layers of fuel assemblies are defined here using the fuel type input cards. First each assembly type (A1, A2, A3) are defined to consist radially of four identical subnodes (subs / quarters). Then the axial structure of each of these sub-types is defined using the fuel type input card, from the bottom to the top node.
The node content needs to match a material found in the group constant library, such as BRz1 which describes one of the bottom reflector nodes.
Note that the dash in front of the material name -BRz1 defines this node as a reflector node.
Spacer grids, control rods and presence of instrumentation in the assembly can be treated in the GenPoly group constant library as sub-materials (SelectMaterial) of the main fuel type (HomogenizedMaterial) and in the Ants input, denoting fuel1/SPA_2/CR_0 corresponds to the fuel type FUEL1 in the group constant library, using spacer type 2 and control rod type 0.
fuel1 is equal to fuel1/SPA_0/CR_0/DET_0.
fuel_assemblies.inc
! ! Fuel assembly types (Need to give material in each axial node) ! Material identifier given for node needs to correspond to one in the .xs library ! ! Type A1 fuel type "A1" nodes -BRz1 ! Bottom reflector -BRz2 ! Bottom reflector fuel1/SPA_2/CR_0 ! Grid 1 8 * fuel1/SPA_0/CR_0 ! fuel fuel1/SPA_2/CR_0 ! Grid 2 8 * fuel1/SPA_0/CR_0 ! fuel -TRz1 ! Top reflector -TRz2 ! Top reflector ! Type A2 fuel type "A2" nodes -BRz1 ! Bottom reflector -BRz2 ! Bottom reflector fuel2/SPA_2/CR_0 ! Grid 1 8 * fuel2/SPA_0/CR_0 ! fuel fuel2/SPA_2/CR_0 ! Grid 2 8 * fuel2/SPA_0/CR_0 ! fuel -TRz1 ! Top reflector -TRz2 ! Top reflector ! Type A3 fuel type "A3" nodes -BRz1 ! Bottom reflector -BRz2 ! Bottom reflector fuel3/SPA_2/CR_0 ! Grid 1 8 * fuel3/SPA_0/CR_0 ! fuel fuel3/SPA_2/CR_0 ! Grid 2 8 * fuel3/SPA_0/CR_0 ! fuel -TRz1 ! Top reflector -TRz2 ! Top reflector
Core loading
The fuel load card is used to define the loading of the core: Which assembly type or radial reflector type is in place in each loading position. The identifiers here should correspond to definitions made for fuel assemblies and radial reflector.
The fuel rotation card can be used to use the same asymmetric material in multiple places of the core in a way that it is rotated to match its new position. In this case, each radial reflector position consists of four different quarters with the materials R01 to R05 having been homogenized in the East-North-East octant of the core. Instead of specifying 32 separate radial reflector materials, the first 5 radial reflector positions are reused, rotating and or flipping them to the different octants of the core. The fuel assemblies (A1, A2 and A3) do not need to be rotated so they are kept in the default orientation (E).
Control rod insertion in Ants can be thought to happen through replacing the local node material of a fuel type with the local node material of a controlrod type The controlrod position card is used to indicate which controlrod type is used in which lattice position. As the control rod insertion will replace the non-rodded fuel material in the nodes with a rodded fuel material in the nodes, different control rod types are needed if:
- The type of assembly in the loading position is different.
- The type of control rod to be inserted is different.
In our case, we have three assembly types (A1, A2, A3) and two control rod types (R, S), which means that six potentially different control rod types could be created (R rod in each 3 assembly types, S rod in each 3 assembly types). Due to the fact that the assembly type A1 always contains a shutdown rod, we only have five control rod types to define and load into our core.
core.inc
fuel load 0 0 R03 R02 R01 R02 R03 0 0 0 R05 R04 A2 A3 A2 R04 R05 0 R03 R04 A3 A2 A2 A2 A3 R04 R03 R02 A2 A2 A3 A2 A3 A2 A2 R02 R01 A3 A2 A2 A1 A2 A2 A3 R01 R02 A2 A2 A3 A2 A3 A2 A2 R02 R03 R04 A3 A2 A2 A2 A3 R04 R03 0 R05 R04 A2 A3 A2 R04 R05 0 0 0 R03 R02 R01 R02 R03 0 0 ! Rotation: Which way does the original assembly's east face point to when rotated ! dash - indicates that N and S are flipped/reflected first and then ! E face is rotated to the user given direction fuel rotation 0 0 N N -N -N -N 0 0 0 N N E E E -N E 0 -W -W E E E E E E E -W E E E E E E E E -W E E E E E E E E W E E E E E E E -E W W E E E E E -E -E 0 W -S E E E S -E 0 0 0 -S -S -S S S 0 0 ! Indicates which assemblies contain which types of control rodded nodes ! Control rod type in Ants is a combination of: ! 1) The base fuel assembly type present in the node ! 2) The control rod type being inserted in the node ! Here we have two different control rod types R/S and base fuel types are ! the same as in fuel load card controlrod position 0 0 0 0 0 0 0 0 0 0 0 0 SA2 SA3 SA2 0 0 0 0 0 SA3 RA2 RA2 RA2 SA3 0 0 0 SA2 RA2 RA3 RA2 RA3 RA2 SA2 0 0 SA3 RA2 RA2 RA1 RA2 RA2 SA3 0 0 SA2 RA2 RA3 RA2 RA3 RA2 SA2 0 0 0 SA3 RA2 RA2 RA2 SA3 0 0 0 0 0 SA2 SA3 SA2 R04 0 0 0 0 0 0 0 0 0 0 0 ! Indicates which positions are linked to which control identifier ! These identifiers can then be used to move specific control rods controlrod group load 0 0 0 0 0 0 0 0 0 0 0 0 S7.2 S4.2 S7.1 0 0 0 0 0 S8.2 R6.2 R3.2 R6.1 S8.1 0 0 0 S7.3 R6.3 R5.2 R2.2 R5.1 R6.8 S7.8 0 0 S4.3 R3.3 R2.3 S1.1 R2.1 R3.1 S4.1 0 0 S7.4 R6.4 R5.3 R2.4 R5.4 R6.7 S7.7 0 0 0 S8.3 R6.5 R3.4 R6.6 S8.4 0 0 0 0 0 S7.5 S4.4 S7.6 0 0 0 0 0 0 0 0 0 0 0 0
Control rod structure
control_rods.inc
! ! Fuel assembly types (Need to give material in each axial node) ! Material number given for node needs to correspond to one in the .xs library ! controlrod type "S1" subs 4 * "S1_1" controlrod type "R2" subs 4 * "R2_1" controlrod type "R3" subs 4 * "R3_1" controlrod type "S4" subs 4 * "S4_1" controlrod type "R5" subs 4 * "R5_1" controlrod type "R6" subs 4 * "R6_1" controlrod type "S7" subs 4 * "S7_1" controlrod type "S8" subs 4 * "S8_1" ! Type A1 controlrod type S1_1 parts 2 lengths 5 95 nodes -BRz1 -BRz2 A1/SPA_2/CR_3 8 * A1/SPA_0/CR_3 A1/SPA_2/CR_3 8 * A1/SPA_0/CR_3 -TRz1 -TRz2 -BRz1 -BRz2 A1/SPA_2/CR_2 8 * A1/SPA_0/CR_2 A1/SPA_2/CR_2 8 * A1/SPA_0/CR_2 -TRz1 -TRz2 ! Type A2 controlrod type R2_1 parts 2 lengths 50 50 nodes -BRz1 -BRz2 A2/SPA_2/CR_3 8 * A2/SPA_0/CR_3 A2/SPA_2/CR_3 8 * A2/SPA_0/CR_3 -TRz1 -TRz2 -BRz1 -BRz2 A2/SPA_2/CR_2 8 * A2/SPA_0/CR_2 A2/SPA_2/CR_2 8 * A2/SPA_0/CR_2 -TRz1 -TRz2 ! Type A2 controlrod type R3_1 parts 2 lengths 50 50 nodes -BRz1 -BRz2 A2/SPA_2/CR_3 8 * A2/SPA_0/CR_3 A2/SPA_2/CR_3 8 * A2/SPA_0/CR_3 -TRz1 -TRz2 -BRz1 -BRz2 A2/SPA_2/CR_2 8 * A2/SPA_0/CR_2 A2/SPA_2/CR_2 8 * A2/SPA_0/CR_2 -TRz1 -TRz2 ! Type A3 controlrod type S4_1 parts 2 lengths 5 95 nodes -BRz1 -BRz2 A3/SPA_2/CR_3 8 * A3/SPA_0/CR_3 A3/SPA_2/CR_3 8 * A3/SPA_0/CR_3 -TRz1 -TRz2 -BRz1 -BRz2 A3/SPA_2/CR_2 8 * A3/SPA_0/CR_2 A3/SPA_2/CR_2 8 * A3/SPA_0/CR_2 -TRz1 -TRz2 ! Type A3 controlrod type R5_1 parts 2 lengths 50 50 nodes -BRz1 -BRz2 A3/SPA_2/CR_3 8 * A3/SPA_0/CR_3 A3/SPA_2/CR_3 8 * A3/SPA_0/CR_3 -TRz1 -TRz2 -BRz1 -BRz2 A3/SPA_2/CR_2 8 * A3/SPA_0/CR_2 A3/SPA_2/CR_2 8 * A3/SPA_0/CR_2 -TRz1 -TRz2 ! Type A2 controlrod type R6_1 parts 2 lengths 50 50 nodes -BRz1 -BRz2 A2/SPA_2/CR_3 8 * A2/SPA_0/CR_3 A2/SPA_2/CR_3 8 * A2/SPA_0/CR_3 -TRz1 -TRz2 -BRz1 -BRz2 A2/SPA_2/CR_2 8 * A2/SPA_0/CR_2 A2/SPA_2/CR_2 8 * A2/SPA_0/CR_2 -TRz1 -TRz2 ! Type A2 controlrod type S7_1 parts 2 lengths 5 95 nodes -BRz1 -BRz2 A2/SPA_2/CR_3 8 * A2/SPA_0/CR_3 A2/SPA_2/CR_3 8 * A2/SPA_0/CR_3 -TRz1 -TRz2 -BRz1 -BRz2 A2/SPA_2/CR_2 8 * A2/SPA_0/CR_2 A2/SPA_2/CR_2 8 * A2/SPA_0/CR_2 -TRz1 -TRz2 ! Type A3 controlrod type S8_1 parts 2 lengths 5 95 nodes -BRz1 -BRz2 A3/SPA_2/CR_3 8 * A3/SPA_0/CR_3 A3/SPA_2/CR_3 8 * A3/SPA_0/CR_3 -TRz1 -TRz2 -BRz1 -BRz2 A3/SPA_2/CR_2 8 * A3/SPA_0/CR_2 A3/SPA_2/CR_2 8 * A3/SPA_0/CR_2 -TRz1 -TRz2
Radial reflector definition
radial_reflector.inc
! ! ! Radial reflector positions ! ! fuel type "R01" subs "R01_NW" "R01_NE" "R01_SW" "R01_SE" fuel type "R02" subs "R02_NW" "R02_NE" "R02_SW" "R02_SE" fuel type "R03" subs "R03_NW" "R03_NE" "R03_SW" "R03_SE" fuel type "R04" subs "R04_NW" "R04_NE" "R04_SW" "R04_SE" fuel type "R05" subs "R05_NW" "R05_NE" "R05_SW" "R05_SE" fuel type "R01_SW" nodes 22 * -RR01_SW fuel type "R01_SE" nodes 22 * -RR01_SE fuel type "R01_NW" nodes 22 * -RR01_NW fuel type "R01_NE" nodes 22 * -RR01_NE fuel type "R02_SW" nodes 22 * -RR02_SW fuel type "R02_SE" nodes 22 * -RR02_SE fuel type "R02_NW" nodes 22 * -RR02_NW fuel type "R02_NE" nodes 22 * -RR02_NE fuel type "R03_SW" nodes 22 * -RR03_SW fuel type "R03_SE" nodes 22 * -RR03_SE fuel type "R03_NW" nodes 22 * -RR03_NW fuel type "R03_NE" nodes 22 * -RR03_NE fuel type "R04_SW" nodes 22 * -RR04_SW fuel type "R04_SE" nodes 22 * -RR04_SE fuel type "R04_NW" nodes 22 * -RR04_NW fuel type "R04_NE" nodes 22 * -RR04_NE fuel type "R05_SW" nodes 22 * -RR05_SW fuel type "R05_SE" nodes 22 * -RR05_SE fuel type "R05_NW" nodes 22 * -RR05_NW fuel type "R05_NE" nodes 22 * -RR05_NE
Kharon
Kharon.inp
# --- simulationControl { nPhases 2 nIterMax 200 urfU 0.125 urfP 0.125 urfH 0.25 gravity -9.81 readRestart 0 standAlone 0 writeFormat ascii materialProperties libTable thermalBC power } # --- inlet { type massFlowInlet massFlowRate 6.36 0.0 pressure 6.10e5 temperature 367.6 367.6 volumeFraction 1.0 0.0 } outlet { pressure 6.20e5 temperature 380 380 volumeFraction 1.0 0.0 } fuelType rr { nCells 20 ! Align bottom of active core to z = 0.0 bottomElevation -0.05715 cellHeight 0.05715000 ! Grid 1 0.05715000 ! Grid 1 8 * 0.05535625 ! Fuel 0.05715000 ! Grid 2 8 * 0.05535625 ! Fuel 0.05535625 hydraulicDiameter 20 * 1.153052E-02 thermalDiameter 20 * 1.278587E-02 porosity 20 * 5.446598E-01 } fuelType f1 { nCells 20 ! Align bottom of active core to z = 0.0 bottomElevation -0.05715 cellHeight 0.05715000 ! Grid 1 0.05715000 ! Grid 1 8 * 0.05535625 ! Fuel 0.05715000 ! Grid 2 8 * 0.05535625 ! Fuel 0.05535625 hydraulicDiameter 20 * 1.153052E-02 thermalDiameter 20 * 1.278587E-02 porosity 20 * 5.446598E-01 } core { coreLattice square assemblyPitch 0.2150360 } ! ! loadPattern { 0 0 rr rr rr rr rr 0 0 0 rr rr f1 f1 f1 rr rr 0 rr rr f1 f1 f1 f1 f1 rr rr rr f1 f1 f1 f1 f1 f1 f1 rr rr f1 f1 f1 f1 f1 f1 f1 rr rr f1 f1 f1 f1 f1 f1 f1 rr rr rr f1 f1 f1 f1 f1 rr rr 0 rr rr f1 f1 f1 rr rr 0 0 0 rr rr rr rr rr 0 0 }
SuperFINIX
SuperFINIX.inp
% --- Set library files to use set optionsfile "./finix_files/finix.options" set rodfile "./finix_files/finix.rods" set scenariofile "./finix_files/finix.scenario" % --- Rod types rodtype F1 rod_B options_default scenario_default rgb 255 150 150 multiplicity 264 % --- Radial meshes (input of power, output of temperature) set inrmesh 1 0.0 0.40950 set outrmesh 1 0.0 0.40950 % --- Set axial meshing (centimetres) % set zmesh <nz> <zlims> % <nz> = Number of axial layers (> 0 = equal spacing, < 0 = arbitrary spacing) % <zlims> = axial limits: % if <nz> > 0: <zlims> = <zmin> <zmax> % if <nz> < 0: <zlims> = <z1> <z2> ... <zn> set zmesh -18 0.00000 5.71500 11.250625 16.78625 22.321875 27.8575 33.393125 38.92875 44.464375 50 55.715 61.250625 66.78625 72.321875 77.8575 83.393125 88.928750 94.464375 100 % --- Minicore level case lat SMR 1 0.0 0.0 9 9 21.50360 .. .. .. .. .. .. .. .. .. .. .. .. F1 F1 F1 .. .. .. .. .. F1 F1 F1 F1 F1 .. .. .. F1 F1 F1 F1 F1 F1 F1 .. .. F1 F1 F1 F1 F1 F1 F1 .. .. F1 F1 F1 F1 F1 F1 F1 .. .. .. F1 F1 F1 F1 F1 .. .. .. .. .. F1 F1 F1 .. .. .. .. .. .. .. .. .. .. .. .. % --- Set the minicore lattice as the top level lattice set toplattice SMR % --- Horizontal plot plot 3 500 500
finix.rods
finix.options
finix.scenario