Chi-Tech
chi_physics::SingleStateMGXS Class Reference

#include <single_state_mgxs.h>

Inheritance diagram for chi_physics::SingleStateMGXS:
chi_physics::MultiGroupXS chi_physics::MaterialProperty

Public Member Functions

 SingleStateMGXS ()
 
void MakeSimple0 (unsigned int num_groups, double sigma_t)
 
void MakeSimple1 (unsigned int num_groups, double sigma_t, double c)
 
void MakeCombined (std::vector< std::pair< int, double > > &combinations)
 
void MakeFromChiXSFile (const std::string &file_name)
 
const unsigned int NumGroups () const override
 
const unsigned int ScatteringOrder () const override
 
const unsigned int NumPrecursors () const override
 
const bool IsFissionable () const override
 
const bool DiffusionInitialized () const override
 
const bool ScatteringInitialized () const override
 
const std::vector< double > & SigmaTotal () const override
 
const std::vector< double > & SigmaAbsorption () const override
 
const std::vector< double > & SigmaFission () const override
 
const std::vector< double > & NuSigmaF () const override
 
const std::vector< double > & NuPromptSigmaF () const override
 
const std::vector< double > & NuDelayedSigmaF () const override
 
const std::vector< double > & InverseVelocity () const override
 
const std::vector< chi_math::SparseMatrix > & TransferMatrices () const override
 
const chi_math::SparseMatrixTransferMatrix (unsigned int ell) const override
 
const std::vector< std::vector< double > > ProductionMatrix () const override
 
const std::vector< Precursor > & Precursors () const override
 
const std::vector< double > & DiffusionCoefficient () const override
 
std::vector< double > SigmaTransport () const override
 
const std::vector< double > & SigmaRemoval () const override
 
const std::vector< double > & SigmaSGtoG () const override
 
- Public Member Functions inherited from chi_physics::MultiGroupXS
 MultiGroupXS ()
 
void ExportToChiXSFile (const std::string &file_name, const double fission_scaling=1.0) const
 
void PushLuaTable (lua_State *L) const override
 
virtual const unsigned int NumGroups () const =0
 
virtual const unsigned int ScatteringOrder () const =0
 
virtual const unsigned int NumPrecursors () const =0
 
virtual const bool IsFissionable () const =0
 
virtual const bool DiffusionInitialized () const =0
 
virtual const bool ScatteringInitialized () const =0
 
virtual const std::vector< double > & SigmaTotal () const =0
 
virtual const std::vector< double > & SigmaAbsorption () const =0
 
virtual const std::vector< double > & SigmaFission () const =0
 
virtual const std::vector< double > & NuSigmaF () const =0
 
virtual const std::vector< double > & NuPromptSigmaF () const =0
 
virtual const std::vector< double > & NuDelayedSigmaF () const =0
 
virtual const std::vector< double > & InverseVelocity () const =0
 
virtual const std::vector< chi_math::SparseMatrix > & TransferMatrices () const =0
 
virtual const chi_math::SparseMatrixTransferMatrix (unsigned int ell) const =0
 
virtual const std::vector< std::vector< double > > ProductionMatrix () const =0
 
virtual const std::vector< Precursor > & Precursors () const =0
 
virtual const std::vector< double > & DiffusionCoefficient () const =0
 
virtual std::vector< double > SigmaTransport () const =0
 
virtual const std::vector< double > & SigmaRemoval () const =0
 
virtual const std::vector< double > & SigmaSGtoG () const =0
 
- Public Member Functions inherited from chi_physics::MaterialProperty
 MaterialProperty (PropertyType in_type)
 
virtual ~MaterialProperty ()=default
 
PropertyType Type ()
 
virtual double GetScalarValue ()
 
virtual void PushLuaTable (lua_State *L) const
 

Protected Types

typedef std::vector< std::pair< double, double > > AnglePairs
 

Protected Attributes

unsigned int num_groups_ = 0
 Total number of groups. More...
 
unsigned int scattering_order_ = 0
 Legendre scattering order. More...
 
unsigned int num_precursors_ = 0
 Number of precursors. More...
 
bool is_fissionable_ = false
 
std::vector< std::vector< double > > e_bounds_
 Energy bin boundaries in MeV. More...
 
std::vector< double > sigma_t_
 Total cross section. More...
 
std::vector< double > sigma_a_
 Absorption cross section. More...
 
std::vector< double > sigma_f_
 Fission cross section. More...
 
