Chi-Tech
lbs Namespace Reference

Namespaces

namespace  acceleration
 

Data Structures

class  AAH_SweepChunk
 
struct  AAH_SweepDependencyInterface
 
class  AdjointSourceFunction
 
struct  AGSContext
 
class  AGSLinearSolver
 
class  AGSSchemeEntry
 
class  BoundaryFunctionToLua
 
struct  BoundaryPreference
 
class  CBC_AngleSet
 
class  CBC_ASynchronousCommunicator
 
class  CBC_FLUDS
 
class  CBC_FLUDSCommonData
 
class  CBC_SPDS
 
class  CBC_SweepChunk
 
struct  CBC_SweepDependencyInterface
 
class  CellLBSView
 
class  DiffusionDFEMSolver
 
class  DiscOrdTransientSolver
 
class  DiscreteOrdinatesAdjointSolver
 
class  DiscreteOrdinatesCurvilinearSolver
 
class  DiscreteOrdinatesSolver
 
struct  KResidualFunctionContext
 
class  LBSGroup
 
class  LBSGroupset
 
class  LBSSolver
 
struct  MIPWGSContext2
 
struct  NLKEigenAGSContext
 
class  NLKEigenvalueAGSSolver
 
struct  Options
 
class  PointSource
 
struct  ResponseFunctionDesignation
 
class  SourceFunction
 
class  SteadyStateSolver
 
class  SweepChunk
 
class  SweepChunkPWLRZ
 
class  SweepChunkPWLTransientTheta
 
struct  SweepDependencyInterface
 
struct  SweepWGSContext
 
class  TransientSolver
 
class  TransientSourceFunction
 
struct  UnitCellMatrices
 
struct  WGSContext
 
class  WGSLinearSolver
 
class  XXNonLinearKEigen
 
class  XXPowerIterationKEigen
 
class  XXPowerIterationKEigenSCDSA
 

Typedefs

typedef std::vector< size_t > DirIDs
 Direction-IDs. More...
 
typedef std::vector< DirIDsUniqueSOGroupings
 
typedef std::map< size_t, size_t > DirIDToSOMap
 
typedef std::vector< double > VecDbl
 
typedef std::vector< VecDblMatDbl
 
typedef std::vector< chi_mesh::Vector3VecVec3
 
typedef std::vector< VecVec3MatVec3
 
typedef std::shared_ptr< chi_physics::MultiGroupXSXSPtr
 
typedef std::shared_ptr< chi_physics::IsotropicMultiGrpSourceIsotropicSrcPtr
 
typedef std::function< void(LBSGroupset &groupset, std::vector< double > &destination_q, const std::vector< double > &phi, SourceFlags source_flags)> SetSourceFunction
 

Enumerations

enum class  IterativeMethod : int {
  NONE = 0 , CLASSICRICHARDSON = 1 , CLASSICRICHARDSON_CYCLES = 2 , GMRES = 3 ,
  GMRES_CYCLES = 4 , KRYLOV_RICHARDSON = 5 , KRYLOV_RICHARDSON_CYCLES = 6 , KRYLOV_GMRES = 7 ,
  KRYLOV_GMRES_CYCLES = 8 , KRYLOV_BICGSTAB = 9 , KRYLOV_BICGSTAB_CYCLES = 10
}
 
enum class  SolverType { DISCRETE_ORDINATES = 1 , DIFFUSION_DFEM = 2 , DIFFUSION_CFEM = 3 }
 
enum class  GeometryType {
  NO_GEOMETRY_SET = 0 , ONED_SLAB = 1 , ONED_CYLINDRICAL = 2 , ONED_SPHERICAL = 3 ,
  TWOD_CARTESIAN = 4 , TWOD_CYLINDRICAL = 5 , THREED_CARTESIAN = 6
}
 
enum class  AngleAggregationType { UNDEFINED = 0 , SINGLE = 1 , POLAR = 2 , AZIMUTHAL = 3 }
 
enum class  BoundaryType { VACUUM = 1 , INCIDENT_ISOTROPIC = 2 , REFLECTING = 3 , INCIDENT_ANISTROPIC_HETEROGENEOUS = 4 }
 
enum  SourceFlags : int {
  NO_FLAGS_SET = 0 , APPLY_FIXED_SOURCES = (1 << 0) , APPLY_WGS_SCATTER_SOURCES = (1 << 1) , APPLY_AGS_SCATTER_SOURCES = (1 << 2) ,
  APPLY_WGS_FISSION_SOURCES = (1 << 3) , APPLY_AGS_FISSION_SOURCES = (1 << 4) , SUPPRESS_WG_SCATTER = (1 << 5) , ZERO_INCOMING_DELAYED_PSI = (1 << 6)
}
 
