В настоящее время я пытаюсь нанести на карту и показать путь фотона от центра Солнца, пока он не достигнет поверхности и не испустится. Я также хочу показать время, необходимое для этого.
Пока все, что я сделал, это установил параметры (плотность Солнца, сечение Томпсона, массу электрона, массу протона), и, используя их, я смог найти средний свободный путь на солнце для фотон. Я знаю, что мне нужно будет установить массив некоторых видов и создать случайные числа для каждого случайного блуждания. Я не знаю, что делать для случайного блуждания, чтобы фотон мог go в любом направлении по значениям x, y или z.
Я также не знаю, что мне следует сделать oop, чтобы создать эту случайную прогулку. Мне нужно, чтобы случайное блуждание прекратилось, когда d равно или больше радиуса Солнца. Я знаю, что d = l * sqrt (N), где l - средний размер каждого шага или средний свободный путь, а N - количество предпринятых шагов.
Наконец, я бы не знал, с чего начать с вывода результатов. Я хотел бы показать анимацию фотона, проходящего через сферу из центра, где сфера будет напоминать Солнце.
Ниже приведен единственный код, который у меня есть, любая помощь будет принята с благодарностью.
from random import random, seed, randint
import numpy as np
import matplotlib.pyplot as plt
N=100000
rho=1408.6 #the mass density of the sun
thompson=6.65*10**-29 #Thompson cross-section for an electro
proton=1.67*10**-27 #mass of a proton
electron=9.11*10**-31 #mass of an electron
radius=6.9634*10**8 #radius of a sun
c=2.99*10**8
mfp=(electron+proton)/(rho*thompson*np.sqrt(2))
timestep=mfp/c