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