enum class  PhiSTLOption { PHI_OLD = 1 , PHI_NEW = 2 }
 
enum class  AGSSchemeEntryType { GROUPSET_ID = 1 , SCHEME = 2 }
 

Functions

 RegisterChiObjectParametersOnly (lbs, LBSGroupset)
 
std::string IterativeMethodPETScName (IterativeMethod it_method)
 
PetscErrorCode NLKEigenResidualFunction (SNES snes, Vec phi, Vec r, void *ctx)
 
void PowerIterationKEigen (LBSSolver &lbs_solver, double tolerance, int max_iterations, double &k_eff)
 
void PowerIterationKEigen1 (LBSSolver &lbs_solver, double tolerance, int max_iterations, double &k_eff)
 
void PowerIterationKEigen2 (LBSSolver &lbs_solver, double tolerance, int max_iterations, double &k_eff)
 
PetscErrorCode KEigenSNESMonitor (SNES, PetscInt iter, PetscReal rnorm, void *ctx)
 
PetscErrorCode KEigenKSPMonitor (KSP ksp, PetscInt iter, PetscReal rnorm, void *ctx)
 
PetscErrorCode GSConvergenceTest (KSP ksp, PetscInt n, PetscReal rnorm, KSPConvergedReason *convergedReason, void *)
 
 RegisterSyntaxBlock (lbs, OptionsBlock, LBSSolver::OptionsBlock)
 
 RegisterSyntaxBlock (lbs, BoundaryOptionsBlock, LBSSolver::BoundaryOptionsBlock)
 
chi_math::CoordinateSystemType MapGeometryTypeToCoordSys (const GeometryType gtype)
 
SourceFlags operator| (const SourceFlags f1, const SourceFlags f2)
 
int WGDSA_TGDSA_PreConditionerMult (PC pc, Vec phi_input, Vec pc_output)
 
int WGDSA_TGDSA_PreConditionerMult2 (lbs::WGSContext< Mat, Vec, KSP > &gs_context_ptr, Vec phi_input, Vec pc_output)
 
int MIP_TGDSA_PreConditionerMult (PC pc, Vec phi_input, Vec pc_output)
 
 RegisterChiObject (lbs, DiffusionDFEMSolver)
 
 RegisterChiObject (lbs, DiscreteOrdinatesSolver)
 
void TestFunction ()
 
std::array< double, 2 > MakeExpRepFromP1 (const std::array< double, 4 > &P1_moments, bool verbose=false)
 
 RegisterChiObject (lbs, DiscreteOrdinatesAdjointSolver)
 
 RegisterChiObject (lbs, DiscreteOrdinatesCurvilinearSolver)
 
 RegisterChiObject (lbs, SteadyStateSolver)
 
 RegisterChiObject (lbs, TransientSolver)
 
 RegisterChiObject (lbs, XXNonLinearKEigen)
 
 RegisterChiObject (lbs, XXPowerIterationKEigen)
 
 RegisterChiObject (lbs, XXPowerIterationKEigenSCDSA)
 

Typedef Documentation

◆ DirIDs

typedef std::vector<size_t> lbs::DirIDs

Direction-IDs.

Definition at line 14 of file lbs_structs.h.

◆ DirIDToSOMap

typedef std::map<size_t, size_t> lbs::DirIDToSOMap

Definition at line 16 of file lbs_structs.h.

◆ IsotropicSrcPtr

Definition at line 24 of file lbs_structs.h.

◆ MatDbl

typedef std::vector<VecDbl> lbs::MatDbl

Definition at line 19 of file lbs_structs.h.

◆ MatVec3

typedef std::vector<VecVec3> lbs::MatVec3

Definition at line 21 of file lbs_structs.h.

◆ SetSourceFunction

typedef std::function<void(LBSGroupset& groupset, std::vector<double>& destination_q, const std::vector<double>& phi, SourceFlags source_flags)> lbs::SetSourceFunction

Definition at line 115 of file lbs_structs.h.

◆ UniqueSOGroupings

typedef std::vector<DirIDs> lbs::UniqueSOGroupings

Definition at line 15 of file lbs_structs.h.

◆ VecDbl

typedef std::vector<double> lbs::VecDbl

Definition at line 18 of file lbs_structs.h.

◆ VecVec3

typedef std::vector<chi_mesh::Vector3> lbs::VecVec3

Definition at line 20 of file lbs_structs.h.

◆ XSPtr

typedef std::shared_ptr<chi_physics::MultiGroupXS> lbs::XSPtr

Definition at line 23 of file lbs_structs.h.

Enumeration Type Documentation

