Я все еще работаю над тем же проектом, что и в предыдущем вопросе, который пытается имитировать диффузию частиц. Мой предыдущий вопрос не имеет отношения к этому, за исключением попытки моделирования диффузии. Я нахожусь на стадии, когда я пытаюсь инициировать различные области диффузии в сетке, поэтому у меня есть функция для создания списка списков (координат), которые можно проверять по координатам частиц на каждом шаге перемещения, чтобы настроить вероятность движения, и, следовательно, диффузии.
Я использую 2 класса; один для запуска пространства диффузионной сетки, grid (), и другой, для перемещения частиц, atom (). Класс atom () не наследует переменные от класса grid (). Область координат, называемая t_space, создается в grid () с использованием initiate t_space, и я хочу получить доступ к этой переменной t_space, созданной в initiate t_space в atom ().
Мой код очень длинный, поэтому я включил то, что надеюсь - соответствующие биты, и моя текущая попытка решить эту проблему.
Код, который я надеялся вызвать переменную t_space из grid () в atom (), был:
atom().tspace = grid().t_space
class grid():
def __init__(self, x, y):
self.grid = np.zeros((x,y))
self.list_of_atoms=[]
self.x = x
self.y = y
def initiate_t_space(self,t_space_x, t_space_y):
self.t_space = []
for i in range(0,self.t_space_x):
for j in range(0,self.t_space_y):
self.t_space.append([i,j])
class atom():
def __init__(self,x,y):
self.position=[x,y]
self.position_tracker=[]
self.dx=0
self.dy=0
# self.tspace = [[11, 42], [11, 43], [11, 44], [11, 45], [11, 46], [11, 47], [11, 48], [11, 49], [11, 50], [11, 51], [11, 52], [11, 53], [11, 54], [11, 55], [11, 56], [11, 57], [11, 58], [12, 38], [12, 39], [12, 40], [12, 41], [12, 42], [12, 43], [12, 44], [12, 45], [12, 46], [12, 47], [12, 48]]
# self.t_space = []
# for i in range(0,100):
# for j in range(0,200):
# self.t_space.append([i,j])
# print(self.t_space)
atom().tspace = grid().t_space
Закомментированный код в классе atom () - это предыдущая попытка инициировать t_space в atom (), однако его необходимо вычислить в grid (), поскольку он использует переменные из grid ().
Любая помощь будет принята с благодарностью.