compilation error of the example "gridRefinement"

Dear Sir,
I met an error when I compile the example “/showCases/gridRefinement2d”, which has the following error message:


/jin/palabos/palabos-v1.2r0/externalLibraries -I. /users/jin/palabos/palabos-v1.2r0/src/io/serializerIO.cpp
mpicxx -o /users/jin/palabos/palabos-v1.2r0/src/io/serializerIO_3D.o -c -Wall -Wnon-virtual-dtor -O3 -DPLB_MPI_PARALLEL -DPLB_USE_POSIX -I/users/jin/palabos/palabos-v1.2r0/src -I/users/jin/palabos/palabos-v1.2r0/externalLibraries -I. /users/jin/palabos/palabos-v1.2r0/src/io/serializerIO_3D.cpp
cavity2d.cpp: In function ‘int main(int, char**)’:
cavity2d.cpp:139: error: ‘class plb::MultiGridManagement2D’ has no member named ‘parallelizeX’
cavity2d.cpp:149: error: no matching function for call to ‘plb::MultiGridLattice2D<double, plb::descriptors::D2Q9Descriptor>::MultiGridLattice2D(plb::MultiGridManagement2D&, std::vector<plb::BlockCommunicator2D*, std::allocatorplb::BlockCommunicator2D* >, std::vector<plb::CombinedStatistics*, std::allocatorplb::CombinedStatistics* >, plb::Dynamics<double, plb::descriptors::D2Q9Descriptor>*&, plb::plint&)’

In fact, both version v1.2r0 and v1.1r0 have the same compilation error. Could you check?

Thank you,
Yan