◆ AGSSchemeEntryType

enum class lbs::AGSSchemeEntryType
strong
Enumerator
GROUPSET_ID 
SCHEME 

Definition at line 251 of file lbs_structs.h.

◆ AngleAggregationType

enum class lbs::AngleAggregationType
strong
Enumerator
UNDEFINED 
SINGLE 
POLAR 
AZIMUTHAL 

Definition at line 64 of file lbs_structs.h.

◆ BoundaryType

enum class lbs::BoundaryType
strong
Enumerator
VACUUM 
INCIDENT_ISOTROPIC 
REFLECTING 
INCIDENT_ANISTROPIC_HETEROGENEOUS 

Definition at line 72 of file lbs_structs.h.

◆ GeometryType

enum class lbs::GeometryType
strong
Enumerator
NO_GEOMETRY_SET 
ONED_SLAB 
ONED_CYLINDRICAL 
ONED_SPHERICAL 
TWOD_CARTESIAN 
TWOD_CYLINDRICAL 
THREED_CARTESIAN 

Definition at line 33 of file lbs_structs.h.

◆ IterativeMethod

enum class lbs::IterativeMethod : int
strong
Enumerator
NONE 
CLASSICRICHARDSON 

Otherwise known as Source Iteration.

CLASSICRICHARDSON_CYCLES 

Source Iteration with Cycles support.

GMRES 

GMRES iterative algorithm.

GMRES_CYCLES 

GMRES with Cycles support.

KRYLOV_RICHARDSON 

Richardson iteration.

KRYLOV_RICHARDSON_CYCLES 

Richardson iteration with cycles support.

KRYLOV_GMRES 

GMRES iterative algorithm.

KRYLOV_GMRES_CYCLES 

GMRES with Cycles support.

KRYLOV_BICGSTAB 

BiCGStab iterative algorithm.

KRYLOV_BICGSTAB_CYCLES 

BiCGStab with Cycles support.

Definition at line 8 of file lbs_iterativemethods.h.

◆ PhiSTLOption

enum class lbs::PhiSTLOption
strong
Enumerator
PHI_OLD 
PHI_NEW 

Definition at line 104 of file lbs_structs.h.

◆ SolverType

enum class lbs::SolverType
strong
Enumerator
DISCRETE_ORDINATES 
DIFFUSION_DFEM 
DIFFUSION_CFEM 

Definition at line 26 of file lbs_structs.h.

◆ SourceFlags

enum lbs::SourceFlags : int
Enumerator
NO_FLAGS_SET 
APPLY_FIXED_SOURCES 
APPLY_WGS_SCATTER_SOURCES 
APPLY_AGS_SCATTER_SOURCES 
APPLY_WGS_FISSION_SOURCES 
APPLY_AGS_FISSION_SOURCES 
SUPPRESS_WG_SCATTER 
ZERO_INCOMING_DELAYED_PSI 

Definition at line 87 of file lbs_structs.h.

Function Documentation

◆ GSConvergenceTest()

PetscErrorCode lbs::GSConvergenceTest ( KSP  ksp,
PetscInt  n,
PetscReal  rnorm,
KSPConvergedReason *  convergedReason,
void *   
)

Customized convergence test.

Definition at line 18 of file wgs_convergence_test.cc.

◆ IterativeMethodPETScName()

std::string lbs::IterativeMethodPETScName ( IterativeMethod  it_method)
inline

Definition at line 23 of file lbs_iterativemethods.h.

◆ KEigenKSPMonitor()

PetscErrorCode lbs::KEigenKSPMonitor ( KSP  ksp,
PetscInt  iter,
PetscReal  rnorm,
void *  ctx 
)

Definition at line 38 of file snes_k_monitor.cc.

◆ KEigenSNESMonitor()

PetscErrorCode lbs::KEigenSNESMonitor ( SNES  ,
PetscInt  iter,
PetscReal  rnorm,
void *  ctx 
)

Definition at line 13 of file snes_k_monitor.cc.

◆ MakeExpRepFromP1()

std::array< double, 2 > lbs::MakeExpRepFromP1 ( const std::array< double, 4 > &  P1_moments,
bool  verbose = false 
)

Constructor. Parameters are the 3 components of the currents normalized with 1/phi.

Function evaluation at vector-x.

Jacobian evaluation at vector-x.

Definition at line 15 of file lbs_adjoint.cc.

◆ MapGeometryTypeToCoordSys()

chi_math::CoordinateSystemType lbs::MapGeometryTypeToCoordSys ( const GeometryType  gtype)
inline

Definition at line 45 of file lbs_structs.h.

◆ MIP_TGDSA_PreConditionerMult()

