Chi-Tech
multigroup_xs.h
Go to the documentation of this file.
1#ifndef MULTIGROUP_XS_H
2#define MULTIGROUP_XS_H
3
6
7
8namespace chi_physics
9{
10
11//######################################################################
13{
14public:
15 /**
16 * A struct containing data for a delayed neutron precursor.
17 */
18 struct Precursor
19 {
20 double decay_constant = 0.0;
21 double fractional_yield = 0.0;
22 std::vector<double> emission_spectrum;
23 };
24
27 {}
28
29 void ExportToChiXSFile(const std::string& file_name,
30 const double fission_scaling = 1.0) const;
31 void PushLuaTable(lua_State* L) const override;
32
33 virtual const unsigned int NumGroups() const = 0;
34
35 virtual const unsigned int ScatteringOrder() const = 0;
36
37 virtual const unsigned int NumPrecursors() const = 0;
38
39 virtual const bool IsFissionable() const = 0;
40
41 virtual const bool DiffusionInitialized() const = 0;
42
43 virtual const bool ScatteringInitialized() const = 0;
44
45 virtual const std::vector<double>& SigmaTotal() const = 0;
46
47 virtual const std::vector<double>& SigmaAbsorption() const = 0;
48
49 virtual const std::vector<double>& SigmaFission() const = 0;
50
51 virtual const std::vector<double>& NuSigmaF() const = 0;
52
53 virtual const std::vector<double>& NuPromptSigmaF() const = 0;
54
55 virtual const std::vector<double>& NuDelayedSigmaF() const = 0;
56
57 virtual const std::vector<double>& InverseVelocity() const = 0;
58
59 virtual const std::vector <chi_math::SparseMatrix>&
60 TransferMatrices() const = 0;
61
62 virtual const chi_math::SparseMatrix&
63 TransferMatrix(unsigned int ell) const = 0;
64
65 virtual const std::vector <std::vector<double>> ProductionMatrix() const = 0;
66
67 virtual const std::vector <Precursor>& Precursors() const = 0;
68
69 virtual const std::vector<double>& DiffusionCoefficient() const = 0;
70
71 virtual std::vector<double> SigmaTransport() const = 0;
72
73 virtual const std::vector<double>& SigmaRemoval() const = 0;
74
75 virtual const std::vector<double>& SigmaSGtoG() const = 0;
76};
77
78}//namespace chi_physics
79
80#endif //MULTIGROUP_XS_H
virtual const unsigned int NumGroups() const =0
virtual const std::vector< Precursor > & Precursors() const =0
virtual const unsigned int NumPrecursors() const =0
virtual const chi_math::SparseMatrix & TransferMatrix(unsigned int ell) const =0
virtual const std::vector< double > & InverseVelocity() const =0
void PushLuaTable(lua_State *L) const override
virtual const bool DiffusionInitialized() const =0
virtual const std::vector< double > & NuDelayedSigmaF() const =0
virtual const std::vector< std::vector< double > > ProductionMatrix() const =0
virtual const std::vector< double > & SigmaTotal() const =0
virtual const std::vector< double > & SigmaAbsorption() const =0
void ExportToChiXSFile(const std::string &file_name, const double fission_scaling=1.0) const
virtual std::vector< double > SigmaTransport() const =0
virtual const std::vector< double > & SigmaFission() const =0
virtual const unsigned int ScatteringOrder() const =0
virtual const std::vector< double > & SigmaRemoval() const =0
virtual const std::vector< double > & NuSigmaF() const =0
virtual const bool IsFissionable() const =0
virtual const std::vector< double > & NuPromptSigmaF() const =0
virtual const bool ScatteringInitialized() const =0
virtual const std::vector< chi_math::SparseMatrix > & TransferMatrices() const =0
virtual const std::vector< double > & SigmaSGtoG() const =0
virtual const std::vector< double > & DiffusionCoefficient() const =0
std::vector< double > emission_spectrum
Definition: multigroup_xs.h:22