NeutronHeatSource

Compute heat generation due to fission.

Description

The NeutronHeatSource kernel is for the volumetric heat source associated with fission: (1) where is the energy released in a single fission event, and is the volumetric fission rate. can be prescribed as a function of time and space or input from a separate neutronics calculation.

The heating may also be applied to the cladding by specifying the cladding inner and outer diameters and the rod averaged linear power. This model is also compliant for use in AD-based simulations by adding the AD prefix to the type name.

Example Input Syntax

An example of using neutron heat source in the fuel:

[Kernels<<<{"href": "../../syntax/Kernels/index.html"}>>>]
  [heat_source]
    type = NeutronHeatSource<<<{"description": "Compute heat generation due to fission.", "href": "NeutronHeatSource.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = T
    energy_per_fission<<<{"description": "Energy Released per Fission"}>>> = 3.2e-11
    fission_rate<<<{"description": "Coupled Fission Rate"}>>> = fission_rate
  []
[]
(test/tests/carbon_monoxide_production/carbon_monoxide_production_test.i)

An example of using neutron heat source in the cladding:

[Kernels<<<{"href": "../../syntax/Kernels/index.html"}>>>]
  [heat_source_clad]
    # rod_ave_lin_pow / area * fraction = 100
    type = NeutronHeatSource<<<{"description": "Compute heat generation due to fission.", "href": "NeutronHeatSource.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 2
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = temp
    outer_diameter<<<{"description": "Outer diameter"}>>> = 1.7981211151463525
    inner_diameter<<<{"description": "Inner diameter"}>>> = 1.4
    fraction<<<{"description": "Fraction of power applied"}>>> = 0.03
    rod_ave_lin_pow<<<{"description": "Function describing rod average linear power"}>>> = rod_ave_lin_pow
    axial_profile<<<{"description": "Function describing the axial profile of power"}>>> = rod_axial_profile
  []
[]
(test/tests/gamma_heating/gamma_heating.i)

Input Parameters

  • variableThe name of the variable that this residual object operates on

    C++ Type:NonlinearVariableName

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of the variable that this residual object operates on

Required Parameters

  • areaCross sectional area

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Cross sectional area

  • axial_profileFunction describing the axial profile of power

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Function describing the axial profile of power

  • axial_relocation_objectName of the AxialRelocationUserObject that determines whether the fuel has crumbled.

    C++ Type:UserObjectName

    Controllable:No

    Description:Name of the AxialRelocationUserObject that determines whether the fuel has crumbled.

  • blockThe list of blocks (ids or names) that this object will be applied

    C++ Type:std::vector<SubdomainName>

    Controllable:No

    Description:The list of blocks (ids or names) that this object will be applied

  • burnup_functionBurnup function

    C++ Type:BurnupFunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Burnup function

  • decay_heat_functionPostprocessor giving the decay heat curve

    C++ Type:PostprocessorName

    Unit:(no unit assumed)

    Controllable:No

    Description:Postprocessor giving the decay heat curve

  • displacementsThe displacements

    C++ Type:std::vector<VariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:The displacements

  • energy_per_fission3.28451e-11Energy Released per Fission

    Default:3.28451e-11

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Energy Released per Fission

  • fission_rateCoupled Fission Rate

    C++ Type:std::vector<VariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:Coupled Fission Rate

  • fraction1Fraction of power applied

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Fraction of power applied

  • fuel_pin_geometryName of the UserObject that reads the pin geometry from the mesh.

    C++ Type:UserObjectName

    Controllable:No

    Description:Name of the UserObject that reads the pin geometry from the mesh.

  • inner_diameter0Inner diameter

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Inner diameter

  • max_fission_rateCoupled Max Fission Rate

    C++ Type:std::vector<VariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:Coupled Max Fission Rate

  • outer_diameterOuter diameter

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Outer diameter

  • rod_ave_lin_powFunction describing rod average linear power

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Function describing rod average linear power

Optional Parameters

  • absolute_value_vector_tagsThe tags for the vectors this residual object should fill with the absolute value of the residual contribution

    C++ Type:std::vector<TagName>

    Controllable:No

    Description:The tags for the vectors this residual object should fill with the absolute value of the residual contribution

  • extra_matrix_tagsThe extra tags for the matrices this Kernel should fill

    C++ Type:std::vector<TagName>

    Controllable:No

    Description:The extra tags for the matrices this Kernel should fill

  • extra_vector_tagsThe extra tags for the vectors this Kernel should fill

    C++ Type:std::vector<TagName>

    Controllable:No

    Description:The extra tags for the vectors this Kernel should fill

  • matrix_tagssystemThe tag for the matrices this Kernel should fill

    Default:system

    C++ Type:MultiMooseEnum

    Options:nontime, system

    Controllable:No

    Description:The tag for the matrices this Kernel should fill

  • vector_tagsnontimeThe tag for the vectors this Kernel should fill

    Default:nontime

    C++ Type:MultiMooseEnum

    Options:nontime, time

    Controllable:No

    Description:The tag for the vectors this Kernel should fill

Contribution To Tagged Field Data Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • diag_save_inThe name of auxiliary variables to save this Kernel's diagonal Jacobian contributions to. Everything about that variable must match everything about this variable (the type, what blocks it's on, etc.)

    C++ Type:std::vector<AuxVariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of auxiliary variables to save this Kernel's diagonal Jacobian contributions to. Everything about that variable must match everything about this variable (the type, what blocks it's on, etc.)

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Controllable:Yes

    Description:Set the enabled status of the MooseObject.

  • implicitTrueDetermines whether this object is calculated using an implicit or explicit form

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Determines whether this object is calculated using an implicit or explicit form

  • save_inThe name of auxiliary variables to save this Kernel's residual contributions to. Everything about that variable must match everything about this variable (the type, what blocks it's on, etc.)

    C++ Type:std::vector<AuxVariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of auxiliary variables to save this Kernel's residual contributions to. Everything about that variable must match everything about this variable (the type, what blocks it's on, etc.)

  • seed0The seed for the master random number generator

    Default:0

    C++ Type:unsigned int

    Controllable:No

    Description:The seed for the master random number generator

  • use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

Advanced Parameters

  • prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

    C++ Type:MaterialPropertyName

    Unit:(no unit assumed)

    Controllable:No

    Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

  • use_interpolated_stateFalseFor the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:For the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.

Material Property Retrieval Parameters

Input Files