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