Chi-Tech
pi_keigen.h
Go to the documentation of this file.
1#ifndef CHITECH_PI_KEIGEN_H
2#define CHITECH_PI_KEIGEN_H
3
6
7namespace lbs
8{
9
11{
12protected:
14 size_t max_iters_;
17
21 std::vector<LBSGroupset>& groupsets_;
22 std::shared_ptr<AGSLinearSolver<Mat, Vec, KSP>> primary_ags_solver_;
25 std::shared_ptr<chi_math::LinearSolver<Mat, Vec, KSP>> front_wgs_solver_;
26 std::shared_ptr<lbs::WGSContext<Mat, Vec, KSP>> front_wgs_context_;
27
28 double k_eff_ = 1.0;
29
30public:
32
33 explicit XXPowerIterationKEigen(const chi::InputParameters& params);
34
35 void Initialize() override;
36 void Execute() override;
37
38protected:
39 void SetLBSFissionSource(const VecDbl& input, bool additive);
40 void SetLBSScatterSource(const VecDbl& input, bool additive,
41 bool suppress_wg_scat = false);
42};
43
44}
45
46#endif // CHITECH_PI_KEIGEN_H
std::vector< LBSGroupset > & groupsets_
Definition: pi_keigen.h:21
std::shared_ptr< lbs::WGSContext< Mat, Vec, KSP > > front_wgs_context_
Definition: pi_keigen.h:26
XXPowerIterationKEigen(const chi::InputParameters &params)
std::shared_ptr< AGSLinearSolver< Mat, Vec, KSP > > primary_ags_solver_
Definition: pi_keigen.h:22
LBSGroupset & front_gs_
Definition: pi_keigen.h:24
static chi::InputParameters GetInputParameters()
void SetLBSScatterSource(const VecDbl &input, bool additive, bool suppress_wg_scat=false)
lbs::SetSourceFunction active_set_source_function_
Definition: pi_keigen.h:23
void SetLBSFissionSource(const VecDbl &input, bool additive)
std::shared_ptr< chi_math::LinearSolver< Mat, Vec, KSP > > front_wgs_solver_
Definition: pi_keigen.h:25
std::function< void(LBSGroupset &groupset, std::vector< double > &destination_q, const std::vector< double > &phi, SourceFlags source_flags)> SetSourceFunction
Definition: lbs_structs.h:110
std::vector< double > VecDbl
Definition: lbs_structs.h:18