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

Reply via email to