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+ C*g_0*inner(nabla_grad(g_0),nabla_grad(v1))*v1*dx)


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
> 
>> 
>> Traceback (most recent call last):
>>  File "gbm_sys.py", line 56, in <module>
>>    problem = NonlinearVariationalProblem(F, U)
>>  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:17, Jan Blechta
>>> <[email protected]> ha scritto:
>>> 
>>> On Fri, 15 May 2015 15:07:32 +0200
>>> Valentina <[email protected] <mailto:[email protected]> 
>>> <mailto:[email protected] <mailto:[email protected]>>> wrote:
>>> 
>>>> Hi,
>>>> 
>>>> I need to solve a system of 3 PDE and neumann boundary conditions
>>>> with FEniCS but i have some problem. This is a piece of my code:
>>>> 
>>>> “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))*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))*v1*dx+
>>>> 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) “
>>>> 
>>>> 
>>>> When I run it, I receive this message error:
>>>> 
>>>> "Traceback (most recent call last):
>>>> File "gbm_sys.py", line 56, in <module>
>>>>   problem = NonlinearVariationalProblem(F, U)
>>>> 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 70, in __init__ mpi_comm=mesh.mpi_comm()) File
>>>> "/Applications/FEniCS.app/Contents/Resources/lib/python2.7/site-packages/dolfin/compilemodules/jit.py",
>>>> line 64, in mpi_jit return local_jit(*args, **kwargs) File
>>>> "/Applications/FEniCS.app/Contents/Resources/lib/python2.7/site-packages/dolfin/compilemodules/jit.py",
>>>> line 128, in jit return form_compiler.jit(form, parameters=p) File
>>>> "/Applications/FEniCS.app/Contents/Resources/lib/python2.7/site-packages/ffc/jitcompiler.py",
>>>> line 74, in jit return jit_form(ufl_object, parameters) File
>>>> "/Applications/FEniCS.app/Contents/Resources/lib/python2.7/site-packages/ffc/jitcompiler.py",
>>>> line 130, in jit_form parameters=parameters) File
>>>> "/Applications/FEniCS.app/Contents/Resources/lib/python2.7/site-packages/ffc/compiler.py",
>>>> line 151, in compile_form analysis = analyze_forms(forms,
>>>> parameters) File
>>>> "/Applications/FEniCS.app/Contents/Resources/lib/python2.7/site-packages/ffc/analysis.py",
>>>> line 59, in analyze_forms parameters) for form in forms) File
>>>> "/Applications/FEniCS.app/Contents/Resources/lib/python2.7/site-packages/ffc/analysis.py",
>>>> line 59, in <genexpr> parameters) for form in forms) File
>>>> "/Applications/FEniCS.app/Contents/Resources/lib/python2.7/site-packages/ffc/analysis.py",
>>>> line 132, in _analyze_form form_data = compute_form_data(form) File
>>>> "/Applications/FEniCS.app/Contents/Resources/lib/python2.7/site-packages/ufl/algorithms/compute_form_data.py",
>>>> line 304, in compute_form_data check_form_arity(preprocessed_form,
>>>> form.arguments()) # Currently testing how fast this is File
>>>> "/Applications/FEniCS.app/Contents/Resources/lib/python2.7/site-packages/ufl/algorithms/check_arities.py",
>>>> line 123, in check_form_arity
>>>> check_integrand_arity(itg.integrand(), arguments) File
>>>> "/Applications/FEniCS.app/Contents/Resources/lib/python2.7/site-packages/ufl/algorithms/check_arities.py",
>>>> line 117, in check_integrand_arity args = map_expr_dag(rules, expr,
>>>> compress=False) File
>>>> "/Applications/FEniCS.app/Contents/Resources/lib/python2.7/site-packages/ufl/corealg/map_dag.py",
>>>> line 67, in map_expr_dag r = function(v, *rops) File
>>>> "/Applications/FEniCS.app/Contents/Resources/lib/python2.7/site-packages/ufl/corealg/multifunction.py",
>>>> line 72, in __call__ return self._handlers[o._ufl_typecode_](o,
>>>> *args) File
>>>> "/Applications/FEniCS.app/Contents/Resources/lib/python2.7/site-packages/ufl/algorithms/check_arities.py",
>>>> line 54, in product raise ArityMismatch("Multiplying expressions
>>>> with overlapping form argument number {0}, argument is
>>>> {1}.".format(x.number(), x))
>>>> ufl.algorithms.check_arities.ArityMismatch: Multiplying expressions
>>>> with overlapping form argument number 0, argument is v_0.”
>>>> 
>>>> I don’t know very well the function NonlinearVariationalProblem and
>>>> NonlinearVariationalSolver, and I think there’s a syntax error. How
>>>> can I resolve my problem or where can I see the instruction to
>>>> solve a system of PDE in FEniCS? Thanks.
>>>> 
>>>> King regards,
>>>> Valentina S.

_______________________________________________
fenics-support mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics-support

Reply via email to