deal.II version GIT relicensing-2206-gaa53ff9447 2024-12-02 09:10:00+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
 
class  RigidBodyMotion
 

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 unsigned char combined_orientation, 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_handler, const ComponentMask &component_mask, std::vector< unsigned char > &dofs_by_component, const unsigned int mg_level=numbers::invalid_unsigned_int)
 
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>
std::vector< std::vector< bool > > extract_constant_modes (const DoFHandler< dim, spacedim > &dof_handler, const ComponentMask &component_mask, const unsigned int mg_level)
 
Tensor< 1, 2 > cross_product (const Tensor< 1, 2 > &tensor1, const Tensor< 1, 1 > &tensor2)
 
Tensor< 1, 3 > cross_product (const Tensor< 1, 3 > &tensor1, const Tensor< 1, 3 > &tensor2)
 
template<int dim, int spacedim>
std::vector< std::vector< double > > extract_rigid_body_modes (const Mapping< dim, spacedim > &mapping, const DoFHandler< dim, spacedim > &dof_handler, const ComponentMask &component_mask, const unsigned int mg_level)
 
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 unsigned char  combined_orientation,
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 124 of file dof_tools.cc.

◆ get_component_association()

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

Definition at line 195 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 277 of file dof_tools.cc.

◆ extract_constant_modes()

template<int dim, int spacedim>
std::vector< std::vector< bool > > DoFTools::internal::extract_constant_modes ( const DoFHandler< dim, spacedim > &  dof_handler,
const ComponentMask component_mask,
const unsigned int  mg_level 
)

Definition at line 1273 of file dof_tools.cc.

◆ cross_product() [1/2]

Tensor< 1, 2 > DoFTools::internal::cross_product ( const Tensor< 1, 2 > &  tensor1,
const Tensor< 1, 1 > &  tensor2 
)

Definition at line 1448 of file dof_tools.cc.

◆ cross_product() [2/2]

Tensor< 1, 3 > DoFTools::internal::cross_product ( const Tensor< 1, 3 > &  tensor1,
const Tensor< 1, 3 > &  tensor2 
)

Definition at line 1463 of file dof_tools.cc.

◆ extract_rigid_body_modes()

template<int dim, int spacedim>
std::vector< std::vector< double > > DoFTools::internal::extract_rigid_body_modes ( const Mapping< dim, spacedim > &  mapping,
const DoFHandler< dim, spacedim > &  dof_handler,
const ComponentMask component_mask,
const unsigned int  mg_level 
)

Definition at line 1501 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 
)
private

Definition at line 2070 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 
)
private

Definition at line 2115 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.