伦敦帝国理工学院的这个演讲有一个很好的例子,在第 8 页,Burgers Equations。他们的代码的第一部分是这样的:
from dolfin import*
n = 30
mesh = UnitInterval(n)
V = FunctionSpace(mesh, "CG",2)
ic = project(Expression("sin(2*pi*x[0])"), V)
u = Function(ic)
u_next = Function(V)
v= TestFunction(V)
nu = Constant(0.0001)
timestep = Constant(1.0/n)
F1 = ((u_next - u)/timestep*v)*dx
F2 = (u_next*grad(u_next)*v)*dx
F3 = (nu*grad(v)*grad(u_next))*dx
在我的系统上,此代码失败,导致总和F2和F3. 我不明白为什么。