-
Thomas Witkowski authoredThomas Witkowski authored
CoarseningManager2d.h 2.03 KiB
// ============================================================================
// == ==
// == AMDiS - Adaptive multidimensional simulations ==
// == ==
// == http://www.amdis-fem.org ==
// == ==
// ============================================================================
//
// Software License for AMDiS
//
// Copyright (c) 2010 Dresden University of Technology
// All rights reserved.
// Authors: Simon Vey, Thomas Witkowski et al.
//
// This file is part of AMDiS
//
// See also license.opensource.txt in the distribution.
/** \file CoarseningManager2d.h */
#ifndef AMDIS_COARSENINGMANAGER_2D_H
#define AMDIS_COARSENINGMANAGER_2D_H
#include "CoarseningManager.h"
namespace AMDiS {
/** \ingroup Adaption
* \brief
* Implements a CoarseningManager for 2-dimensional meshes.
*/
class CoarseningManager2d : public CoarseningManager
{
public:
/// Calls base class constructor and checks dimension of mesh.
CoarseningManager2d()
: CoarseningManager()
{}
/// destructor
virtual ~CoarseningManager2d() {}
protected:
/// Implements \ref CoarseningManager::coarsenFunction
void coarsenFunction(ElInfo *el_info);
/** \brief
* Coarsens a single Triangle of the coarsening patch. DOFs
* in the interior of the element are removed; DOFs for higher order
* at the boundary or the coarsening patch still belong to
* the parent. Do not remove them form the mesh!!!
*/
void coarsenTriangle(Triangle *el);
/** \brief
* First rebuild the DOFs on the parents then do restriction
* of data (if possible) and finally coarsen the patch elements
*/
void coarsenPatch(RCNeighbourList &coarsenList, int n_neigh, int bound);
};
}
#endif // AMDIS_COARSENINGMANAGER_2D_H