Enrichment – pyne.enrichment
¶
The enrichment module contains tools for defining and manipulating enrichment cascades. The Cascade class is a simple container for storing parameters that define an enrichment setup. These include feed, product, and tail materials, target enrichments, and separation factors. The main functions in this module compute the total flow rate and separation factors from an initial cascade. Other helper functions compute relative flow rates and nuclidespecific separation factors.

class
pyne.enrichment.
Cascade
(self, **kwargs)¶ This class is a container for enrichment cascade parameters that define the perfomance of a separations plant. Instances of this class are passed into and out of many enrichment functions.
Parameters:  kwargs : optional
Any keyword argument which is supplied is applied as an attribute to this instance.

M
¶ The number of stripping stages.

Mstar
¶ This is the mass separation factor \(M^*\). On initialization, this should be in the ballpark of the optimized result of the Mstar value. However, this must always have a value between the weights of the j and k key components.

N
¶ The number of enriching stages.

alpha
¶ The \(\alpha\) attribute specifies the overall stage separation factor for the cascade. This should be set on initialization. Values should be greater than one. Values less than one represent deenrichment.

j
¶ This is an integer in idform that represents the jth key component. This nuclide is preferentially enriched in the product stream. For standard uranium cascades j is 922350 (ie U235).

k
¶ This is an integer in idform that represents the kth key component. This nuclide is preferentially enriched in the tails stream. For standard uranium cascades k is 922380 (ie U238).

l_t_per_feed
¶ Total flow rate (\(L_t\)) per feed flow rate. This is a characteristic of the cascade as a whole. As such it is this quatity which is minimized in any real cascade.

mat_feed
¶ Feed material to be enriched. Often set at initialization.

mat_prod
¶ Product (enriched) material.

mat_tail
¶ Tails (deenriched) material.

swu_per_feed
¶ The seperative work units (SWU) per unit mass of feed material.

swu_per_prod
¶ The seperative work units (SWU) per unit mass of prod material.

x_feed_j
¶ This is the target enrichment of the jth isotope in the feed stream mat_feed. The \(x^F_j\) value should be set prior to solving for the remainder of the cascade. For typical uranium vectors, this value is about U235 = 0.00711.

x_prod_j
¶ This is the target enrichment of the jth isotope in the product stream mat_prod. The \(x^P_j\) value should be set prior to solving for the remainder of the cascade. For typical uranium vectors, this value is about U235 = 0.05.

x_tail_j
¶ This is the target enrichment of the jth isotope in the Tails stream mat_tail. The \(x^T_j\) value should be set prior to solving for the remainder of the cascade. For typical uranium vectors, this value is about U235 = 0.0025.

pyne.enrichment.
alphastar_i
(alpha, Mstar, M_i)¶ Calculates the stage separation factor for a nuclide i of atomic mass \(M_i\).
\[\alpha^*_i = \alpha^{(M^*  M_i)}\]Parameters:  alpha : float
Stage separation factor.
 Mstar : float
Mass separation factor.
 M_i : float
Atomic mass of the ith nuclide.
Returns:  astar_i : float
As calculated above.

pyne.enrichment.
default_uranium_cascade
()¶ Returns a copy of a default uranium enrichment cascade, which has sensible initial values for this very common case.
The values of this instance of Cascade are as follows:
duc = pyne.enrichment.Cascade(N=30.0, M=10.0, alpha=1.05, Mstar=236.5, j=922350, k=922380, x_feed_j=0.0072, x_prod_j=0.05, x_tail_j=0.0025, l_t_per_feed=0.0, swu_per_feed=0.0, swu_per_prod=0.0, mat_feed=pyne.material.Material({922340: 5.5e05, 922350: 0.0072, 922380: 0.992745}, 1.0, 'Natural Uranium', 1.0), mat_prod=pyne.material.Material({}, 1.0, '', 1.0), mat_tail=pyne.material.Material({}, 1.0, '', 1.0))
Returns:  duc : Cascade
As defined above.

pyne.enrichment.
feed
(x_feed, x_prod, x_tail, product=0, tails=0)¶ Calculates the feed quantity in kg from either the product or tails.
Parameters:  x_feed : float
Feed enrichment.
 x_prod : float
Product enrichment.
 x_tail : float
Feed enrichment.
 product : float, optional
Quantity of product in kg
 tails : float, optional
Quantity of tails in kg
Returns:  feed : float
Feed quantity

