## Example 4.1
import math
#calculate the
## Given data
## Number of neutrons absorbed by Uranium-238 in resonances for every neutron absorbed in Uranium-235
n_resonance = 0.254;
## Number of neutrons absorbed by Uranium-238 at thermal energy for every neutron absorbed in Uranium-235
n_th = 0.64;
m = 1; ## Amount of Uranium-235 consumed in kg
A_U = 235; ## Atomic mass number of Uranium-235
A_Pu = 239; ## Atomic mass number of Plutonium-239
## 1.
## Calculation
C = n_resonance+n_th;
## Result
print'%s %.2f %s'%('\n Conversion ratio of the reactor = ',C,' \n');
## 2.
## Calculation
amt_Pu = m*C*A_Pu/A_U;
## Result
print'%s %.2f %s'%('\n Amount of Plutonium-239 produced in the reactor = ',amt_Pu,' kg \n');
## Example 4.2
import math
#calculate the
## Given data
wP0 = 1.; ## Total fuel consumption rate in terms of kg/day
M = 500.; ## Amount of Plutonium-239 in kg at startup of the reactor
breeding_gain = 0.15; ## Breeding gain of the reactor
## 1.
print'%s %.2f %s'%(" The Fast breeder reactor produces ",breeding_gain,"kg of plutonium-239 more for every kilogram consumed \n");
## Calculation
## 1 year = 365 days
production_rate = math.ceil(breeding_gain*365);
## Result
print'%s %.2f %s %.2f %s '%("\n Production rate of plutonium-239 = ",breeding_gain," kg/day"and " = ",production_rate," kg/year");
## 2.
## Calculation
t_Dl = M/production_rate;
t_De = math.log(2)*t_Dl;
## Result
print'%s %.2f %s'%(" \n Linear doubling time of plutonium fuel in the reactor = ",t_Dl," years \n");
print'%s %.2f %s'%(" \n Exponential doubling time of plutonium fuel in the reactor = ",t_De," years \n");
## Example 4.3
import math
#calculate the
## Given data
power = 3300.; ## Reactor power in MW
time = 750.; ## Reactor operation time in days
amt_UO2 = 98.; ## Amount of Uranium dioxide (UO2) in metric tons
atwt_U = 238.; ## As the enrichment of Uranium-235 is 3 w/o the majority portion is Uranium-238
molwt_O = 16.; ## Molecular weight of Oxygen
## 1.
amt_U = amt_UO2*atwt_U/(atwt_U+2*molwt_O); ## Amount of uranium in tonne
total_burnup = power*time; ## Total burnup in MWd
## Calculation
specific_burnup = total_burnup/amt_U;
## Result
print'%s %.2f %s'%(" \n Specific burnup = ",specific_burnup," MWd/tonne \n");
## 2.
## Due to fission of 1.05 g of Uranium-235, 1 MWd of energy is released.
m = 1.05;
P = 10**6;
maxth_burnup = P/m; ## Theoritical maximum burnup
## Calculation of Fractional burnup
bet = specific_burnup/maxth_burnup;
## Result
print'%s %.2f %s'%(" \n Fractional burnup = ",bet*100," percent \n");
## Due to approximation of specific burnup value, there is a slight change in fractional burnup value as compared to the textbook value.
## Example 4.4
import math
#calculate the
## Given data
ratpower = 1075.; ## Output rated electrical power in MWe of the reactor
delpower_yr = 255000.; ## Net output power delivered in one year in terms of MWd
time_refuel = 28.; ## Number of days the plant was shutdown for refuelling
time_repairs = 45.; ## Number of days the plant was shutdown for repairs
time_convrepairs = 18.; ## Number of days the plant was shutdown for conventional repairs
## 1.
## 1 year = 365 days
ratpower_yr = ratpower*365.; ## Net output rated power in one year in terms of MWd
## Calculation
cap_factor = delpower_yr/ratpower_yr;
## Result
print'%s %.2f %s'%(" \n Plant capacity factor = ",math.ceil(cap_factor*100)," percent\n");
## 2.
## Number of days the plant was shutdown in one year
total_shutdown = time_refuel+time_repairs+time_convrepairs;
## Number of days the plant was operable in one year
total_operation = 365.-total_shutdown;
## Calculation
ava_factor = total_operation/365.;
## Result
print'%s %.2f %s'%(" \n Plant availability factor = ",ava_factor*100," percent\n");
## Example 4.5
import math
#calculate the
## Given data
t = 30.; ## Time of uranium sufficiency in years
## Assuming once through Light Water Reactor (LWR)fuel cycle
U_LWR = 0.0055; ## Uranium Utilization factor for LWR
## Assuming once through Liquid Metal cooled Fast Breeder Reactor (LMFBR) fuel cycle
U_LMFBR = 0.67; ## Uranium Utilization factor for LMFBR
## Estimation
est_time = 30.*U_LMFBR/U_LWR;
## Result
print'%s %.2f %s'%("The time for which Uranium would fuel LMFBR = ",math.ceil(est_time)," years \n");
## Example 4.6
import math
#calculate the
## Given data
A_U = 238.; ## Atomic Mass number of Uranium
A_O = 16.; ## Atomic Mass number of Oxygen
amt_UO2 = 33000.; ## Amount of Uranium dioxide (UO2) present in kilogram(kg)
x_P = 0.032; ## Enrichment of 3.2 w/o uranium product
x_T = 0.002; ## Enrichemnt of 0.2 w/o residual tails
## From Figure 4.45
x_F = 0.00711; ## Enrichemnt of 0.711 w/o feed
## 1.
## Estimation of enriched uranium in kg
M_P = A_U*amt_UO2/(A_U+2*A_O);
## Estimation of amount of Uranium feed in kg
M_F = ((x_P-x_T)/(x_F-x_T))*M_P;
## Result
print'%s %.2f %s'%(" \n The amount of uranium feed required per reload = ",math.ceil(M_F)," kg \n");
## 2.
V_x_P = (1.-2.*x_P)*math.log((1.-x_P)/x_P); ## Value function of uranium product with enrichemnt of 3.2 w/o
V_x_F = (1.-2.*x_F)*math.log((1.-x_F)/x_F); ## Value function of feed with enrichemnt of 0.711 w/o
V_x_T = (1.-2.*x_T)*math.log((1.-x_T)/x_T); ## Value function of tallings with enrichemnt of 0.2 w/o
rate_SWU = 130.75; ## Enrichment cost in dollars per SWU
## Calculation
SWU = M_P*(V_x_P-V_x_T)-M_F*(V_x_F-V_x_T); ## Separative Work (SWU) in kg
enrich_cost = math.ceil(SWU)*rate_SWU; ## Enrichment cost in dollars
## Result
print'%s %.2f %s'%("\n The enrichment cost = $ ",math.ceil(enrich_cost)," \n");
## Due to approximation of Separative Work Unit(SWU), there is a difference in the value of enrichment cost on comparison with the textbook value.