我可能有一个非常愚蠢的问题。我无法解决由压降驱动的直二维通道中的简单泊肃叶流。结果完全是胡说八道。(在流出物上设置零压力会产生微不足道的解决方案/没有流动。在流出物上施加非零压力(但仍然有一些压降)会产生从两端流入通道的溶液)。对不可压缩性的满足也很模糊。请你看看我的代码好吗?我不知道我做错了什么。
马立克
from dolfin import *
mesh = Mesh("P.xml")
V = VectorFunctionSpace(mesh,"CG",2)
Q = FunctionSpace(mesh,"CG",1)
W = V*Q
w = Function(W)
nu = 100
L = 20
noslip = DirichletBC(W.sub(0),(0,0),"on_boundary && (x[1] > 4.0 - DOLFIN_EPS | x[1] < DOLFIN_EPS)")
inflow = DirichletBC(W.sub(1),10,"on_boundary && x[0] < DOLFIN_EPS")
outflow = DirichletBC(W.sub(1),2,"on_boundary && x[0] > L - DOLFIN_EPS")
bcs = [noslip,inflow,outflow]
(u,p) = TrialFunctions(W)
(v,q) = TestFunctions(W)
f = Constant((0,0))
a = nu*inner(grad(u),grad(v))*dx + p*div(v)*dx + div(u)*q*dx
L = inner(f,v)*dx
problem = LinearVariationalProblem(a,L,w,bcs=bcs)
solver = LinearVariationalSolver(problem)
solver.solve()
(u,p) = split(w)
plot(p)
plot(div(u))
plot(u)
interactive()