Chi-Tech
lbs::XXPowerIterationKEigenSCDSA Class Reference

#include <pi_keigen_scdsa.h>

Inheritance diagram for lbs::XXPowerIterationKEigenSCDSA:
lbs::XXPowerIterationKEigen chi_physics::Solver ChiObject

Data Structures

struct  GhostInfo
 

Public Member Functions

 XXPowerIterationKEigenSCDSA (const chi::InputParameters &params)
 
void Initialize () override
 
void Execute () override
 
std::vector< double > CopyOnlyPhi0 (const LBSGroupset &groupset, const std::vector< double > &phi_in)
 
void ProjectBackPhi0 (const LBSGroupset &groupset, const std::vector< double > &input, std::vector< double > &output)
 
GhostInfo MakePWLDVecGhostCommInfo (const chi_math::SpatialDiscretization &sdm, const chi_math::UnknownManager &uk_man)
 
- Public Member Functions inherited from lbs::XXPowerIterationKEigen
 XXPowerIterationKEigen (const chi::InputParameters &params)
 
void Initialize () override
 
void Execute () override
 
- Public Member Functions inherited from chi_physics::Solver
 Solver (std::string in_text_name)
 
 Solver (std::string in_text_name, std::initializer_list< BasicOption > in_options)
 
 Solver (const chi::InputParameters &params)
 
virtual ~Solver ()=default
 
std::string TextName () const
 
BasicOptionsGetBasicOptions ()
 
const BasicOptionsGetBasicOptions () const
 
std::vector< std::shared_ptr< FieldFunctionGridBased > > & GetFieldFunctions ()
 
const std::vector< std::shared_ptr< FieldFunctionGridBased > > & GetFieldFunctions () const
 
TimeStepperGetTimeStepper ()
 
const TimeStepperGetTimeStepper () const
 
virtual void Initialize ()
 
virtual void Execute ()
 
virtual void Step ()
 
virtual void Advance ()
 
virtual chi::ParameterBlock GetInfo (const chi::ParameterBlock &params) const
 
virtual void SetProperties (const chi::ParameterBlock &params)
 
chi::ParameterBlock GetInfoWithPreCheck (const chi::ParameterBlock &params) const
 
- 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 std::vector< double > NodallyAveragedPWLDVector (const std::vector< double > &input, const chi_math::SpatialDiscretization &pwld_sdm, const chi_math::SpatialDiscretization &pwlc_sdm, const chi_math::UnknownManager &uk_man, const XXPowerIterationKEigenSCDSA::GhostInfo &ghost_info)
 
- Static Public Member Functions inherited from lbs::XXPowerIterationKEigen
static chi::InputParameters GetInputParameters ()
 
- Static Public Member Functions inherited from chi_physics::Solver
static chi::InputParameters GetInputParameters ()
 
- Static Public Member Functions inherited from ChiObject
static chi::InputParameters GetInputParameters ()
 

Protected Attributes

int accel_pi_max_its_
 
double accel_pi_k_tol_
 
bool accel_pi_verbose_
 
DiffusionSolverPtr diffusion_solver_ = nullptr
 
const std::string diffusion_solver_sdm_
 
SDMPtr continuous_sdm_ptr_ = nullptr
 
bool requires_ghosts_ = false
 
GhostInfo lbs_pwld_ghost_info_
 
double diff_accel_diffusion_l_abs_tol_
 
int diff_accel_diffusion_max_iters_
 
bool diff_accel_diffusion_verbose_
 
std::string diff_accel_diffusion_petsc_options_
 
- Protected Attributes inherited from lbs::XXPowerIterationKEigen
LBSSolverlbs_solver_
 
size_t max_iters_
 
double k_tolerance_
 
bool reinit_phi_1_
 
VecDblq_moments_local_
 
VecDblphi_old_local_
 
VecDblphi_new_local_
 
std::vector< LBSGroupset > & groupsets_
 
std::shared_ptr< AGSLinearSolver< Mat, Vec, KSP > > primary_ags_solver_
 
lbs::SetSourceFunction active_set_source_function_
 
LBSGroupsetfront_gs_
 
std::shared_ptr< chi_math::LinearSolver< Mat, Vec, KSP > > front_wgs_solver_
 
std::shared_ptr< lbs::WGSContext< Mat, Vec, KSP > > front_wgs_context_
 
double k_eff_ = 1.0
 
- Protected Attributes inherited from chi_physics::Solver
BasicOptions basic_options_
 
std::vector< std::shared_ptr< FieldFunctionGridBased > > field_functions_
 
std::shared_ptr< TimeSteppertimestepper_ = nullptr
 

Private Types

typedef std::shared_ptr< acceleration::DiffusionSolverDiffusionSolverPtr
 
typedef std::shared_ptr< chi_math::VectorGhostCommunicatorVecGhostCommPtr
 
typedef std::shared_ptr< chi_math::SpatialDiscretizationSDMPtr
 

Additional Inherited Members

- Protected Member Functions inherited from lbs::XXPowerIterationKEigen
void SetLBSFissionSource (const VecDbl &input, bool additive)
 
void SetLBSScatterSource (const VecDbl &input, bool additive, bool suppress_wg_scat=false)
 

Detailed Description

Definition at line 16 of file pi_keigen_scdsa.h.

Member Typedef Documentation

◆ DiffusionSolverPtr

◆ SDMPtr

Definition at line 20 of file pi_keigen_scdsa.h.

