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 and laplacian.pram
than i have given the following command on my terminal
g++ -o output.o
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: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: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: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: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: At global scope:
laplacian.cc:76:27: error: ‘std’ does not name a type
struct laplacian_problem {std
^
laplacian.cc: In member function ‘void laplacian_problem::init()’:
laplacian.cc:149:3: error: expected primary-_expression_ before ‘getfem’
getfem::pfem pf_u = getfem::fem_descriptor(FEM_TYPE);
^
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:190:19: error: ‘NEUMANN_BOUNDARY_NUM’ was not declared in this scope
mesh.region(NEUMANN_BOUNDARY_NUM).add(i.cv(), i.f());
^
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: In member function ‘void laplacian_problem::assembly()’:
laplacian.cc:219:6: error: ‘NEUMANN_BOUNDARY_NUM’ was not declared in this scope
NEUMANN_BOUNDARY_NUM);
^
laplacian.cc:226:9: error: ‘DIRICHLET_BOUNDARY_NUM’ was not declared in this scope
DIRICHLET_BOUNDARY_NUM, D);
^
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:76:27: error: ‘std’ does not name a type
struct laplacian_problem {std
^
laplacian.cc: In member function ‘void laplacian_problem::init()’:
laplacian.cc:149:3: error: expected primary-_expression_ before ‘getfem’
getfem::pfem pf_u = getfem::fem_descriptor(FEM_TYPE);
^
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:190:19: error: ‘NEUMANN_BOUNDARY_NUM’ was not declared in this scope
mesh.region(NEUMANN_BOUNDARY_NUM).add(i.cv(), i.f());
^
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: In member function ‘void laplacian_problem::assembly()’:
laplacian.cc:219:6: error: ‘NEUMANN_BOUNDARY_NUM’ was not declared in this scope
NEUMANN_BOUNDARY_NUM);
^
laplacian.cc:226:9: error: ‘DIRICHLET_BOUNDARY_NUM’ was not declared in this scope
DIRICHLET_BOUNDARY_NUM, D);
^
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:
address@hidden;
address@hidden
From:
address@hidden
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 -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
address@hidden
https://mail.gna.org/listinfo/getfem-users
--
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
---------