import math
#Variable declaration
lumens = 800.0 #Flux emitted by a lamp(lumens)
cp = 100.0 #cp of a lamp
d = 2.0 #Distance b/w plane surface & lamp(m)
theta_ii = 45.0 #Inclined surface(°)
theta_iii = 90.0 #Parallel rays(°)
#Calculation
#Case(a)
mscp = lumens/(4.0*math.pi) #mscp of lamp
#Case(b)
I_i = cp/d**2 #Illumination on the surface when it is normal(lux)
I_ii = cp/d**2*math.cos(theta_ii*math.pi/180) #Illumination on the surface when it is inclined to 45°(lux)
I_iii = cp/d**2*math.cos(theta_iii*math.pi/180) #Illumination on the surface when it is parallel to rays(lux)
#Result
print('Case(a): mscp of the lamp, mscp = %.f ' %mscp)
print('Case(b): Case(i) : Illumination on the surface when it is normal, I = %.f lux' %I_i)
print(' Case(ii) : Illumination on the surface when it is inclined to 45°, I = %.3f lux' %I_ii)
print(' Case(iii): Illumination on the surface when it is parallel to rays, I = %.f lux' %I_iii)
print('\nNOTE: ERROR: Calculation mistake in case(a) in textbook solution')
import math
#Variable declaration
cp = 200.0 #cp of a lamp
per = 0.6 #Reflector directing light
D = 10.0 #Diameter(m)
h = 6.0 #Height at which lamp is hung(m)
#Calculation
flux = cp*4*math.pi #Flux(lumens)
I_i = cp/h**2 #Illumination at the centre without reflector(lux)
d = (h**2+(D/2)**2)**0.5 #(m)
I_without = (cp/h**2)*(h/d) #Illumination at the edge without reflector(lux)
I_with = cp*4*math.pi*per/(25*math.pi) #Illumination at the edge with reflector(lux)
theta = math.acos(h/d)*180/math.pi #θ(°)
w = 2.0*math.pi*(1-math.cos(theta/2*math.pi/180)) #ω(steradian)
phi = cp*w #Φ(lumens)
I_avg = phi/(25*math.pi) #Average illumination over the area without reflector(lux)
#Result
print('Case(i) : Illumination at the centre without reflector = %.2f lux' %I_i)
print(' Illumination at the centre with reflector = %.1f lux' %I_with)
print('Case(ii): Illumination at the edge of the surface without reflector = %.2f lux' %I_without)
print(' Illumination at the edge of the surface with reflector = %.1f lux' %I_with)
print('Average illumination over the area without the reflector, I = %.3f lux' %I_avg)
print('\nNOTE: ERROR: Slight calculation mistake & more approximation in textbook solution')
from sympy import Symbol,diff,solve
#Variable declaration
l = Symbol('l') #Length
h = Symbol('h') #Height
#Calculation
I_B = h/(l**2+h**2)**(3.0/2) #Illumination
ans = diff(I_B,h) #Differentiating to obtain maximum I_B
equ = solve(ans,h)
h = equ[1] #Feasible solution for h
#Result
print('Height at which a light having uniform spherical distribution should be placed, h = ' + repr(h) + '')
import math
#Variable declaration
flux = 900.0 #Lamp emitting light(lumens)
D = 30.5 #Diameter of globe(cm)
B = 250.0*10**-3 #Uniform brightness(Ambert)
#Calculation
cp = math.pi/4*D**2*(B/math.pi) #Candle power
flux_emit = cp*4*math.pi #Flux emitted by globe(lumens)
flux_abs = flux-flux_emit #Flux absorbed by globe(lumens)
light_abs_per = flux_abs/flux*100 #Light absorbed(%)
#Result
print('cp of the globe = %.f ' %cp)
print('Percentage of light emitted by lamp that is absorbed by the globe = %.1f percent' %light_abs_per)
print('\nNOTE: Changes in the obtained answer from that of textbook is due to more precision here & approximation in textbook solution')
import math
%matplotlib inline
from matplotlib.pyplot import plot,title,xlabel,ylabel,text,axis,show
#Variable declaration
cp_0 = 500.0 #Candle power
theta_0 = 0.0 #θ(°)
cp_1 = 560.0 #Candle power
theta_1 = 10.0 #θ(°)
cp_2 = 600.0 #Candle power
theta_2 = 20.0 #θ(°)
cp_3 = 520.0 #Candle power
theta_3 = 30.0 #θ(°)
cp_4 = 400.0 #Candle power
theta_4 = 40.0 #θ(°)
cp_5 = 300.0 #Candle power
theta_5 = 50.0 #θ(°)
cp_6 = 150.0 #Candle power
theta_6 = 60.0 #θ(°)
cp_7 = 50.0 #Candle power
theta_7 = 70.0 #θ(°)
h = 6.0 #Height of lamp(m)
#Calculation
I_0 = cp_0/h**2*(math.cos(theta_0*math.pi/180))**3 #Illumination(lux)
l_0 = h*math.tan(theta_0*math.pi/180) #Distance(m)
I_1 = cp_1/h**2*(math.cos(theta_1*math.pi/180))**3 #Illumination(lux)
l_1 = h*math.tan(theta_1*math.pi/180) #Distance(m)
I_2 = cp_2/h**2*(math.cos(theta_2*math.pi/180))**3 #Illumination(lux)
l_2 = h*math.tan(theta_2*math.pi/180) #Distance(m)
I_3 = cp_3/h**2*(math.cos(theta_3*math.pi/180))**3 #Illumination(lux)
l_3 = h*math.tan(theta_3*math.pi/180) #Distance(m)
I_4 = cp_4/h**2*(math.cos(theta_4*math.pi/180))**3 #Illumination(lux)
l_4 = h*math.tan(theta_4*math.pi/180) #Distance(m)
I_5 = cp_5/h**2*(math.cos(theta_5*math.pi/180))**3 #Illumination(lux)
l_5 = h*math.tan(theta_5*math.pi/180) #Distance(m)
I_6 = cp_6/h**2*(math.cos(theta_6*math.pi/180))**3 #Illumination(lux)
l_6 = h*math.tan(theta_6*math.pi/180) #Distance(m)
I_7 = cp_7/h**2*(math.cos(theta_7*math.pi/180))**3 #Illumination(lux)
l_7 = h*math.tan(theta_7*math.pi/180) #Distance(m)
plot(
[-l_7,-l_6,-l_5,-l_4,-l_3,-l_2,-l_1,l_0,l_0,l_1,l_2,l_3,l_4,l_5,l_6,l_7],
[I_7,I_6,I_5,I_4,I_3,I_2,I_1,I_0,I_0,I_1,I_2,I_3,I_4,I_5,I_6,I_7],
color='b', marker = 'o'
) #Plotting curve
plot(
[0,0,0,0,0,0],
[0,5,10,11,14,16],
color='y'
) #Representing normal
axis([-18,18,0,16])
title('Illumination curve')
xlabel('Distance(metres)')
ylabel('Illumination(flux)')
show()
#Result
print('The curve showing illumination on a horizontal line below lamp is shown in above Figure')
import math
#Variable declaration
d = 9.15 #Lamp space(m)
h = 4.575 #Height(m)
P = 100.0 #Power(candle)
#Calculation
theta_3_max = 0 #θ(°)
cos_theta_3_max_cubic = math.cos(theta_3_max*math.pi/180)**3
theta_4_max = math.atan(2)*180/math.pi #θ(°)
cos_theta_4_max_cubic = math.cos(theta_4_max*math.pi/180)**3
theta_5_max = math.atan(4)*180/math.pi #θ(°)
cos_theta_5_max_cubic = math.cos(theta_5_max*math.pi/180)**3
theta_6_max = math.atan(6)*180/math.pi #θ(°)
cos_theta_6_max_cubic = math.cos(theta_6_max*math.pi/180)**3
I_max = P/h**2*(cos_theta_3_max_cubic+2*cos_theta_4_max_cubic+2*cos_theta_5_max_cubic+2*cos_theta_6_max_cubic) #Max illumination(lux)
theta_4_min = math.atan(1)*180/math.pi #θ(°)
cos_theta_4_min_cubic = math.cos(theta_4_min*math.pi/180)**3
theta_5_min = math.atan(3)*180/math.pi #θ(°)
cos_theta_5_min_cubic = math.cos(theta_5_min*math.pi/180)**3
theta_6_min = math.atan(5)*180/math.pi #θ(°)
cos_theta_6_min_cubic = math.cos(theta_6_min*math.pi/180)**3
I_min = P/h**2*2*(cos_theta_4_min_cubic+cos_theta_5_min_cubic+cos_theta_6_min_cubic) #Minimum illumination(lux)
#Result
print('Maximum illumination on the floor along the centre line = %.2f lux' %I_max)
print('Minimum illumination on the floor along the centre line = %.2f lux' %I_min)
#Variable declaration
b = 15.25 #Breadth of workshop(m)
l = 36.6 #Length of workshop(m)
no = 20.0 #Number of lamps
P = 500.0 #Power of each lamp(W)
n = 15.0 #Luminous efficiency of each lamp(lumens/watt)
df = 0.7 #Depreciation factor
cou = 0.5 #Co-efficient of utilization
#Calculation
lumen_lamp = no*P*n #Lamp lumens
lumen_plane = lumen_lamp*df*cou #Lumens on the working plane
I = lumen_plane/(l*b) #Illumination(lm/sq.m)
#Result
print('Illumination on the working plane = %.1f lm per sq.m' %I)
print('\nNOTE: ERROR: The breadth should be 15.25m but mentioned as 5.25m in textbook statement')
#Variable declaration
b = 27.45 #Breadth of hall(m)
l = 45.75 #Length of hall(m)
I_avg = 108.0 #Average illumination(lumens/sq.m)
h = 0.75 #Height(m)
cou = 0.35 #Co-efficient of utilization
pf = 0.9 #Pereciation factor
P_fl = 80.0 #Fluorescent lamp power(W)
n_100 = 13.4 #Luminous efficiency for 100W filament lamp(lumens/watt)
n_200 = 14.4 #Luminous efficiency for 200W filament lamp(lumens/watt)
n_80 = 30.0 #Luminous efficiency for 80W fluorescent lamp(lumens/watt)
#Calculation
area = b*l #Area to be illuminated(Sq.m)
I_total = area*I_avg #Total illumination on working plane(lumens)
gross_lumen = I_total/(cou*pf) #Gross lumens required
P_required = gross_lumen/n_200 #Power required for illumination(W)
P_required_kW = P_required/1000 #Power required for illumination(kW)
no_lamp = P_required/200 #Number of lamps
P_required_new = gross_lumen/n_80 #Power required when fluorescent lamp used(W)
P_required_new_kW = P_required_new/1000 #Power required when fluorescent lamp used(kW)
P_saving = P_required_kW-P_required_new_kW #Saving in power(kW)
#Result
print('Suitable scheme: Whole area divided into %.f rectangles & 200-watt fitting is suspended at centre of each rectangle' %no_lamp)
print('Saving in power consumption = %.f kW' %P_saving)