getfem-users
[Top][All Lists]
Advanced

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

Re: [Getfem-users] Building GetFem++ on Mac OS X 10.6.2


From: Yves Renard
Subject: Re: [Getfem-users] Building GetFem++ on Mac OS X 10.6.2
Date: Wed, 25 Nov 2009 18:40:18 +0100
User-agent: KMail/1.9.9

Dear Houtan,

The problem is located (thanks to Julien).

The loop 

for (TAB::iterator it = rc.begin(); it != rc.end(); ++it) {
        R a = gmm::abs(M(*it, *it));
        if (a > nmax) { nmax = a; imax = *it; }
        if (a < R(EPS)) { rc.erase(*it); columns.erase(ind[*it]); }
 }

at line 331 of gmm/gmm_range_basis.h have to be corrected in the following way

for (TAB::iterator it = rc.begin(); it != rc.end();) {
        TAB::iterator itnext = it; ++itnext;
        R a = gmm::abs(M(*it, *it));
        if (a > nmax) { nmax = a; imax = *it; }
        if (a < R(EPS)) { columns.erase(ind[*it]); rc.erase(*it); }
        it = itnext;
 }

The same correction have to be done at line 271.

Thank you for your help.

Yves.




On mercredi 25 novembre 2009, houtan wrote:
> Dear Yves,
>
> Please see the attached files for the case when N=2 and N=3.
>
> Best,
> Houtan
>
> On Wed, Nov 25, 2009 at 4:54 PM, Yves Renard 
<address@hidden>wrote:
> > Dear Houtan,
> >
> > Strange. This error means that the acces to a dense matrix is wrong.
> > Of course, it does not inform of the function where the error is located.
> > To
> > have this information, it is necessary to recompile whith the -g option :
> >
> > rm test_range_basis.o
> > make test_range_basis CXXFLAGS="-g"
> >
> > run it with gdb :
> >
> > gdb  test_range_basis
> >
> > then :
> >
> > run test_range_basis.param
> >
> > and when the error occurs  :
> >
> > where
> >
> >
> >
> >
> > Yves.
> >
> > On mercredi 25 novembre 2009, houtan wrote:
> > > Dear Yves,
> > >
> > > With N=2, the output from executing ./test_range_basis
> > > test_range_basis.param is:
> > > MESH_TYPE=GT_PK(2,1)
> > > FEM_TYPE=FEM_PK(2,1)
> > > INTEGRATION=IM_TRIANGLE(6)
> > > Selecting Neumann and Dirichlet boundaries
> > > Number of dof : 40401
> > > Number of dof mult : 160801
> > > Assembly of the mass matrix
> > > depart range basis
> > > Segmentation fault
> > >
> > > ------------------------------
> > >
> > > With N=3, the output from executing ./test_range_basis
> > > test_range_basis.param is:
> > > MESH_TYPE=GT_PK(3,1)
> > > FEM_TYPE=FEM_PK(3,3)
> > > INTEGRATION=IM_TETRAHEDRON(6)
> > > Selecting Neumann and Dirichlet boundaries
> > > Number of dof : 97336
> > > Number of dof mult : 226981
> > > Assembly of the mass matrix
> > > depart range basis
> > > terminate called after throwing an instance of 'gmm::gmm_error'
> > >   what():  Error in ../src/gmm/gmm_matrix.h, line 361 :
> > > out of range
> > > Abort
> > >
> > > Best,
> > > Houtan
> > >
> > > On Wed, Nov 25, 2009 at 2:31 PM, Yves Renard
> >
> > <address@hidden>wrote:
> > > > Dear Houtan,
> > > >
> > > > Thank you for your contribution.
> > > > Can you try
> > > > ./test_range_basis test_range_basis.param
> > > > in the "tests" directory and report the error message ?
> > > > (The execution time is rather large, you can change N in
> > > > test_range_basis.param to N = 2).
> > > >
> > > >
> > > > Yves.
> > > >
> > > > On mercredi 25 novembre 2009, houtan wrote:
> > > > > Here are the steps I followed to build GetFem++ on Mac OS X 10.6.2
> > > > > using gcc 4.2.1. There is one issue that remains to be resolved.
> > > > >
> > > > > 1) Download and install gfortran (gfortran-42-5646.pkg) from
> > > > > http://r.research.att.com/tools/
> > > > >
> > > > > 2) ./configure CFLAGS='-arch i686' CXXFLAGS='-arch i686'
> > > > > CPPFLAGS='-arch i686' FCFLAGS='-arch i686' LDFLAGS='-arch i686'
> > > > > BLAS_LIBS='-framework Accelerate -lblas' --prefix='/usr/local'
> > > > >
> > > > > 3) Add the following to the top of src/getfem_interpolated_fem.cc
> > > > > #include <sys/types.h>
> > > > > #ifndef uint
> > > > > #define uint unsigned int
> > > > > #endif
> > > > >
> > > > > Equivalently, you can replace all instances of uint with unsigned
> > > > > or unsigned int in src/getfem_interpolated_fem.cc
> > > > >
> > > > > 4) make
> > > > >
> > > > > 5) make check
> > > > >
> > > > > 6) sudo make install
> > > > >
> > > > > The problem is that make check fails test/test_range_basis. Do you
> >
> > know
> >
> > > > > what the problem may be or do you have any suggestions of how to go
> > > > > about solving the problem? Every other test passes successfully.
> > > > >
> > > > > output:
> > > > > ./test_range_basis
> >
> > /var/folders/jE/jEH8M1+hHsKcpoT6laWMak+++TI/-Tmp-/test_range_basis.param_
> >
> > > >24
> > > >
> > > > >7 2>&1 failed
> > > > > FAIL: ../tests/test_range_basis.pl
> > > > >
> > > > > Best,
> > > > > Houtan
> > > >
> > > > --
> > > >
> > > >  Yves Renard (address@hidden)       tel : (33)
> >
> > 04.72.43.87.08
> >
> > > >  Pole de Mathematiques, INSA-Lyon             fax : (33)
> > > > 04.72.43.85.29 20, rue Albert Einstein
> > > >  69621 Villeurbanne Cedex, FRANCE
> > > > 
> > > > http://math.univ-lyon1.fr/~renard<http://math.univ-lyon1.fr/%7Erenard
> > > >><
> >
> > http://math.univ-lyon1.fr/%7Erenard>
> >
> > > > ---------
> >
> > --
> >
> >  Yves Renard (address@hidden)       tel : (33) 04.72.43.87.08
> >  Pole de Mathematiques, INSA-Lyon             fax : (33) 04.72.43.85.29
> >  20, rue Albert Einstein
> >  69621 Villeurbanne Cedex, FRANCE
> >  http://math.univ-lyon1.fr/~renard <http://math.univ-lyon1.fr/%7Erenard>
> >
> > ---------



-- 

  Yves Renard (address@hidden)       tel : (33) 04.72.43.87.08
  Pole de Mathematiques, INSA-Lyon             fax : (33) 04.72.43.85.29
  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]