[Dune] adapting geometry grid
Marco Cisternino
marco.cisternino at optimad.it
Fri Aug 31 12:37:34 CEST 2012
Hi to everybody,
is there anybody who can call the update() method of a geometry grid
(built with a DiscreteCoordFunction) with success?
If yes, could he/she explain me how?
Does anyone ha an example of the correct way to adapt such a geometry
grid, please?
I have a error when AdaptCoordFunction calls coordFunction.adapt(), i.e.
when DiscreteCoordFunctionInterface adapt method calls asImp.adapt()
implying a call to protected adapt method in DiscreteCoordFunction. From
here the following error:
make[1]: ingresso nella directory
"/home/marco/workspace/ThalesAlenia/lib/dune/2.1.1/dune-foo/src"
g++ -std=c++0x -DHAVE_CONFIG_H -I. -I..
-I/home/marco/workspace/ThalesAlenia/lib/dune/2.1.1/dune-common-2.1.1
-I/home/marco/workspace/ThalesAlenia/lib/dune/2.1.1/dune-grid-2.1.1
-I/home/marco/soft/petsc-3.1-p3/linux-gnu-intel-mkl/include -pthread
-DMPIPP_H -DENABLE_MPI=1
-I/home/marco/soft/petsc-3.1-p3/linux-gnu-intel-mkl/include -pthread
-DMPIPP_H -DENABLE_MPI=1 -I/usr/local/include
-I/usr/local/include/serial -I/usr/local/include/duneinterface
-DENABLE_ALUGRID -I/usr/local/include/parallel -pipe -g -MT
dune_foo-dune_foo.o -MD -MP -MF .deps/dune_foo-dune_foo.Tpo -c -o
dune_foo-dune_foo.o `test -f 'dune_foo.cc' || echo './'`dune_foo.cc
In file included from
/home/marco/workspace/ThalesAlenia/lib/dune/2.1.1/dune-grid-2.1.1/dune/grid/geometrygrid/cornerstorage.hh:7,
from
/home/marco/workspace/ThalesAlenia/lib/dune/2.1.1/dune-grid-2.1.1/dune/grid/geometrygrid/entity.hh:8,
from
/home/marco/workspace/ThalesAlenia/lib/dune/2.1.1/dune-grid-2.1.1/dune/grid/geometrygrid/grid.hh:13,
from amr.cc:8,
from dune_foo.cc:14:
/home/marco/workspace/ThalesAlenia/lib/dune/2.1.1/dune-grid-2.1.1/dune/grid/geometrygrid/coordfunction.hh:
In member function ‘void Dune::DiscreteCoordFunctionInterface<ct, dimR,
Impl>::adapt() [with ct = double, unsigned int dimR = 3u, Impl =
DeformationDiscreteFunction2<Dune::FieldVector<double, 3>,
Dune::ALUCubeGrid<3, 3>,
Dune::LeafMultipleCodimMultipleGeomTypeMapper<Dune::ALUCubeGrid<3, 3>,
Dune::MCMGElementLayout>,
std::vector<MyParametrization<Dune::FieldVector<double, 3>,
Dune::FieldVector<double, 3> >,
std::allocator<MyParametrization<Dune::FieldVector<double, 3>,
Dune::FieldVector<double, 3> > > > >]’:
/home/marco/workspace/ThalesAlenia/lib/dune/2.1.1/dune-grid-2.1.1/dune/grid/geometrygrid/coordfunction.hh:293:
instantiated from ‘static void
Dune::GeoGrid::AdaptCoordFunction<Dune::DiscreteCoordFunctionInterface<ct,
dimR, Impl> >::adapt(Dune::DiscreteCoordFunctionInterface<ct, dimR,
Impl>&) [with ct = double, unsigned int dimR = 3u, Impl =
DeformationDiscreteFunction2<Dune::FieldVector<double, 3>,
Dune::ALUCubeGrid<3, 3>,
Dune::LeafMultipleCodimMultipleGeomTypeMapper<Dune::ALUCubeGrid<3, 3>,
Dune::MCMGElementLayout>,
std::vector<MyParametrization<Dune::FieldVector<double, 3>,
Dune::FieldVector<double, 3> >,
std::allocator<MyParametrization<Dune::FieldVector<double, 3>,
Dune::FieldVector<double, 3> > > > >]’
/home/marco/workspace/ThalesAlenia/lib/dune/2.1.1/dune-grid-2.1.1/dune/grid/geometrygrid/grid.hh:869:
instantiated from ‘void Dune::GeometryGrid<HostGrid, CoordFunction,
Allocator>::update() [with HostGrid = Dune::ALUCubeGrid<3, 3>,
CoordFunction = DeformationDiscreteFunction2<Dune::FieldVector<double,
3>, Dune::ALUCubeGrid<3, 3>,
Dune::LeafMultipleCodimMultipleGeomTypeMapper<Dune::ALUCubeGrid<3, 3>,
Dune::MCMGElementLayout>,
std::vector<MyParametrization<Dune::FieldVector<double, 3>,
Dune::FieldVector<double, 3> >,
std::allocator<MyParametrization<Dune::FieldVector<double, 3>,
Dune::FieldVector<double, 3> > > > >, Allocator = std::allocator<void>]’
amr.cc:251: instantiated from ‘bool adapting(G&, C&, M&, const V&, W&,
Q&, Dune::MPIHelper&, char, int, int, int, double, double) [with G =
Dune::ALUCubeGrid<3, 3>, C = Dune::GeometryGrid<Dune::ALUCubeGrid<3, 3>,
DeformationDiscreteFunction2<Dune::FieldVector<double, 3>,
Dune::ALUCubeGrid<3, 3>,
Dune::LeafMultipleCodimMultipleGeomTypeMapper<Dune::ALUCubeGrid<3, 3>,
Dune::MCMGElementLayout>,
std::vector<MyParametrization<Dune::FieldVector<double, 3>,
Dune::FieldVector<double, 3> >,
std::allocator<MyParametrization<Dune::FieldVector<double, 3>,
Dune::FieldVector<double, 3> > > > >, std::allocator<void> >, M =
Dune::LeafMultipleCodimMultipleGeomTypeMapper<Dune::ALUCubeGrid<3, 3>,
Dune::MCMGElementLayout>, V = std::vector<double, std::allocator<double>
>, W = std::vector<double, std::allocator<double> >, Q =
std::vector<MyParametrization<Dune::FieldVector<double, 3>,
Dune::FieldVector<double, 3> >,
std::allocator<MyParametrization<Dune::FieldVector<double, 3>,
Dune::FieldVector<double, 3> > > >]’
dune_foo.cc:134: instantiated from here
/home/marco/workspace/ThalesAlenia/lib/dune/2.1.1/dune-grid-2.1.1/dune/grid/geometrygrid/coordfunction.hh:216:
error: ‘void Dune::DiscreteCoordFunction<ct, dimR, Impl>::adapt() [with
ct = double, unsigned int dimR = 3u, Impl =
DeformationDiscreteFunction2<Dune::FieldVector<double, 3>,
Dune::ALUCubeGrid<3, 3>,
Dune::LeafMultipleCodimMultipleGeomTypeMapper<Dune::ALUCubeGrid<3, 3>,
Dune::MCMGElementLayout>,
std::vector<MyParametrization<Dune::FieldVector<double, 3>,
Dune::FieldVector<double, 3> >,
std::allocator<MyParametrization<Dune::FieldVector<double, 3>,
Dune::FieldVector<double, 3> > > > >]’ is protected
/home/marco/workspace/ThalesAlenia/lib/dune/2.1.1/dune-grid-2.1.1/dune/grid/geometrygrid/coordfunction.hh:179:
error: within this context
make[1]: *** [dune_foo-dune_foo.o] Errore 1
make[1]: uscita dalla directory
"/home/marco/workspace/ThalesAlenia/lib/dune/2.1.1/dune-foo/src"
make: *** [all-recursive] Errore 1
Thanks a lot.
Marco
More information about the Dune
mailing list