#include <cstdio>

#include <array.hh>
#include <AlbertGrid.hh>

using namespace std;
using namespace Dune;


//////////////////////////////////////////////////////////////////////////
//
// Beispiel  
//
//////////////////////////////////////////////////////////////////////////
template <class BASE> 
void testAlgo( Grid<BASE> &grid )
{
  typedef typename Grid<BASE>::GetAccess::FACEACCESS ACCESS;
  typedef typename ACCESS::Iterator LEVit;
 
  ACCESS access = grid.getAccess().getFaceAccess();
  LEVit endit = access.end(-1);

  for(LEVit it = access.begin(-1); it != endit; ++it)
  {
    cout << (*it).getElNum() <<endl << endl;
  }
  
  cout << "Ende testAlgo! \n";

}


///////////////////////////////////////////////////////////////////////////
int main(int argc, char** argv) {
  
  if(argc != 2)
  {
    printf("usage: %s <AlbertMacro File> \n",argv[0]);
    abort();
  }

  AlbertGrid<MYDIMOW,MYDIM> algrid( argv[1] );
  
  // Albert Gitter
  algrid.globalRefine(10);

  testAlgo( algrid );

  return 0;
};
