Kraken tutorial 2024

From Kraken Wiki
Revision as of 16:17, 19 October 2023 by Ville Valtavirta (talk | contribs) (Fuel assembly definitions)
Jump to: navigation, search


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

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 assemblys east face point to when rotated
!           minus 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  N -N -N -N  E  0
 -W -W  N  N -N -N  E  E  E
 -W -W -W  N -N  E  E  E  E
 -W -W -W -W  E  E  E  E  E
  W  W  W  W -S -E -E -E -E
  W  W  W -S -S  S -E -E -E
  0  W -S -S -S  S  S -E  0
  0  0 -S -S -S  S  S  0  0


! Indicates which assemblies contain which types of control rodded nodes
! Need to remember that also the fuel gets replaced by the rodded fuel when rod
! is inserted so different enrichment assemblies require different control rod
! types

controlrod position
 0   0   0   0   0   0   0   0   0
 0   0   0  S7  S4  S7   0   0   0
 0   0  S8  R6  R3  R6  S8   0   0
 0  S7  R6  R5  R2  R5  R6  S7   0
 0  S4  R3  R2  S1  R2  R3  S4   0
 0  S7  R6  R5  R2  R5  R6  S7   0
 0   0  S8  R6  R3  R6  S8   0   0
 0   0   0  S7  S4  S7   0   0   0
 0   0   0   0   0   0   0   0   0


! Indicates which positions are linked to which control rod/group position

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