Chi-Tech
|
#include <adjoint_mgxs.h>
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::SparseMatrix & | TransferMatrix (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::SparseMatrix & | TransferMatrix (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 MultiGroupXS & | xs_ |
std::vector< chi_math::SparseMatrix > | transposed_transfer_matrices_ |
std::vector< std::vector< double > > | transposed_production_matrices_ |
Additional Inherited Members | |
Data Fields inherited from chi_physics::MaterialProperty | |
std::string | property_name |
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.
|
delete |
|
delete |
|
delete |
|
explicit |
Definition at line 4 of file adjoint_mgxs.cc.
|
inlineoverridevirtual |
Implements chi_physics::MultiGroupXS.
Definition at line 87 of file adjoint_mgxs.h.
|
inlineoverridevirtual |
Implements chi_physics::MultiGroupXS.
Definition at line 48 of file adjoint_mgxs.h.
|
inlineoverridevirtual |
Implements chi_physics::MultiGroupXS.
Definition at line 72 of file adjoint_mgxs.h.
|
inlineoverridevirtual |
Implements chi_physics::MultiGroupXS.
Definition at line 46 of file adjoint_mgxs.h.
|
inlineoverridevirtual |
Implements chi_physics::MultiGroupXS.
Definition at line 69 of file adjoint_mgxs.h.
|
inlineoverridevirtual |
Implements chi_physics::MultiGroupXS.
Definition at line 38 of file adjoint_mgxs.h.
|
inlineoverridevirtual |
Implements chi_physics::MultiGroupXS.
Definition at line 43 of file adjoint_mgxs.h.
|
inlineoverridevirtual |
Implements chi_physics::MultiGroupXS.
Definition at line 66 of file adjoint_mgxs.h.
|
inlineoverridevirtual |
Implements chi_physics::MultiGroupXS.
Definition at line 63 of file adjoint_mgxs.h.
|
inlineoverridevirtual |
Implements chi_physics::MultiGroupXS.
Definition at line 84 of file adjoint_mgxs.h.
|
inlineoverridevirtual |
Implements chi_physics::MultiGroupXS.
Definition at line 81 of file adjoint_mgxs.h.
|
inlineoverridevirtual |
Implements chi_physics::MultiGroupXS.
Definition at line 51 of file adjoint_mgxs.h.
|
inlineoverridevirtual |
Implements chi_physics::MultiGroupXS.
Definition at line 40 of file adjoint_mgxs.h.
|
inlineoverridevirtual |
Implements chi_physics::MultiGroupXS.
Definition at line 57 of file adjoint_mgxs.h.
|
inlineoverridevirtual |
Implements chi_physics::MultiGroupXS.
Definition at line 60 of file adjoint_mgxs.h.
|
inlineoverridevirtual |
Implements chi_physics::MultiGroupXS.
Definition at line 93 of file adjoint_mgxs.h.
|
inlineoverridevirtual |
Implements chi_physics::MultiGroupXS.
Definition at line 96 of file adjoint_mgxs.h.
|
inlineoverridevirtual |
Implements chi_physics::MultiGroupXS.
Definition at line 54 of file adjoint_mgxs.h.
|
inlineoverridevirtual |
Implements chi_physics::MultiGroupXS.
Definition at line 90 of file adjoint_mgxs.h.
|
inlineoverridevirtual |
Implements chi_physics::MultiGroupXS.
Definition at line 75 of file adjoint_mgxs.h.
|
inlineoverridevirtual |
Implements chi_physics::MultiGroupXS.
Definition at line 78 of file adjoint_mgxs.h.
|
private |
Definition at line 28 of file adjoint_mgxs.h.
|
private |
Definition at line 27 of file adjoint_mgxs.h.
|
private |
Definition at line 26 of file adjoint_mgxs.h.