Homogeneous Infinite-Medium Solver

Homogeneous infinite reactor eigenvalue solver.

Solves for the neutron spectrum and k-infinity in an infinite homogeneous medium. The transport equation reduces to:

(diag(Σ_t) − Σ_s0^T − 2·Σ₂^T) · φ = χ · P / k

where P = (Σ_p + 2·colsum(Σ₂)) · φ is the total production rate.

The solver satisfies the EigenvalueSolver protocol from numerics.eigenvalue and can be used with the generic power_iteration function.

See also

Homogeneous Infinite-Medium Reactor — Key Facts, eigenvalue equations, scattering convention.

class orpheus.homogeneous.solver.HomogeneousResult(k_inf, flux, eg_mid, de, du, sig_prod, sig_abs, mixture)[source]

Bases: object

Result of a homogeneous infinite reactor calculation.

Parameters:
k_inf: float
flux: ndarray
eg_mid: ndarray
de: ndarray
du: ndarray
sig_prod: float
sig_abs: float
mixture: Mixture
property flux_per_energy: ndarray
property flux_per_lethargy: ndarray
class orpheus.homogeneous.solver.HomogeneousSolver(mix)[source]

Bases: object

Eigenvalue solver for an infinite homogeneous medium.

The removal matrix A = diag(Σ_t) − Σ_s0^T − 2·Σ₂^T absorbs both scattering and (n,2n) into the LHS, so solve_fixed_source is a single sparse direct solve per iteration.

Parameters:

mix (Mixture)

initial_flux_distribution()[source]
Return type:

ndarray

compute_fission_source(flux_distribution, keff)[source]
Parameters:
Return type:

ndarray

solve_fixed_source(fission_source, flux_distribution)[source]
Parameters:
Return type:

ndarray

compute_keff(flux_distribution)[source]
Parameters:

flux_distribution (ndarray)

Return type:

float

converged(keff, keff_old, flux_distribution, flux_old, iteration)[source]
Parameters:
Return type:

bool

orpheus.homogeneous.solver.solve_homogeneous_infinite(mix, n_iter=5)[source]

Solve the eigenvalue problem for an infinite homogeneous reactor.

Parameters:
  • mix (Mixture) – Macroscopic cross sections for the homogeneous medium.

  • n_iter (int) – Number of power iterations (5 is typically sufficient).

Return type:

HomogeneousResult