Chi-Tech
lbs::LBSGroupset Class Reference

#include <lbs_groupset.h>

Inheritance diagram for lbs::LBSGroupset:
ChiObject

Data Structures

struct  TwoGridAccelerationInfo
 

Public Member Functions

 LBSGroupset (const chi::InputParameters &params, int id, const LBSSolver &lbs_solver)
 
 LBSGroupset ()
 
 LBSGroupset (int id)
 
void BuildDiscMomOperator (unsigned int scattering_order, GeometryType geometry_type)
 
void BuildMomDiscOperator (unsigned int scattering_order, GeometryType geometry_type)
 
void BuildSubsets ()
 
void PrintSweepInfoFile (size_t ev_tag, const std::string &file_name)
 
- Public Member Functions inherited from ChiObject
 ChiObject ()
 
 ChiObject (const chi::InputParameters &params)
 
void SetStackID (size_t stack_id)
 
size_t StackID () const
 
virtual void PushOntoStack (std::shared_ptr< ChiObject > &new_object)
 
virtual ~ChiObject ()=default
 

Static Public Member Functions

static chi::InputParameters GetInputParameters ()
 
- Static Public Member Functions inherited from ChiObject
static chi::InputParameters GetInputParameters ()
 

Data Fields

int id_
 
std::vector< LBSGroupgroups_
 
std::shared_ptr< chi_math::AngularQuadraturequadrature_ = nullptr
 
AngleAggPtr angle_agg_
 
UniqueSOGroupings unique_so_groupings_
 
DirIDToSOMap dir_id_to_so_map_
 
int master_num_grp_subsets_ = 1
 
int master_num_ang_subsets_ = 1
 
std::vector< chi::SubSetInfogrp_subset_infos_
 
IterativeMethod iterative_method_ = IterativeMethod::CLASSICRICHARDSON
 
AngleAggregationType angleagg_method_ = AngleAggregationType::POLAR
 
double residual_tolerance_ = 1.0e-6
 
int max_iterations_ = 200
 
int gmres_restart_intvl_ = 30
 
bool allow_cycles_ = false
 
bool log_sweep_events_ = false
 
bool apply_wgdsa_ = false
 
bool apply_tgdsa_ = false
 
int wgdsa_max_iters_ = 30
 
int tgdsa_max_iters_ = 30
 
double wgdsa_tol_ = 1.0e-4
 
double tgdsa_tol_ = 1.0e-4
 
bool wgdsa_verbose_ = false
 
bool tgdsa_verbose_ = false
 
std::string wgdsa_string_
 
std::string tgdsa_string_
 
std::shared_ptr< lbs::acceleration::DiffusionMIPSolverwgdsa_solver_
 
std::shared_ptr< lbs::acceleration::DiffusionMIPSolvertgdsa_solver_
 
struct lbs::LBSGroupset::TwoGridAccelerationInfo tg_acceleration_info_
 
chi_math::UnknownManager psi_uk_man_
 

Protected Types

typedef std::shared_ptr< chi_mesh::sweep_management::AngleAggregationAngleAggPtr
 

Detailed Description

Group set functioning as a collection of groups

Definition at line 35 of file lbs_groupset.h.

Member Typedef Documentation

◆ AngleAggPtr

Definition at line 38 of file lbs_groupset.h.

Constructor & Destructor Documentation

◆ LBSGroupset() [1/3]

lbs::LBSGroupset::LBSGroupset ( const chi::InputParameters params,
int  id,
const LBSSolver lbs_solver 
)
explicit

Input parameters based constructor.

Definition at line 132 of file lbs_groupset.cc.

◆ LBSGroupset() [2/3]

lbs::LBSGroupset::LBSGroupset ( )
inline

Definition at line 90 of file lbs_groupset.h.

◆ LBSGroupset() [3/3]

lbs::LBSGroupset::LBSGroupset ( int  id)
inlineexplicit

Definition at line 91 of file lbs_groupset.h.

Member Function Documentation

◆ BuildDiscMomOperator()

void lbs::LBSGroupset::BuildDiscMomOperator ( unsigned int  scattering_order,
lbs::GeometryType  geometry_type 
)

Computes the discrete to moment operator.

Definition at line 220 of file lbs_groupset.cc.

◆ BuildMomDiscOperator()

void lbs::LBSGroupset::BuildMomDiscOperator ( unsigned int  scattering_order,
lbs::GeometryType  geometry_type 
)

Computes the moment to discrete operator.

Definition at line 242 of file lbs_groupset.cc.

◆ BuildSubsets()

void lbs::LBSGroupset::BuildSubsets ( )

Constructs the groupset subsets.

Definition at line 264 of file lbs_groupset.cc.

◆ GetInputParameters()

chi::InputParameters lbs::LBSGroupset::GetInputParameters ( )
static

Definition at line 20 of file lbs_groupset.cc.

◆ PrintSweepInfoFile()

void lbs::LBSGroupset::PrintSweepInfoFile ( size_t  ev_tag,
const std::string &  file_name 
)

