@@ -11,8 +11,8 @@ function cellincrease(args...; x0 = [0.6, 0.1], n = 10, T = 7, kwargs...)
1111
1212 Vcon = TestFESpace(model, reffe, conformity = :L2)
1313 Ucon = TrialFESpace(Vcon)
14- Xcon = MultiFieldFESpace([Vcon])
15- Ycon = MultiFieldFESpace([Ucon])
14+ Xcon = MultiFieldFESpace([Vcon, Vcon ])
15+ Ycon = MultiFieldFESpace([Ucon, Ucon ])
1616
1717 function f(y, u)
1818 cf, pf = y
@@ -30,16 +30,17 @@ function cellincrease(args...; x0 = [0.6, 0.1], n = 10, T = 7, kwargs...)
3030 degree = 1
3131 dΩ = Measure(trian, degree)
3232
33- conv(u, ∇u) = (∇u' )⋅u #(∇u ⋅ one(∇u)) ⊙ u
33+ conv(u, ∇u) = (∇u ⋅ one(∇u)) ⊙ u
3434 c(u, v) = conv ∘ (v, ∇(u)) # v⊙conv(u,∇(u))
3535
3636 function res(y, u, v)
3737 cf, pf = y
3838 p, q = v
39- ∫(-p * (kp * pf * (1.0 - cf) - kr * cf * (1.0 - cf - pf)))dΩ # c(cf, p) + c(pf, q) )dΩ + q * (u * kr * cf * (1.0 - cf - pf) - kp * pf * pf)
39+ uf, ufo = u # how to extract a SingleField from a MultiField of size 1?
40+ ∫(- p * (kp * pf * (1.0 - cf) - kr * cf * (1.0 - cf - pf)) + c(cf, p) + c(pf, q) + q * (kr * cf * (1.0 - cf - pf) * uf - kp * pf * pf) )dΩ
4041 end
4142
42- Y = MultiFieldFESpace([UI, US, Ucon])
43+ Y = MultiFieldFESpace([UI, US, Ucon, Ucon ])
4344 op_sir = FEOperator(res, Ypde, Xpde)
4445
4546 xin = zeros(Gridap. FESpaces. num_free_dofs(Y))
0 commit comments