PyNE C++
Classes | Functions | Variables
pyne::enrichment Namespace Reference

Enrichment Component Class and Functions. More...

Classes

class  Cascade
 A set of physical parameters used to specify an enrichment cascade. More...
 
class  EnrichmentInfiniteLoopError
 Custom exception for when an enrichment solver has entered an infinite loop. More...
 
class  EnrichmentIterationLimit
 
class  EnrichmentIterationNaN
 Custom exception for when an enrichment solver iteration has produced a NaN. More...
 

Functions

Cascade _fill_default_uranium_cascade ()
 Greates a cascade instance with default values for a uranium enrichment.
 
double feed_per_prod (double x_feed, double x_prod, double x_tail)
 
double feed_per_tail (double x_feed, double x_prod, double x_tail)
 
double prod_per_feed (double x_feed, double x_prod, double x_tail)
 
double prod_per_tail (double x_feed, double x_prod, double x_tail)
 
double tail_per_feed (double x_feed, double x_prod, double x_tail)
 
double tail_per_prod (double x_feed, double x_prod, double x_tail)
 
double value_func (double x)
 Computes the value or separation potential of an assay x.
 
double swu_per_feed (double x_feed, double x_prod, double x_tail)
 
double swu_per_prod (double x_feed, double x_prod, double x_tail)
 
double swu_per_tail (double x_feed, double x_prod, double x_tail)
 
double alphastar_i (double alpha, double Mstar, double M_i)
 
Cascade solve_symbolic (Cascade &orig_casc)
 
Cascade solve_numeric (Cascade &orig_casc, double tolerance=1.0E-7, int max_iter=100)
 
void _recompute_nm (Cascade &casc, double tolerance=1.0E-7)
 
void _recompute_prod_tail_mats (Cascade &casc)
 
Cascade _norm_comp_secant (Cascade &casc, double tolerance=1.0E-7, int max_iter=100)
 
double _deltaU_i_OverG (Cascade &casc, int i)
 
Multicomponent Functions

Finds a value of Mstar by minimzing the seperative power. Note that Mstar on orig_casc represents an intial guess at what Mstar might be. This is the final function that actually solves for an optimized M* that makes the cascade!

Parameters
orig_cascOriginal input cascade.
solverflag for solver to use, may be 'symbolic' or 'numeric'.
toleranceMaximum numerical error allowed in L/F, N, and M.
max_iterMaximum number of iterations for to perform.
Returns
A cascade whose N & M coorespond to the L/F value.
Cascade multicomponent (Cascade &orig_casc, char *solver, double tolerance=1.0E-7, int max_iter=100)
 
Cascade multicomponent (Cascade &orig_casc, std::string solver="symbolic", double tolerance=1.0E-7, int max_iter=100)
 

Variables

Cascade default_uranium_cascade
 a cascade instance with default values for a uranium enrichment.
 

Detailed Description

Enrichment Component Class and Functions.

Function Documentation

◆ _deltaU_i_OverG()

double pyne::enrichment::_deltaU_i_OverG ( pyne_enr::Cascade casc,
int  i 
)

Solves for a stage separative power relevant to the ith component per unit of flow G. This is taken from Equation 31 divided by G from the paper "Wood, Houston G., Borisevich, V. D. and Sulaberidze, G. A., 'On a Criterion Efficiency for Multi-Isotope Mixtures Separation', Separation Science and Technology, 34:3, 343 - 357" To link to this article: DOI: 10.1081/SS-100100654 URL: http://dx.doi.org/10.1081/SS-100100654

Parameters
cascInput cascade.
inuclide in id form.

◆ _norm_comp_secant()

pyne_enr::Cascade pyne::enrichment::_norm_comp_secant ( pyne_enr::Cascade casc,
double  tolerance = 1.0E-7,
int  max_iter = 100 
)

This function solves the whole system of equations. It uses _recompute_prod_tail_mats() to find the roots for the enriching and stripping stage numbers. It then checks to see if the product and waste streams meet their target enrichments for the jth component like they should. If they don't then it trys other values of N and M varied by the Secant method.

Parameters
cascInput cascade.
toleranceMaximum numerical error allowed in L/F, N, and M.
max_iterMaximum number of iterations for to perform.
Returns
A cascade whose N & M coorespond to the L/F value.

