pyopensn.solver.SMMAcceleration

class pyopensn.solver.SMMAcceleration

Construct an SMM accelerator for the power iteration k-eigenvalue solver.

Wrapper of opensn::SMMAcceleration.

Requires a single groupset, isotropic (P0) scattering, options.save_angular_flux=True, only vacuum and reflecting boundaries (an isotropic boundary is rejected even with zero strength), and, with the AAH sweep, l_max_its greater than one. The owning solver checks these requirements in Initialize().

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

SMM acceleration for the power iteration k-eigenvalue solver.

Warning

SMM acceleration is experimental and should be used with caution! SMM acceleration only supports problems with isotropic scattering.

Parameters:
  • problem (pyopensn.solver.DiscreteOrdinatesProblem) – Existing DiscreteOrdinatesProblem instance.

  • l_abs_tol (float, default=1.0e-10) – Absolute residual tolerance.

  • max_iters (int, default=100) – Maximum allowable iterations.

  • verbose (bool, default=False) – If true, enables verbose output.

  • petsc_options (str, default="ssss") – Additional PETSc options.

  • pi_max_its (int, default=50) – Maximum allowable iterations for inner power iterations.

  • pi_k_tol (float, default=1.0e-10) – k-eigenvalue tolerance for the inner power iterations.

  • sdm (str, default="pwlc") –

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

    • ’pwlc’ : Piecewise Linear Continuous