getfem-users
[Top][All Lists]
Advanced

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

Re: [Getfem-users] bug in getfem


From: Yves Renard
Subject: Re: [Getfem-users] bug in getfem
Date: Mon, 22 Oct 2007 19:01:06 +0200
User-agent: KMail/1.9.5

On Saturday 20 October 2007 11:56, Alexander Bulovyatov wrote:
> Hello Mr. Renard,
>
> >> It seems I found an error in GetFem 3.0.1. Please compile and run the
> >> file I sent.
> >>
> >> The output is DOFs are located on boundary of unit square. Must be 20
> >> DOFs. The error is in "dof_on_set", i.e. "dof_on_region".
> >
> > I ran your program and got 20 dofs. Seems to be ok.
> > May be I did some corrections which fix the problem ...
> > I uploaded a new version of getfem++-3.0.1.tar.gz on gna, may be you can
> > test your program with it.
>
> My system is a x86-64 with linux kernel 2.6.13, gcc 4.0.2. Probably,
> problem is in 64-bit architecture, since it has own FPU environment
> and rounding settings. Please test on x86-64 system.
>
> Please see the logs below.
>
> Regards, Alexander.

It found the bug !
it comes from your loop (line 113).

for (dal::bv_visitor i(mf_u.dof_on_set(PER_BOUND)); !i.finished(); ++i) 
{ ... }

in fact the object mf_u.dof_on_set(PER_BOUND) is deleted after the 
initialisation of i and the result is not valid. You may replace this by

dal::bit_vector nn = mf_u.dof_on_set(PER_BOUND)
for (dal::bv_visitor i(nn); !i.finished(); ++i)
{ ... }

Yves.



-- 

  Yves Renard (address@hidden)       tel : (33) 04.72.43.87.08
  Pole de Mathematiques,                       fax : (33) 04.72.43.85.29
  INSA de Lyon, Universite de Lyon
  20, rue Albert Einstein
  69621 Villeurbanne Cedex, FRANCE
  http://math.univ-lyon1.fr/~renard

---------



reply via email to

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