moltres
Loading...
Searching...
No Matches
SNFission.h
Go to the documentation of this file.
1#pragma once
2
3#include "ArrayKernel.h"
4#include "Eigen/Core"
5
6class SNFission : public ArrayKernel
7{
8public:
9 static InputParameters validParams();
10
11 SNFission(const InputParameters & parameters);
12
13protected:
14 virtual void computeQpResidual(RealEigenVector & residual) override;
15 virtual RealEigenVector computeQpJacobian() override;
16 virtual RealEigenMatrix computeQpOffDiagJacobian(const MooseVariableFEBase & jvar) override;
17
19 const Real _ls_norm_factor = 0.125;
20
21 // Group constant MaterialProperty(s)
22 const MaterialProperty<std::vector<Real>> & _tau_sn;
23 const MaterialProperty<std::vector<Real>> & _nsf;
24 const MaterialProperty<std::vector<Real>> & _chi_t;
25 const MaterialProperty<std::vector<Real>> & _chi_p;
26 const MaterialProperty<Real> & _beta;
27
29 const unsigned int _group;
30
32 const unsigned int _num_groups;
33
35 const bool _account_delayed;
36
38 const PostprocessorValue & _eigenvalue_scaling;
39
41 const bool _acceleration;
42
45
47 const PostprocessorValue & _iteration_postprocessor;
48
50 std::vector<const VariableValue *> _group_fluxes;
51
53 std::vector<const ArrayVariableValue *> _group_angular_fluxes;
54
56 std::vector<unsigned int> _flux_ids;
57
59 RealEigenMatrix _ordinates;
60
62 RealEigenVector _weights;
63};
Definition SNFission.h:7
const MaterialProperty< std::vector< Real > > & _chi_t
Definition SNFission.h:24
static InputParameters validParams()
Definition SNFission.C:7
const bool _acceleration
Whether the nonlinear diffusion acceleration scheme is being applied.
Definition SNFission.h:41
const MaterialProperty< Real > & _beta
Definition SNFission.h:26
const MaterialProperty< std::vector< Real > > & _chi_p
Definition SNFission.h:25
RealEigenMatrix _ordinates
Level-symmetric quadrature points.
Definition SNFission.h:59
const PostprocessorValue & _iteration_postprocessor
Fixed point iteration number.
Definition SNFission.h:47
const unsigned int _group
Neutron group number.
Definition SNFission.h:29
virtual RealEigenMatrix computeQpOffDiagJacobian(const MooseVariableFEBase &jvar) override
Definition SNFission.C:144
std::vector< unsigned int > _flux_ids
Angular group flux variable IDs.
Definition SNFission.h:56
SNFission(const InputParameters &parameters)
Definition SNFission.C:30
virtual void computeQpResidual(RealEigenVector &residual) override
Definition SNFission.C:78
std::vector< const ArrayVariableValue * > _group_angular_fluxes
Angular group flux variables.
Definition SNFission.h:53
std::vector< const VariableValue * > _group_fluxes
Group flux variables.
Definition SNFission.h:50
const bool _account_delayed
Whether to account for delayed neutron precursors.
Definition SNFission.h:35
const Real _ls_norm_factor
Level-symmetric quadrature normalization factor for isotropic source.
Definition SNFission.h:19
const MaterialProperty< std::vector< Real > > & _tau_sn
Definition SNFission.h:22
RealEigenVector _weights
Level-symmetric quadrature weights.
Definition SNFission.h:62
const unsigned int _num_groups
Number of neutron groups.
Definition SNFission.h:32
const bool _use_initial_flux
Whether to use the diffusion flux as the initial condition in the hybrid method.
Definition SNFission.h:44
virtual RealEigenVector computeQpJacobian() override
Definition SNFission.C:114
const MaterialProperty< std::vector< Real > > & _nsf
Definition SNFission.h:23
const PostprocessorValue & _eigenvalue_scaling
Eigenvalue scaling factor.
Definition SNFission.h:38