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 nuclide-specific 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
kwargsoptional

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 de-enrichment.

j

This is an integer in id-form that represents the jth key component. This nuclide is preferentially enriched in the product stream. For standard uranium cascades j is 922350 (ie U-235).

k

This is an integer in id-form that represents the kth key component. This nuclide is preferentially enriched in the tails stream. For standard uranium cascades k is 922380 (ie U-238).

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 (de-enriched) 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 U-235 = 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 U-235 = 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 U-235 = 0.0025.

pyne.enrichment.alphastar_i()

Calculates the stage separation factor for a nuclide i of atomic mass \(M_i\).

\[\alpha^*_i = \alpha^{(M^* - M_i)}\]
Parameters
alphafloat

Stage separation factor.

Mstarfloat

Mass separation factor.

M_ifloat

Atomic mass of the ith nuclide.

Returns
astar_ifloat

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.5e-05, 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
ducCascade

As defined above.

pyne.enrichment.feed()

Calculates the feed quantity in kg from either the product or tails.

Parameters
x_feedfloat

Feed enrichment.

x_prodfloat

Product enrichment.

x_tailfloat

Feed enrichment.

productfloat, optional

Quantity of product in kg

tailsfloat, optional

Quantity of tails in kg

Returns
feedfloat

Feed quantity

pyne.enrichment.multicomponent()

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_cascCascade

A cascade to optimize.

solverstr, optional

Flag for underlying cascade solver function to use. Current options are either “symbolic” or “numeric”.

tolerancefloat, optional

Numerical tolerance for underlying solvers, default=1E-7.

max_iterint, optional

Maximum number of iterations for underlying solvers, default=100.

Returns
cascCascade

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()

Calculates the product over feed enrichment ratio.

\[\frac{p}{f} = \frac{(x_f - x_t)}{(x_p - x_t)}\]
Parameters
x_feedfloat

Feed enrichment.

x_prodfloat

Product enrichment.

x_tailfloat

Tails enrichment.

Returns
pfratiofloat

As calculated above.

pyne.enrichment.product()

Calculates the product quantity in kg from either the feed or tails.

Parameters
x_feedfloat

Feed enrichment.

x_prodfloat

Product enrichment.

x_tailfloat

Product enrichment.

feedfloat, optional

Quantity of feed in kg

tailsfloat, optional

Quantity of tails in kg

Returns
productfloat

Product quantity

pyne.enrichment.solve_numeric()

Calculates the total flow rate (\(L_t\)) over the feed flow rate (\(F\)).

Parameters
orig_cascCascade

A cascade to compute the l_t_per_feed, swu_per_feed, swu_per_prod, mat_prod, and mat_tail attributes for.

tolerancefloat, optional

Numerical tolerance for solvers, default=1E-7.

max_iterint, optional

Maximum number of iterations for underlying solvers, default=100.

Returns
cascCascade

A new cascade object, copied from the original, with the appropriate attributes computed.

pyne.enrichment.solve_symbolic()

Computes the cascade parameters based on a given initial state.

Parameters
orig_cascCascade

A cascade to compute the l_t_per_feed, swu_per_feed, swu_per_prod, mat_prod, and mat_tail attributes for.

Returns
cascCascade

A new cascade object, copied from the original, with the appropriate attributes computed.

pyne.enrichment.swu()

Calculates the SWU required to reach a given quantity of an enrichment level. One of feed, product, or tails must be provided.

Parameters
x_feedfloat

Feed enrichment.

x_prodfloat

Product enrichment.

x_tailfloat

Feed enrichment.

feedfloat, optional

Quantity of feed in kg

productfloat, optional

Quantity of product in kg

tailsfloat, optional

Quantity of tails in kg

Returns
SWUfloat

SWU required

pyne.enrichment.tail_per_feed()

Calculates the tails over feed enrichment ratio.

\[\frac{t}{f} = \frac{(x_f - x_p)}{(x_t - x_p)}\]
Parameters
x_feedfloat

Feed enrichment.

x_prodfloat

Product enrichment.

x_tailfloat

Tails enrichment.

Returns
tfratiofloat

As calculated above.

pyne.enrichment.tail_per_prod()

Calculates the tails over product enrichment ratio.

\[\frac{t}{p} = \frac{(x_f - x_p)}{(x_t - x_f)}\]
Parameters
x_feedfloat

Feed enrichment.

x_prodfloat

Product enrichment.

x_tailfloat

Tails enrichment.

Returns
tpratiofloat

As calculated above.

pyne.enrichment.tails()

Calculates the tails quantity in kg from either the feed or product.

Parameters
x_feedfloat

Feed enrichment.

x_prodfloat

Tails enrichment.

x_tailfloat

Tails enrichment.

feedfloat, optional

Quantity of feed in kg

productfloat, optional

Quantity of product in kg

Returns
tailsfloat

Tails quantity

pyne.enrichment.value_func()

Calculates the value or separation potential of an assay.

\[V(x) = (2x - 1) \log{\frac{x}{x - 1}}\]
Parameters
xfloat

assay enrichment.

Returns
valfloat

As calculated above.