std::vector< double > nu_sigma_f_
 
std::vector< double > nu_prompt_sigma_f_
 
std::vector< double > nu_delayed_sigma_f_
 
std::vector< double > inv_velocity_
 
std::vector< chi_math::SparseMatrixtransfer_matrices_
 
std::vector< std::vector< double > > production_matrix_
 
std::vector< Precursorprecursors_
 
bool diffusion_initialized_ = false
 
std::vector< double > diffusion_coeff_
 Transport corrected diffusion coeff. More...
 
std::vector< double > sigma_removal_
 Removal cross section. More...
 
std::vector< double > sigma_s_gtog_
 Within-group scattering xs. More...
 
bool scattering_initialized_ = false
 

Private Member Functions

void Clear ()
 
void ComputeAbsorption ()
 
void ComputeDiffusionParameters ()
 

Private Attributes

std::vector< std::vector< double > > cdf_gprime_g_
 
std::vector< std::vector< AnglePairs > > scat_angles_gprime_g_
 

Additional Inherited Members

- Data Fields inherited from chi_physics::MaterialProperty
std::string property_name
 

Detailed Description

A class for handling multi-group cross sections.

Definition at line 14 of file single_state_mgxs.h.

Member Typedef Documentation

◆ AnglePairs

typedef std::vector<std::pair<double,double> > chi_physics::SingleStateMGXS::AnglePairs
protected

Definition at line 17 of file single_state_mgxs.h.

Constructor & Destructor Documentation

◆ SingleStateMGXS()

chi_physics::SingleStateMGXS::SingleStateMGXS ( )
inline

Definition at line 58 of file single_state_mgxs.h.

Member Function Documentation

◆ Clear()

void chi_physics::SingleStateMGXS::Clear ( )
private

Definition at line 10 of file single_state_mgxs_00_general.cc.

◆ ComputeAbsorption()

void chi_physics::SingleStateMGXS::ComputeAbsorption ( )
private

Definition at line 7 of file single_state_mgxs_02_diffparams.cc.

◆ ComputeDiffusionParameters()

void chi_physics::SingleStateMGXS::ComputeDiffusionParameters ( )
private

Definition at line 53 of file single_state_mgxs_02_diffparams.cc.

◆ DiffusionCoefficient()

const std::vector< double > & chi_physics::SingleStateMGXS::DiffusionCoefficient ( ) const
inlineoverridevirtual

Implements chi_physics::MultiGroupXS.

Definition at line 125 of file single_state_mgxs.h.

◆ DiffusionInitialized()

const bool chi_physics::SingleStateMGXS::DiffusionInitialized ( ) const
inlineoverridevirtual

Implements chi_physics::MultiGroupXS.

Definition at line 92 of file single_state_mgxs.h.

◆ InverseVelocity()

const std::vector< double > & chi_physics::SingleStateMGXS::InverseVelocity ( ) const
inlineoverridevirtual

Implements chi_physics::MultiGroupXS.

Definition at line 110 of file single_state_mgxs.h.

◆ IsFissionable()

const bool chi_physics::SingleStateMGXS::IsFissionable ( ) const
inlineoverridevirtual

Implements chi_physics::MultiGroupXS.

Definition at line 90 of file single_state_mgxs.h.

◆ MakeCombined()

void chi_physics::SingleStateMGXS::MakeCombined ( std::vector< std::pair< int, double > > &  combinations)

Populates the cross section from a combination of others.

Definition at line 120 of file single_state_mgxs_00_general.cc.

◆ MakeFromChiXSFile()

void chi_physics::SingleStateMGXS::MakeFromChiXSFile ( const std::string &  file_name)

This method populates a transport cross section from a Chi cross section file.

Lambda for reading group structure data.

Lambda for reading vector data.

Lambda for reading 2D data

Lambda for reading transfer matrix data.

Lambda for checking for all non-negative values.

Lambda for checking for all strictly positive values.

Lambda for checking for any non-zero values.

Definition at line 15 of file single_state_mgxs_01_readfromchi.cc.

◆ MakeSimple0()

void chi_physics::SingleStateMGXS::MakeSimple0 ( unsigned int  num_groups,
double  sigma_t 
)

Makes a simple material with no transfer matrix just sigma_t.

Definition at line 47 of file single_state_mgxs_00_general.cc.

◆ MakeSimple1()

void chi_physics::SingleStateMGXS::MakeSimple1 ( unsigned int  num_groups,
double  sigma_t,
double  c 
)

