Python 带有反射器的模型辐射图案形成一个弗洛森灯泡

Python 带有反射器的模型辐射图案形成一个弗洛森灯泡,python,data-modeling,modeling,lighting,Python,Data Modeling,Modeling,Lighting,我想用Keitz方程来模拟158.1厘米长的UVC管的辐射模式。我创建了一个反射器,将光线聚焦在大约+/-40度的光束宽度上,并希望用Python对此进行建模。我知道总功率是112瓦,并用一个紫外线计用凯兹方程验证了这一点。我想计算的是,在+33方位角和+16度仰角,2米处的功率,等等 import numpy as np import math E = 259.06*1e-6 # (uW/cm^2) reading on UV detector D = 200 # (cm) Di

我想用Keitz方程来模拟158.1厘米长的UVC管的辐射模式。我创建了一个反射器,将光线聚焦在大约+/-40度的光束宽度上,并希望用Python对此进行建模。我知道总功率是112瓦,并用一个紫外线计用凯兹方程验证了这一点。我想计算的是,在+33方位角和+16度仰角,2米处的功率,等等

import numpy as np
import math

E =  259.06*1e-6 # (uW/cm^2)  reading on UV detector
D =  200   # (cm)  Distance to UV detect from bulb
Lp =  158.1 # (cm) Length of the bulb


# Test number for paper
E1 = 6.490e-04 # (W/cm^2)
D1 = 100   # (cm)  Distance to UV detect from bulb

E2 = 1.157e-04 # (W/cm^2)
D2 = 289       # (cm) Distance to UV detect from bulb

L  = 148 # (cm) Length ob the bulb

def angle(D, L):

    a =D
    b = L/2
    c = math.sqrt(a**2 + b**2)
    alpha = np.arcsin(b/c) 
    return (alpha)


def P_tot(E,L,D):
    
    # Solve for alpha the angle between the detector and end of the buld.
    alpha = angle(D, L)
    
    P = (2*E*L*D*math.pi**2)/(2*alpha + np.sin(2*alpha))
    return P

'''
alpha = angle(D, L)
P1 = (2*E*L*D*math.pi**2)
P2 = (2*alpha + np.sin(2*alpha))
'''
P_1m = P_tot(E1,L,D1)
P_2m = P_tot(E2,L,D2)

# Phllips test bulb TUV325HO
P_test = P_tot(E,Lp,D)