[Dune] Dune::Alberta::DuneBoundaryProjection or Dune::DuneBoundaryProjection in AlbertaGrid constructor?

Dmitry Nikolaenko dmitry.nikolaenko at uni-graz.at
Fri Nov 26 16:45:30 CET 2010


  Dear DUNE,

I'm trying to build my program using Alberta (before I could 
successfully with OneDGrid), but I encounter the following error (a 
fragment of output):

g++ -std=c++0x -DHAVE_CONFIG_H -I. -I..  
-I/home/dnikolae/DUNE/dune-common-2.0 
-I/home/dnikolae/DUNE/dune-grid-2.0 -I/home/dnikolae/DUNE/dune-istl-2.0 
-I/usr/lib/mpi/gcc/openmpi/include/openmpi 
-I/usr/lib/mpi/gcc/openmpi/include -pthread -DMPIPP_H -DENABLE_MPI=1 
-I/home/dnikolae/UG/ug/include -DENABLE_UG  
-I/home/dnikolae/Alberta/include/alberta -DALBERTA_DIM=1 
-DENABLE_ALBERTA    -g -O2 -MT counterflow_dune-counterflow_dune.o -MD 
-MP -MF .deps/counterflow_dune-counterflow_dune.Tpo -c -o 
counterflow_dune-counterflow_dune.o `test -f 'counterflow_dune.cc' || 
echo './'`counterflow_dune.cc
/home/dnikolae/DUNE/dune-grid-2.0/dune/grid/albertagrid/projection.hh: 
In constructor 
'Dune::Alberta::DuneGlobalBoundaryProjectionFactory<dim>::DuneGlobalBoundaryProjectionFactory(const 
typename 
Dune::Alberta::ProjectionFactory<Dune::Alberta::DuneBoundaryProjection<dim>, 
Dune::Alberta::DuneGlobalBoundaryProjectionFactory<dim> 
 >::Projection::Projection&) [with int dim = 1]':
/home/dnikolae/DUNE/dune-grid-2.0/dune/grid/albertagrid/albertagrid.cc:104:   
instantiated from 'Dune::AlbertaGrid<dim, dimworld>::AlbertaGrid(const 
Dune::Alberta::MacroData<Dune::AlbertaGrid<dim, dimworld>::dimension>&, 
const std::string&, const 
Dune::DuneBoundaryProjection<Dune::AlbertaGrid<dim, 
dimworld>::dimensionworld>*) [with int dim = 1, int dimworld = 1]'
counterflow_dune.cc:124:   instantiated from here
/home/dnikolae/DUNE/dune-grid-2.0/dune/grid/albertagrid/projection.hh:188: 
error: no matching function for call to 
'Dune::Alberta::DuneBoundaryProjection<1>::DuneBoundaryProjection(const 
Dune::DuneBoundaryProjection<1>&)'
/home/dnikolae/DUNE/dune-grid-2.0/dune/grid/albertagrid/projection.hh:62: note: 
candidates are: 
Dune::Alberta::DuneBoundaryProjection<dim>::DuneBoundaryProjection(const 
std::shared_ptr<const Dune::DuneBoundaryProjection<1> >&) [with int dim = 1]
/home/dnikolae/DUNE/dune-grid-2.0/dune/grid/albertagrid/projection.hh:50: note:                 
Dune::Alberta::DuneBoundaryProjection<1>::DuneBoundaryProjection(const 
Dune::Alberta::DuneBoundaryProjection<1>&)

_The main point of the question is:_ although g++ is invoked with 
(-DALBERTA_DIM=1 -DENABLE_ALBERTA) (it's done automatically by 
dunecontrol --opts=example.opts), I get an error that there's no 
function with a parameter Dune::DuneBoundaryProjection<1>; instead, a 
parameter Dune::Alberta::DuneBoundaryProjection<1> is expected in the 
AlbertaGrid constructor. The thing is that this parameter is passed to 
the constructor of AlbertaGrid by default=0, I just use 
Dune::AlbertaGrid<1,1> grid(macrodata) with a MacroData parameter.

So, I hope that this info is enough for developers to understand what I 
am doing wrong. Can anybody explain?

Thank you in advance,

-- 
M.Sc. Dmitry Nikolaenko
Karl-Franzens-Universität
Institut für Mathematik und Wissenschaftliches Rechnen
Heinrichstraße 22, 8010 Graz, Austria
Tel: +43 316 380 5731
Fax: +43 316 380 9795

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.dune-project.org/pipermail/dune/attachments/20101126/53d425af/attachment.htm>


More information about the Dune mailing list