pyopensn.solver.PowerIterationKEigenSCDSASolver

class pyopensn.solver.PowerIterationKEigenSCDSASolver

Power iteration k-eigenvalue solver with SCDSA.

Wrapper of opensn::PowerIterationKEigenSCDSASolver.

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.PowerIterationKEigenSCDSASolver, **kwargs) None

Construct a power iteration k-eigenvalue solver with SCDSA.

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

  • max_iters (int, default=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 iterations allowed for the inner power iterations used by the acceleration method.

  • accel_pi_k_tol (float, default=1.0e-10) – Convergence tolerance on the k-eigenvalue within the inner power iterations of the acceleration method.

  • accel_pi_verbose (bool, default=False) – If True, enables verbose logging output from the acceleration method’s inner solver.

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

  • diff_accel_diffusion_max_iters (int, default=100) – Maximum number of iterations allowed for the diffusion accelerator solve.

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

  • diff_accel_diffusion_petsc_options (str, default="ssss") – Additional PETSc options passed to the diffusion accelerator linear solver.

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

    Spatial discretization method to use for the diffusion solver. Valid choices are:
    • ’pwld’ : Piecewise Linear Discontinuous

    • ’pwlc’ : Piecewise Linear Continuous