#python #matplotlib #fenics
#python #matplotlib #феникс
Вопрос:
Я работаю со смешанными формулировками в fenics. При запуске кода он выдает мне ошибку: UFLException: не удается добавить выражения с разными формами. Я новичок в fenics. Кто-нибудь может мне помочь в этом, полный код
mesh = UnitSquareMesh(10,10)
RT1 = VectorElement("RT", mesh.ufl_cell(), 1)
CG1 = FiniteElement("CG", mesh.ufl_cell(), 1)
RT2 = VectorElement("RT", mesh.ufl_cell(), 1)
mixed = MixedElement([RT1, CG1, RT1])
W = FunctionSpace(mesh, mixed)
(vpsi, vphi, vbigphi ) = TestFunctions(W)
trials_1 = TrialFunction(W)
Sol1, Sol0 = Function(W) , Function(W)
(psi1, phi1, bigphi1) = split(Sol1)
(psi0, phi0, bigphi0) = split(Sol0)
def boundary(x):
return x[0] < DOLFIN_EPS or x[0] > 1.0 - DOLFIN_EPS or
x[1] < DOLFIN_EPS or x[1] > 1.0 - DOLFIN_EPS
u00 = Constant(0.0)
bc1 = DirichletBC(V2, u00, boundary)
uinitial = Expression(" exp(x[1] x[0] - t)", t = 0, degree = 2)
u0 = interpolate(uinitial, V2)
q0 = interpolate(grad(uinitial), V1)
a2 = (dot(bigphi1, vpsi) - ( 1/(1 u0**2) 1 )*dot(psi1, vpsi) )* dx
Комментарии:
1. да. . Я думаю то же самое.
Ответ №1:
Мой код работал с
RT1 = FiniteElement("RT", mesh.ufl_cell(), 1)
вместо
RT1 = VectorElement("RT", mesh.ufl_cell(), 1)