moltres
Loading...
Searching...
No Matches
SNScattering.h
Go to the documentation of this file.
1#pragma once
2
3#include "ArrayKernel.h"
4
5class SNScattering : public ArrayKernel
6{
7public:
8 static InputParameters validParams();
9
10 SNScattering(const InputParameters & parameters);
11
12protected:
13 virtual void computeQpResidual(RealEigenVector & residual) override;
14 virtual RealEigenVector computeQpJacobian() override;
15 virtual RealEigenMatrix computeQpOffDiagJacobian(const MooseVariableFEBase & jvar) override;
16
18 const Real _ls_norm_factor = 0.125;
19
20 // Group constant MaterialProperty(s)
21 const MaterialProperty<std::vector<Real>> & _tau_sn;
22 const MaterialProperty<std::vector<Real>> & _scatter;
23
25 const unsigned int _group;
26
28 const unsigned int _num_groups;
29
31 const int _L;
32
34 const bool _acceleration;
35
38
40 const PostprocessorValue & _iteration_postprocessor;
41
43 std::vector<const VariableValue *> _group_fluxes;
44
46 std::vector<const ArrayVariableValue *> _group_angular_fluxes;
47
49 std::vector<unsigned int> _flux_ids;
50
52 RealEigenMatrix _ordinates;
53
55 RealEigenVector _weights;
56
58 RealEigenMatrix _harmonics;
59};
Definition SNScattering.h:6
const Real _ls_norm_factor
Level-symmetric quadrature normalization factor for isotropic source.
Definition SNScattering.h:18
std::vector< const ArrayVariableValue * > _group_angular_fluxes
Angular group flux variables.
Definition SNScattering.h:46
const int _L
Discrete ordinates order.
Definition SNScattering.h:31
virtual RealEigenMatrix computeQpOffDiagJacobian(const MooseVariableFEBase &jvar) override
Definition SNScattering.C:145
RealEigenVector _weights
Level-symmetric quadrature weights.
Definition SNScattering.h:55
const bool _use_initial_flux
Whether to use the diffusion flux as the initial condition in the hybrid method.
Definition SNScattering.h:37
const MaterialProperty< std::vector< Real > > & _tau_sn
Definition SNScattering.h:21
RealEigenMatrix _harmonics
Level-symmetric quadrature harmonics.
Definition SNScattering.h:58
const MaterialProperty< std::vector< Real > > & _scatter
Definition SNScattering.h:22
virtual RealEigenVector computeQpJacobian() override
Definition SNScattering.C:118
virtual void computeQpResidual(RealEigenVector &residual) override
Definition SNScattering.C:70
std::vector< const VariableValue * > _group_fluxes
Group flux variables.
Definition SNScattering.h:43
static InputParameters validParams()
Definition SNScattering.C:9
SNScattering(const InputParameters &parameters)
Definition SNScattering.C:30
const bool _acceleration
Whether the nonlinear diffusion acceleration scheme is being applied.
Definition SNScattering.h:34
RealEigenMatrix _ordinates
Level-symmetric quadrature points.
Definition SNScattering.h:52
std::vector< unsigned int > _flux_ids
Angular group flux variable IDs.
Definition SNScattering.h:49
const PostprocessorValue & _iteration_postprocessor
Fixed point iteration number.
Definition SNScattering.h:40
const unsigned int _num_groups
Number of neutron groups.
Definition SNScattering.h:28
const unsigned int _group
Neutron group number.
Definition SNScattering.h:25