◆ _recompute_nm()

void pyne::enrichment::_recompute_nm ( pyne_enr::Cascade casc,
double  tolerance = 1.0E-7 
)

So,ves for valid stage numbers N &nd M of a casc.

Parameters
cascCascade instance, modified in-place.
toleranceMaximum numerical error allowed in N and M.

◆ _recompute_prod_tail_mats()

void pyne::enrichment::_recompute_prod_tail_mats ( pyne_enr::Cascade casc)

This function takes a given initial guess number of enriching and stripping stages for a given composition of fuel with a given jth key component, knowing the values that are desired in both Product and Tails streams. Having this it solves for what the actual N and M stage numbers are and also what the product and waste streams compositions are.

Parameters
cascCascade instance, modified in-place.

◆ alphastar_i()

double pyne::enrichment::alphastar_i ( double  alpha,
double  Mstar,
double  M_i 
)

Computes the nuclide-specific stage separation factor from the overall stage separation factor alpha, the key mass Mstar, and the nulide's atomic mass M_i.

◆ feed_per_prod()

double pyne::enrichment::feed_per_prod ( double  x_feed,
double  x_prod,
double  x_tail 
)

Computes the feed per product mass ratio for feed, product, and tails enrichments x_feed, x_prod, and x_tails.

◆ feed_per_tail()

double pyne::enrichment::feed_per_tail ( double  x_feed,
double  x_prod,
double  x_tail 
)

Computes the feed per tails mass ratio for feed, product, and tails enrichments x_feed, x_prod, and x_tails.

◆ prod_per_feed()

double pyne::enrichment::prod_per_feed ( double  x_feed,
double  x_prod,
double  x_tail 
)

Computes the product per feed mass ratio for feed, product, and tails enrichments x_feed, x_prod, and x_tails.

◆ prod_per_tail()

double pyne::enrichment::prod_per_tail ( double  x_feed,
double  x_prod,
double  x_tail 
)

Computes the product per tails mass ratio for feed, product, and tails enrichments x_feed, x_prod, and x_tails.

◆ solve_numeric()

pyne_enr::Cascade pyne::enrichment::solve_numeric ( pyne_enr::Cascade orig_casc,
double  tolerance = 1.0E-7,
int  max_iter = 100 
)

Numeric Solver Functions

 These functions enable the numeric cascade solver.  

Finds the total flow rate (L) over the feed flow rate (F), the number of enriching stages (N), and the number of stripping stages (M).

Parameters
orig_cascOriginal input cascade.
toleranceMaximum numerical error allowed in L/F, N, and M.
max_iterMaximum number of iterations for to perform.
Returns
A cascade whose N & M coorespond to the L/F value.

◆ solve_symbolic()

pyne::enrichment::Cascade pyne::enrichment::solve_symbolic ( Cascade orig_casc)

A multicomponent enrichment cascade solver using a symbolic solution to the mass flow rate equations.

Parameters
orig_cascThe original state of the cascade.
Returns
A cascade solved for new N, M, and total flow rates.

◆ swu_per_feed()

double pyne::enrichment::swu_per_feed ( double  x_feed,
double  x_prod,
double  x_tail 
)

Computes the swu per feed ratio for feed, product, and tails enrichments x_feed, x_prod, and x_tails.

◆ swu_per_prod()

double pyne::enrichment::swu_per_prod ( double  x_feed,
double  x_prod,
double  x_tail 
)

Computes the swu per product ratio for feed, product, and tails enrichments x_feed, x_prod, and x_tails.

◆ swu_per_tail()

double pyne::enrichment::swu_per_tail ( double  x_feed,
double  x_prod,
double  x_tail 
)

Computes the swu per tails ratio for feed, product, and tails enrichments x_feed, x_prod, and x_tails.

◆ tail_per_feed()

double pyne::enrichment::tail_per_feed ( double  x_feed,
double  x_prod,
double  x_tail 
)

Computes the tails per feed mass ratio for feed, product, and tails enrichments x_feed, x_prod, and x_tails.

◆ tail_per_prod()

double pyne::enrichment::tail_per_prod ( double  x_feed,
double  x_prod,
double  x_tail 
)

Computes the tails per product mass ratio for feed, product, and tails enrichments x_feed, x_prod, and x_tails.