pyne.enrichment.
multicomponent
(orig_casc, solver="symbolic", tolerance=1.0E7, max_iter=100)¶ Calculates the optimal value of Mstar by minimzing the seperative power. The minimizing the seperative power is equivelent to minimizing \(L_t/F\), or the total flow rate for the cascade divided by the feed flow rate. Note that orig_casc.Mstar represents an intial guess at what Mstar might be. This function is appropriate for feed materials with more than 2 nuclides (i.e. multicomponent).
Parameters:  orig_casc : Cascade
A cascade to optimize.
 solver : str, optional
Flag for underlying cascade solver function to use. Current options are either “symbolic” or “numeric”.
 tolerance : float, optional
Numerical tolerance for underlying solvers, default=1E7.
 max_iter : int, optional
Maximum number of iterations for underlying solvers, default=100.
Returns:  casc : Cascade
A new cascade object, copied from the original, which has been optimized to minimize flow rates. Correct values of product and tails materials are also computed on this instance.

pyne.enrichment.
prod_per_feed
(x_feed, x_prod, x_tail)¶ Calculates the product over feed enrichment ratio.
\[\frac{p}{f} = \frac{(x_f  x_t)}{(x_p  x_t)}\]Parameters:  x_feed : float
Feed enrichment.
 x_prod : float
Product enrichment.
 x_tail : float
Tails enrichment.
Returns:  pfratio : float
As calculated above.

pyne.enrichment.
product
(x_feed, x_prod, x_tail, feed=0, tails=0)¶ Calculates the product quantity in kg from either the feed or tails.
Parameters:  x_feed : float
Feed enrichment.
 x_prod : float
Product enrichment.
 x_tail : float
Product enrichment.
 feed : float, optional
Quantity of feed in kg
 tails : float, optional
Quantity of tails in kg
Returns:  product : float
Product quantity

pyne.enrichment.
solve_numeric
(orig_casc, tolerance=1.0E7, max_iter=100)¶ Calculates the total flow rate (\(L_t\)) over the feed flow rate (\(F\)).
Parameters:  orig_casc : Cascade
A cascade to compute the l_t_per_feed, swu_per_feed, swu_per_prod, mat_prod, and mat_tail attributes for.
 tolerance : float, optional
Numerical tolerance for solvers, default=1E7.
 max_iter : int, optional
Maximum number of iterations for underlying solvers, default=100.
Returns:  casc : Cascade
A new cascade object, copied from the original, with the appropriate attributes computed.

pyne.enrichment.
solve_symbolic
(orig_casc)¶ Computes the cascade parameters based on a given initial state.
Parameters:  orig_casc : Cascade
A cascade to compute the l_t_per_feed, swu_per_feed, swu_per_prod, mat_prod, and mat_tail attributes for.
Returns:  casc : Cascade
A new cascade object, copied from the original, with the appropriate attributes computed.

pyne.enrichment.
swu
(x_feed, x_prod, x_tail, feed=0, product=0, tails=0)¶ Calculates the SWU required to reach a given quantity of an enrichment level. One of feed, product, or tails must be provided.
Parameters:  x_feed : float
Feed enrichment.
 x_prod : float
Product enrichment.
 x_tail : float
Feed enrichment.
 feed : float, optional
Quantity of feed in kg
 product : float, optional
Quantity of product in kg
 tails : float, optional
Quantity of tails in kg
Returns:  SWU : float
SWU required

pyne.enrichment.
tail_per_feed
(x_feed, x_prod, x_tail)¶ Calculates the tails over feed enrichment ratio.
\[\frac{t}{f} = \frac{(x_f  x_p)}{(x_t  x_p)}\]Parameters:  x_feed : float
Feed enrichment.
 x_prod : float
Product enrichment.
 x_tail : float
Tails enrichment.
Returns:  tfratio : float
As calculated above.

pyne.enrichment.
tail_per_prod
(x_feed, x_prod, x_tail)¶ Calculates the tails over product enrichment ratio.
\[\frac{t}{p} = \frac{(x_f  x_p)}{(x_t  x_f)}\]Parameters:  x_feed : float
Feed enrichment.
 x_prod : float
Product enrichment.
 x_tail : float
Tails enrichment.
Returns:  tpratio : float
As calculated above.

pyne.enrichment.
tails
(x_feed, x_prod, x_tail, feed=0, product=0)¶ Calculates the tails quantity in kg from either the feed or product.
Parameters:  x_feed : float
Feed enrichment.
 x_prod : float
Tails enrichment.
 x_tail : float
Tails enrichment.
 feed : float, optional
Quantity of feed in kg
 product : float, optional
Quantity of product in kg
Returns:  tails : float
Tails quantity

pyne.enrichment.
value_func
(x)¶ Calculates the value or separation potential of an assay.
\[V(x) = (2x  1) \log{\frac{x}{x  1}}\]Parameters:  x : float
assay enrichment.
Returns:  val : float
As calculated above.