Public Member Functions | Private Attributes

MGConstrainedDoFs Class Reference

Inheritance diagram for MGConstrainedDoFs:
Inheritance graph
[legend]

List of all members.

Public Member Functions

template<int dim, int spacedim>
void initialize (const MGDoFHandler< dim, spacedim > &dof)
template<int dim, int spacedim>
void initialize (const MGDoFHandler< dim, spacedim > &dof, const typename FunctionMap< dim >::type &function_map, const std::vector< bool > &component_mask=std::vector< bool >())
void clear ()
bool is_boundary_index (const unsigned int level, const unsigned int index) const
bool non_refinement_edge_index (const unsigned int level, const unsigned int index) const
bool at_refinement_edge (const unsigned int level, const unsigned int index) const
bool at_refinement_edge_boundary (const unsigned int level, const unsigned int index) const
const std::vector< std::set
< unsigned int > > & 
get_boundary_indices () const
const std::vector< std::set
< unsigned int > > & 
get_non_refinement_edge_indices () const
const std::vector< std::vector
< bool > > & 
get_refinement_edge_indices () const
const std::vector< std::vector
< bool > > & 
get_refinement_edge_boundary_indices () const
bool set_boundary_values () const
bool continuity_across_refinement_edges () const

Private Attributes

std::vector< std::set
< unsigned int > > 
boundary_indices
std::vector< std::set
< unsigned int > > 
non_refinement_edge_indices
std::vector< std::vector< bool > > refinement_edge_indices
std::vector< std::vector< bool > > refinement_edge_boundary_indices

Detailed Description

Collection of boundary constraints and refinement edge constraints for level vectors.

Definition at line 35 of file mg_constrained_dofs.h.


Member Function Documentation

template<int dim, int spacedim>
void MGConstrainedDoFs::initialize ( const MGDoFHandler< dim, spacedim > &  dof) [inline]

Fill the internal data structures with values extracted from the dof handler.

This function leaves boundary_indices empty, since no boundary values are provided.

Definition at line 188 of file mg_constrained_dofs.h.

References MGTools::extract_inner_interface_dofs(), DoFHandler< dim, spacedim >::get_tria(), MGDoFHandler< dim, spacedim >::n_dofs(), non_refinement_edge_indices, refinement_edge_boundary_indices, and refinement_edge_indices.

template<int dim, int spacedim>
void MGConstrainedDoFs::initialize ( const MGDoFHandler< dim, spacedim > &  dof,
const typename FunctionMap< dim >::type &  function_map,
const std::vector< bool > &  component_mask = std::vector<bool>() 
) [inline]

Fill the internal data structures with values extracted from the dof handler, applying the boundary values provided.

Definition at line 209 of file mg_constrained_dofs.h.

References boundary_indices, MGTools::extract_inner_interface_dofs(), DoFHandler< dim, spacedim >::get_tria(), MGTools::make_boundary_list(), MGDoFHandler< dim, spacedim >::n_dofs(), non_refinement_edge_indices, refinement_edge_boundary_indices, and refinement_edge_indices.

void MGConstrainedDoFs::clear ( ) [inline]
bool MGConstrainedDoFs::is_boundary_index ( const unsigned int  level,
const unsigned int  index 
) const [inline]

Determine whether a dof index is subject to a boundary constraint.

Definition at line 254 of file mg_constrained_dofs.h.

References AssertIndexRange, and boundary_indices.

bool MGConstrainedDoFs::non_refinement_edge_index ( const unsigned int  level,
const unsigned int  index 
) const [inline]

Determine whether a dof index is at an edge that is not a refinement edge.

Definition at line 266 of file mg_constrained_dofs.h.

References AssertIndexRange, and non_refinement_edge_indices.

bool MGConstrainedDoFs::at_refinement_edge ( const unsigned int  level,
const unsigned int  index 
) const [inline]

Determine whether a dof index is at the refinement edge.

Definition at line 279 of file mg_constrained_dofs.h.

References AssertIndexRange, and refinement_edge_indices.

bool MGConstrainedDoFs::at_refinement_edge_boundary ( const unsigned int  level,
const unsigned int  index 
) const [inline]

Determine whether a dof index is at the refinement edge and subject to a boundary constraint .

Definition at line 291 of file mg_constrained_dofs.h.

References AssertIndexRange, and refinement_edge_boundary_indices.

const std::vector< std::set< unsigned int > > & MGConstrainedDoFs::get_boundary_indices ( ) const [inline]

Return the indices of dofs for each level that lie on the boundary of the domain.

Definition at line 302 of file mg_constrained_dofs.h.

References boundary_indices.

const std::vector< std::set< unsigned int > > & MGConstrainedDoFs::get_non_refinement_edge_indices ( ) const [inline]

Return the indices of dofs for each level that lie on the boundary of the domain.

Definition at line 309 of file mg_constrained_dofs.h.

References non_refinement_edge_indices.

const std::vector< std::vector< bool > > & MGConstrainedDoFs::get_refinement_edge_indices ( ) const [inline]

Return the indices of dofs for each level that lie on the refinement edge (i.e. are on faces between cells of this level and cells on the level below).

Definition at line 316 of file mg_constrained_dofs.h.

References refinement_edge_indices.

const std::vector< std::vector< bool > > & MGConstrainedDoFs::get_refinement_edge_boundary_indices ( ) const [inline]

Return the indices of dofs for each level that are in the intersection of the sets returned by get_boundary_indices() and get_refinement_edge_indices().

Definition at line 323 of file mg_constrained_dofs.h.

References refinement_edge_boundary_indices.

bool MGConstrainedDoFs::set_boundary_values ( ) const [inline]

Return if boundary_indices need to be set or not.

Definition at line 330 of file mg_constrained_dofs.h.

References boundary_indices.

bool MGConstrainedDoFs::continuity_across_refinement_edges ( ) const [inline]

Return if the finite element requires continuity across refinement edges.

Definition at line 339 of file mg_constrained_dofs.h.

References refinement_edge_indices.


Member Data Documentation

std::vector<std::set<unsigned int> > MGConstrainedDoFs::boundary_indices [private]

The indices of boundary dofs for each level.

Definition at line 155 of file mg_constrained_dofs.h.

Referenced by clear(), get_boundary_indices(), initialize(), is_boundary_index(), and set_boundary_values().

std::vector<std::set<unsigned int> > MGConstrainedDoFs::non_refinement_edge_indices [private]

The degrees of freedom on egdges that are not a refinement edge between a level and coarser cells.

Definition at line 163 of file mg_constrained_dofs.h.

Referenced by clear(), get_non_refinement_edge_indices(), initialize(), and non_refinement_edge_index().

std::vector<std::vector<bool> > MGConstrainedDoFs::refinement_edge_indices [private]

The degrees of freedom on the refinement edge between a level and coarser cells.

Definition at line 170 of file mg_constrained_dofs.h.

Referenced by at_refinement_edge(), clear(), continuity_across_refinement_edges(), get_refinement_edge_indices(), and initialize().

std::vector<std::vector<bool> > MGConstrainedDoFs::refinement_edge_boundary_indices [private]

The degrees of freedom on the refinement edge between a level and coarser cells, which are also on the boundary.

This is a subset of refinement_edge_indices.

Definition at line 181 of file mg_constrained_dofs.h.

Referenced by at_refinement_edge_boundary(), clear(), get_refinement_edge_boundary_indices(), and initialize().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

deal.II documentation generated on Thu May 17 2012 20:05:31 by doxygen 1.7.3