私はPythonとプログラミング全般に不慣れで、計算物理学の最終プロジェクトに取り組んでおり、属性x、y、vx、 & vy. これはすべて、最終的に恒星核融合のモデルに組み込まれる理想的なガス シミュレーションを構築するものです。どんな助けでも大歓迎です。これが私がこれまでに持っているものです。
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
基本的な考え方は、要素が「粒子」と呼ばれるリストである「システム」と呼ばれるリストを持つことです。システムが時間とともに進化するにつれて、これらの粒子の位置を追跡する必要があります。どうもありがとう!
ベン
*アップデート
実行すると、「AttributeError: 'list' オブジェクトに属性 'x' がありません」が発生する場所で、particle.x = x * random.uniform(0.1, 0.9999) まで取得します。
属性 (x、y、vx、vy) を各リスト「粒子」に割り当て、それらのリストを「システム」というリストの要素として使用するにはどうすればよいですか?
私はコードが「そのまま」悲しいことを知っています。お待ち頂きまして、ありがとうございます。