## Example 9.1
import math
## Given data
e = 1.6*10**(-19); ## Electronic charge in couloumb(coul)
X = 1*10**(-3)/3600.; ## Exposure rate in terms of R/sec
## According to the definition of Roentgen, 1 R = 2.58*10^(-7) coul/g
R = 2.58*10**(-7);
## From standard table
## There is 0.001293 g of air per 1 cm^3 at 1 atmospheric pressure at 0 C
density_air = 0.001293;
## Calculation
IR = (X*R*density_air)/e;
## Result
print'%s %.2f %s'%(" \n Rate of ions produced from gamma ray interaction = ",IR," ions/cm^3-sec");
## Example 9.2
import math
## According to the definition of radiation absorbed dose(rad), 1 rad/sec = 100 ergs/g-sec
## Given data
D = 5.*10**(-3)/100.; ## Absorbed dose in terms of rad/sec
## Expressing absorbed dose rate in SI units
## 1 Gray(Gy) = 100 rad
D_dot = D*3600./100.;
## Using data from Table 9.2
Q = 1.; ## Quality factor for gamma rays for tissue
## Calculation
H_dot = D_dot*Q;
print'%s %.2f %s'%(' \n Absorbed dose rate in a tissue = ',D_dot*1000,' mGy/hr \n');
print'%s %.2f %s'%(' \n Dose equivalent rate in a tissue = ',H_dot*1000,' mSv/hr \n');
## Example 9.3
import math
## Given data
H = 25; ## Equivalent dose in rem
age = 30; ## Age of worker in years
exp_age = 77; ## Average age upto which a person lives in years
## Using data from Table 9.6
## Bone cancer
rc_bone = 0.2; ## Risk coefficient per 10^6 rem/year
lp_bone = 10; ## Latent period in years
## Probability of dying from bone cancer
p_bone=(H*rc_bone*(exp_age-(lp_bone+age)))/10**6;
## Breast cancer
rc_breast = 1.5; ## Risk coefficient per 10^6 rem/year
lp_breast = 15.; ## Latent period in years
## Probability of dying from breast cancer
p_breast = (H*rc_breast*(exp_age-(lp_breast+age)))/10**6;
## Leukemia
rc_leukemia = 1.; ## Risk coefficient per 10^6 rem/year
lp_leukemia = 2.; ## Latent period in years
## Probability of dying from leukemia
p_leukemia = (H*rc_leukemia*(exp_age-(lp_leukemia+age)))/10**6;
## Lung cancer
rc_lung = 1.; ## Risk coefficient per 10^6 rem/year
lp_lung = 15.; ## Latent period in years
## Probability of dying from lung cancer
p_lung = (H*rc_lung*(exp_age-(lp_lung+age)))/10**6;
## Pancreatic cancer
rc_pancreas = 0.2; ## Risk coefficient per 10^6 rem/year
lp_pancreas = 15.; ## Latent period in years
## Probability of dying from Pancreatic cancer
p_pancreas = (H*rc_pancreas*(exp_age-(lp_pancreas+age)))/10**6;
## Stomach cancer
rc_stomach = 0.6; ## Risk coefficient per 10^6 rem/year
lp_stomach = 15.; ## Latent period in years
## Probability of dying from stomach cancer
p_stomach = (H*rc_stomach*(exp_age-(lp_stomach+age)))/10**6;
## Rest of alimentary cancer
rc_ali = 0.2; ## Risk coefficient per 10^6 rem/year
lp_ali = 15.; ## Latent period in years
## Probability of dying from rest of alimentary cancer
p_ali = (H*rc_ali*(exp_age-(lp_ali+age)))/10**6;
## Thyroid cancer
rc_thy = 0.43; ## Risk coefficient per 10^6 rem/year
lp_thy = 10.; ## Latent period in years
## Probability of dying from thyroid cancer
p_thy = (H*rc_thy*(exp_age-(lp_thy+age)))/10**6;
## All other type of cancer
rc_other = 1.; ## Risk coefficient per 10^6 rem/year
lp_other = 15.; ## Latent period in years
## Probability of dying from all other type of cancer
p_other = (H*rc_other*(exp_age-(lp_other+age)))/10**6;
## Calculation
p = p_bone+p_breast+p_leukemia+p_lung+p_pancreas+p_stomach+p_ali+p_thy+p_other;
## Result
print'%s %.2f %s'%('\n Probability that the worker will die from cancer = ',p,' \n');
## The value obtained is different from the value given in the textbook. This is because of approximation of individual probabilities in the textbook.
## Example 9.4
import math
H = 1.; ## Equivalent dos in rem
n = 10**6; ## Population
## Given data
## Using the data of number of expected deaths of leukemia per 10^6 people from Table 9.9
## In utero age group
frac_utero = 0.011; ## Fraction of population
riskyr_utero = 10.; ## Risk years
riskcoef_utero = 15.; ## Risk coefficient
## Number of deaths in utero is given by
deaths_utero = frac_utero*riskyr_utero*riskcoef_utero;
## In 0-0.99 age group
frac_0_099 = 0.014; ## Fraction of population
riskyr_0_099 = 25.; ## Risk years
riskcoef_0_099 = 2.; ## Risk coefficient
## Number of deaths in 0-0.99 age group is given by
deaths_0_099 = frac_0_099*riskyr_0_099*riskcoef_0_099;
## In 1-10 age group
frac_1_10 = 0.146; ## Fraction of population
riskyr_1_10 = 25.; ## Risk years
riskcoef_1_10 = 2.; ## Risk coefficient
## Number of deaths in 1-10 age group is given by
deaths_1_10=frac_1_10*riskyr_1_10*riskcoef_1_10;
## In 11-20 age group
frac_11_20 = 0.196; ## Fraction of population
riskyr_11_20 = 25.; ## Risk years
riskcoef_11_20 = 1.; ## Risk coefficient
## Number of deaths in 11-20 age group is given by
deaths_11_20=frac_11_20*riskyr_11_20*riskcoef_11_20;
## In 21-30 age group
frac_21_30 = 0.164; ## Fraction of population
riskyr_21_30 = 25.; ## Risk years
riskcoef_21_30 = 1.; ## Risk coefficient
## Number of deaths in 21-30 age group is given by
deaths_21_30=frac_21_30*riskyr_21_30*riskcoef_21_30;
## In 31-40 age group
frac_31_40 = 0.118; ## Fraction of population
riskyr_31_40 = 25.; ## Risk years
riskcoef_31_40 = 1.; ## Risk coefficient
## Number of deaths in 31-40 age group is given by
deaths_31_40=frac_31_40*riskyr_31_40*riskcoef_31_40;
## In 41-50 age group
frac_41_50 = 0.109; ## Fraction of population
riskyr_41_50 = 25.; ## Risk years
riskcoef_41_50 = 1.; ## Risk coefficient
## Number of deaths in 41-50 age group is given by
deaths_41_50 = frac_41_50*riskyr_41_50*riskcoef_41_50;
## In 51-60 age group
frac_51_60 = 0.104; ## Fraction of population
riskyr_51_60 = 22.5; ## Risk years
riskcoef_51_60 = 1.; ## Risk coefficient
## Number of deaths in 51-50 age group is given by
deaths_51_60 = frac_51_60*riskyr_51_60*riskcoef_51_60;
## In 61-70 age group
frac_61_70 = 0.08;
riskyr_61_70 = 15.1;
riskcoef_61_70 = 1.; ## Risk coefficient
## Number of deaths in 61-70 age group is given by
deaths_61_70=frac_61_70*riskyr_61_70*riskcoef_61_70;
## In 71-80 age group
frac_71_80 = 0.044; ## Fraction of population
riskyr_71_80 = 9.1; ## Risk years
riskcoef_71_80 = 1.; ## Risk coefficient
## Number of deaths in 71-80 age group is given by
deaths_71_80 = frac_71_80*riskyr_71_80*riskcoef_71_80;
## Age greater than 80
frac_80 = 0.02; ## Fraction of population
riskyr_80 = 4.5; ## Risk years
riskcoef_80 = 1.; ## Risk coefficient
## Number of deaths with age greater than 80 years is given by
deaths_80=frac_80*riskyr_80*riskcoef_80;
## Calculation
total_deaths = deaths_utero+deaths_0_099+deaths_1_10+deaths_11_20+deaths_21_30+deaths_31_40+deaths_41_50+deaths_51_60+deaths_61_70+deaths_71_80+deaths_80;
## Result
print'%s %.2f %s'%(" \n Number of cases or deaths expected from leukemia = ",total_deaths," \n");
## Example 9.5
import math
## Given data
H_year = 5.; ## Equiavelnt dose per year in rem
start_age = 18.; ## Initial age of the worker in years
ret_age = 68.; ## Retirement age of the worker in years
## Using data from Table 9.6 with respect to Bone cancer
latent_period = 10.; ## Latent period in years
plateau_period = 30.; ## Plateau period in years
rc_bone = 0.2; ## Risk coefficient per 10^6 rem/year
n = ret_age-(start_age+latent_period); ## Number of years of accumulated dose
H = n*H_year; ## Total equivalent dose in rem
## Calculation
p_bone = (H*rc_bone*plateau_period)/10**6;
## Result
print'%s %.2e %s'%(" \n The probability of dying from bone cancer = ",p_bone," \n");
## Example 9.6
import math
## Given data
E =2. ; ## Energy of gamma radiation in MeV
X_dot = 1.; ## Exposure rate in mR/hour
## Using the data from Table II.5
## Let mu_a/rho of air at 2 Mev be denoted as mu_rho
mu_rho = 0.0238; ## Ratio of absorption coefficient to sensity of air in cm^2/g
## Calculation
I = X_dot/(E*mu_rho*0.0659);
print'%s %.2f %s'%(" \n The beam intensity of gamma radiation required = ",math.ceil(I)," gamma rays/cm^2-sec \n");
## Example 9.7
import math
## Given data
phi = 2.4*10**5; ## Flux in x-rays/cm^2-sec
## From Figure 9.9
## To receive an exposure rate of 1 mR/hr at 50 keV, the flux is 8*10^3 x-rays/cm^2-sec
phi_eq = 8*10**3; ## Equivalent flux in x-rays/cm^2-sec
X_dot_eq = 1.; ## Equivalent Exposure rate in mR/hr
X_dot = (phi*X_dot_eq)/phi_eq; ## Exposure rate of the operator in mR/hr
## From Figure 9.10 at 50 kV energy, the energy dependent function is
f_bone = 3.3;
f_muscle = 0.93;
f_fat = 0.9;
## Using data from Table 9.2
Q = 1.; ## Quality factor for x-rays
## Calculation
D_dot_bone = X_dot*f_bone*Q; ## Dose equivalent rate in bone
D_dot_muscle = X_dot*f_muscle*Q; ## Dose equivalent rate in muscle
D_dot_fat = X_dot*f_fat*Q; ## Dose equivalent rate in fat
## Result
print'%s %.2f %s'%(" \n Dose equivalent rate in bone = ",math.ceil(D_dot_bone)," mrem/hour \n");
print'%s %.2f %s'%(" \n Dose equivalent rate in muscle = ",math.ceil(D_dot_muscle)," mrem/hour \n");
print'%s %.2f %s'%(" \n Dose equivalent rate in fat = ",math.ceil(D_dot_fat)," mrem/hour \n");
## Example 9.8
import math
#calculate the
## Given data
phi_n = 20.; ## Given neutron flux in neutrons/cm^2-sec
## From Figure 9.12
## To receive an dose equivalent rate of 1 mrem/hr, the fast neutron flux is 7 neutrons/cm^2-sec
phi_n_eq = 7.;
D_dot_eq = 1.;
D_dot_n = (phi_n*D_dot_eq)/phi_n_eq; ## Dose rate due to fast neutron flux in mrem/hr
phi_th = 300.; ## Given thermal flux in neutrons/cm^2-sec
## From Figure 9.12
## To receive an dose equivalent rate of 1 mrem/hr, the thermal flux is 260 neutrons/cm^2-sec
phi_th_eq = 260.;
D_dot_th = (phi_th*D_dot_eq)/phi_th_eq; ## Dose rate due to thermal neutron flux in mrem/hr
D_dot = D_dot_n+D_dot_th; ## Total dose rate in mrem/hr
print("\n The permitted weekly dose is 100 mrem \n");
D_dot_perm = 100.;
## Calculation
t = D_dot_perm/D_dot;
print'%s %.2f %s'%(" \n The time of exposure upto a safe level = ",t," hour \n");
## The answer given in the textbook is wrong. This is because of wrong computation of total dose rate
## Example 9.9
import math
## Given data
fluence = 10**8; ## Given fluence neutrons/cm^2
## From Figure 9.12
## To receive an dose equivalent rate of 1 mrem/hr, the fast neutron flux is 7 neutrons/cm^2-sec
phi_eq = 7.; ## Equivalent flux in neutrons/cm^2-sec
D_eq = 1.; ## Equivalent dose rate in mrem/hr
## 1 hour = 3600 seconds
fluence_eq = phi_eq*3600.; ## Equivalent fluence in neutrons/cm^2
## Calculation
D = (fluence*D_eq)/fluence_eq;
## Result
print'%s %.2f %s'%(" \n Dose received due to exposure of accelerator source = ",D," mrem \n");
## The answer given in textbook is approximated to a nearest value.
## Example 9.10
import math
## Given data
M = 20.; ## Mass of organ in grams
## a)
## Using the data from Table 9.15
T_12 = 8.04; ## Radiological half life of Iodine-131 in days
T_12_b = 138.; ## Biological half life of Iodine-131 in days
lambd = 0.693/T_12; ## Radiological decay constant of Iodine-131 in days^-1
lambda_b = 0.693/T_12_b; ## Biological decay constant of Iodine-131 in days^-1
lambda_e = lambd+lambda_b; ## Equivalent decay constant in days^-1
## Using the data from Table 9.15
zeta = 0.23; ## Effective energy equivalent in MeV
q = 0.23; ## The fraction of Iodine-131 that goes by inhalation
## Calculation
DCF = (51.1*zeta*q)/(M*lambda_e);
## Result
print'%s %.2f %s'%(" \n The dose commitment factor by inhalation = ",DCF," rem/ucurie \n");
## b)
breathing_rate = 2.32*10**(-4); ## Normal breathing rate in m^3/sec
time = 2*3600.; ## Time of radiation exposure in seconds
I_conc = 2*10**(-9); ## Iodine-131 concentration
C0 = breathing_rate*time*I_conc; ## Total intake of Iodine-131 by inhalation
## Calculation
H = C0*(DCF*10**6); ## Using DCF in micro-curie
## Result
print'%s %.2f %s %.2f %s '%(" \n The dose commitment to thyroid = ",H,"" and " rem = ",H*1000," mrem \n");
## Example 9.11
import math
## Given data
V_W = 2200.; ## Volume of water inatke in terms of cm^3/day
## 1 litre = 1000 gram(g)
M = 43.*1000.; ## Mass of water present in standard man according to standards
## Using the data from Table 9.13
MPD = 0.1/7.; ## Maximum Permissible Dose (MPD) in rem/day
## Using the data from Table 9.15
zeta = 0.01; ## Effective energy equivalent in MeV
q = 1.; ## The fraction of Tritium that goes inside by ingestion
T_b = 11.9; ## Biological Half life of Tritium in years
lambda_b = 0.693/T_b; ## Biological decay constant of Tritium in years^-1
## As biological and radiological half lives are less than 50 year intake period, the exponential term (exp(-lambda_e*50)) is neglected
## Maximum Permissible Concentration(MPC) for a 7 day or 168 hour week tritium dose
MPC_w_168 = (lambda_b*M*MPD)/(51.1*V_W*zeta*q);
print'%s %.2f %s'%("\n Maximum Permissible Concentration(MPC) for a 7 day or 168 hour week tritium dose for occupational purpose = ",MPC_w_168," uCi/cm^3 \n");
## The exposure at work is doubled for 40 hour week as compared to 168 hour week
## For 40 hour week, with work of 5 days out of 7 day week according to a study
MPC_w_40 = MPC_w_168*2.*(7/5.);
print'%s %.2f %s'%("\n Maximum Permissible Concentration(MPC) for a 40 hour week tritium dose for occupational purpose = ",MPC_w_40," uCi/cm^3 \n");
## By analyzing the data of Table 9.13
## The whole body dose of general public is one tenth of the occupational purpose.
MPC_w_168_gp = MPC_w_168*0.1;
print'%s %.2f %s'%("\n Maximum Permissible Concentration(MPC) for a 7 day or 168 hour week tritium dose for general public = ",MPC_w_168_gp," uCi/cm^3 \n");
## The answer of Maximum Permissible Concentration(MPC) for a 168 hour week tritium dose for general public is given wrong in the textbook.
## Example 9.12
import math
## Given data
no_home = 10**6; ## Number of houses
no_resident = 4.; ## Number of residents in a home
total_time = 50.; ## Number of years the analysis is carried out
radon_concn_old = 1.; ## Radon concentration in older uninsulated homes in terms of pCi/l
radon_concn_new = 6.; ## Radon concentration in modern insulated homes in terms of pCi/l
time = 3500.; ## Time spent in home by a person per year in hours
eq_concn = 0.5; ## Equilibrium concentration of 50%
## 1 year = 24*365 hours
X_increased = eq_concn*(radon_concn_new-radon_concn_old)*(time/(24.*365.)); ## The increased exposure of radon per person
## Using the data of Radon risk assessment of United States of America
## There are nearly 100 cases of cancer per 10^6 persons at 1 pCi-year dose.
## Calculation
no_cancer = (no_home*no_resident)*total_time*(100./10**6)*X_increased;
## Result
print'%s %.2f %s'%("\n Number of additional cases of cancer from insulation of home = ",no_cancer," \n");
## There is a slight deviation in the value given in the textbook. This is because of approximation of the number of additional cases of cancer in the textbook.
## Example 9.13
import math
## Given data
H_ext = 3.; ## External dose in rem
H_wbL = 5.; ## Annual whole body dose limit in rem
## Using the data from Table 9.17
## Annual Limit Intake (ALI) for inhalation of Iodine-131 is 54uCurie (Ci)
ALI = 54.;
## Calculation
I = ALI*(1.-(H_ext/H_wbL));
## Result
print'%s %.2f %s'%("\n Amount of Iodine-131 intake within safety limits = ",math.ceil(I)," uCi \n");