![]() |
Reference documentation for deal.II version 8.1.0
|
#include <mg_dof_handler.h>
Public Types | |
typedef IteratorSelector::CellAccessor | cell_accessor |
typedef IteratorSelector::FaceAccessor | face_accessor |
typedef IteratorSelector::raw_line_iterator | raw_line_iterator |
typedef IteratorSelector::line_iterator | line_iterator |
typedef IteratorSelector::active_line_iterator | active_line_iterator |
typedef IteratorSelector::quad_iterator | quad_iterator |
typedef IteratorSelector::active_quad_iterator | active_quad_iterator |
typedef IteratorSelector::hex_iterator | hex_iterator |
typedef IteratorSelector::active_hex_iterator | active_hex_iterator |
typedef IteratorSelector::cell_iterator | cell_iterator |
typedef IteratorSelector::active_cell_iterator | active_cell_iterator |
typedef IteratorSelector::face_iterator | face_iterator |
typedef IteratorSelector::active_face_iterator | active_face_iterator |
![]() | |
typedef ActiveSelector::CellAccessor | cell_accessor |
typedef ActiveSelector::FaceAccessor | face_accessor |
typedef ActiveSelector::line_iterator | line_iterator |
typedef ActiveSelector::active_line_iterator | active_line_iterator |
typedef ActiveSelector::quad_iterator | quad_iterator |
typedef ActiveSelector::active_quad_iterator | active_quad_iterator |
typedef ActiveSelector::hex_iterator | hex_iterator |
typedef ActiveSelector::active_hex_iterator | active_hex_iterator |
typedef ActiveSelector::active_cell_iterator | active_cell_iterator |
typedef ActiveSelector::face_iterator | face_iterator |
typedef ActiveSelector::active_face_iterator | active_face_iterator |
typedef LevelSelector::CellAccessor | level_cell_accessor |
typedef LevelSelector::FaceAccessor | level_face_accessor |
typedef LevelSelector::cell_iterator | level_cell_iterator |
typedef LevelSelector::face_iterator | level_face_iterator |
typedef ActiveSelector::cell_iterator | cell_iterator |
typedef ::FunctionMap < spacedim >::type | FunctionMap |
Public Member Functions | |
MGDoFHandler () | |
MGDoFHandler (const Triangulation< dim, spacedim > &tria) | |
virtual | ~MGDoFHandler () |
virtual void | distribute_dofs (const FiniteElement< dim, spacedim > &) |
Cell iterator functions | |
cell_iterator | begin (const unsigned int level=0) const |
cell_iterator | end () const |
cell_iterator | end (const unsigned int level) const |
![]() | |
DoFHandler () | |
DoFHandler (const Triangulation< dim, spacedim > &tria) | |
virtual | ~DoFHandler () |
void | initialize (const Triangulation< dim, spacedim > &tria, const FiniteElement< dim, spacedim > &fe) |
virtual void | distribute_mg_dofs (const FiniteElement< dim, spacedim > &fe) |
bool | has_level_dofs () const |
bool | has_active_dofs () const |
void | initialize_local_block_info () |
virtual void | clear () |
void | renumber_dofs (const std::vector< types::global_dof_index > &new_numbers) |
void | renumber_dofs (const unsigned int level, const std::vector< types::global_dof_index > &new_numbers) |
unsigned int | max_couplings_between_dofs () const |
unsigned int | max_couplings_between_boundary_dofs () const |
types::global_dof_index | n_dofs () const |
types::global_dof_index | n_dofs (const unsigned int level) const |
types::global_dof_index | n_boundary_dofs () const |
types::global_dof_index | n_boundary_dofs (const FunctionMap &boundary_indicators) const |
types::global_dof_index | n_boundary_dofs (const std::set< types::boundary_id > &boundary_indicators) const |
const BlockInfo & | block_info () const |
unsigned int | n_locally_owned_dofs () const |
const IndexSet & | locally_owned_dofs () const |
const IndexSet & | locally_owned_mg_dofs (const unsigned int level) const |
const std::vector< IndexSet > & | locally_owned_dofs_per_processor () const |
const std::vector< IndexSet > & | locally_owned_mg_dofs_per_processor (const unsigned int level) const |
const std::vector < types::global_dof_index > & | n_locally_owned_dofs_per_processor () const |
const FiniteElement< dim, spacedim > & | get_fe () const |
const Triangulation< dim, spacedim > & | get_tria () const |
virtual std::size_t | memory_consumption () const |
template<class Archive > | |
void | save (Archive &ar, const unsigned int version) const |
template<class Archive > | |
void | load (Archive &ar, const unsigned int version) |
DeclException0 (ExcRenumberingIncomplete) | |
DeclException0 (ExcGridsDoNotMatch) | |
DeclException0 (ExcInvalidBoundaryIndicator) | |
DeclException1 (ExcNewNumbersNotConsecutive, types::global_dof_index,<< "The given list of new dof indices is not consecutive: "<< "the index "<< arg1<< " does not exist.") | |
DeclException1 (ExcInvalidLevel, int,<< "The given level "<< arg1<< " is not in the valid range!") | |
DeclException0 (ExcFacesHaveNoLevel) | |
DeclException1 (ExcEmptyLevel, int,<< "You tried to do something on level "<< arg1<< ", but this level is empty.") | |
cell_iterator | begin (const unsigned int level=0) const |
active_cell_iterator | begin_active (const unsigned int level=0) const |
cell_iterator | end () const |
cell_iterator | end (const unsigned int level) const |
active_cell_iterator | end_active (const unsigned int level) const |
level_cell_iterator | begin_mg (const unsigned int level=0) const |
level_cell_iterator | end_mg (const unsigned int level) const |
level_cell_iterator | end_mg () const |
![]() | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
void | subscribe (const char *identifier=0) const |
void | unsubscribe (const char *identifier=0) const |
unsigned int | n_subscriptions () const |
void | list_subscribers () const |
DeclException3 (ExcInUse, int, char *, std::string &,<< "Object of class "<< arg2<< " is still used by "<< arg1<< " other objects.\n"<< "(Additional information: "<< arg3<< ")\n"<< "Note the entry in the Frequently Asked Questions of "<< "deal.II (linked to from http://www.dealii.org/) for "<< "more information on what this error means.") | |
DeclException2 (ExcNoSubscriber, char *, char *,<< "No subscriber with identifier \""<< arg2<< "\" did subscribe to this object of class "<< arg1) | |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Static Public Attributes | |
static const unsigned int | dimension = dim |
static const unsigned int | space_dimension = spacedim |
![]() | |
static const unsigned int | dimension = dim |
static const unsigned int | space_dimension = spacedim |
static const types::global_dof_index | invalid_dof_index = numbers::invalid_dof_index |
static const unsigned int | default_fe_index = 0 |
Private Types | |
typedef ::internal::DoFHandler::Iterators < DoFHandler< dim, spacedim > , true > | IteratorSelector |
Additional Inherited Members | |
![]() | |
BlockInfo | block_info_object |
std::vector < types::global_dof_index > | vertex_dofs |
SmartPointer< const Triangulation< dim, spacedim > , DoFHandler< dim, spacedim > > | tria |
SmartPointer< const FiniteElement< dim, spacedim > , DoFHandler< dim, spacedim > > | selected_fe |
std_cxx1x::shared_ptr <::internal::DoFHandler::Policy::PolicyBase < dim, spacedim > > | policy |
::internal::DoFHandler::NumberCache | number_cache |
std::vector <::internal::DoFHandler::NumberCache > | mg_number_cache |
![]() | |
template<int dim, int spacedim> | |
unsigned int | max_dofs_per_cell (const DoFHandler< dim, spacedim > &dh) |
template<int dim, int spacedim> | |
unsigned int | max_dofs_per_face (const DoFHandler< dim, spacedim > &dh) |
template<int dim, int spacedim> | |
unsigned int | max_dofs_per_vertex (const DoFHandler< dim, spacedim > &dh) |
template<int dim, int spacedim> | |
unsigned int | n_components (const DoFHandler< dim, spacedim > &dh) |
template<int dim, int spacedim> | |
bool | fe_is_primitive (const DoFHandler< dim, spacedim > &dh) |
This class manages degrees of freedom for a multilevel hierarchy of grids. It does mostly the same as does the DoDHandler
class, but it uses a separate enumeration of the degrees of freedom on each level. For example, a vertex has several DoF numbers, one for each level of the triangulation on which it exists.
spacedim != dim
).Definition at line 45 of file matrix_tools.h.
MGDoFHandler< dim, spacedim >::MGDoFHandler | ( | ) |
Default constructor, which will require a call to initialize() later to set the Triangulation.
MGDoFHandler< dim, spacedim >::MGDoFHandler | ( | const Triangulation< dim, spacedim > & | tria | ) |
Constructor. Take tria
as the triangulation to work on.
|
virtual |
Destructor
|
virtual |
Go through the triangulation and distribute the degrees of freedoms needed for the given finite element according to the given distribution method. We first call the DoFHandler's function and then distribute the levelwise numbers.
A copy of the transferred finite element is stored.
Reimplemented from DoFHandler< dim, spacedim >.
cell_iterator MGDoFHandler< dim, spacedim >::begin | ( | const unsigned int | level = 0 | ) | const |
Iterator to the first used cell on level level
.
cell_iterator MGDoFHandler< dim, spacedim >::end | ( | ) | const |
Iterator past the end; this iterator serves for comparisons of iterators with past-the-end or before-the-beginning states.
cell_iterator MGDoFHandler< dim, spacedim >::end | ( | const unsigned int | level | ) | const |
Return an iterator which is the first iterator not on level. If level
is the last level, then this returns end()
.
|
static |
Make the dimension and the space_dimension available in function templates.
Definition at line 88 of file mg_dof_handler.h.