#include "ElemDOFsElemAdjTopoMOAB.hpp"
#include "FELib.hpp"
#include "LiftingOperator.hpp"
#include "OrthoNormalPhysicalSpaceFEManager.hpp"
#include "VTKWriter.hpp"
#include "ReadVtu.hpp"
#include "WriteVtu.hpp"

#include "PETScMatrix.hpp"
#include "PETScSolver.hpp"
#include "PETScManager.hpp"

#ifndef __common_template_types_hpp__
#define __common_template_types_hpp__

#include "InputData.hpp"

using namespace la;
struct CommonTemplateTypes 
{
  typedef OrthoNormalPhysicalSpaceFEManager<InputData::dim> FEManagerType;
  typedef PETScMatrix<BLOCKCSR<InputData::n_dofs> > PETScMatrixType;
  typedef PETScVector<BLOCKCSR<InputData::n_dofs> > PETScVectorType;
  typedef LiftingOperator<InputData::dim> LiftingOperatorType;
};
#endif
