getfem-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Getfem-users] [Fwd: Error 807]


From: Michael . Walker
Subject: [Getfem-users] [Fwd: Error 807]
Date: Thu, 30 Jul 2009 11:21:37 +0200 (CEST)
User-agent: SquirrelMail/1.4.8-5.el5_3.7

Hello,
I have the code below which works on my colleague's computer running
numarray but crashes on mine using numpy (I have made the necessary
adjustments to the import statement) with error 807. The error message
reads

logic_error exception caught
Traceback (most recent call last):
  File "test diffusion.py", line 77, in <module>
    D.solve(mds)
  File "/usr/local/lib/python2.5/site-packages/getfem/getfem.py", line
1435, in solve
    return self.get("solve", mds, *args)
  File "/usr/local/lib/python2.5/site-packages/getfem/getfem.py", line
1313, in get
    return getfem('mdbrick_get',self.id, *args)
RuntimeError: (Getfem::InterfaceError) -- Error in getfem_superlu.cc, line
214 void gmm::SuperLU_solve(const gmm::csc_matrix<T, 0>&, T*, T*, double&,
int) [with T = double]:
SuperLU solve failed: info=807

Can anyone help me with this?
thanks
Michael Walker

The code is :


from pickle import load
from getfem import *
#from numarray import array,Float64,Int32
from numpy.numarray import array,Float64,Int32
from openalea.container import read_topomesh



##################
#
print "read mesh"
#
##################
mesh,descr = read_topomesh("cell.tr.txt","max")
pos = load(open("cell.pos.txt",'rb'))

##################
#
print "mesh construction"
#
##################
m = Mesh('empty',3)
geo = GeoTrans('GT_PK(2,1)')

pt_trans = {} #correspondance between pid and getfem_pid
for pid,vec in pos.iteritems() :
        coords = array( vec,Float64 )
        coords.transpose()
        getfem_pid, = m.add_point(coords)
        pt_trans[pid] = getfem_pid

face_descr = {} #ordered list of pids to describe a face
for fid in mesh.wisps(2) :
        face_descr[fid] = tuple(mesh.borders(2,fid,2))

face_trans = {} #correspondance between fid and getfem_fid
for fid,pids in face_descr.iteritems() :
        coords = array([pos[pid] for pid in pids],Float64)
        coords.transpose()
        getfem_fid, = m.add_convex(geo,coords)
        face_trans[fid] = getfem_fid

##################
#
print "interpolation method"
#
##################
fem = MeshFem(m,1)
fem.set_fem(Fem('FEM_PK(2,1)'))

##################
#
print "integration method"
#
##################
mim = MeshIm(m)
mim.set_integ(Integ('IM_TRIANGLE(1)'))

##################
#
print "bricks"
#
##################
B = MdBrick('generic_elliptic',mim,fem)

m.set_region(41,m.faces_from_cvid(face_trans[50]))
m.set_region(42,m.faces_from_cvid(face_trans[51]))

C = MdBrick('dirichlet',B,41,fem,'penalized')
C.set_param('R',array([0.]) )

D = MdBrick('dirichlet',C,42,fem,'penalized')
D.set_param('R',array([1.]) )


mds = MdState('real')
D.solve(mds)
state = mds.state()

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&




Michael Walker

Plant Modelling Group
CIRAD, Montpellier
04 67 61 57 27



Michael Walker

Plant Modelling Group
CIRAD, Montpellier
04 67 61 57 27



reply via email to

[Prev in Thread] Current Thread [Next in Thread]