Sorry, thank you. Can you say me a way to plot the solution (g, w, m)?
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
