← Back to team overview

ffc team mailing list archive

Re: All components of a list tensor most provide same arguments?

 

On 17. nov. 2010 16:15, Patrick Riesen wrote:
> Nope, won't do differnt with Zero().
> Here is a simple complete program:
> -----------------------------------------------------------------
> cell = interval
> FE = FiniteElement("CG", cell, 2)
>
> v = TestFunction(FE)
> U = TrialFunction(FE)
>
> u = Coefficient(FE)
>
> K = Constant(cell)
> c = Constant(cell)
>
> e = as_matrix([[0.5*u.dx(0)**2, 0.5*u.dx(0)],
>                [0.5*u.dx(0)   ,     Zero()]])
>
> e_dev = e - 0.5*tr(e)*Identity(2)
>
> Ie = 0.5*tr(e_dev*e_dev)
> beta = K*exp(-c*Ie)
>
> L = v.dx(0)*beta*0.5*u.dx(0)*dx    # ok
> a = derivative(L, u, U)            # it fails here
> -----------------------------------------------------------------
>
>


Thanks. I see what is going on, but do not quite know how to fix it
immediately.
Please add a bug report (for UFL, which is where the problem is), and
I'll think about how to fix it.

Here is a simpler example btw:

from ufl.algorithms import compute_form_arities

cell = interval
FE = FiniteElement("CG", cell, 2)
u = Coefficient(FE)

e = as_matrix([[u, 0.0],
               [0.0, 0.0]])
L = tr(e)*dx

U = TrialFunction(FE)
a = derivative(L, u, U)         
compute_form_arities(a)

--
Marie


regards,
> patrick
>
> On 11/17/2010 02:43 PM, Anders Logg wrote:
>> I don't know what that means, but I assume the 0.0 is the problem.
>>
>> Does it work if you write Zero()?
>>
>> -- 
>> Anders
>>
>>
>>
>> On Wed, Nov 17, 2010 at 02:36:54PM +0100, Patrick Riesen wrote:
>>> hello,
>>> i'm trying to update my code for the most recent fenics development
>>> versions.
>>>
>>> compiling+demos for ffc/ufl/dolfin etc. is all ok.
>>>
>>> now my code has a problem, i have the following in the ufl-file:
>>>
>>> ****
>>> e = as_matrix([[0.5*u.dx(0)**2, 0.5*u.dx(0)],
>>>                 [0.5*u.dx(0)   ,        0.0]])
>>>
>>> e_dev = e - 0.5*tr(e)*Identity(2)
>>>
>>> Ie = 0.5*tr(e_dev*e_dev)
>>> beta = K*exp(-c*Ie)
>>>
>>> ****
>>>
>>> note:
>>> the variable u is a coefficient from a mixed element as
>>> uw = Coefficient(ME)
>>> u, w = split(uw)
>>>
>>>
>>> compiling with ffc now terminates after the compiler stage 1 and gives:
>>>
>>> All components of a list tensor most provide same arguments
>>>
>>> *** FFC: All components of a list tensor most provide same arguments
>>> *** FFC: To get more information about this error, rerun FFC with
>>> --verbose.
>>>
>>> what does this mean? how do i need to fix my syntax above?
>>>
>>> regards,
>>> patrick
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~ffc
>>> Post to     : ffc@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~ffc
>>> More help   : https://help.launchpad.net/ListHelp
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~ffc
> Post to     : ffc@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~ffc
> More help   : https://help.launchpad.net/ListHelp




Follow ups

References