- account_delayedFalseWhether to account for delayed neutrons.
Default:False
C++ Type:bool
Controllable:No
Description:Whether to account for delayed neutrons.
- num_groupsThe total number of energy groups.
C++ Type:unsigned int
Controllable:No
Description:The total number of energy groups.
- num_precursor_groupsspecifies the total number of precursors to create
C++ Type:unsigned int
Controllable:No
Description:specifies the total number of precursors to create
- sss2_inputFalseWhether the input follows sss2 form scattering matrices.
Default:False
C++ Type:bool
Controllable:No
Description:Whether the input follows sss2 form scattering matrices.
- temperatureName of temperature variable
C++ Type:std::vector<VariableName>
Controllable:No
Description:Name of temperature variable
- use_exp_formFalseWhether concentrations should be in an exponential/logarithmic format.
Default:False
C++ Type:bool
Controllable:No
Description:Whether concentrations should be in an exponential/logarithmic format.
- var_name_basespecifies the base name of the variables
C++ Type:std::string
Controllable:No
Description:specifies the base name of the variables
NtAction
This action sets up ONLY the variables, kernels, and BCs for neutron diffusion, NOT the variables, kernels, and BCs for precursor tracking. To generate these, see PrecursorAction.
Overview
NtAction
greatly reduces input file length and complexity by automatically setting up variables, kernels, and BCs for the neutron diffusion equations. When including only the required input parameters, this action constructs the neutron group variables and their associated kernels: SigmaR, GroupDiffusion, InScatter, and CoupledFissionKernel. With
account_delayed
set to
True
, DelayedNeutronSource is also constructed, otherwise this kernel is not constructed and the simulation does not consider the delayed neutron precursor effects on the neutron flux distributions.
For more information regarding the use of NtAction
please refer to the tutorials located here, specifically the Multiphysics Reactor Simulations section.
Example Input File Syntax
An example input file without the NtAction
, showing only the portion affected by the action:
[Variables]
[group1]
order = FIRST
family = LAGRANGE
[]
[group2]
order = FIRST
family = LAGRANGE
[]
[]
[Kernels]
#---------------------------------------------------------------------
# Group 1 Neutronics
#---------------------------------------------------------------------
[sigma_r_group1]
type = SigmaR
variable = group1
group_number = 1
[]
[diff_group1]
type = GroupDiffusion
variable = group1
group_number = 1
[]
[inscatter_group1]
type = InScatter
variable = group1
group_number = 1
[]
[fission_source_group1]
type = CoupledFissionKernel
variable = group1
group_number = 1
block = '0'
extra_vector_tags = 'eigen'
[]
[delayed_group1]
type = DelayedNeutronSource
variable = group1
block = '0'
group_number = 1
[]
#---------------------------------------------------------------------
# Group 2 Neutronics
#---------------------------------------------------------------------
[sigma_r_group2]
type = SigmaR
variable = group2
group_number = 2
[]
[diff_group2]
type = GroupDiffusion
variable = group2
group_number = 2
[]
[fission_source_group2]
type = CoupledFissionKernel
variable = group2
group_number = 2
block = '0'
extra_vector_tags = 'eigen'
[]
[inscatter_group2]
type = InScatter
variable = group2
group_number = 2
[]
[]
[BCs]
[vacuum_group1]
type = VacuumConcBC
boundary = 'fuel_bottom fuel_top mod_bottom mod_top right'
variable = group1
[]
[vacuum_group2]
type = VacuumConcBC
boundary = 'fuel_bottom fuel_top mod_bottom mod_top right'
variable = group2
[]
[]
(tutorial/eigenvalue/nts.i)And then the same information created with the NtAction
:
[Nt]
var_name_base = group
vacuum_boundaries = 'fuel_bottom mod_bottom right fuel_top mod_top'
pre_blocks = '0'
create_temperature_var = false
eigen = true
[]
(tutorial/eigenvalue/nts-action.i)Input Parameters
- active__all__ If specified only the blocks named will be visited and made active
Default:__all__
C++ Type:std::vector<std::string>
Controllable:No
Description:If specified only the blocks named will be visited and made active
- blockThe block id where this variable lives
C++ Type:std::vector<SubdomainName>
Controllable:No
Description:The block id where this variable lives
- create_temperature_varTrueWhether to create the temperature variable.
Default:True
C++ Type:bool
Controllable:No
Description:Whether to create the temperature variable.
- dg_for_temperatureTrueWhether the temperature variable should use discontinuous basis functions.
Default:True
C++ Type:bool
Controllable:No
Description:Whether the temperature variable should use discontinuous basis functions.
- eigenFalseWhether to run an eigen- instead of a transient- simulation.
Default:False
C++ Type:bool
Controllable:No
Description:Whether to run an eigen- instead of a transient- simulation.
- eigenvalue_scaling1Artificial scaling factor for the fission source. Primarily for introducing artificial reactivity to make super/subcritical systems exactly critical or to simulate reactivity insertions/withdrawals.
Default:1
C++ Type:double
Controllable:No
Description:Artificial scaling factor for the fission source. Primarily for introducing artificial reactivity to make super/subcritical systems exactly critical or to simulate reactivity insertions/withdrawals.
- familyLAGRANGESpecifies the family of FE shape functions to use for this variable
Default:LAGRANGE
C++ Type:MooseEnum
Controllable:No
Description:Specifies the family of FE shape functions to use for this variable
- inactiveIf specified blocks matching these identifiers will be skipped.
C++ Type:std::vector<std::string>
Controllable:No
Description:If specified blocks matching these identifiers will be skipped.
- init_nts_from_fileFalseWhether to restart simulation using nt output from a previous simulation.
Default:False
C++ Type:bool
Controllable:No
Description:Whether to restart simulation using nt output from a previous simulation.
- init_temperature_from_fileFalseWhether to restart simulation using temperature output from a previous simulation.
Default:False
C++ Type:bool
Controllable:No
Description:Whether to restart simulation using temperature output from a previous simulation.
- jac_testFalseWhether we're testing the Jacobian and should use some random initial conditions for the precursors.
Default:False
C++ Type:bool
Controllable:No
Description:Whether we're testing the Jacobian and should use some random initial conditions for the precursors.
- nt_ic_functionAn initial condition function for the neutrons.
C++ Type:FunctionName
Controllable:No
Description:An initial condition function for the neutrons.
- orderFIRSTSpecifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)
Default:FIRST
C++ Type:MooseEnum
Controllable:No
Description:Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)
- pre_blocksThe blocks the precursors live on.
C++ Type:std::vector<SubdomainName>
Controllable:No
Description:The blocks the precursors live on.
- pre_concsAll the variables that hold the precursor concentrations. These MUST be listed by increasing group number.
C++ Type:std::vector<VariableName>
Controllable:No
Description:All the variables that hold the precursor concentrations. These MUST be listed by increasing group number.
- scaling1Specifies a scaling factor to apply to this variable
Default:1
C++ Type:double
Controllable:No
Description:Specifies a scaling factor to apply to this variable
- temp_scalingThe amount by which to scale the temperature variable.
C++ Type:double
Controllable:No
Description:The amount by which to scale the temperature variable.
- vacuum_bc_typemarshakWhether to apply Marshak, Mark, or Milne vacuum boundary conditions. Defaults to Marshak.
Default:marshak
C++ Type:MooseEnum
Controllable:No
Description:Whether to apply Marshak, Mark, or Milne vacuum boundary conditions. Defaults to Marshak.
- vacuum_boundariesThe boundaries on which to apply vacuum boundaries.
C++ Type:std::vector<BoundaryName>
Controllable:No
Description:The boundaries on which to apply vacuum boundaries.
Optional 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.