Constructs the groupset subsets.

Definition at line 280 of file lbs_groupset.cc.

Field Documentation

◆ allow_cycles_

bool lbs::LBSGroupset::allow_cycles_ = false

Definition at line 58 of file lbs_groupset.h.

◆ angle_agg_

AngleAggPtr lbs::LBSGroupset::angle_agg_

Definition at line 43 of file lbs_groupset.h.

◆ angleagg_method_

AngleAggregationType lbs::LBSGroupset::angleagg_method_ = AngleAggregationType::POLAR

Definition at line 53 of file lbs_groupset.h.

◆ apply_tgdsa_

bool lbs::LBSGroupset::apply_tgdsa_ = false

Definition at line 62 of file lbs_groupset.h.

◆ apply_wgdsa_

bool lbs::LBSGroupset::apply_wgdsa_ = false

Definition at line 61 of file lbs_groupset.h.

◆ dir_id_to_so_map_

DirIDToSOMap lbs::LBSGroupset::dir_id_to_so_map_

Definition at line 45 of file lbs_groupset.h.

◆ gmres_restart_intvl_

int lbs::LBSGroupset::gmres_restart_intvl_ = 30

Definition at line 56 of file lbs_groupset.h.

◆ groups_

std::vector<LBSGroup> lbs::LBSGroupset::groups_

Definition at line 41 of file lbs_groupset.h.

◆ grp_subset_infos_

std::vector<chi::SubSetInfo> lbs::LBSGroupset::grp_subset_infos_

Definition at line 50 of file lbs_groupset.h.

◆ id_

int lbs::LBSGroupset::id_

Definition at line 40 of file lbs_groupset.h.

◆ iterative_method_

IterativeMethod lbs::LBSGroupset::iterative_method_ = IterativeMethod::CLASSICRICHARDSON

Definition at line 52 of file lbs_groupset.h.

◆ log_sweep_events_

bool lbs::LBSGroupset::log_sweep_events_ = false

Definition at line 59 of file lbs_groupset.h.

◆ master_num_ang_subsets_

int lbs::LBSGroupset::master_num_ang_subsets_ = 1

Definition at line 48 of file lbs_groupset.h.

◆ master_num_grp_subsets_

int lbs::LBSGroupset::master_num_grp_subsets_ = 1

Definition at line 47 of file lbs_groupset.h.

◆ max_iterations_

int lbs::LBSGroupset::max_iterations_ = 200

Definition at line 55 of file lbs_groupset.h.

◆ psi_uk_man_

chi_math::UnknownManager lbs::LBSGroupset::psi_uk_man_

Definition at line 83 of file lbs_groupset.h.

◆ quadrature_

std::shared_ptr<chi_math::AngularQuadrature> lbs::LBSGroupset::quadrature_ = nullptr

Definition at line 42 of file lbs_groupset.h.

◆ residual_tolerance_

double lbs::LBSGroupset::residual_tolerance_ = 1.0e-6

Definition at line 54 of file lbs_groupset.h.

◆ tg_acceleration_info_

struct lbs::LBSGroupset::TwoGridAccelerationInfo lbs::LBSGroupset::tg_acceleration_info_

◆ tgdsa_max_iters_

int lbs::LBSGroupset::tgdsa_max_iters_ = 30

Definition at line 64 of file lbs_groupset.h.

◆ tgdsa_solver_

std::shared_ptr<lbs::acceleration::DiffusionMIPSolver> lbs::LBSGroupset::tgdsa_solver_

Definition at line 73 of file lbs_groupset.h.

◆ tgdsa_string_

std::string lbs::LBSGroupset::tgdsa_string_

Definition at line 70 of file lbs_groupset.h.

◆ tgdsa_tol_

double lbs::LBSGroupset::tgdsa_tol_ = 1.0e-4

Definition at line 66 of file lbs_groupset.h.

◆ tgdsa_verbose_

bool lbs::LBSGroupset::tgdsa_verbose_ = false

Definition at line 68 of file lbs_groupset.h.

◆ unique_so_groupings_

UniqueSOGroupings lbs::LBSGroupset::unique_so_groupings_

Definition at line 44 of file lbs_groupset.h.

◆ wgdsa_max_iters_

int lbs::LBSGroupset::wgdsa_max_iters_ = 30

Definition at line 63 of file lbs_groupset.h.

◆ wgdsa_solver_

std::shared_ptr<lbs::acceleration::DiffusionMIPSolver> lbs::LBSGroupset::wgdsa_solver_

Definition at line 72 of file lbs_groupset.h.

◆ wgdsa_string_

std::string lbs::LBSGroupset::wgdsa_string_

Definition at line 69 of file lbs_groupset.h.

◆ wgdsa_tol_

double lbs::LBSGroupset::wgdsa_tol_ = 1.0e-4

Definition at line 65 of file lbs_groupset.h.

◆ wgdsa_verbose_

bool lbs::LBSGroupset::wgdsa_verbose_ = false

Definition at line 67 of file lbs_groupset.h.


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