moltres
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
NtAction Class Reference

#include <NtAction.h>

Inheritance diagram for NtAction:
[legend]

Public Member Functions

 NtAction (const InputParameters &params)
 
virtual void act () override
 
- Public Member Functions inherited from VariableNotAMooseObjectAction
 VariableNotAMooseObjectAction (const InputParameters &params)
 

Static Public Member Functions

static InputParameters validParams ()
 
- Static Public Member Functions inherited from VariableNotAMooseObjectAction
static InputParameters validParams ()
 

Protected Member Functions

void addNtKernel (const unsigned &op, const std::string &var_name, const std::string &kernel_type, const std::vector< VariableName > &all_var_names)
 
void addCoupledFissionKernel (const unsigned &op, const std::string &var_name, const std::vector< VariableName > &all_var_names)
 
void addDelayedNeutronSource (const unsigned &op, const std::string &var_name)
 
- Protected Member Functions inherited from VariableNotAMooseObjectAction
std::set< SubdomainID > getSubdomainIDs ()
 
void addVariable (const std::string &var_name)
 

Protected Attributes

unsigned int _num_precursor_groups
 number of precursor groups
 
std::string _var_name_base
 base name for neutron variables
 
unsigned int _num_groups
 number of energy groups
 

Detailed Description

Add neutronics kernels and variables to MSR simulations automatically. When writing the multigroup diffusion equation:

\[ \frac{1}{v_g}\frac{\partial {\phi}_g}{\partial t} = \nabla \cdot D_g \nabla {\phi}_g + \sum_{g \ne g'}^G {\Sigma_{g'\rightarrow g}^s} {\phi}_{g'} + \chi_g^p \sum_{g' = 1}^G (1 - \beta) \nu {\Sigma_{g'}^f} {\phi}_{g'} + \chi_g^d \sum_i^I \lambda_i {C_i} - {\Sigma_g^r} {\phi_g} \]

it's clearly the case that many terms are involved. Moltres, and MOOSE in general represent each term as a "kernel". This action adds all of the required kernels for this problem to the simulation. In addition, when using many flux variables, it adds the required variables to the problem as well.

Constructor & Destructor Documentation

◆ NtAction()

NtAction::NtAction ( const InputParameters &  params)

Member Function Documentation

◆ act()

void NtAction::act ( )
overridevirtual

◆ addCoupledFissionKernel()

void NtAction::addCoupledFissionKernel ( const unsigned &  op,
const std::string &  var_name,
const std::vector< VariableName > &  all_var_names 
)
protected

Adds CoupledFissionKernel kernel

Parameters
opThe zero-based index for the precursor group the kernel acts on
var_nameThe name of the variable the kernel acts on
all_var_namesVector of the names of all group flux variables

◆ addDelayedNeutronSource()

void NtAction::addDelayedNeutronSource ( const unsigned &  op,
const std::string &  var_name 
)
protected

Adds DelayedNeutronSource kernel

Parameters
opThe zero-based index for the precursor group the kernel acts on
var_nameThe name of the variable the kernel acts on

◆ addNtKernel()

void NtAction::addNtKernel ( const unsigned &  op,
const std::string &  var_name,
const std::string &  kernel_type,
const std::vector< VariableName > &  all_var_names 
)
protected

Adds non-source neutronics kernel

Parameters
opThe zero-based index for the precursor group the kernel acts on
var_nameThe name of the variable the kernel acts on
kernel_typeThe kernel type to be added
all_var_namesVector of the names of all group flux variables

◆ validParams()

InputParameters NtAction::validParams ( )
static

Member Data Documentation

◆ _num_groups

unsigned int NtAction::_num_groups
protected

number of energy groups

◆ _num_precursor_groups

unsigned int NtAction::_num_precursor_groups
protected

number of precursor groups

◆ _var_name_base

std::string NtAction::_var_name_base
protected

base name for neutron variables


The documentation for this class was generated from the following files: