Chi-Tech
chi_physics::AdjointMGXS Class Reference

#include <adjoint_mgxs.h>

Inheritance diagram for chi_physics::AdjointMGXS:
chi_physics::MultiGroupXS chi_physics::MaterialProperty

Public Member Functions

 AdjointMGXS ()=delete
 
 AdjointMGXS (const AdjointMGXS &)=delete
 
 AdjointMGXS (AdjointMGXS &&)=delete
 
 AdjointMGXS (const MultiGroupXS &xs)
 
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
 

Private Attributes

const MultiGroupXSxs_
 
std::vector< chi_math::SparseMatrixtransposed_transfer_matrices_
 
std::vector< std::vector< double > > transposed_production_matrices_
 

Additional Inherited Members

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

Detailed Description

A wrapper class for obtaining multi-group cross section data for adjoint simulations.

In adjoint simulations, the transfer and production matrices are transposed. While the respective matrices could be queried by simply flipping the indices, access attempts in this fashion are quite costly. Rather, this class precomputes and stores these transpose operators. Along with this, a reference to an instance of MultiGroupXS is stored. In this class, accessors for vector data call the respective accessor from MultiGroupXS and accessors for transfer and production matrices access the respective transposed data stored in this class.

Definition at line 23 of file adjoint_mgxs.h.

Constructor & Destructor Documentation

◆ AdjointMGXS() [1/4]

chi_physics::AdjointMGXS::AdjointMGXS ( )
delete

◆ AdjointMGXS() [2/4]

chi_physics::AdjointMGXS::AdjointMGXS ( const AdjointMGXS )
delete

◆ AdjointMGXS() [3/4]

chi_physics::AdjointMGXS::AdjointMGXS ( AdjointMGXS &&  )
delete

◆ AdjointMGXS() [4/4]

chi_physics::AdjointMGXS::AdjointMGXS ( const MultiGroupXS xs)
explicit

Definition at line 4 of file adjoint_mgxs.cc.

Member Function Documentation

◆ DiffusionCoefficient()

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

Implements chi_physics::MultiGroupXS.

Definition at line 87 of file adjoint_mgxs.h.

◆ DiffusionInitialized()

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

Implements chi_physics::MultiGroupXS.

Definition at line 48 of file adjoint_mgxs.h.

◆ InverseVelocity()

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

Implements chi_physics::MultiGroupXS.

Definition at line 72 of file adjoint_mgxs.h.

◆ IsFissionable()

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

Implements chi_physics::MultiGroupXS.

Definition at line 46 of file adjoint_mgxs.h.

◆ NuDelayedSigmaF()

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

Implements chi_physics::MultiGroupXS.

Definition at line 69 of file adjoint_mgxs.h.

◆ NumGroups()

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

Implements chi_physics::MultiGroupXS.

Definition at line 38 of file adjoint_mgxs.h.

◆ NumPrecursors()

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

Implements chi_physics::MultiGroupXS.

Definition at line 43 of file adjoint_mgxs.h.

◆ NuPromptSigmaF()

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

Implements chi_physics::MultiGroupXS.

Definition at line 66 of file adjoint_mgxs.h.

◆ NuSigmaF()

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

Implements chi_physics::MultiGroupXS.

Definition at line 63 of file adjoint_mgxs.h.

◆ Precursors()

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

Implements chi_physics::MultiGroupXS.

Definition at line 84 of file adjoint_mgxs.h.

◆ ProductionMatrix()

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

Implements chi_physics::MultiGroupXS.

Definition at line 81 of file adjoint_mgxs.h.

◆ ScatteringInitialized()

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

Implements chi_physics::MultiGroupXS.

Definition at line 51 of file adjoint_mgxs.h.

◆ ScatteringOrder()

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

Implements chi_physics::MultiGroupXS.

Definition at line 40 of file adjoint_mgxs.h.

◆ SigmaAbsorption()

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

Implements chi_physics::MultiGroupXS.

Definition at line 57 of file adjoint_mgxs.h.

◆ SigmaFission()

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

Implements chi_physics::MultiGroupXS.

Definition at line 60 of file adjoint_mgxs.h.

◆ SigmaRemoval()

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

Implements chi_physics::MultiGroupXS.

Definition at line 93 of file adjoint_mgxs.h.

◆ SigmaSGtoG()

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

Implements chi_physics::MultiGroupXS.

Definition at line 96 of file adjoint_mgxs.h.

◆ SigmaTotal()

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

Implements chi_physics::MultiGroupXS.

Definition at line 54 of file adjoint_mgxs.h.

◆ SigmaTransport()

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

Implements chi_physics::MultiGroupXS.

Definition at line 90 of file adjoint_mgxs.h.

◆ TransferMatrices()

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

Implements chi_physics::MultiGroupXS.

Definition at line 75 of file adjoint_mgxs.h.

◆ TransferMatrix()

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

Implements chi_physics::MultiGroupXS.

Definition at line 78 of file adjoint_mgxs.h.

Field Documentation

◆ transposed_production_matrices_

std::vector<std::vector<double> > chi_physics::AdjointMGXS::transposed_production_matrices_
private

Definition at line 28 of file adjoint_mgxs.h.

◆ transposed_transfer_matrices_

std::vector<chi_math::SparseMatrix> chi_physics::AdjointMGXS::transposed_transfer_matrices_
private

Definition at line 27 of file adjoint_mgxs.h.

◆ xs_

const MultiGroupXS& chi_physics::AdjointMGXS::xs_
private

Definition at line 26 of file adjoint_mgxs.h.


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