乘风破浪 双曲偏微分方程的数值方案,lorena barba 课程,需要帮助
Riding the wave Numerical schemes for hyperbolic PDEs, lorena barba lessons, assistance needed
我是初学者 python 正在尝试了解计算机科学的用户,我一直在学习如何使用它 concepts/subjects 我已经熟悉了,例如作为计算流体力学和有限元分析。我是机械工程学位,所以CS背景不多。
我正在研究 Lorena Barba 关于 jupyter notebook viewer 的系列文章“实用数值方法”,我正在寻找一些帮助,希望是熟悉 CFD 和 FEA 主题的人。
如果您单击下面的 link 并转到下面的输出行,您会在下面找到我的内容。真的对在定义的函数内运行的这段代码块感到困惑。
无论如何。如果有人在那里,对如何解决学习有任何建议 python,帮助
在[9]
rho_hist = [rho0.copy()]
rho = rho0.copy() **# im confused by the role of this variable here**
for n in range(nt):
# Compute the flux.
F = flux(rho, *args)
# Advance in time using Lax-Friedrichs scheme.
rho[1:-1] = (0.5 * (rho[:-2] + rho[2:]) -
dt / (2.0 * dx) * (F[2:] - F[:-2]))
# Set the value at the first location.
rho[0] = bc_values[0]
# Set the value at the last location.
rho[-1] = bc_values[1]
# Record the time-step solution.
rho_hist.append(rho.copy())
return rho_hist
前两行的目的是保留 rho0
并为历史提供它的副本(复制以便以后 rho0
中的更改不会反映在这里)并作为初始在计算过程中使用和修改的 "working" 变量 rho
的值。
背景是 python 列表和数组变量始终是对相关对象的引用。通过分配变量,您会生成引用的副本、对象的地址,但不会生成对象本身。两个变量都引用相同的内存区域。因此不使用 .copy()
将改变 rho0
.
a = [1,2,3]
b = a
b[2] = 5
print a
#>>> [1, 2, 5]
本身包含结构化数据对象的复合对象将需要 deepcopy
来复制所有级别的数据。
- how to pass a list as value and not as reference?
我是初学者 python 正在尝试了解计算机科学的用户,我一直在学习如何使用它 concepts/subjects 我已经熟悉了,例如作为计算流体力学和有限元分析。我是机械工程学位,所以CS背景不多。
我正在研究 Lorena Barba 关于 jupyter notebook viewer 的系列文章“实用数值方法”,我正在寻找一些帮助,希望是熟悉 CFD 和 FEA 主题的人。
如果您单击下面的 link 并转到下面的输出行,您会在下面找到我的内容。真的对在定义的函数内运行的这段代码块感到困惑。
无论如何。如果有人在那里,对如何解决学习有任何建议 python,帮助
在[9]
rho_hist = [rho0.copy()]
rho = rho0.copy() **# im confused by the role of this variable here**
for n in range(nt):
# Compute the flux.
F = flux(rho, *args)
# Advance in time using Lax-Friedrichs scheme.
rho[1:-1] = (0.5 * (rho[:-2] + rho[2:]) -
dt / (2.0 * dx) * (F[2:] - F[:-2]))
# Set the value at the first location.
rho[0] = bc_values[0]
# Set the value at the last location.
rho[-1] = bc_values[1]
# Record the time-step solution.
rho_hist.append(rho.copy())
return rho_hist
前两行的目的是保留 rho0
并为历史提供它的副本(复制以便以后 rho0
中的更改不会反映在这里)并作为初始在计算过程中使用和修改的 "working" 变量 rho
的值。
背景是 python 列表和数组变量始终是对相关对象的引用。通过分配变量,您会生成引用的副本、对象的地址,但不会生成对象本身。两个变量都引用相同的内存区域。因此不使用 .copy()
将改变 rho0
.
a = [1,2,3]
b = a
b[2] = 5
print a
#>>> [1, 2, 5]
本身包含结构化数据对象的复合对象将需要 deepcopy
来复制所有级别的数据。
- how to pass a list as value and not as reference?