pyopensn.solver.PowerIterationKEigenSolver
- class pyopensn.solver.PowerIterationKEigenSolver
Power iteration k-eigenvalue solver.
Wrapper of
opensn::PowerIterationKEigenSolver.- Advance(self: pyopensn.solver.Solver) None
Advance time values function.
- ComputeBalanceTable(self: pyopensn.solver.PowerIterationKEigenSolver) dict
Compute and return the global balance table using the solver’s normalization. This is a collective operation and must be called on all ranks.
- Returns:
Dictionary with the following entries:
absorption_rate: Global absorption rate, approximatelyintegral sigma_a * phi dVsummed over groups and the full domain.production_rate: Global volumetric production/source rate used by the solver, approximatelyintegral Q dVsummed over groups and the full domain.inflow_rate: Global incoming boundary contribution integrated over incoming angular flux on boundaries.outflow_rate: Global outgoing boundary contribution accumulated from face outflow tallies.balance: Rate balance,production_rate + inflow_rate - absorption_rate - outflow_rate.
- Return type:
dict
Notes
For k-eigenvalue balance reporting, this solver scales the production term by
1 / k_effbefore forming bothproduction_rateandbalance.
- 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.
- __init__(self: pyopensn.solver.PowerIterationKEigenSolver, **kwargs) None
Construct a power iteration k-eigen solver.
- Parameters:
problem (pyopensn.solver.LBSProblem) – Existing DiscreteOrdinatesProblem instance.
acceleration (pyopensn.solver.DiscreteOrdinatesKEigenAcceleration) – Optional DiscreteOrdinatesKEigenAcceleration instance for acceleration.
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.