◆ VecGhostCommPtr

Constructor & Destructor Documentation

◆ XXPowerIterationKEigenSCDSA()

lbs::XXPowerIterationKEigenSCDSA::XXPowerIterationKEigenSCDSA ( const chi::InputParameters params)
explicit

Definition at line 70 of file pi_keigen_scdsa_00_constrdestr.cc.

Member Function Documentation

◆ CopyOnlyPhi0()

std::vector< double > lbs::XXPowerIterationKEigenSCDSA::CopyOnlyPhi0 ( const LBSGroupset groupset,
const std::vector< double > &  phi_in 
)

Copies only the scalar moments from an lbs primary flux moments vector.

Definition at line 17 of file pi_keigen_scdsa_03_utils.cc.

◆ Execute()

void lbs::XXPowerIterationKEigenSCDSA::Execute ( )
overridevirtual

Executes the scheme.

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

Reimplemented from lbs::XXPowerIterationKEigen.

Definition at line 18 of file pi_keigen_scdsa_02_exec.cc.

◆ GetInputParameters()

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

Definition at line 13 of file pi_keigen_scdsa_00_constrdestr.cc.

◆ Initialize()

void lbs::XXPowerIterationKEigenSCDSA::Initialize ( )
overridevirtual

Initializer.

Reimplemented from lbs::XXPowerIterationKEigen.

Definition at line 15 of file pi_keigen_scdsa_01_initialize.cc.

◆ MakePWLDVecGhostCommInfo()

XXPowerIterationKEigenSCDSA::GhostInfo lbs::XXPowerIterationKEigenSCDSA::MakePWLDVecGhostCommInfo ( const chi_math::SpatialDiscretization sdm,
const chi_math::UnknownManager uk_man 
)

Creates a ghost communicator and all associated information.

Definition at line 112 of file pi_keigen_scdsa_03_utils.cc.

◆ NodallyAveragedPWLDVector()

std::vector< double > lbs::XXPowerIterationKEigenSCDSA::NodallyAveragedPWLDVector ( const std::vector< double > &  input,
const chi_math::SpatialDiscretization pwld_sdm,
const chi_math::SpatialDiscretization pwlc_sdm,
const chi_math::UnknownManager uk_man,
const XXPowerIterationKEigenSCDSA::GhostInfo ghost_info 
)
static

This method takes an input vector that is the local version of a PWLD discrete space and then makes it continuous by applying nodal averages.

Definition at line 14 of file pi_keigen_scdsa_03b_nodal_avg_pwld.cc.

◆ ProjectBackPhi0()

void lbs::XXPowerIterationKEigenSCDSA::ProjectBackPhi0 ( const LBSGroupset groupset,
const std::vector< double > &  input,
std::vector< double > &  output 
)

Copies back only the scalar moments to a lbs primary flux vector.

Definition at line 68 of file pi_keigen_scdsa_03_utils.cc.

Field Documentation

◆ accel_pi_k_tol_

double lbs::XXPowerIterationKEigenSCDSA::accel_pi_k_tol_
protected

Definition at line 24 of file pi_keigen_scdsa.h.

◆ accel_pi_max_its_

int lbs::XXPowerIterationKEigenSCDSA::accel_pi_max_its_
protected

Definition at line 23 of file pi_keigen_scdsa.h.

◆ accel_pi_verbose_

bool lbs::XXPowerIterationKEigenSCDSA::accel_pi_verbose_
protected

Definition at line 25 of file pi_keigen_scdsa.h.

◆ continuous_sdm_ptr_

SDMPtr lbs::XXPowerIterationKEigenSCDSA::continuous_sdm_ptr_ = nullptr
protected

Definition at line 30 of file pi_keigen_scdsa.h.

◆ diff_accel_diffusion_l_abs_tol_

double lbs::XXPowerIterationKEigenSCDSA::diff_accel_diffusion_l_abs_tol_
protected

Definition at line 39 of file pi_keigen_scdsa.h.

◆ diff_accel_diffusion_max_iters_

int lbs::XXPowerIterationKEigenSCDSA::diff_accel_diffusion_max_iters_
protected

Definition at line 40 of file pi_keigen_scdsa.h.

◆ diff_accel_diffusion_petsc_options_

std::string lbs::XXPowerIterationKEigenSCDSA::diff_accel_diffusion_petsc_options_
protected

Definition at line 42 of file pi_keigen_scdsa.h.

◆ diff_accel_diffusion_verbose_

bool lbs::XXPowerIterationKEigenSCDSA::diff_accel_diffusion_verbose_
protected

Definition at line 41 of file pi_keigen_scdsa.h.

◆ diffusion_solver_

DiffusionSolverPtr lbs::XXPowerIterationKEigenSCDSA::diffusion_solver_ = nullptr
protected

Definition at line 26 of file pi_keigen_scdsa.h.

◆ diffusion_solver_sdm_

const std::string lbs::XXPowerIterationKEigenSCDSA::diffusion_solver_sdm_
protected

Definition at line 28 of file pi_keigen_scdsa.h.

◆ lbs_pwld_ghost_info_

GhostInfo lbs::XXPowerIterationKEigenSCDSA::lbs_pwld_ghost_info_
protected

Definition at line 37 of file pi_keigen_scdsa.h.

◆ requires_ghosts_

bool lbs::XXPowerIterationKEigenSCDSA::requires_ghosts_ = false
protected

Definition at line 31 of file pi_keigen_scdsa.h.


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