Reference documentation for deal.II version GIT relicensing-14-gd371fb467a 2024-02-26 20:50:01+00:00
\(\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\}}\)
Loading...
Searching...
No Matches
Namespaces | Classes | Functions
DoFTools::internal Namespace Reference

Namespaces

namespace  Assembler
 

Classes

struct  ComparisonHelper
 

Functions

template<typename FaceIterator , typename number >
void set_periodicity_constraints (const FaceIterator &face_1, const std_cxx20::type_identity_t< FaceIterator > &face_2, const FullMatrix< double > &transformation, AffineConstraints< number > &affine_constraints, const ComponentMask &component_mask, const bool face_orientation, const bool face_flip, const bool face_rotation, const number periodicity_factor, const unsigned int level=numbers::invalid_unsigned_int)
 
template<int dim, int spacedim>
std::vector< unsigned char > get_local_component_association (const FiniteElement< dim, spacedim > &fe, const ComponentMask &component_mask)
 
template<int dim, int spacedim>
void get_component_association (const DoFHandler< dim, spacedim > &dof, const ComponentMask &component_mask, std::vector< unsigned char > &dofs_by_component)
 
template<int dim, int spacedim>
void get_block_association (const DoFHandler< dim, spacedim > &dof, std::vector< unsigned char > &dofs_by_block)
 
template<int dim, int spacedim>
void resolve_components (const FiniteElement< dim, spacedim > &fe, const std::vector< unsigned char > &dofs_by_component, const std::vector< unsigned int > &target_component, const bool only_once, std::vector< types::global_dof_index > &dofs_per_component, unsigned int &component)
 
template<int dim, int spacedim>
void resolve_components (const hp::FECollection< dim, spacedim > &fe_collection, const std::vector< unsigned char > &dofs_by_component, const std::vector< unsigned int > &target_component, const bool only_once, std::vector< types::global_dof_index > &dofs_per_component, unsigned int &component)
 
template<typename number , int spacedim>
void make_hp_hanging_node_constraints (const DoFHandler< 1, spacedim > &, AffineConstraints< number > &)
 
template<typename number , int spacedim>
void make_hanging_node_constraints_nedelec (const ::DoFHandler< 1, spacedim > &, AffineConstraints< number > &, std::integral_constant< int, 1 >)
 
template<typename number , int spacedim>
void make_oldstyle_hanging_node_constraints (const DoFHandler< 1, spacedim > &, AffineConstraints< number > &, std::integral_constant< int, 1 >)
 
template<int dim_, int spacedim, typename number >
void make_oldstyle_hanging_node_constraints (const DoFHandler< dim_, spacedim > &dof_handler, AffineConstraints< number > &constraints, std::integral_constant< int, 2 >)
 
template<int dim_, int spacedim, typename number >
void make_oldstyle_hanging_node_constraints (const DoFHandler< dim_, spacedim > &dof_handler, AffineConstraints< number > &constraints, std::integral_constant< int, 3 >)
 
template<int dim_, int spacedim, typename number >
void make_hanging_node_constraints_nedelec (const DoFHandler< dim_, spacedim > &dof_handler, AffineConstraints< number > &constraints, std::integral_constant< int, 2 >)
 
template<int dim_, int spacedim, typename number >
void make_hanging_node_constraints_nedelec (const DoFHandler< dim_, spacedim > &dof_handler, AffineConstraints< number > &constraints, std::integral_constant< int, 3 >)
 
template<int dim, int spacedim, typename number >
void make_hp_hanging_node_constraints (const DoFHandler< dim, spacedim > &dof_handler, AffineConstraints< number > &constraints)
 

Function Documentation

◆ set_periodicity_constraints()

template<typename FaceIterator , typename number >
void DoFTools::internal::set_periodicity_constraints ( const FaceIterator &  face_1,
const std_cxx20::type_identity_t< FaceIterator > &  face_2,
const FullMatrix< double > &  transformation,
AffineConstraints< number > &  affine_constraints,
const ComponentMask component_mask,
const bool  face_orientation,
const bool  face_flip,
const bool  face_rotation,
const number  periodicity_factor,
const unsigned int  level = numbers::invalid_unsigned_int 
)

This function is internally used in make_periodicity_constraints(). Enter constraints for periodicity into the given AffineConstraints object.

This function works both on 1) an active mesh (level == numbers::invalid_unsigned_int) and on 2) multigrid levels.

In the case of an active mesh, this function is called when at least one of the two face iterators corresponds to an active object without further children. Furthermore, face_1 is supposed to be active.

The matrix transformation maps degrees of freedom from one face to another. If the DoFs on the two faces are supposed to match exactly, then the matrix so provided will be the identity matrix. if face 2 is once refined from face 1, then the matrix needs to be the interpolation matrix from a face to this particular child

Note
We have to be careful not to accidentally create constraint cycles when adding periodic constraints: For example, as the corresponding testcase bits/periodicity_05 demonstrates, we can occasionally get into trouble if we already have the constraint x1 == x2 and want to insert x2 == x1. We avoid this by skipping such "identity constraints" if the opposite constraint already exists.

Definition at line 3103 of file dof_tools_constraints.cc.

◆ get_local_component_association()

template<int dim, int spacedim>
std::vector< unsigned char > DoFTools::internal::get_local_component_association ( const FiniteElement< dim, spacedim > &  fe,
const ComponentMask component_mask 
)

Definition at line 122 of file dof_tools.cc.

◆ get_component_association()

template<int dim, int spacedim>
void DoFTools::internal::get_component_association ( const DoFHandler< dim, spacedim > &  dof,
const ComponentMask component_mask,
std::vector< unsigned char > &  dofs_by_component 
)

Definition at line 193 of file dof_tools.cc.

◆ get_block_association()

template<int dim, int spacedim>
void DoFTools::internal::get_block_association ( const DoFHandler< dim, spacedim > &  dof,
std::vector< unsigned char > &  dofs_by_block 
)
inline

Definition at line 246 of file dof_tools.cc.

◆ resolve_components() [1/2]

template<int dim, int spacedim>
void DoFTools::internal::resolve_components ( const FiniteElement< dim, spacedim > &  fe,
const std::vector< unsigned char > &  dofs_by_component,
const std::vector< unsigned int > &  target_component,
const bool  only_once,
std::vector< types::global_dof_index > &  dofs_per_component,
unsigned int component 
)

Definition at line 1802 of file dof_tools.cc.

◆ resolve_components() [2/2]

template<int dim, int spacedim>
void DoFTools::internal::resolve_components ( const hp::FECollection< dim, spacedim > &  fe_collection,
const std::vector< unsigned char > &  dofs_by_component,
const std::vector< unsigned int > &  target_component,
const bool  only_once,
std::vector< types::global_dof_index > &  dofs_per_component,
unsigned int component 
)

Definition at line 1847 of file dof_tools.cc.

◆ make_hp_hanging_node_constraints() [1/2]

template<typename number , int spacedim>
void DoFTools::internal::make_hp_hanging_node_constraints ( const DoFHandler< 1, spacedim > &  ,
AffineConstraints< number > &   
)

Definition at line 596 of file dof_tools_constraints.cc.

◆ make_hanging_node_constraints_nedelec() [1/3]

template<typename number , int spacedim>
void DoFTools::internal::make_hanging_node_constraints_nedelec ( const ::DoFHandler< 1, spacedim > &  ,
AffineConstraints< number > &  ,
std::integral_constant< int, 1 >   
)

Definition at line 607 of file dof_tools_constraints.cc.

◆ make_oldstyle_hanging_node_constraints() [1/3]

template<typename number , int spacedim>
void DoFTools::internal::make_oldstyle_hanging_node_constraints ( const DoFHandler< 1, spacedim > &  ,
AffineConstraints< number > &  ,
std::integral_constant< int, 1 >   
)

Definition at line 619 of file dof_tools_constraints.cc.

◆ make_oldstyle_hanging_node_constraints() [2/3]

template<int dim_, int spacedim, typename number >
void DoFTools::internal::make_oldstyle_hanging_node_constraints ( const DoFHandler< dim_, spacedim > &  dof_handler,
AffineConstraints< number > &  constraints,
std::integral_constant< int, 2 >   
)

Definition at line 631 of file dof_tools_constraints.cc.

◆ make_oldstyle_hanging_node_constraints() [3/3]

template<int dim_, int spacedim, typename number >
void DoFTools::internal::make_oldstyle_hanging_node_constraints ( const DoFHandler< dim_, spacedim > &  dof_handler,
AffineConstraints< number > &  constraints,
std::integral_constant< int, 3 >   
)

Definition at line 792 of file dof_tools_constraints.cc.

◆ make_hanging_node_constraints_nedelec() [2/3]

template<int dim_, int spacedim, typename number >
void DoFTools::internal::make_hanging_node_constraints_nedelec ( const DoFHandler< dim_, spacedim > &  dof_handler,
AffineConstraints< number > &  constraints,
std::integral_constant< int, 2 >   
)

Definition at line 1052 of file dof_tools_constraints.cc.

◆ make_hanging_node_constraints_nedelec() [3/3]

template<int dim_, int spacedim, typename number >
void DoFTools::internal::make_hanging_node_constraints_nedelec ( const DoFHandler< dim_, spacedim > &  dof_handler,
AffineConstraints< number > &  constraints,
std::integral_constant< int, 3 >   
)

Definition at line 1181 of file dof_tools_constraints.cc.

◆ make_hp_hanging_node_constraints() [2/2]

template<int dim, int spacedim, typename number >
void DoFTools::internal::make_hp_hanging_node_constraints ( const DoFHandler< dim, spacedim > &  dof_handler,
AffineConstraints< number > &  constraints 
)

Definition at line 2316 of file dof_tools_constraints.cc.