getfem-users
[Top][All Lists]
Advanced

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

Re: [Getfem-users] [Fwd: Error 807]


From: Renard Yves
Subject: Re: [Getfem-users] [Fwd: Error 807]
Date: Sun, 02 Aug 2009 21:49:48 +0200
User-agent: Dynamic Internet Messaging Program (DIMP) H3 (1.1.2)


I forward the following post from Michael Walker. It was discarded by the list for an unknown reason.


----- Message forwarded from address@hidden -----
    Date : Thu, 30 Jul 2009 14:16:50 +0200 (CEST)
     De : address@hidden
 Objet : Re: [Fwd: Error 807]


Hello,
I have the code below which works on my colleague's computer
running
numarray but crashes on mine 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?
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





reply via email to

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