Class PowerIterationKEigenSolver

Inheritance Relationships

Base Type

Class Documentation

class PowerIterationKEigenSolver : public opensn::DiscreteOrdinatesSolver

Public Functions

explicit PowerIterationKEigenSolver(const InputParameters &params)
inline double GetEigenvalue() const

Return the current k-eigenvalue.

inline double GetKTolerance() const

Return the k-eigenvalue convergence tolerance.

inline unsigned int GetNumPowerIterations() const

Return the number of completed power iterations.

inline bool IsConverged() const

Return true if the last Execute() met its convergence criteria before max_iters.

BalanceTable ComputeBalanceTable() const
void SetLBSFissionSource(const std::vector<double> &input, bool additive)

Combines function calls to set fission source.

void SetLBSScatterSource(const std::vector<double> &input, bool additive, bool suppress_wg_scat = false)

Combines function calls to set scattering source source.

Public Static Functions

static InputParameters GetInputParameters()
static std::shared_ptr<PowerIterationKEigenSolver> Create(const ParameterBlock &params)

Protected Functions

virtual void CheckRequirements(std::vector<std::string> &errors) const override

Appends one message for each solver-specific requirement the problem violates.

Problem-wide rules belong in DiscreteOrdinatesProblem::CheckConfigurationErrors. Requirements based on rank-local state reduce it before appending an error.

virtual void InitializeSolver() override

Performs derived-class initialization after ValidateState() succeeds.

virtual void ExecuteSolver() override

Performs derived-class execution after initialization and validation succeed.

Protected Attributes

const std::shared_ptr<DiscreteOrdinatesKEigenAcceleration> acceleration_
unsigned int max_iters_
double k_eff_
double k_tolerance_
double F_prev_
bool reset_phi0_
unsigned int num_power_iterations_ = 0
bool converged_ = false
std::vector<double> &q_moments_local_
std::vector<double> &phi_old_local_
std::vector<double> &phi_new_local_
const std::vector<LBSGroupset> &groupsets_
SetSourceFunction active_set_source_function_