Я пытаюсь рассчитать коэффициент поглощения частиц, используя теорию Ми. Я использую этот код, но не понимаю, почему он не работает.
import numpy as np
import matplotlib.pyplot as plt
import PyMieScatt as ps
# Constants
wavelength = 500e-9
particle_radius = 5e-6
n_r = 1.7
n_i = 0.08
particle_density = 1e6
# Calculate size parameter
size_parameter = (2 * np.pi * particle_radius) / wavelength
# Complex refractive index
m = n_r + 1j * n_i
# Create a Mie object from PyMieScatt
mie = ps.Mie(m, size_parameter)
# Calculate the absorption efficiency (Qabs) using the Mie object
Qabs = mie.Qabs() # Absorption efficiency
# Absorption cross-section (in m^2)
absorption_cross_section = Qabs * np.pi * particle_radius**2 # Absorption cross section
# Calculate absorption coefficient (alpha)
alpha = particle_density * absorption_cross_section
# Print the results
print(f'Absorption Cross Section: {absorption_cross_section:.2e} m^2')
print(f'Absorption Coefficient (alpha): {alpha:.2e} m^-1')
# Optionally, you can plot the absorption efficiency (Qabs) as a function of size parameter
size_parameters = np.linspace(0.1, 200, 500) # Range of size parameters
absorption_efficiency = [ps.Mie(m, size).Qabs() for size in size_parameters]
plt.plot(size_parameters, absorption_efficiency)
plt.xlabel('Size Parameter (x)')
plt.ylabel('Absorption Efficiency (Qabs)')
plt.title('Absorption Efficiency vs. Size Parameter')
plt.grid(True)
plt.show()
Подробнее здесь: https://stackoverflow.com/questions/793 ... pymiescatt
Рассчитать коэффициент поглощения частиц, используя pymiescatt ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение