diff --git a/doc/content/source/kernels/CoupledFissionEigenKernel.md b/doc/content/source/kernels/CoupledFissionEigenKernel.md deleted file mode 100644 index 7aa1c54ff1..0000000000 --- a/doc/content/source/kernels/CoupledFissionEigenKernel.md +++ /dev/null @@ -1,21 +0,0 @@ -# CoupledFissionEigenKernel - -!syntax description /Kernels/CoupledFissionEigenKernel - -## Overview - -This object adds the $\frac{\chi_g^p}{k} \sum_{g' = 1}^G (1 - \beta) \nu \Sigma_{g'}^f \phi_{g'}$ -neutron source term of the multigroup neutron diffusion equations for the $k$-eigenvalue problem. -If `account_delayed=false` (i.e. -no delayed neutron precursor modeling), the $\frac{\chi_g^t}{k} \sum_{g' = 1}^G \nu \Sigma_{g'}^f -\phi_{g'}$ form is used instead. - -## Example Input File Syntax - -!! Describe and include an example of how to use the CoupledFissionEigenKernel object. - -!syntax parameters /Kernels/CoupledFissionEigenKernel - -!syntax inputs /Kernels/CoupledFissionEigenKernel - -!syntax children /Kernels/CoupledFissionEigenKernel diff --git a/doc/content/source/kernels/PrecursorEigenSource.md b/doc/content/source/kernels/PrecursorEigenSource.md deleted file mode 100644 index f8c41734b8..0000000000 --- a/doc/content/source/kernels/PrecursorEigenSource.md +++ /dev/null @@ -1,18 +0,0 @@ -# PrecursorSource - -!syntax description /Kernels/PrecursorSource - -## Overview - -This object adds the $\frac{1}{k}\sum_{g'= 1}^G \beta_i \nu \Sigma_{g'}^f \phi_{g'}$ precursor -source term of the delayed neutron precursor equation for the $k$-eigenvalue problem. - -## Example Input File Syntax - -!! Describe and include an example of how to use the PrecursorSource object. - -!syntax parameters /Kernels/PrecursorSource - -!syntax inputs /Kernels/PrecursorSource - -!syntax children /Kernels/PrecursorSource diff --git a/doc/content/source/kernels/SelfFissionEigenKernel.md b/doc/content/source/kernels/SelfFissionEigenKernel.md deleted file mode 100644 index 8094116a2f..0000000000 --- a/doc/content/source/kernels/SelfFissionEigenKernel.md +++ /dev/null @@ -1,23 +0,0 @@ -# SelfFissionEigenKernel - -!alert construction title=Undocumented Class -The SelfFissionEigenKernel has not been documented. The content listed below should be used as a starting point for -documenting the class, which includes the typical automatic documentation associated with a -MooseObject; however, what is contained is ultimately determined by what is necessary to make the -documentation clear for users. - -!syntax description /Kernels/SelfFissionEigenKernel - -## Overview - -!! Replace these lines with information regarding the SelfFissionEigenKernel object. - -## Example Input File Syntax - -!! Describe and include an example of how to use the SelfFissionEigenKernel object. - -!syntax parameters /Kernels/SelfFissionEigenKernel - -!syntax inputs /Kernels/SelfFissionEigenKernel - -!syntax children /Kernels/SelfFissionEigenKernel diff --git a/include/kernels/CoupledFissionEigenKernel.h b/include/kernels/CoupledFissionEigenKernel.h deleted file mode 100644 index a5dbd82aa1..0000000000 --- a/include/kernels/CoupledFissionEigenKernel.h +++ /dev/null @@ -1,33 +0,0 @@ -#pragma once - -#include "EigenKernel.h" -#include "ScalarTransportBase.h" - -/** - * 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: - CoupledFissionEigenKernel(const InputParameters & parameters); - - static InputParameters validParams(); - -protected: - virtual Real computeQpResidual() override; - virtual Real computeQpJacobian() override; - virtual Real computeQpOffDiagJacobian(unsigned int jvar) override; - - const MaterialProperty> & _nsf; - const MaterialProperty> & _chi_t; - const MaterialProperty> & _chi_p; - const MaterialProperty & _beta; - unsigned int _group; - unsigned int _num_groups; - std::vector _group_fluxes; - std::vector _flux_ids; - bool _account_delayed; -}; diff --git a/include/kernels/PrecursorEigenSource.h b/include/kernels/PrecursorEigenSource.h deleted file mode 100644 index e742aeae81..0000000000 --- a/include/kernels/PrecursorEigenSource.h +++ /dev/null @@ -1,33 +0,0 @@ -#pragma once - -#include "EigenKernel.h" -#include "ScalarTransportBase.h" - -/** - * This object computes the residual and Jacobian contribution for the precursor source term in the - * delayed neutron precursor equation for k-eigenvalue problems. - */ -class PrecursorEigenSource : public EigenKernel, public ScalarTransportBase -{ -public: - PrecursorEigenSource(const InputParameters & parameters); - - static InputParameters validParams(); - -protected: - virtual Real computeQpResidual() override; - virtual Real computeQpJacobian() override; - virtual Real computeQpOffDiagJacobian(unsigned int jvar) override; - - const MaterialProperty> & _nsf; - const MaterialProperty> & _d_nsf_d_temp; - unsigned int _num_groups; - const MaterialProperty> & _beta_eff; - const MaterialProperty> & _d_beta_eff_d_temp; - unsigned int _precursor_group; - const VariableValue & _temp; - unsigned int _temp_id; - std::vector _group_fluxes; - std::vector _flux_ids; - Real _prec_scale; -}; diff --git a/include/kernels/SelfFissionEigenKernel.h b/include/kernels/SelfFissionEigenKernel.h deleted file mode 100644 index 3370d59c05..0000000000 --- a/include/kernels/SelfFissionEigenKernel.h +++ /dev/null @@ -1,18 +0,0 @@ -#pragma once - -#include "EigenKernel.h" - -class SelfFissionEigenKernel : public EigenKernel -{ -public: - SelfFissionEigenKernel(const InputParameters & parameters); - - static InputParameters validParams(); - -protected: - virtual Real computeQpResidual() override; - virtual Real computeQpJacobian() override; - - const MaterialProperty & _nu_f; - const MaterialProperty & _sigma_f; -}; diff --git a/src/kernels/CoupledFissionEigenKernel.C b/src/kernels/CoupledFissionEigenKernel.C deleted file mode 100644 index ae0f8ce160..0000000000 --- a/src/kernels/CoupledFissionEigenKernel.C +++ /dev/null @@ -1,120 +0,0 @@ -#include "CoupledFissionEigenKernel.h" - -registerMooseObject("MoltresApp", CoupledFissionEigenKernel); - -InputParameters -CoupledFissionEigenKernel::validParams() -{ - InputParameters params = EigenKernel::validParams(); - params += ScalarTransportBase::validParams(); - params.addRequiredParam("group_number", "The current energy group"); - params.addRequiredParam("num_groups", "The total numer of energy groups"); - params.addRequiredCoupledVar("group_fluxes", "All the variables that hold the group fluxes. " - "These MUST be listed by decreasing " - "energy/increasing group number."); - params.addRequiredParam("account_delayed", "Whether to account for delayed neutrons."); - return params; -} - -CoupledFissionEigenKernel::CoupledFissionEigenKernel(const InputParameters & parameters) - : EigenKernel(parameters), - ScalarTransportBase(parameters), - _nsf(getMaterialProperty>("nsf")), - _chi_t(getMaterialProperty>("chi_t")), - _chi_p(getMaterialProperty>("chi_p")), - _beta(getMaterialProperty("beta")), - _group(getParam("group_number") - 1), - _num_groups(getParam("num_groups")), - _account_delayed(getParam("account_delayed")) -{ - unsigned int n = coupledComponents("group_fluxes"); - if (!(n == _num_groups)) - { - mooseError("The number of coupled variables doesn't match the number of groups."); - } - _group_fluxes.resize(n); - _flux_ids.resize(n); - for (unsigned int i = 0; i < _group_fluxes.size(); ++i) - { - _group_fluxes[i] = &coupledValue("group_fluxes", i); - _flux_ids[i] = coupled("group_fluxes", i); - } -} - -Real -CoupledFissionEigenKernel::computeQpResidual() -{ - Real r = 0; - for (unsigned int i = 0; i < _num_groups; ++i) - { - if (_account_delayed) - { - r += -_test[_i][_qp] * _chi_p[_qp][_group] * _nsf[_qp][i] * - computeConcentration((*_group_fluxes[i]), _qp); - } - else - { - r += -_test[_i][_qp] * _chi_t[_qp][_group] * _nsf[_qp][i] * - computeConcentration((*_group_fluxes[i]), _qp); - } - } - - if (_account_delayed) - r *= (1. - _beta[_qp]); - - return r; -} - -Real -CoupledFissionEigenKernel::computeQpJacobian() -{ - Real jac = 0; - for (unsigned int i = 0; i < _num_groups; ++i) - { - if (i == _group) - { - if (_account_delayed) - { - jac += -_test[_i][_qp] * _chi_p[_qp][_group] * _nsf[_qp][i] * - computeConcentrationDerivative((*_group_fluxes[i]), _phi, _j, _qp); - } - else - { - jac += -_test[_i][_qp] * _chi_t[_qp][_group] * _nsf[_qp][i] * - computeConcentrationDerivative((*_group_fluxes[i]), _phi, _j, _qp); - } - if (_account_delayed) - jac *= (1. - _beta[_qp]); - break; - } - } - - return jac; -} - -Real -CoupledFissionEigenKernel::computeQpOffDiagJacobian(unsigned int jvar) -{ - Real jac = 0; - for (unsigned int i = 0; i < _num_groups; ++i) - { - if (jvar == _flux_ids[i]) - { - if (_account_delayed) - { - jac += -_test[_i][_qp] * _chi_p[_qp][_group] * _nsf[_qp][i] * - computeConcentrationDerivative((*_group_fluxes[i]), _phi, _j, _qp); - } - else - { - jac += -_test[_i][_qp] * _chi_t[_qp][_group] * _nsf[_qp][i] * - computeConcentrationDerivative((*_group_fluxes[i]), _phi, _j, _qp); - } - if (_account_delayed) - jac *= (1. - _beta[_qp]); - break; - } - } - - return jac; -} diff --git a/src/kernels/PrecursorEigenSource.C b/src/kernels/PrecursorEigenSource.C deleted file mode 100644 index be43e9b90b..0000000000 --- a/src/kernels/PrecursorEigenSource.C +++ /dev/null @@ -1,89 +0,0 @@ -#include "PrecursorEigenSource.h" - -registerMooseObject("MoltresApp", PrecursorEigenSource); - -InputParameters -PrecursorEigenSource::validParams() -{ - InputParameters params = EigenKernel::validParams(); - params += ScalarTransportBase::validParams(); - params.addClassDescription("Computes the precursor source term in the delayed neutron precursor " - "equation for the k-eigenvalue problem."); - params.addRequiredParam("num_groups", "The total number of energy groups"); - params.addRequiredCoupledVar("group_fluxes", "All the variables that hold the group fluxes. " - "These MUST be listed by decreasing " - "energy/increasing group number."); - params.addParam("precursor_group_number", - "What precursor group this kernel is acting on."); - params.addCoupledVar( - "temperature", 800, "The temperature used to interpolate material properties."); - params.addParam("prec_scale", 1, "Thefactor by which the neutron fluxes are scaled."); - return params; -} - -PrecursorEigenSource::PrecursorEigenSource(const InputParameters & parameters) - : EigenKernel(parameters), - ScalarTransportBase(parameters), - _nsf(getMaterialProperty>("nsf")), - _d_nsf_d_temp(getMaterialProperty>("d_nsf_d_temp")), - _num_groups(getParam("num_groups")), - _beta_eff(getMaterialProperty>("beta_eff")), - _d_beta_eff_d_temp(getMaterialProperty>("d_beta_eff_d_temp")), - _precursor_group(getParam("precursor_group_number") - 1), - _temp(coupledValue("temperature")), - _temp_id(coupled("temperature")), - _prec_scale(getParam("prec_scale")) -{ - _group_fluxes.resize(_num_groups); - _flux_ids.resize(_num_groups); - for (unsigned int i = 0; i < _group_fluxes.size(); ++i) - { - _group_fluxes[i] = &coupledValue("group_fluxes", i); - _flux_ids[i] = coupled("group_fluxes", i); - } -} - -Real -PrecursorEigenSource::computeQpResidual() -{ - Real r = 0; - for (unsigned int i = 0; i < _num_groups; ++i) - { - r += -_test[_i][_qp] * _beta_eff[_qp][_precursor_group] * _nsf[_qp][i] * - computeConcentration((*_group_fluxes[i]), _qp) * _prec_scale; - } - - return r; -} - -Real -PrecursorEigenSource::computeQpJacobian() -{ - return 0; -} - -Real -PrecursorEigenSource::computeQpOffDiagJacobian(unsigned int jvar) -{ - Real jac = 0; - for (unsigned int i = 0; i < _num_groups; ++i) - if (jvar == _flux_ids[i]) - { - jac = -_test[_i][_qp] * _beta_eff[_qp][_precursor_group] * _nsf[_qp][i] * - computeConcentrationDerivative((*_group_fluxes[i]), _phi, _j, _qp) * _prec_scale; - return jac; - } - - if (jvar == _temp_id) - { - for (unsigned int i = 0; i < _num_groups; ++i) - jac += -_test[_i][_qp] * - (_beta_eff[_qp][_precursor_group] * _d_nsf_d_temp[_qp][i] * _phi[_j][_qp] * - computeConcentration((*_group_fluxes[i]), _qp) * _prec_scale + - _d_beta_eff_d_temp[_qp][_precursor_group] * _phi[_j][_qp] * _nsf[_qp][i] * - computeConcentration((*_group_fluxes[i]), _qp) * _prec_scale); - return jac; - } - - return 0; -} diff --git a/src/kernels/SelfFissionEigenKernel.C b/src/kernels/SelfFissionEigenKernel.C deleted file mode 100644 index cb7c6c46c3..0000000000 --- a/src/kernels/SelfFissionEigenKernel.C +++ /dev/null @@ -1,33 +0,0 @@ -#include "SelfFissionEigenKernel.h" - -registerMooseObject("MoltresApp", SelfFissionEigenKernel); - -InputParameters -SelfFissionEigenKernel::validParams() -{ - InputParameters params = EigenKernel::validParams(); - params.addRequiredParam("nu_f", - "The number of neutrons produced per fission."); - params.addRequiredParam("sigma_f", - "The macroscopic fission cross section."); - return params; -} - -SelfFissionEigenKernel::SelfFissionEigenKernel(const InputParameters & parameters) - : EigenKernel(parameters), - _nu_f(getMaterialProperty("nu_f")), - _sigma_f(getMaterialProperty("sigma_f")) -{ -} - -Real -SelfFissionEigenKernel::computeQpResidual() -{ - return -_nu_f[_qp] * _sigma_f[_qp] * _u[_qp] * _test[_i][_qp]; -} - -Real -SelfFissionEigenKernel::computeQpJacobian() -{ - return -_nu_f[_qp] * _sigma_f[_qp] * _phi[_j][_qp] * _test[_i][_qp]; -}