think@ubuntu:~/palabos-v1.2r0/examples/showCases/gridRefinement2d$ make
python …/…/…/scons/scons.py -j 2 -j 2 -f …/…/…/SConstruct palabosRoot=…/…/… projectFiles=“cavity2d.cpp” optimize=true debug=false profile=false MPIparallel=true SMPparallel=false usePOSIX=true serialCXX=g++ parallelCXX=mpicxx compileFlags="-Wall -Wnon-virtual-dtor" linkFlags="" optimFlags="-O3" debugFlags="-g" profileFlags="-pg" libraryPaths="" includePaths="." libraries=""
scons: Reading SConscript files …
scons: done reading SConscript files.
scons: Building targets …
mpicxx -o cavity2d.o -c -Wall -Wnon-virtual-dtor -O3 -DPLB_MPI_PARALLEL -DPLB_USE_POSIX -I/home/think/palabos-v1.2r0/src -I/home/think/palabos-v1.2r0/externalLibraries -I. cavity2d.cpp
mpicxx -o /home/think/palabos-v1.2r0/src/io/serializerIO_2D.o -c -Wall -Wnon-virtual-dtor -O3 -DPLB_MPI_PARALLEL -DPLB_USE_POSIX -I/home/think/palabos-v1.2r0/src -I/home/think/palabos-v1.2r0/externalLibraries -I. /home/think/palabos-v1.2r0/src/io/serializerIO_2D.cpp
mpicxx -o /home/think/palabos-v1.2r0/src/io/colormaps.o -c -Wall -Wnon-virtual-dtor -O3 -DPLB_MPI_PARALLEL -DPLB_USE_POSIX -I/home/think/palabos-v1.2r0/src -I/home/think/palabos-v1.2r0/externalLibraries -I. /home/think/palabos-v1.2r0/src/io/colormaps.cpp
In file included from /home/think/palabos-v1.2r0/externalLibraries/Eigen3/Core:280:0,
from /home/think/palabos-v1.2r0/src/boundaryCondition/generalizedBoundaryDynamicsSolvers.h:34,
from /home/think/palabos-v1.2r0/src/boundaryCondition/generalizedBoundaryDynamics.hh:33,
from /home/think/palabos-v1.2r0/src/boundaryCondition/headers2D.hh:45,
from /home/think/palabos-v1.2r0/src/palabos2D.hh:29,
from cavity2d.cpp:26:
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/DenseBase.h: In instantiation of ‘class Eigen::DenseBase<Eigen::Matrix<double, 1, -1> >’:
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/MatrixBase.h:61:34: required from ‘class Eigen::MatrixBase<Eigen::Matrix<double, 1, -1> >’
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/PlainObjectBase.h:52:7: required from ‘class Eigen::PlainObjectBase<Eigen::Matrix<double, 1, -1> >’
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/Matrix.h:140:7: required from ‘class Eigen::Matrix<double, 1, -1>’
/home/think/palabos-v1.2r0/src/boundaryCondition/generalizedIncompressibleBoundaryTemplates.h:65:12: required from here
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/DenseBase.h:103:10: warning: enumeral mismatch in conditional expression: ‘Eigen::internal::size_at_compile_time<1, -1>::’ vs ‘Eigen::internal::traits<Eigen::Matrix<double, 1, -1> >::’ [-Wenum-compare]
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/DenseBase.h: In instantiation of ‘class Eigen::DenseBase<Eigen::Matrix<double, -1, -1> >’:
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/MatrixBase.h:61:34: required from ‘class Eigen::MatrixBase<Eigen::Matrix<double, -1, -1> >’
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/PlainObjectBase.h:52:7: required from ‘class Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1> >’
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/Matrix.h:140:7: required from ‘class Eigen::Matrix<double, -1, -1>’
/home/think/palabos-v1.2r0/src/boundaryCondition/generalizedIncompressibleBoundaryTemplates.h:88:66: required from here
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/DenseBase.h:103:10: warning: enumeral mismatch in conditional expression: ‘Eigen::internal::size_at_compile_time<-1, -1>::’ vs ‘Eigen::internal::traits<Eigen::Matrix<double, -1, -1> >::’ [-Wenum-compare]
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/DenseBase.h: In instantiation of ‘class Eigen::DenseBase<Eigen::Matrix<double, -1, 1> >’:
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/MatrixBase.h:61:34: required from ‘class Eigen::MatrixBase<Eigen::Matrix<double, -1, 1> >’
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/PlainObjectBase.h:52:7: required from ‘class Eigen::PlainObjectBase<Eigen::Matrix<double, -1, 1> >’
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/Matrix.h:140:7: required from ‘class Eigen::Matrix<double, -1, 1>’
/home/think/palabos-v1.2r0/src/boundaryCondition/generalizedIncompressibleBoundaryTemplates.h:98:19: required from here
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/DenseBase.h:103:10: warning: enumeral mismatch in conditional expression: ‘Eigen::internal::size_at_compile_time<-1, 1>::’ vs ‘Eigen::internal::traits<Eigen::Matrix<double, -1, 1> >::’ [-Wenum-compare]
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/DenseBase.h: In instantiation of ‘class Eigen::DenseBase<Eigen::Matrix<int, -1, 1> >’:
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/MatrixBase.h:61:34: required from ‘class Eigen::MatrixBase<Eigen::Matrix<int, -1, 1> >’
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/PlainObjectBase.h:52:7: required from ‘class Eigen::PlainObjectBase<Eigen::Matrix<int, -1, 1> >’
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/Matrix.h:140:7: required from ‘class Eigen::Matrix<int, -1, 1>’
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/PermutationMatrix.h:85:13: required from ‘class Eigen::PermutationBase<Eigen::PermutationMatrix<-1, -1, int> >’
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/PermutationMatrix.h:294:7: required from ‘class Eigen::PermutationMatrix<-1, -1, int>’
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/LU/FullPivLU.h:388:22: required from ‘class Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> >’
/home/think/palabos-v1.2r0/src/boundaryCondition/generalizedIncompressibleBoundaryTemplates.h:357:36: required from here
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/DenseBase.h:103:10: warning: enumeral mismatch in conditional expression: ‘Eigen::internal::size_at_compile_time<-1, 1>::’ vs ‘Eigen::internal::traits<Eigen::Matrix<int, -1, 1> >::’ [-Wenum-compare]
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/DenseBase.h: In instantiation of ‘class Eigen::DenseBase<Eigen::Matrix<int, 1, -1> >’:
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/MatrixBase.h:61:34: required from ‘class Eigen::MatrixBase<Eigen::Matrix<int, 1, -1> >’
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/PlainObjectBase.h:52:7: required from ‘class Eigen::PlainObjectBase<Eigen::Matrix<int, 1, -1> >’
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/Matrix.h:140:7: required from ‘class Eigen::Matrix<int, 1, -1>’
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/LU/FullPivLU.h:391:22: required from ‘class Eigen::FullPivLU<Eigen::Matrix<double, -1, -1> >’
/home/think/palabos-v1.2r0/src/boundaryCondition/generalizedIncompressibleBoundaryTemplates.h:357:36: required from here
/home/think/palabos-v1.2r0/externalLibraries/Eigen3/src/Core/DenseBase.h:103:10: warning: enumeral mismatch in conditional expression: ‘Eigen::internal::size_at_compile_time<1, -1>::’ vs ‘Eigen::internal::traits<Eigen::Matrix<int, 1, -1> >::’ [-Wenum-compare]
mpicxx -o /home/think/palabos-v1.2r0/src/io/serializerIO.o -c -Wall -Wnon-virtual-dtor -O3 -DPLB_MPI_PARALLEL -DPLB_USE_POSIX -I/home/think/palabos-v1.2r0/src -I/home/think/palabos-v1.2r0/externalLibraries -I. /home/think/palabos-v1.2r0/src/io/serializerIO.cpp
cavity2d.cpp: In function ‘int main(int, char**)’:
cavity2d.cpp:139:16: error: ‘class plb::MultiGridManagement2D’ has no member named ‘parallelizeX’
cavity2d.cpp:149:52: error: no matching function for call to ‘plb::MultiGridLattice2D<double, plb::descriptors::D2Q9Descriptor>::MultiGridLattice2D(plb::MultiGridManagement2D&, std::vectorplb::BlockCommunicator2D*, std::vectorplb::CombinedStatistics*, plb::Dynamics<double, plb::descriptors::D2Q9Descriptor>&, plb::plint&)’
cavity2d.cpp:149:52: note: candidates are:
In file included from /home/think/palabos-v1.2r0/src/multiGrid/headers2D.hh:32:0,
from /home/think/palabos-v1.2r0/src/palabos2D.hh:36,
from cavity2d.cpp:26:
/home/think/palabos-v1.2r0/src/multiGrid/multiGridLattice2D.hh:171:1: note: plb::MultiGridLattice2D<T, Descriptor>::MultiGridLattice2D(const plb::MultiGrid2D&, plb::Box2D, bool) [with T = double; Descriptor = plb::descriptors::D2Q9Descriptor; plb::MultiGrid2D = plb::MultiGrid2D]
/home/think/palabos-v1.2r0/src/multiGrid/multiGridLattice2D.hh:171:1: note: candidate expects 3 arguments, 5 provided
/home/think/palabos-v1.2r0/src/multiGrid/multiGridLattice2D.hh:154:1: note: plb::MultiGridLattice2D<T, Descriptor>::MultiGridLattice2D(const plb::MultiGrid2D&) [with T = double; Descriptor = plb::descriptors::D2Q9Descriptor; plb::MultiGrid2D = plb::MultiGrid2D]
/home/think/palabos-v1.2r0/src/multiGrid/multiGridLattice2D.hh:154:1: note: candidate expects 1 argument, 5 provided
/home/think/palabos-v1.2r0/src/multiGrid/multiGridLattice2D.hh:134:1: note: plb::MultiGridLattice2D<T, Descriptor>::MultiGridLattice2D(const plb::MultiGridLattice2D<T, Descriptor>&, plb::Box2D, bool) [with T = double; Descriptor = plb::descriptors::D2Q9Descriptor]
/home/think/palabos-v1.2r0/src/multiGrid/multiGridLattice2D.hh:134:1: note: candidate expects 3 arguments, 5 provided
/home/think/palabos-v1.2r0/src/multiGrid/multiGridLattice2D.hh:111:1: note: plb::MultiGridLattice2D<T, Descriptor>::MultiGridLattice2D(const plb::MultiGridLattice2D<T, Descriptor>&) [with T = double; Descriptor = plb::descriptors::D2Q9Descriptor]
/home/think/palabos-v1.2r0/src/multiGrid/multiGridLattice2D.hh:111:1: note: candidate expects 1 argument, 5 provided
/home/think/palabos-v1.2r0/src/multiGrid/multiGridLattice2D.hh:42:1: note: plb::MultiGridLattice2D<T, Descriptor>::MultiGridLattice2D(plb::MultiGridManagement2D, plb::Dynamics<T, Descriptor>
, plb::plint, plb::FineGridInterfaceInstantiator<T, Descriptor>, plb::CoarseGridInterfaceInstantiator<T, Descriptor>) [with T = double; Descriptor = plb::descriptors::D2Q9Descriptor; plb::plint = int]
/home/think/palabos-v1.2r0/src/multiGrid/multiGridLattice2D.hh:42:1: note: no known conversion for argument 2 from ‘std::vectorplb::BlockCommunicator2D*’ to ‘plb::Dynamics<double, plb::descriptors::D2Q9Descriptor>
/home/think/palabos-v1.2r0/src/multiGrid/multiGridLattice2D.hh:70:1: note: plb::MultiGridLattice2D<T, Descriptor>::MultiGridLattice2D(plb::MultiGridManagement2D, std::vectorplb::BlockCommunicator2D*, std::vectorplb::CombinedStatistics*, plb::Dynamics<T, Descriptor>
, plb::plint, plb::FineGridInterfaceInstantiator<T, Descriptor>, plb::CoarseGridInterfaceInstantiator<T, Descriptor>) [with T = double; Descriptor = plb::descriptors::D2Q9Descriptor; plb::plint = int]
/home/think/palabos-v1.2r0/src/multiGrid/multiGridLattice2D.hh:70:1: note: candidate expects 7 arguments, 5 provided
In file included from /home/think/palabos-v1.2r0/src/multiGrid/multiGridLattice2D.h:47:0,
from /home/think/palabos-v1.2r0/src/multiGrid/headers2D.h:37,
from /home/think/palabos-v1.2r0/src/palabos2D.h:36,
from cavity2d.cpp:25:
/home/think/palabos-v1.2r0/src/multiGrid/multiGridGenerator2D.h: In instantiation of ‘class plb::FineGridInterfaceInstantiator<double, plb::descriptors::D2Q9Descriptor>’:
/home/think/palabos-v1.2r0/src/multiGrid/multiGridLattice2D.hh:106:5: required from ‘plb::MultiGridLattice2D<T, Descriptor>::~MultiGridLattice2D() [with T = double; Descriptor = plb::descriptors::D2Q9Descriptor]’
cavity2d.cpp:149:52: required from here
/home/think/palabos-v1.2r0/src/multiGrid/multiGridGenerator2D.h:100:7: warning: ‘class plb::FineGridInterfaceInstantiator<double, plb::descriptors::D2Q9Descriptor>’ has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor]
In file included from /home/think/palabos-v1.2r0/src/multiGrid/headers2D.hh:32:0,
from /home/think/palabos-v1.2r0/src/palabos2D.hh:36,
from cavity2d.cpp:26:
/home/think/palabos-v1.2r0/src/multiGrid/multiGridLattice2D.hh: In instantiation of ‘plb::MultiGridLattice2D<T, Descriptor>::~MultiGridLattice2D() [with T = double; Descriptor = plb::descriptors::D2Q9Descriptor]’:
cavity2d.cpp:149:52: required from here
/home/think/palabos-v1.2r0/src/multiGrid/multiGridLattice2D.hh:106:5: warning: deleting object of abstract class type ‘plb::FineGridInterfaceInstantiator<double, plb::descriptors::D2Q9Descriptor>’ which has non-virtual destructor will cause undefined behaviour [-Wdelete-non-virtual-dtor]
In file included from /home/think/palabos-v1.2r0/src/multiGrid/multiGridLattice2D.h:47:0,
from /home/think/palabos-v1.2r0/src/multiGrid/headers2D.h:37,
from /home/think/palabos-v1.2r0/src/palabos2D.h:36,
from cavity2d.cpp:25:
/home/think/palabos-v1.2r0/src/multiGrid/multiGridGenerator2D.h: In instantiation of ‘class plb::CoarseGridInterfaceInstantiator<double, plb::descriptors::D2Q9Descriptor>’:
/home/think/palabos-v1.2r0/src/multiGrid/multiGridLattice2D.hh:107:5: required from ‘plb::MultiGridLattice2D<T, Descriptor>::~MultiGridLattice2D() [with T = double; Descriptor = plb::descriptors::D2Q9Descriptor]’
cavity2d.cpp:149:52: required from here
/home/think/palabos-v1.2r0/src/multiGrid/multiGridGenerator2D.h:115:7: warning: ‘class plb::CoarseGridInterfaceInstantiator<double, plb::descriptors::D2Q9Descriptor>’ has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor]
In file included from /home/think/palabos-v1.2r0/src/multiGrid/headers2D.hh:32:0,
from /home/think/palabos-v1.2r0/src/palabos2D.hh:36,
from cavity2d.cpp:26:
/home/think/palabos-v1.2r0/src/multiGrid/multiGridLattice2D.hh: In instantiation of ‘plb::MultiGridLattice2D<T, Descriptor>::~MultiGridLattice2D() [with T = double; Descriptor = plb::descriptors::D2Q9Descriptor]’:
cavity2d.cpp:149:52: required from here
/home/think/palabos-v1.2r0/src/multiGrid/multiGridLattice2D.hh:107:5: warning: deleting object of abstract class type ‘plb::CoarseGridInterfaceInstantiator<double, plb::descriptors::D2Q9Descriptor>’ which has non-virtual destructor will cause undefined behaviour [-Wdelete-non-virtual-dtor]
mpicxx -o /home/think/palabos-v1.2r0/src/io/multiBlockWriter2D.o -c -Wall -Wnon-virtual-dtor -O3 -DPLB_MPI_PARALLEL -DPLB_USE_POSIX -I/home/think/palabos-v1.2r0/src -I/home/think/palabos-v1.2r0/externalLibraries -I. /home/think/palabos-v1.2r0/src/io/multiBlockWriter2D.cpp
scons: *** [cavity2d.o] Error 1
scons: building terminated because of errors.
make: *** [compile] Error 2
hehe, what’s wrong?

Help!

Any solution?