//---------------------------------------------------------------------------
// $Id$
//
-// Copyright (C) 2010 by the deal.II authors
+// Copyright (C) 2010, 2011 by the deal.II authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
DEAL_II_NAMESPACE_OPEN
template <int dim, int spacedim> class MGDoFHandler;
-template <int dim> class FunctionMap;
+template <int dim> struct FunctionMap;
/**
/**
* Determine whether a dof index
- * is at the refinement edge and
+ * is at the refinement edge and
* subject to a boundary
* constraint .
*/
get_refinement_edge_boundary_indices () const;
/**
- * Return if boundary_indices need to
+ * Return if boundary_indices need to
* be set or not.
*/
bool set_boundary_values () const;
/**
- * Return if the finite element requires
+ * Return if the finite element requires
* continuity across refinement edges.
*/
bool continuity_across_refinement_edges () const;
refinement_edge_indices[l].resize(dof.n_dofs(l));
refinement_edge_boundary_indices[l].resize(dof.n_dofs(l));
}
- MGTools::extract_inner_interface_dofs (dof, refinement_edge_indices,
+ MGTools::extract_inner_interface_dofs (dof, refinement_edge_indices,
refinement_edge_boundary_indices);
}
boundary_indices.resize(nlevels);
refinement_edge_indices.resize(nlevels);
refinement_edge_boundary_indices.resize(nlevels);
-
+
for(unsigned int l=0; l<nlevels; ++l)
{
boundary_indices[l].clear();
refinement_edge_indices[l].resize(dof.n_dofs(l));
refinement_edge_boundary_indices[l].resize(dof.n_dofs(l));
}
-
+
MGTools::make_boundary_list (dof, function_map, boundary_indices, component_mask);
- MGTools::extract_inner_interface_dofs (dof, refinement_edge_indices,
+ MGTools::extract_inner_interface_dofs (dof, refinement_edge_indices,
refinement_edge_boundary_indices);
}
inline
void
-MGConstrainedDoFs::clear()
+MGConstrainedDoFs::clear()
{
for(unsigned int l=0; l<boundary_indices.size(); ++l)
boundary_indices[l].clear();
-
+
for(unsigned int l=0; l<refinement_edge_indices.size(); ++l)
refinement_edge_indices[l].clear();
-
+
for(unsigned int l=0; l<refinement_edge_boundary_indices.size(); ++l)
refinement_edge_boundary_indices[l].clear();
}
inline
bool
-MGConstrainedDoFs::is_boundary_index (const unsigned int level,
+MGConstrainedDoFs::is_boundary_index (const unsigned int level,
const unsigned int index) const
{
AssertIndexRange(level, boundary_indices.size());
}
inline
-bool
+bool
MGConstrainedDoFs::set_boundary_values () const
{
- const bool boundary_values_need_to_be_set
+ const bool boundary_values_need_to_be_set
= boundary_indices.size()!=0;
return boundary_values_need_to_be_set;
}
inline
-bool
+bool
MGConstrainedDoFs::continuity_across_refinement_edges () const
{
bool is_continuous = false;
//---------------------------------------------------------------------------
// $Id$
//
-// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2010 by the deal.II authors
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2010, 2011 by the deal.II authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
{
namespace MGDoFHandler
{
- class Implementation;
+ struct Implementation;
}
}
//---------------------------------------------------------------------------
// $Id$
//
-// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010 by the deal.II authors
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011 by the deal.II authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
{
namespace MGDoFHandler
{
- class Implementation;
+ struct Implementation;
}
}
* Destructor
*/
virtual ~MGDoFHandler ();
-
+
/**
* Go through the triangulation
* and distribute the degrees of