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