Dear all, currently, I'm trying to solve a DAE problem (the Poisson-Nernst-Planck system) with 4 variables in Firedrake. The function spaces in the problem are defined as follows: *V0 = FunctionSpace(mesh, "DG",2)* *X = V0*V0*V0*V0* *C0,C1,C2,C3 = Function(X)v0,v1,v2,v3 = TestFunctions(X) * Because the problem is non-linear, I need to prescribe the initial values before running the solver. And the initial values are defined as follows: *ic_C = Constant(1)* *C0.assign(ic_C)* *C1.assign(ic_C)* *C2.assign(ic_C)* *C3.assign(ic_C)* An issue comes up during this step, which says the 'indexed' object (the C0, C1 and so on) has no attribute 'assign': *--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-20-803df79d259a> in <module> 7 ic_Phi = Constant(Phi_init)#project(Phi_0, X) 8 ----> 9 C0.assign(ic_C0); 10 #C1.assign(ic_C1); 11 #C2.assign(ic_C2); AttributeError: 'Indexed' object has no attribute 'assign'* The questions: 1. Do I defined the function spaces correctly? 2. If the Function Spaces are correctly defined, then how to assign the value to the indexed function spaces (the mixed function spaces)? Thank you in advance! Thomas