diff --git a/include/actions/NtAction.h b/include/actions/NtAction.h index 81287315f3..69ea7cb11e 100644 --- a/include/actions/NtAction.h +++ b/include/actions/NtAction.h @@ -3,6 +3,22 @@ #include "AddVariableAction.h" +/** + * Add neutronics kernels and variables to MSR simulations automatically. + * When writing the multigroup diffusion equation: + * \f[ + * \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} + * \f] + * 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. + */ class NtAction : public AddVariableAction { public: diff --git a/include/actions/PrecursorAction.h b/include/actions/PrecursorAction.h index fa0f5e68e1..86c24b861c 100644 --- a/include/actions/PrecursorAction.h +++ b/include/actions/PrecursorAction.h @@ -3,6 +3,19 @@ #include "AddVariableAction.h" +/** + * This Action adds all required delayed neutron precursor variables and + * kernels to the problem. Since the delayed neutron precursors transport + * problem is pure advection, the problem is solved using discontinous Galerkin + * as documented in: + * + * Discontinuous Galerkin Methods for Solving Elliptic and Parabolic + * Equations: Theory and Implementation + * + * Note that the flow velocity must be constant when using the DGAdvection + * or DGTemperatureAdvection. In order to vary to flow through a user-defined + * function, use DGFunctionAdvection or DGFunctionTemperatureAdvection. + */ class PrecursorAction : public AddVariableAction { public: diff --git a/include/auxkernels/FissionHeatSourceAux.h b/include/auxkernels/FissionHeatSourceAux.h index 1118a09811..644df75ffb 100644 --- a/include/auxkernels/FissionHeatSourceAux.h +++ b/include/auxkernels/FissionHeatSourceAux.h @@ -9,6 +9,15 @@ class FissionHeatSourceAux; template <> InputParameters validParams(); +/** + * computes the heating term due to fissions. + * \f[ + * \dot{Q} = \sum_g \phi_g \Sigma_{g,f} \q_{fiss} + * \f] + * Where \f$ q_{fiss} \f$ is the average heat produced per fission. + * Note that in particular, this kernel is not meant for transients and instead is for + * specifying the power through the "power" parameter. + */ class FissionHeatSourceAux : public AuxKernel { public: diff --git a/include/auxkernels/FissionHeatSourceTransientAux.h b/include/auxkernels/FissionHeatSourceTransientAux.h index 2bc6305977..8a92d25859 100644 --- a/include/auxkernels/FissionHeatSourceTransientAux.h +++ b/include/auxkernels/FissionHeatSourceTransientAux.h @@ -9,6 +9,13 @@ class FissionHeatSourceTransientAux; template <> InputParameters validParams(); +/** + * Computes heat source due to fission during a transient. + * This is the same as FissionHeatSourceAux, but with the exception + * that the power is not normalized to some user-defined value. The reactor + * will produce heat freely. You'll probably see thermal feedback since MSRs are + * nice like that. + */ class FissionHeatSourceTransientAux : public AuxKernel { public: diff --git a/include/auxkernels/MatDiffusionAux.h b/include/auxkernels/MatDiffusionAux.h index d17116526a..c1f283fb9c 100644 --- a/include/auxkernels/MatDiffusionAux.h +++ b/include/auxkernels/MatDiffusionAux.h @@ -10,6 +10,14 @@ class MatDiffusionAux; template <> InputParameters validParams(); +/** + * Computes the Euclidean norm of the flux of some diffusing variable at + * any point in space. In other words, this computes: + * \f[ + * | D \nabla f | + * \f] + * Where D is the diffusion coefficient and f is some scalar variable in the simulation. + */ class MatDiffusionAux : public AuxKernel { public: diff --git a/include/auxkernels/ModeratorHeatSourceTransientAux.h b/include/auxkernels/ModeratorHeatSourceTransientAux.h index a7912de4fa..521f084752 100644 --- a/include/auxkernels/ModeratorHeatSourceTransientAux.h +++ b/include/auxkernels/ModeratorHeatSourceTransientAux.h @@ -9,6 +9,18 @@ class ModeratorHeatSourceTransientAux; template <> InputParameters validParams(); +/** + * When a reactor runs, gamma rays are emitted in extraordinary quantity. + * These gammas tend to heat the graphite in thermal MSRs, as experienced at the MSRE, + * and make the graphite's steady temperature quite a bit hotter than then the salt. + * ORNL found that gamma heating in graphite is nearly uniform over the core since gammas have + * a long mean free path. In addition, the gamma heating is proportional to the average fission + * heat. This kernel computes local gamma heating as a function of average fission heat and a + * user-defined proportionality factor (usually between 2 and 10 percent). + * + * Gamma can define a form factor for the gamma heating. That is, gamma heating can be set to be + * cosinusoidal or Bessel. + */ class ModeratorHeatSourceTransientAux : public AuxKernel { public: diff --git a/include/dirackernels/DiracHX.h b/include/dirackernels/DiracHX.h index 15399a912b..04c93f26d3 100644 --- a/include/dirackernels/DiracHX.h +++ b/include/dirackernels/DiracHX.h @@ -10,6 +10,16 @@ class DiracHX; template <> InputParameters validParams(); +/** + * Provides a Dirac kernel for heating or cooling. At first, + * this was used to model a heat exchanger in the reactor primary + * loop. It was found that this didn't exactly provide the expected + * amount of cooling, so InterfaceHX or InterfaceEffectivenessHX should + * be used instead. + * + * This could still be a useful kernel for easily providing some point heat/ + * cooling sources. + */ class DiracHX : public DiracKernel { public: diff --git a/include/kernels/CoupledFissionEigenKernel.h b/include/kernels/CoupledFissionEigenKernel.h index 8488b95d9b..d51e610703 100644 --- a/include/kernels/CoupledFissionEigenKernel.h +++ b/include/kernels/CoupledFissionEigenKernel.h @@ -10,6 +10,12 @@ class CoupledFissionEigenKernel; template <> InputParameters validParams(); +/** + * Computes the fission source normalized by eigenvalue. In other words: + * \f[ + * \frac{1}{k} \sum_g \nu \Sigma_{g,f} \phi_g + * \f] + */ class CoupledFissionEigenKernel : public EigenKernel, public ScalarTransportBase { public: diff --git a/include/kernels/CoupledFissionKernel.h b/include/kernels/CoupledFissionKernel.h index e174c63cb5..48453640aa 100644 --- a/include/kernels/CoupledFissionKernel.h +++ b/include/kernels/CoupledFissionKernel.h @@ -10,6 +10,10 @@ class CoupledFissionKernel; template <> InputParameters validParams(); +/** + * Computes fission source of neutrons without normalizing by + * \f$ 1/k \f$. Note that this kernel is meant for transients. + */ class CoupledFissionKernel : public Kernel, public ScalarTransportBase { public: diff --git a/include/kernels/INSBoussinesqBodyForce.h b/include/kernels/INSBoussinesqBodyForce.h index d597a12365..d982bab72f 100644 --- a/include/kernels/INSBoussinesqBodyForce.h +++ b/include/kernels/INSBoussinesqBodyForce.h @@ -9,6 +9,11 @@ class INSBoussinesqBodyForce; template <> InputParameters validParams(); +/** + * Computes a body force that approximates natural buoyancy in + * problems where there aren't very large variations in density. + * See wikipedia . + */ class INSBoussinesqBodyForce : public Kernel { public: