Reference documentation for deal.II version 9.2.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Namespaces | Enumerations
dof_tools.h File Reference
#include <deal.II/base/config.h>
#include <deal.II/base/exceptions.h>
#include <deal.II/base/index_set.h>
#include <deal.II/base/point.h>
#include <deal.II/dofs/dof_handler.h>
#include <deal.II/fe/component_mask.h>
#include <deal.II/hp/dof_handler.h>
#include <deal.II/lac/affine_constraints.h>
#include <map>
#include <ostream>
#include <set>
#include <vector>

Go to the source code of this file.

Namespaces

 DoFTools
 

Enumerations

enum  DoFTools::Coupling { DoFTools::none, DoFTools::always, DoFTools::nonzero }
 

Functions

Generic Functions

Functions to support code that generically uses both DoFHandler and hp::DoFHandler.

template<int dim, int spacedim>
unsigned int DoFTools::max_dofs_per_cell (const DoFHandler< dim, spacedim > &dh)
 
template<int dim, int spacedim>
unsigned int DoFTools::max_dofs_per_cell (const hp::DoFHandler< dim, spacedim > &dh)
 
template<int dim, int spacedim>
unsigned int DoFTools::max_dofs_per_face (const DoFHandler< dim, spacedim > &dh)
 
template<int dim, int spacedim>
unsigned int DoFTools::max_dofs_per_face (const hp::DoFHandler< dim, spacedim > &dh)
 
template<int dim, int spacedim>
unsigned int DoFTools::max_dofs_per_vertex (const DoFHandler< dim, spacedim > &dh)
 
template<int dim, int spacedim>
unsigned int DoFTools::max_dofs_per_vertex (const hp::DoFHandler< dim, spacedim > &dh)
 
template<int dim, int spacedim>
unsigned int DoFTools::n_components (const DoFHandler< dim, spacedim > &dh)
 
template<int dim, int spacedim>
unsigned int DoFTools::n_components (const hp::DoFHandler< dim, spacedim > &dh)
 
template<int dim, int spacedim>
bool DoFTools::fe_is_primitive (const DoFHandler< dim, spacedim > &dh)
 
template<int dim, int spacedim>
bool DoFTools::fe_is_primitive (const hp::DoFHandler< dim, spacedim > &dh)
 
Exceptions
static ::ExceptionBaseDoFTools::ExcFiniteElementsDontMatch ()
 
static ::ExceptionBaseDoFTools::ExcGridNotCoarser ()
 
static ::ExceptionBaseDoFTools::ExcGridsDontMatch ()
 
static ::ExceptionBaseDoFTools::ExcNoFESelected ()
 
static ::ExceptionBaseDoFTools::ExcInvalidBoundaryIndicator ()
 
Generic Functions

Functions to support code that generically uses both DoFHandler and hp::DoFHandler.

template<int dim, int spacedim>
unsigned int DoFTools::max_dofs_per_cell (const DoFHandler< dim, spacedim > &dh)
 
template<int dim, int spacedim>
unsigned int DoFTools::max_dofs_per_cell (const hp::DoFHandler< dim, spacedim > &dh)
 
template<int dim, int spacedim>
unsigned int DoFTools::max_dofs_per_face (const DoFHandler< dim, spacedim > &dh)
 
template<int dim, int spacedim>
unsigned int DoFTools::max_dofs_per_face (const hp::DoFHandler< dim, spacedim > &dh)
 
template<int dim, int spacedim>
unsigned int DoFTools::max_dofs_per_vertex (const DoFHandler< dim, spacedim > &dh)
 
template<int dim, int spacedim>
unsigned int DoFTools::max_dofs_per_vertex (const hp::DoFHandler< dim, spacedim > &dh)
 
template<int dim, int spacedim>
unsigned int DoFTools::n_components (const DoFHandler< dim, spacedim > &dh)
 
template<int dim, int spacedim>
unsigned int DoFTools::n_components (const hp::DoFHandler< dim, spacedim > &dh)
 
template<int dim, int spacedim>
bool DoFTools::fe_is_primitive (const DoFHandler< dim, spacedim > &dh)
 
template<int dim, int spacedim>
bool DoFTools::fe_is_primitive (const hp::DoFHandler< dim, spacedim > &dh)
 
Exceptions
static ::ExceptionBaseDoFTools::ExcFiniteElementsDontMatch ()
 
static ::ExceptionBaseDoFTools::ExcGridNotCoarser ()
 
static ::ExceptionBaseDoFTools::ExcGridsDontMatch ()
 
static ::ExceptionBaseDoFTools::ExcNoFESelected ()
 
static ::ExceptionBaseDoFTools::ExcInvalidBoundaryIndicator ()
 

DoF couplings

template<int dim, int spacedim>
void DoFTools::convert_couplings_to_blocks (const hp::DoFHandler< dim, spacedim > &dof_handler, const Table< 2, Coupling > &table_by_component, std::vector< Table< 2, Coupling >> &tables_by_block)
 
template<int dim, int spacedim>
void DoFTools::convert_couplings_to_blocks (const DoFHandler< dim, spacedim > &dof_handler, const Table< 2, Coupling > &table_by_component, std::vector< Table< 2, Coupling >> &tables_by_block)
 
template<int dim, int spacedim>
Table< 2, Coupling > DoFTools::dof_couplings_from_component_couplings (const FiniteElement< dim, spacedim > &fe, const Table< 2, Coupling > &component_couplings)
 
template<int dim, int spacedim>
std::vector< Table< 2, Coupling > > DoFTools::dof_couplings_from_component_couplings (const hp::FECollection< dim, spacedim > &fe, const Table< 2, Coupling > &component_couplings)
 

Periodic boundary conditions

template<typename FaceIterator , typename number >
void DoFTools::make_periodicity_constraints (const FaceIterator &face_1, const typename identity< FaceIterator >::type &face_2, AffineConstraints< number > &constraints, const ComponentMask &component_mask=ComponentMask(), const bool face_orientation=true, const bool face_flip=false, const bool face_rotation=false, const FullMatrix< double > &matrix=FullMatrix< double >(), const std::vector< unsigned int > &first_vector_components=std::vector< unsigned int >(), const number periodicity_factor=1.)
 
template<typename DoFHandlerType , typename number >
void DoFTools::make_periodicity_constraints (const std::vector< GridTools::PeriodicFacePair< typename DoFHandlerType::cell_iterator >> &periodic_faces, AffineConstraints< number > &constraints, const ComponentMask &component_mask=ComponentMask(), const std::vector< unsigned int > &first_vector_components=std::vector< unsigned int >(), const number periodicity_factor=1.)
 
template<typename DoFHandlerType , typename number >
void DoFTools::make_periodicity_constraints (const DoFHandlerType &dof_handler, const types::boundary_id b_id1, const types::boundary_id b_id2, const unsigned int direction, AffineConstraints< number > &constraints, const ComponentMask &component_mask=ComponentMask(), const number periodicity_factor=1.)
 
template<typename DoFHandlerType , typename number >
void DoFTools::make_periodicity_constraints (const DoFHandlerType &dof_handler, const types::boundary_id b_id, const unsigned int direction, AffineConstraints< number > &constraints, const ComponentMask &component_mask=ComponentMask(), const number periodicity_factor=1.)
 

Functions that return different DoF mappings

template<typename DoFHandlerType >
void DoFTools::map_dof_to_boundary_indices (const DoFHandlerType &dof_handler, std::vector< types::global_dof_index > &mapping)
 
template<typename DoFHandlerType >
void DoFTools::map_dof_to_boundary_indices (const DoFHandlerType &dof_handler, const std::set< types::boundary_id > &boundary_ids, std::vector< types::global_dof_index > &mapping)
 
template<int dim, int spacedim>
void DoFTools::map_dofs_to_support_points (const Mapping< dim, spacedim > &mapping, const DoFHandler< dim, spacedim > &dof_handler, std::vector< Point< spacedim >> &support_points, const ComponentMask &mask=ComponentMask())
 
template<int dim, int spacedim>
void DoFTools::map_dofs_to_support_points (const ::hp::MappingCollection< dim, spacedim > &mapping, const hp::DoFHandler< dim, spacedim > &dof_handler, std::vector< Point< spacedim >> &support_points, const ComponentMask &mask=ComponentMask())
 
template<int dim, int spacedim>
void DoFTools::map_dofs_to_support_points (const Mapping< dim, spacedim > &mapping, const DoFHandler< dim, spacedim > &dof_handler, std::map< types::global_dof_index, Point< spacedim >> &support_points, const ComponentMask &mask=ComponentMask())
 
template<int dim, int spacedim>
void DoFTools::map_dofs_to_support_points (const ::hp::MappingCollection< dim, spacedim > &mapping, const hp::DoFHandler< dim, spacedim > &dof_handler, std::map< types::global_dof_index, Point< spacedim >> &support_points, const ComponentMask &mask=ComponentMask())
 
template<typename DoFHandlerType , class Comp >
void DoFTools::map_support_points_to_dofs (const Mapping< DoFHandlerType::dimension, DoFHandlerType::space_dimension > &mapping, const DoFHandlerType &dof_handler, std::map< Point< DoFHandlerType::space_dimension >, types::global_dof_index, Comp > &point_to_index_map)
 

Miscellaneous

template<typename DoFHandlerType , typename Number >
void DoFTools::distribute_cell_to_dof_vector (const DoFHandlerType &dof_handler, const Vector< Number > &cell_data, Vector< double > &dof_data, const unsigned int component=0)
 
template<int spacedim>
void DoFTools::write_gnuplot_dof_support_point_info (std::ostream &out, const std::map< types::global_dof_index, Point< spacedim >> &support_points)
 
template<int dim, int spacedim, template< int, int > class DoFHandlerType, typename number >
void DoFTools::make_zero_boundary_constraints (const DoFHandlerType< dim, spacedim > &dof, const types::boundary_id boundary_id, AffineConstraints< number > &zero_boundary_constraints, const ComponentMask &component_mask=ComponentMask())
 
template<int dim, int spacedim, template< int, int > class DoFHandlerType, typename number >
void DoFTools::make_zero_boundary_constraints (const DoFHandlerType< dim, spacedim > &dof, AffineConstraints< number > &zero_boundary_constraints, const ComponentMask &component_mask=ComponentMask())