ASPECT
|
Classes | |
struct | VectorDoFTuple |
Functions | |
template<int dim> | |
std::ostream & | operator<< (std::ostream &out, const VectorDoFTuple< dim > &vdt) |
template<int dim> | |
void | add_constraint (const VectorDoFTuple< dim > &dof_indices, const Tensor< 1, dim > &constraining_vector, AffineConstraints< double > &constraints, const double inhomogeneity=0) |
template<int dim> | |
void | add_tangentiality_constraints (const VectorDoFTuple< dim > &dof_indices, const Tensor< 1, dim > &tangent_vector, AffineConstraints< double > &constraints, const Vector< double > &b_values=Vector< double >(dim)) |
template<int dim, int spacedim> | |
void | map_dofs_to_normal_vectors_and_normal_fluxes (const typename DoFHandler< dim, spacedim >::cell_iterator &cell, const unsigned int first_vector_component, const std::set< types::boundary_id > &boundary_ids, const std::map< types::boundary_id, const Function< spacedim > *> &function_map, hp::FEFaceValues< dim, spacedim > &x_fe_face_values, const unsigned int n_dofs, const IndexSet &refinement_edge_indices, const unsigned int level, std::multimap< internal::VectorDoFTuple< dim >, std::pair< Tensor< 1, dim >, typename DoFHandler< dim, spacedim >::cell_iterator >> &dof_to_normals_map, std::map< internal::VectorDoFTuple< dim >, Vector< double >> &dof_vector_to_b_values) |
template<int dim, int spacedim> | |
void | compute_nonzero_normal_flux_constraints_active_or_level (const DoFHandler< dim, spacedim > &dof_handler, const unsigned int first_vector_component, const std::set< types::boundary_id > &boundary_ids, const std::map< types::boundary_id, const Function< spacedim > *> &function_map, AffineConstraints< double > &constraints, const Mapping< dim, spacedim > &mapping, const IndexSet &refinement_edge_indices=IndexSet(), const unsigned int level=numbers::invalid_unsigned_int) |
std::ostream& dealii::VectorTools::internal::operator<< | ( | std::ostream & | out, |
const VectorDoFTuple< dim > & | vdt | ||
) |
void dealii::VectorTools::internal::add_constraint | ( | const VectorDoFTuple< dim > & | dof_indices, |
const Tensor< 1, dim > & | constraining_vector, | ||
AffineConstraints< double > & | constraints, | ||
const double | inhomogeneity = 0 |
||
) |
Add the constraint \(\vec n \cdot \vec u = inhom\) to the list of constraints.
Here, \(\vec u\) is represented by the set of given DoF indices, and \(\vec n\) by the vector specified as the second argument.
The function does not add constraints if a degree of freedom is already constrained in the constraints object.
Definition at line 120 of file compat.h.
References dealii::VectorTools::internal::VectorDoFTuple< dim >::dof_indices.
Referenced by compute_nonzero_normal_flux_constraints_active_or_level().
void dealii::VectorTools::internal::add_tangentiality_constraints | ( | const VectorDoFTuple< dim > & | dof_indices, |
const Tensor< 1, dim > & | tangent_vector, | ||
AffineConstraints< double > & | constraints, | ||
const Vector< double > & | b_values = Vector<double>(dim) |
||
) |
Add the constraint \((\vec u-\vec u_\Gamma) \| \vec t\) to the list of constraints. In 2d, this is a single constraint, in 3d these are two constraints.
Here, \(\vec u\) is represented by the set of given DoF indices, and \(\vec t\) by the vector specified as the second argument.
The function does not add constraints if a degree of freedom is already constrained in the constraints object.
Definition at line 333 of file compat.h.
References dealii::VectorTools::internal::VectorDoFTuple< dim >::dof_indices.
Referenced by compute_nonzero_normal_flux_constraints_active_or_level().
void dealii::VectorTools::internal::map_dofs_to_normal_vectors_and_normal_fluxes | ( | const typename DoFHandler< dim, spacedim >::cell_iterator & | cell, |
const unsigned int | first_vector_component, | ||
const std::set< types::boundary_id > & | boundary_ids, | ||
const std::map< types::boundary_id, const Function< spacedim > *> & | function_map, | ||
hp::FEFaceValues< dim, spacedim > & | x_fe_face_values, | ||
const unsigned int | n_dofs, | ||
const IndexSet & | refinement_edge_indices, | ||
const unsigned int | level, | ||
std::multimap< internal::VectorDoFTuple< dim >, std::pair< Tensor< 1, dim >, typename DoFHandler< dim, spacedim >::cell_iterator >> & | dof_to_normals_map, | ||
std::map< internal::VectorDoFTuple< dim >, Vector< double >> & | dof_vector_to_b_values | ||
) |
Compute the mappings from vector degrees of freedom to normal vectors dof_to_normals_map
and vector degrees of freedom to prescribed normal fluxes dof_vector_to_b_values
.
Definition at line 393 of file compat.h.
References dealii::VectorTools::internal::VectorDoFTuple< dim >::dof_indices.
Referenced by compute_nonzero_normal_flux_constraints_active_or_level().
void dealii::VectorTools::internal::compute_nonzero_normal_flux_constraints_active_or_level | ( | const DoFHandler< dim, spacedim > & | dof_handler, |
const unsigned int | first_vector_component, | ||
const std::set< types::boundary_id > & | boundary_ids, | ||
const std::map< types::boundary_id, const Function< spacedim > *> & | function_map, | ||
AffineConstraints< double > & | constraints, | ||
const Mapping< dim, spacedim > & | mapping, | ||
const IndexSet & | refinement_edge_indices = IndexSet() , |
||
const unsigned int | level = numbers::invalid_unsigned_int |
||
) |
This is the internal function that computes the nonzero normal flux constraints on active cells if level
is an invalid unsigned integer or level cells if the cell level is provided. It's called by compute_nonzero_normal_flux_constraints() and compute_nonzero_normal_flux_constraints_on_level() so as to have separate interfaces for the active and level cells.
Definition at line 574 of file compat.h.
References add_constraint(), add_tangentiality_constraints(), dealii::VectorTools::internal::VectorDoFTuple< dim >::dof_indices, and map_dofs_to_normal_vectors_and_normal_fluxes().
Referenced by dealii::VectorTools::compute_no_normal_flux_constraints_on_level().