Makes a simple material with isotropic transfer matrix (L=0) and mostly down scattering but with a few of the last groups subject to up-scattering.

Definition at line 66 of file single_state_mgxs_00_general.cc.

◆ NuDelayedSigmaF()

const std::vector< double > & chi_physics::SingleStateMGXS::NuDelayedSigmaF ( ) const
inlineoverridevirtual

Implements chi_physics::MultiGroupXS.

Definition at line 107 of file single_state_mgxs.h.

◆ NumGroups()

const unsigned int chi_physics::SingleStateMGXS::NumGroups ( ) const
inlineoverridevirtual

Implements chi_physics::MultiGroupXS.

Definition at line 83 of file single_state_mgxs.h.

◆ NumPrecursors()

const unsigned int chi_physics::SingleStateMGXS::NumPrecursors ( ) const
inlineoverridevirtual

Implements chi_physics::MultiGroupXS.

Definition at line 88 of file single_state_mgxs.h.

◆ NuPromptSigmaF()

const std::vector< double > & chi_physics::SingleStateMGXS::NuPromptSigmaF ( ) const
inlineoverridevirtual

Implements chi_physics::MultiGroupXS.

Definition at line 104 of file single_state_mgxs.h.

◆ NuSigmaF()

const std::vector< double > & chi_physics::SingleStateMGXS::NuSigmaF ( ) const
inlineoverridevirtual

Implements chi_physics::MultiGroupXS.

Definition at line 102 of file single_state_mgxs.h.

◆ Precursors()

const std::vector< Precursor > & chi_physics::SingleStateMGXS::Precursors ( ) const
inlineoverridevirtual

Implements chi_physics::MultiGroupXS.

Definition at line 122 of file single_state_mgxs.h.

◆ ProductionMatrix()

const std::vector< std::vector< double > > chi_physics::SingleStateMGXS::ProductionMatrix ( ) const
inlineoverridevirtual

Implements chi_physics::MultiGroupXS.

Definition at line 119 of file single_state_mgxs.h.

◆ ScatteringInitialized()

const bool chi_physics::SingleStateMGXS::ScatteringInitialized ( ) const
inlineoverridevirtual

Implements chi_physics::MultiGroupXS.

Definition at line 95 of file single_state_mgxs.h.

◆ ScatteringOrder()

const unsigned int chi_physics::SingleStateMGXS::ScatteringOrder ( ) const
inlineoverridevirtual

Implements chi_physics::MultiGroupXS.

Definition at line 85 of file single_state_mgxs.h.

◆ SigmaAbsorption()

const std::vector< double > & chi_physics::SingleStateMGXS::SigmaAbsorption ( ) const
inlineoverridevirtual

Implements chi_physics::MultiGroupXS.

Definition at line 99 of file single_state_mgxs.h.

◆ SigmaFission()

const std::vector< double > & chi_physics::SingleStateMGXS::SigmaFission ( ) const
inlineoverridevirtual

Implements chi_physics::MultiGroupXS.

Definition at line 100 of file single_state_mgxs.h.

◆ SigmaRemoval()

const std::vector< double > & chi_physics::SingleStateMGXS::SigmaRemoval ( ) const
inlineoverridevirtual

Implements chi_physics::MultiGroupXS.

Definition at line 137 of file single_state_mgxs.h.

◆ SigmaSGtoG()

const std::vector< double > & chi_physics::SingleStateMGXS::SigmaSGtoG ( ) const
inlineoverridevirtual

Implements chi_physics::MultiGroupXS.

Definition at line 140 of file single_state_mgxs.h.

◆ SigmaTotal()

const std::vector< double > & chi_physics::SingleStateMGXS::SigmaTotal ( ) const
inlineoverridevirtual

Implements chi_physics::MultiGroupXS.

Definition at line 98 of file single_state_mgxs.h.

◆ SigmaTransport()

std::vector< double > chi_physics::SingleStateMGXS::SigmaTransport ( ) const
inlineoverridevirtual

Implements chi_physics::MultiGroupXS.

Definition at line 128 of file single_state_mgxs.h.

◆ TransferMatrices()

const std::vector< chi_math::SparseMatrix > & chi_physics::SingleStateMGXS::TransferMatrices ( ) const
inlineoverridevirtual

Implements chi_physics::MultiGroupXS.

Definition at line 113 of file single_state_mgxs.h.

◆ TransferMatrix()