int lbs::MIP_TGDSA_PreConditionerMult ( PC  pc,
Vec  phi_input,
Vec  pc_output 
)

Applies TGDSA to the given input vector.

Definition at line 9 of file lbsmip_TGDSA_preconditioner.cc.

◆ NLKEigenResidualFunction()

PetscErrorCode lbs::NLKEigenResidualFunction ( SNES  snes,
Vec  phi,
Vec  r,
void *  ctx 
)

This function evaluates the flux moments based k-eigenvalue transport residual of the form $ r(\phi) = DL^{-1} (\frac{1}{k} F\phi + MS \phi) - \phi $.

Definition at line 14 of file nl_keigen_ags_residual_func.cc.

◆ operator|()

SourceFlags lbs::operator| ( const SourceFlags  f1,
const SourceFlags  f2 
)
inline

Definition at line 99 of file lbs_structs.h.

◆ PowerIterationKEigen()

void lbs::PowerIterationKEigen ( LBSSolver lbs_solver,
double  tolerance,
int  max_iterations,
double &  k_eff 
)

Definition at line 15 of file poweriteration_keigen.cc.

◆ PowerIterationKEigen1()

void lbs::PowerIterationKEigen1 ( LBSSolver lbs_solver,
double  tolerance,
int  max_iterations,
double &  k_eff 
)

Lambda for the creation of fission sources.

Lambda for the creation of scattering sources

Lambda for the creation of scattering sources but the input vector is only the zeroth moment

Lambda for the creation of fission sources.

Lambda for the creation of scattering sources

Lambda for the creation of scattering sources but the input vector is only the zeroth moment

Definition at line 19 of file poweriteration_keigen1.cc.

◆ PowerIterationKEigen2()

void lbs::PowerIterationKEigen2 ( LBSSolver lbs_solver,
double  tolerance,
int  max_iterations,
double &  k_eff 
)

Lambda for the creation of fission sources.

Lambda for the creation of fission sources.

Definition at line 19 of file poweriteration_keigen2.cc.

◆ RegisterChiObject() [1/9]

lbs::RegisterChiObject ( lbs  ,
DiffusionDFEMSolver   
)

◆ RegisterChiObject() [2/9]

lbs::RegisterChiObject ( lbs  ,
DiscreteOrdinatesAdjointSolver   
)

◆ RegisterChiObject() [3/9]

lbs::RegisterChiObject ( lbs  ,
DiscreteOrdinatesCurvilinearSolver   
)

◆ RegisterChiObject() [4/9]

lbs::RegisterChiObject ( lbs  ,
DiscreteOrdinatesSolver   
)

◆ RegisterChiObject() [5/9]

lbs::RegisterChiObject ( lbs  ,
SteadyStateSolver   
)

◆ RegisterChiObject() [6/9]

lbs::RegisterChiObject ( lbs  ,
TransientSolver   
)

◆ RegisterChiObject() [7/9]

lbs::RegisterChiObject ( lbs  ,
XXNonLinearKEigen   
)

◆ RegisterChiObject() [8/9]

lbs::RegisterChiObject ( lbs  ,
XXPowerIterationKEigen   
)

◆ RegisterChiObject() [9/9]

lbs::RegisterChiObject ( lbs  ,
XXPowerIterationKEigenSCDSA   
)

◆ RegisterChiObjectParametersOnly()

lbs::RegisterChiObjectParametersOnly ( lbs  ,
LBSGroupset   
)

◆ RegisterSyntaxBlock() [1/2]

lbs::RegisterSyntaxBlock ( lbs  ,
BoundaryOptionsBlock  ,
LBSSolver::BoundaryOptionsBlock   
)

◆ RegisterSyntaxBlock() [2/2]

lbs::RegisterSyntaxBlock ( lbs  ,
OptionsBlock  ,
LBSSolver::OptionsBlock   
)

◆ TestFunction()

void lbs::TestFunction ( )

Definition at line 10 of file lbs_adjoint.cc.

◆ WGDSA_TGDSA_PreConditionerMult()

int lbs::WGDSA_TGDSA_PreConditionerMult ( PC  pc,
Vec  phi_input,
Vec  pc_output 
)

Applies WGDSA or TGDSA to the given input vector.

Definition at line 9 of file lbs_DSA_preconditioner.cc.

◆ WGDSA_TGDSA_PreConditionerMult2()

int lbs::WGDSA_TGDSA_PreConditionerMult2 ( lbs::WGSContext< Mat, Vec, KSP > &  gs_context_ptr,
Vec  phi_input,
Vec  pc_output 
)

Applies WGDSA or TGDSA to the given input vector.

Definition at line 61 of file lbs_DSA_preconditioner.cc.