On Fri, 15 May 2015 16:25:55 +0200 Valentina <[email protected]> wrote:
> Sorry, thank you. > > Can you say me a way to plot the solution (g, w, m)? g, m, w = U.split() plot(g) plot(m) plot(w) interactive() [Next time point FEniCS project usage questions rather to fenicsproject.org/qa, please. This list is intended rather for FEniCS building and debugging a build itself. See fenicsproject.org/support for details. Thanks!] Jan > > Thanks > Valentina > > > Il giorno 15/mag/2015, alle ore 16:19, Jan Blechta > > <[email protected]> ha scritto: > > > > On Fri, 15 May 2015 16:13:15 +0200 > > Valentina <[email protected]> wrote: > > > >> Yes, of course. > >> > >> I use Dolfin 1.5 on a Mac 10.10 Yosemite. > >> The complete code is: > >> > >> ################################## > >> from dolfin import * > >> import sys,os > >> > >> os.system('dolfin-convert brain.1.mesh brain.xml') > >> mesh = Mesh ("brain.xml") > >> > >> dt = 1 #day > >> rho = 0.02 #day^(-1) > >> theta = 100 #cells mm^(-2) > >> Dg = 0.002 #mm^2 * day^(-1) > >> alpha = 0.025 #day^(-1) > >> Ki = 0.25 #mm^(-1) > >> Tm = 10000 #cells mm^(-2) > >> Dm = 0.10 #mm^2 / day > >> tf = 360 #day > >> A = dt*0.5*Dg > >> B = alpha*dt*0.5 > >> C = dt*Ki*0.5 > >> Am = 0.5*dt*Dm > >> D = 0.5*dt*rho > >> > >> V = FunctionSpace (mesh, 'CG',1) > >> W = MixedFunctionSpace ([V,V,V]) > >> > >> # Trial function and test function > >> U = Function(W) > >> u0 = Function (W) > >> dU = TrialFunction(W) > >> v1, v2, v3 = TestFunctions (W) > >> > >> > >> # Split mixed function > >> (dg,dm,dw) = split(dU) > >> (g,m,w) = split(U) > >> (g_0,m_0,w_0) = split(u0) > >> > >> g_0 = Expression('c', c=Constant(0.0), cell = tetrahedron) > >> m_0 = Expression('c', c=Constant(0.0), cell = tetrahedron) > >> w_0 = Expression('c', c=Constant(0.0), cell = tetrahedron) > >> > >> F1 = g*v1*dx + > >> A*inner(nabla_grad(g),nabla_grad(v1))*dx-B*g*(1-(g+m)/Tm)*v1*dx-C*g*inner(nabla_grad(w),nabla_grad(v1))*dx > >> + \ > >> - (g_0*v1*dx - A*inner(nabla_grad(g_0),nabla_grad(v1))*dx + > >> B*g_0*(1-((g_0+m_0)/Tm))*dx+ > > ^ > > Here's missing a test function. > > > >> C*g_0*inner(nabla_grad(g_0),nabla_grad(v1))*v1*dx) > > ^^ ^^ > > This term is quadratic in test function. It must be linear form, > > i.e. linear in test function. > > > > Jan > > > >> > >> > >> F2 = m*v2*dx + Am * inner(nabla_grad(m),nabla_grad(v2))*dx + > >> C*g*inner(nabla_grad(w),nabla_grad(v2))*dx + \ > >> - (m_0*v2*dx -Am*inner(nabla_grad(m_0),nabla_grad(v2))*dx - > >> C*g_0*inner(nabla_grad(w_0),nabla_grad(v2))*dx) > >> > >> > >> F3 = w*v3*dx + D*w*((g+w)/(theta + g+ w))*v3*dx + \ > >> - (w_0*v3*dx - D*w_0*((g_0+w_0)/(theta + g_0 + w_0))*v3*dx) > >> > >> F = F1 + F2 + F3 > >> > >> dF = derivative(F,U,dU) > >> > >> problem = NonlinearVariationalProblem(F, U, J=dF) > >> pdesys_newton = NonlinearVariationalSolver(problem) > >> ###################################################### > >> > >> and the complete error message is: > >> > >> Traceback (most recent call last): > >> File "gbm_sys.py", line 56, in <module> > >> problem = NonlinearVariationalProblem(F, U, J=dF) > >> File > >> "/Applications/FEniCS.app/Contents/Resources/lib/python2.7/site-packages/dolfin/fem/solving.py", > >> line 117, in __init__ F = Form(F, > >> form_compiler_parameters=form_compiler_parameters) File > >> "/Applications/FEniCS.app/Contents/Resources/lib/python2.7/site-packages/dolfin/fem/form.py", > >> line 58, in __init__ sd = form.subdomain_data() File > >> "/Applications/FEniCS.app/Contents/Resources/lib/python2.7/site-packages/ufl/form.py", > >> line 169, in subdomain_data self._analyze_subdomain_data() File > >> "/Applications/FEniCS.app/Contents/Resources/lib/python2.7/site-packages/ufl/form.py", > >> line 327, in _analyze_subdomain_data data = > >> subdomain_data[domain].get(it) KeyError: Domain(Cell('tetrahedron', > >> 3), label=None, data=None) > >> > >> Valentina > >>> Il giorno 15/mag/2015, alle ore 15:46, Jan Blechta > >>> <[email protected]> ha scritto: > >>> > >>> On Fri, 15 May 2015 15:24:49 +0200 > >>> Valentina <[email protected] <mailto:[email protected]>> > >>> wrote: > >>> > >>>> Right, thanks. > >>>> > >>>>>> B*g_0*(1-((g_0+m_0)/Tm))*v1*dx+ > >>>>>> C*g_0*inner(nabla_grad(g_0),nabla_grad(v1))*v1*dx) > >>>> > >>>> I remove that error, but I receive a new kind of error: > >>> > >>> Can you post the complete code reproducing the error and report > >>> FEniCS version used? > >>> > >>> Jan > >>> > >> > > _______________________________________________ fenics-support mailing list [email protected] http://fenicsproject.org/mailman/listinfo/fenics-support
