← Back to team overview

ffc team mailing list archive

Re: Re: Elasticity.form broken?

 

Anders Logg wrote:
I tried the latest FIAT from CVS and the latest FFC from Mercurial
with the latest Elasticity.form from DOLFIN and it works fine for me.

From your original report, it looks like the problem may be with
Python Numeric. Which version do you have installed? (I have 23.8-4
from Debian/Ubuntu.)

24.0 from Suse 10.0

You are right, it works fine both with 23.8 and 24.2, so I'll stick to 24.2
I've not checked with 24.1.

With 24.0:


marco@mbdyn-mm:~/Programmi/Dolphin/dolfin/src/modules/elasticity/dolfin>
python Elasticity.py
Traceback (most recent call last):
  File "Elasticity.py", line 39, in ?
    sigma = E(epsilon(u), lmbda, mu)
  File "Elasticity.py", line 35, in E
    Ee = 2.0 * mult(mu, e) + mult(lmbda, mult(trace(e), Identity(d)))
  File
  "/home/marco/local/Fenics/lib/python/ffc/compiler/operators.py",
line 105, in mult
    vv = Numeric.array(v)
ValueError: invalid input sequence

Try to print out v (print v) on line 105 in operators.py and see what
you get. (Then compile with ffc -d1 for debugging and tracebacks.)

print v:
c1

ffc -d1 Elasticity.form
This is FFC, the FEniCS Form Compiler, version 0.2.5.
For further information, go to http://www/fenics.org/ffc/.
-d 1
Parsing Elasticity.form
Output written to Elasticity.py
Traceback (most recent call last):
  File "/home/marco/local/Fenics/bin/ffc", line 121, in ?
    main(sys.argv[1:])
  File "/home/marco/local/Fenics/bin/ffc", line 81, in main
    execfile(outname, ns)
  File "Elasticity.py", line 39, in ?
    sigma = E(epsilon(u), lmbda, mu)
  File "Elasticity.py", line 35, in E
    Ee = 2.0 * mult(mu, e) + mult(lmbda, mult(trace(e), Identity(d)))
  File "/home/marco/local/Fenics/lib/python/ffc/compiler/operators.py",
line 106, in mult
    vv = Numeric.array(v)
ValueError: invalid input sequence



You can also try the following in a Python shell and see if it works:

from ffc import *
from Numeric import *
element = FiniteElement("Lagrange", "triangle",1)
v = BasisFunction(element)
array(v)
vi0

Same error for me:

from ffc import *
from Numeric import *
element = FiniteElement("Lagrange", "triangle",1)
v = BasisFunction(element)
array(v)
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ValueError: invalid input sequence


Thanks,

Marco




Follow ups

References