const chi_math::SparseMatrix & chi_physics::SingleStateMGXS::TransferMatrix ( unsigned int  ell) const
inlineoverridevirtual

Implements chi_physics::MultiGroupXS.

Definition at line 116 of file single_state_mgxs.h.

Field Documentation

◆ cdf_gprime_g_

std::vector<std::vector<double> > chi_physics::SingleStateMGXS::cdf_gprime_g_
private

Definition at line 53 of file single_state_mgxs.h.

◆ diffusion_coeff_

std::vector<double> chi_physics::SingleStateMGXS::diffusion_coeff_
protected

Transport corrected diffusion coeff.

Definition at line 45 of file single_state_mgxs.h.

◆ diffusion_initialized_

bool chi_physics::SingleStateMGXS::diffusion_initialized_ = false
protected

Definition at line 44 of file single_state_mgxs.h.

◆ e_bounds_

std::vector<std::vector<double> > chi_physics::SingleStateMGXS::e_bounds_
protected

Energy bin boundaries in MeV.

Definition at line 26 of file single_state_mgxs.h.

◆ inv_velocity_

std::vector<double> chi_physics::SingleStateMGXS::inv_velocity_
protected

Definition at line 36 of file single_state_mgxs.h.

◆ is_fissionable_

bool chi_physics::SingleStateMGXS::is_fissionable_ = false
protected

Definition at line 24 of file single_state_mgxs.h.

◆ nu_delayed_sigma_f_

std::vector<double> chi_physics::SingleStateMGXS::nu_delayed_sigma_f_
protected

Definition at line 34 of file single_state_mgxs.h.

◆ nu_prompt_sigma_f_

std::vector<double> chi_physics::SingleStateMGXS::nu_prompt_sigma_f_
protected

Definition at line 33 of file single_state_mgxs.h.

◆ nu_sigma_f_

std::vector<double> chi_physics::SingleStateMGXS::nu_sigma_f_
protected

Definition at line 32 of file single_state_mgxs.h.

◆ num_groups_

unsigned int chi_physics::SingleStateMGXS::num_groups_ = 0
protected

Total number of groups.

Definition at line 20 of file single_state_mgxs.h.

◆ num_precursors_

unsigned int chi_physics::SingleStateMGXS::num_precursors_ = 0
protected

Number of precursors.

Definition at line 22 of file single_state_mgxs.h.

◆ precursors_

std::vector<Precursor> chi_physics::SingleStateMGXS::precursors_
protected

Definition at line 41 of file single_state_mgxs.h.

◆ production_matrix_

std::vector<std::vector<double> > chi_physics::SingleStateMGXS::production_matrix_
protected

Definition at line 39 of file single_state_mgxs.h.

◆ scat_angles_gprime_g_

std::vector<std::vector<AnglePairs> > chi_physics::SingleStateMGXS::scat_angles_gprime_g_
private

Definition at line 54 of file single_state_mgxs.h.

◆ scattering_initialized_

bool chi_physics::SingleStateMGXS::scattering_initialized_ = false
protected

Definition at line 51 of file single_state_mgxs.h.

◆ scattering_order_

unsigned int chi_physics::SingleStateMGXS::scattering_order_ = 0
protected

Legendre scattering order.

Definition at line 21 of file single_state_mgxs.h.

◆ sigma_a_

std::vector<double> chi_physics::SingleStateMGXS::sigma_a_
protected

Absorption cross section.

Definition at line 29 of file single_state_mgxs.h.

◆ sigma_f_

std::vector<double> chi_physics::SingleStateMGXS::sigma_f_
protected

Fission cross section.

Definition at line 30 of file single_state_mgxs.h.

◆ sigma_removal_

std::vector<double> chi_physics::SingleStateMGXS::sigma_removal_
protected

Removal cross section.

Definition at line 46 of file single_state_mgxs.h.

◆ sigma_s_gtog_

std::vector<double> chi_physics::SingleStateMGXS::sigma_s_gtog_
protected

Within-group scattering xs.

Definition at line 47 of file single_state_mgxs.h.

◆ sigma_t_

std::vector<double> chi_physics::SingleStateMGXS::sigma_t_
protected

Total cross section.

Definition at line 28 of file single_state_mgxs.h.

◆ transfer_matrices_

std::vector<chi_math::SparseMatrix> chi_physics::SingleStateMGXS::transfer_matrices_
protected

Definition at line 38 of file single_state_mgxs.h.


The documentation for this class was generated from the following files: