擅长:python、mysql、java
<p>函数使用全局变量而不是局部变量,这些变量在F()中的每次迭代中都会更新。解决方案是将变量作为参数传递并定义</p>
<pre><code>def F(rho, m, E, v_rho, v_m, v_E):
for n in xrange(N):
rho = G(Evolve_rho1(rho,v_rho,m))
m = momentum(Evolve_m1(rho,v_rho, m,v_m,E))
E = Energy(Evolve_E1(rho, m, E, v_E))
v_rho = rho_v(Evolve_rho_v(rho,v_rho,m))
v_m = m_v( Evolve_mv(rho,v_rho, m,v_m,E))
v_E = E_v(Evolve_Ev(rho, m, E, v_E))
return (rho, m, E, v_rho, v_m, v_E)
</code></pre>
<p>感谢大家的贡献。在</p>