pyopensn.solver.PowerIterationKEigenSMMSolver

class pyopensn.solver.PowerIterationKEigenSMMSolver

Power iteration k-eigenvalue solver with SMM acceleration.

Wrapper of opensn::PowerIterationKEigenSMMSolver.

Advance(self: pyopensn.solver.Solver) None

Advance time values function.

Execute(self: pyopensn.solver.Solver) None

Execute the solver.

GetEigenvalue(self: pyopensn.solver.PowerIterationKEigenSolver) float

Return the current k‑eigenvalue.

Initialize(self: pyopensn.solver.Solver) None

Initialize the solver.

Step(self: pyopensn.solver.Solver) None

Step the solver.

__init__(self: pyopensn.solver.PowerIterationKEigenSMMSolver, **kwargs) None

Construct a power iteration k-eigen SMM solver.

Parameters:
  • lbs_problem (pyopensn.solver.LBSProblem) – Existing LBSProblem instance.

  • max_iters (int, defauilt=1000) – Maximum power iterations allowed.

  • k_tol (float, default=1.0e-10) – Tolerance on the k-eigenvalue.

  • reset_solution (bool, default=True) – If true, initialize flux moments to 1.0.

  • reset_phi0 (bool, default=True) – If true, reinitializes scalar fluxes to 1.0.

  • accel_pi_max_its (int, default=50) – Maximum number of power iterations allowed for the second-moment method’s diffusion solver.

  • accel_pi_k_tol (float, default=1.0e-10) – Convergence tolerance for the k-eigenvalue in the second-moment method diffusion solver.

  • accel_pi_verbose (bool, default=False) – If True, enables verbose output from the second-moment method diffusion solver.

  • diff_sdm ({'pwlc', 'pwld'}, default='pwlc') –

    Spatial discretization method for the second-moment method diffusion system.
    • ’pwlc’: Piecewise Linear Continuous

    • ’pwld’: Piecewise Linear Discontinuous

  • diff_l_abs_tol (float, default=1.0e-10) – Absolute residual tolerance for convergence of the diffusion accelerator linear solver.

  • diff_l_max_its (int, default=100) – Maximum number of iterations allowed for the diffusion accelerator linear solver.

  • diff_petsc_options (str, default="") – Additional PETSc options to pass to the diffusion accelerator solver.

  • diff_verbose (bool, default=False) – If True, enables verbose output from the diffusion accelerator.