Dear Asim,

the macro `GMM_STANDARD_CATCH_ERROR` has only to be used with a try
instruction

try {
 .. C++-commands ...
} GMM_STANDARD_CATCH_ERROR;

but this is not mandatory at all.

Yves.


Le 28/05/2016 21:15, asim ullah khan a écrit :
>
> Dear Expert users,
> thanks fro the prompt reply.
>
> I have written the following command on my command line
>  
> g++ -std=c++11 -I /usr/local/include -o result.o
>
> (my include directory has following three folders
> 1- getfem
> 2-gmm
> 3- getfem_boost )
>
> Now some error hs been solved but still some exist is that due to some
> wrong making of library Although it has passed 37 test out of 38 results.
> error list is as under
>
> laplacian.cc: In member function ‘void laplacian_problem::init()’:
> laplacian.cc:122:37: error: expected primary-expression before ‘catch’
>    std::vector<size_type> nsubdiv(N);GMM_STANDARD_CATCH_ERROR
>                                      ^
> laplacian.cc:122:37: error: expected primary-expression before ‘catch’
>    std::vector<size_type> nsubdiv(N);GMM_STANDARD_CATCH_ERROR
>                                      ^
> laplacian.cc:122:37: error: expected primary-expression before ‘catch’
>    std::vector<size_type> nsubdiv(N);GMM_STANDARD_CATCH_ERROR
>                                      ^
> laplacian.cc:122:37: error: expected primary-expression before ‘catch’
>    std::vector<size_type> nsubdiv(N);GMM_STANDARD_CATCH_ERROR
>                                      ^
> laplacian.cc:122:37: error: expected primary-expression before ‘catch’
>    std::vector<size_type> nsubdiv(N);GMM_STANDARD_CATCH_ERROR
>                                      ^
> laplacian.cc:122:37: error: expected primary-expression before ‘catch’
>    std::vector<size_type> nsubdiv(N);GMM_STANDARD_CATCH_ERROR
>                                      ^
> laplacian.cc:122:37: error: expected primary-expression before ‘catch’
>    std::vector<size_type> nsubdiv(N);GMM_STANDARD_CATCH_ERROR
>                                      ^
> laplacian.cc: In member function ‘void laplacian_problem::assembly()’:
> laplacian.cc:196:38: error: ‘o’ was not declared in this scope
>    size_type nb_dof = mf_u.nb_dof();1-o=c++11
>                                       ^
> laplacian.cc:196:40: error: ‘c’ was not declared in this scope
>    size_type nb_dof = mf_u.nb_dof();1-o=c++11
>                                         ^
> laplacian.cc:209:30: error: ‘nb_dof_rhs’ was not declared in this scope
>    std::vector<scalar_type> F(nb_dof_rhs);
>                               ^
> laplacian.cc: In member function ‘bool laplacian_problem::solve()’:
> laplacian.cc:291:54: error: ‘o’ was not declared in this scope
>         << gmm::uclock_sec() - time << " seconds\n";1-o=c++11
>                                                       ^
> laplacian.cc:291:56: error: ‘c’ was not declared in this scope
>         << gmm::uclock_sec() - time << " seconds\n";1-o=c++11
>
>
>
> I have been stuck with this library from two weeks. so I must to
> produce some result to defey my claim for using this library for my
> PhD work. thanking in advance
> regards
>
>
> ASIM ULLAH KHAN
>
>
>
> ------------------------------------------------------------------------
> From: [email protected]
> To: [email protected]
> Subject: Re: [Getfem-users] file error(compilation)
> Date: Sat, 28 May 2016 15:00:07 +0000
>
> Dear Asim,
> You forgot to mention the include directory in the line you use to
> compile, you should add to that line -I/yourincludepath. For example
> in my case I compile with 
>
>     g++ -o output.o laplacian.cc
>     <http://laplacian.cc> -I/usr/local/getfem-4.3-11/include
>
>
> Also, when you create the executable file, you should add the linking
> directory with -L/yourlinkpath, 
> which in my case is /usr/local/getfem-4.3-11/lib/libgetfem.a 
>
> So to create an executable out of laplacian.cc <http://laplacian.cc>,
> I would do
> g++ -o output laplacian.cc
> <http://laplacian.cc> -I/usr/local/getfem-4.3-11/include
> -L/usr/local/getfem-4.3-11/lib/libgetfem.a 
>
> Of course in your case the directories will be different.
>
> Best,
>
> Bianca 
>
> Il giorno 28 mag 2016, alle ore 15:35, asim ullah khan
> <[email protected] <mailto:[email protected]>> ha scritto:
>
>
>     Respected Users,
>
>
>     I have followed following steps
>     1- first i configure using command given on webpage
>     2- i make and than make test
>     3- i make install
>
>     (my test report passed 37 out of 38 tests)
>
>     after that i want to make some basic program in getfem++, so for
>     understanding the method of writing program i picked one example from
>     test folder and copied it to /document/test1
>     i picked two files
>     laplacian.cc <http://laplacian.cc> and laplacian.pram
>
>     than i have given the following command on my terminal
>
>     g++ -o output.o laplacian.cc <http://laplacian.cc>
>     (same command is also tried with      'make laplacian' )
>     follwing list of error generated as below
>
>     error
>     In file included from
>     /usr/local/include/getfem/getfem_mesh_slice.h:40:0,
>                      from /usr/local/include/getfem/getfem_export.h:42,
>                      from laplacian.cc <http://laplacian.cc>:35:
>     /usr/local/include/getfem/getfem_mesh_slicers.h:450:10: error:
>     ‘unique_ptr’ in namespace ‘std’ does not name a template type
>          std::unique_ptr<const mesh_slice_cv_dof_data_base> mfU;
>               ^
>     /usr/local/include/getfem/getfem_mesh_slicers.h: In constructor
>     ‘getfem::slicer_isovalues::slicer_isovalues(const
>     getfem::mesh_slice_cv_dof_data_base&, bgeot::scalar_type, int)’:
>     /usr/local/include/getfem/getfem_mesh_slicers.h:468:31: error:
>     class ‘getfem::slicer_isovalues’ does not have any field named ‘mfU’
>            slicer_volume(orient_), mfU(mfU_.clone()), val(val_) {
>                                    ^
>     In file included from /usr/local/include/gmm/gmm_ref.h:46:0,
>                      from /usr/local/include/gmm/gmm_def.h:40,
>                      from /usr/local/include/gmm/gmm_kernel.h:41,
>                      from
>     /usr/local/include/getfem/getfem_assembling_tensors.h:40,
>                      from
>     /usr/local/include/getfem/getfem_assembling.h:44,
>                      from laplacian.cc <http://laplacian.cc>:34:
>     /usr/local/include/getfem/getfem_mesh_slicers.h:469:7: error:
>     ‘mfU’ was not declared in this scope
>            GMM_ASSERT1(mfU->pmf->get_qdim() == 1,
>            ^
>     In file included from
>     /usr/local/include/getfem/getfem_mesh_slice.h:40:0,
>                      from /usr/local/include/getfem/getfem_export.h:42,
>                      from laplacian.cc <http://laplacian.cc>:35:
>     /usr/local/include/getfem/getfem_mesh_slicers.h:471:23: error:
>     ‘mfU’ was not declared in this scope
>              val_scaling = mfU->maxval();
>                            ^
>     In file included from laplacian.cc <http://laplacian.cc>:35:0:
>     /usr/local/include/getfem/getfem_export.h: At global scope:
>     /usr/local/include/getfem/getfem_export.h:73:10: error:
>     ‘unique_ptr’ in namespace ‘std’ does not name a template type
>          std::unique_ptr<mesh_fem> pmf;
>               ^
>     /usr/local/include/getfem/getfem_export.h: In member function
>     ‘void getfem::vtk_export::write_point_data(const
>     getfem::mesh_fem&, const VECT&, const string&)’:
>     /usr/local/include/getfem/getfem_export.h:203:34: error: ‘pmf’ was
>     not declared in this scope
>            std::vector<scalar_type> V(pmf->nb_dof() * Q);
>                                       ^
>     /usr/local/include/getfem/getfem_export.h: In member function
>     ‘void getfem::vtk_export::write_dataset_(const VECT&, const
>     string&, bgeot::size_type, bool)’:
>     /usr/local/include/getfem/getfem_export.h:240:22: error: ‘pmf’ was
>     not declared in this scope
>                         : pmf->linked_mesh().convex_index().card();
>                           ^
>     /usr/local/include/getfem/getfem_export.h: At global scope:
>     /usr/local/include/getfem/getfem_export.h:296:10: error:
>     ‘unique_ptr’ in namespace ‘std’ does not name a template type
>          std::unique_ptr<mesh_fem> pmf;
>               ^
>     /usr/local/include/getfem/getfem_export.h: In member function
>     ‘void getfem::dx_export::write_point_data(const getfem::mesh_fem&,
>     const VECT&, std::__cxx11::string)’:
>     /usr/local/include/getfem/getfem_export.h:449:34: error: ‘pmf’ was
>     not declared in this scope
>            std::vector<scalar_type> V(pmf->nb_dof() * Q);
>                                       ^
>     /usr/local/include/getfem/getfem_export.h: In member function
>     ‘void getfem::dx_export::write_dataset_(const VECT&,
>     std::__cxx11::string, bool)’:
>     /usr/local/include/getfem/getfem_export.h:485:22: error: ‘pmf’ was
>     not declared in this scope
>                         : pmf->linked_mesh().convex_index().card();
>                           ^
>     /usr/local/include/getfem/getfem_export.h: At global scope:
>     /usr/local/include/getfem/getfem_export.h:551:10: error:
>     ‘unique_ptr’ in namespace ‘std’ does not name a template type
>          std::unique_ptr<mesh_fem> pmf;
>               ^
>     /usr/local/include/getfem/getfem_export.h: In member function
>     ‘void getfem::pos_export::write(const getfem::mesh_fem&, const
>     VECT&, const string&)’:
>     /usr/local/include/getfem/getfem_export.h:616:34: error: ‘pmf’ was
>     not declared in this scope
>            std::vector<scalar_type> V(pmf->nb_dof()*qdim_u);
>                                       ^
>     laplacian.cc <http://laplacian.cc>: At global scope:
>     laplacian.cc <http://laplacian.cc>:76:27: error: ‘std’ does not
>     name a type
>      struct laplacian_problem {std
>                                ^
>     laplacian.cc <http://laplacian.cc>: In member function ‘void
>     laplacian_problem::init()’:
>     laplacian.cc <http://laplacian.cc>:149:3: error: expected
>     primary-expression before ‘getfem’
>        getfem::pfem pf_u = getfem::fem_descriptor(FEM_TYPE);
>        ^
>     laplacian.cc <http://laplacian.cc>:153:48: error: ‘pf_u’ was not
>     declared in this scope
>        mf_u.set_finite_element(mesh.convex_index(), pf_u);
>                                                     ^
>     laplacian.cc <http://laplacian.cc>:190:19: error:
>     ‘NEUMANN_BOUNDARY_NUM’ was not declared in this scope
>            mesh.region(NEUMANN_BOUNDARY_NUM).add(i.cv(), i.f());
>                        ^
>     laplacian.cc <http://laplacian.cc>:192:19: error:
>     ‘DIRICHLET_BOUNDARY_NUM’ was not declared in this scope
>            mesh.region(DIRICHLET_BOUNDARY_NUM).add(i.cv(), i.f());
>                        ^
>     laplacian.cc <http://laplacian.cc>: In member function ‘void
>     laplacian_problem::assembly()’:
>     laplacian.cc <http://laplacian.cc>:219:6: error:
>     ‘NEUMANN_BOUNDARY_NUM’ was not declared in this scope
>           NEUMANN_BOUNDARY_NUM);
>           ^
>     laplacian.cc <http://laplacian.cc>:226:9: error:
>     ‘DIRICHLET_BOUNDARY_NUM’ was not declared in this scope
>              DIRICHLET_BOUNDARY_NUM, D);
>              ^
>     laplacian.cc <http://laplacian.cc>:239:18: error:
>     ‘DIRICHLET_BOUNDARY_NUM’ was not declared in this scope
>            mf_rhs, F, DIRICHLET_BOUNDARY_NUM);
>
>     than i also tried to build by using -std=c++11 switch but
>     folllowing list of errors are listed
>
>     laplacian.cc <http://laplacian.cc>:76:27: error: ‘std’ does not
>     name a type
>      struct laplacian_problem {std
>                                ^
>     laplacian.cc <http://laplacian.cc>: In member function ‘void
>     laplacian_problem::init()’:
>     laplacian.cc <http://laplacian.cc>:149:3: error: expected
>     primary-expression before ‘getfem’
>        getfem::pfem pf_u = getfem::fem_descriptor(FEM_TYPE);
>        ^
>     laplacian.cc <http://laplacian.cc>:153:48: error: ‘pf_u’ was not
>     declared in this scope
>        mf_u.set_finite_element(mesh.convex_index(), pf_u);
>                                                     ^
>     laplacian.cc <http://laplacian.cc>:190:19: error:
>     ‘NEUMANN_BOUNDARY_NUM’ was not declared in this scope
>            mesh.region(NEUMANN_BOUNDARY_NUM).add(i.cv(), i.f());
>                        ^
>     laplacian.cc <http://laplacian.cc>:192:19: error:
>     ‘DIRICHLET_BOUNDARY_NUM’ was not declared in this scope
>            mesh.region(DIRICHLET_BOUNDARY_NUM).add(i.cv(), i.f());
>                        ^
>     laplacian.cc <http://laplacian.cc>: In member function ‘void
>     laplacian_problem::assembly()’:
>     laplacian.cc <http://laplacian.cc>:219:6: error:
>     ‘NEUMANN_BOUNDARY_NUM’ was not declared in this scope
>           NEUMANN_BOUNDARY_NUM);
>           ^
>     laplacian.cc <http://laplacian.cc>:226:9: error:
>     ‘DIRICHLET_BOUNDARY_NUM’ was not declared in this scope
>              DIRICHLET_BOUNDARY_NUM, D);
>              ^
>     laplacian.cc <http://laplacian.cc>:239:18: error:
>     ‘DIRICHLET_BOUNDARY_NUM’ was not declared in this scope
>            mf_rhs, F, DIRICHLET_BOUNDARY_NUM);
>
>     can you help me in  understanding the problem. I am not so good in
>     programming at advance level. I there any problem while reading
>     the file from parameter file
>
>     Is there also any compiled tutorials for getfem++ using C++
>     without any interface.
>
>     thanking in advance
>     REgards
>
>     ASIM ULLAH KHAN
>
>
>
>     ------------------------------------------------------------------------
>     Subject: Re: [Getfem-users] any comprehensive guide
>     To: [email protected] <mailto:[email protected]>;
>     [email protected] <mailto:[email protected]>
>     From: [email protected] <mailto:[email protected]>
>     Date: Fri, 27 May 2016 08:15:07 +0200
>
>
>
>     Dear Asim Ullah Khan,
>
>     It should work if you performed a "make install". Can you report
>     the error you got ?
>
>     Yves.
>
>
>     Le 26/05/2016 17:55, asim ullah khan a écrit :
>
>         Respected group memebers
>
>         Is there any detailed guide for getfem with steps to follow
>         for making a fem program. The examples given in test code i
>         tried to compiled them using eclipse but i am not successful.
>         I m newbe to ubuntu and has just shifted from windows.
>
>         I am copying test files with parameter file in the seperate
>         folder and than open that file in eclipse CDT for c++ and than
>         try to understand and when i issue the command
>
>         $ g++  -std=c++11 inputfilename.cc <http://inputfilename.cc> 
>         -o outputfilename.o i get compilation failed although all
>         library files are already in the include folder
>
>         (I m using ubuntu 15.10)
>
>         Is there any detailed document to describe the step to follow
>         for compiling the files and detailed tutorials set.
>
>         Regards
>
>         ASIM ULLAH KHAN
>
>
>
>         _______________________________________________
>         Getfem-users mailing list
>         [email protected] <mailto:[email protected]>
>         https://mail.gna.org/listinfo/getfem-users
>
>
>
>     -- 
>
>       Yves Renard ([email protected] 
> <mailto:[email protected]>)       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>
>
>     ---------
>
>
>
>     _______________________________________________
>     Getfem-users mailing list
>     [email protected] <mailto:[email protected]>
>     https://mail.gna.org/listinfo/getfem-users
>
>
>
> _______________________________________________
> Getfem-users mailing list
> [email protected]
> https://mail.gna.org/listinfo/getfem-users


-- 

  Yves Renard ([email protected])       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

---------

_______________________________________________
Getfem-users mailing list
[email protected]
https://mail.gna.org/listinfo/getfem-users

Reply via email to