我是 python 和一般编程的新手,我正在做我的计算物理学的最终项目,并且在获得允许我实例化 n 个粒子的结构时遇到了麻烦,每个粒子都具有属性 x,y,vx, & 维。这一切都在建立一个理想的气体模拟,最终将被插入到恒星聚变模型中。任何帮助将不胜感激。这是我到目前为止所拥有的。
import random
atoms = 10
x = 1000
y = 1000
vx = 1000
vy = 1000
t = 1
n = 10000
b = 0
dt = 10
particle = [x, y, vx, vy]
system = [particle]
for i in range(atoms):
system.append(i)
for system[i] in range(atoms):
particle.x = x * random.uniform(0.1, 0.9999)
particle.y = y * random.uniform(0.1, 0.9999)
particle.vx = vx * random.uniform(0.1, 0.9999)
particle.vy = vy * random.uniform(0.1, 0.9999)
for particle[i] in range(atoms):
for t in range(dt):
x = x + vx
y = y + vy
if y < 0:
y = -y
vy = -vy
if x < 0:
x = -x
vx = -vx
if y > 10:
m = y - 10
y = 10 - m
vy = -vy
if x > 10:
k = x - 10
x = 10 - k
vx = -vx
基本思想是有一个称为“系统”的列表,其元素是称为“粒子”的列表,随着系统随时间的发展,我需要跟踪这些粒子的位置。非常感谢!
本
*更新
当我运行它时,我得到了particle.x = x * random.uniform(0.1,0.9999),我遇到“AttributeError:'list'对象没有属性'x'”
如何将属性(x、y、vx、vy)分配给每个列表“粒子”,然后将这些列表用作称为“系统”的列表中的元素?
我知道代码“按原样”是可悲的,我想我咬得比我能咀嚼的多一点。谢谢你的耐心。