17 #ifndef __deal2__vector_tools_h 18 #define __deal2__vector_tools_h 21 #include <deal.II/base/config.h> 23 #include <deal.II/base/quadrature_lib.h> 24 #include <deal.II/base/point.h> 25 #include <deal.II/dofs/function_map.h> 26 #include <deal.II/fe/mapping_q.h> 27 #include <deal.II/hp/mapping_collection.h> 40 template <
typename number>
class Vector;
42 template <
int dim,
int spacedim>
class Mapping;
43 template <
int dim,
int spacedim>
class DoFHandler;
47 template <
int dim,
int spacedim>
class DoFHandler;
48 template <
int dim,
int spacedim>
class MappingCollection;
49 template <
int dim>
class QCollection;
454 template <
class VECTOR,
int dim,
int spacedim,
template <
int,
int>
class DH>
456 const DH<dim,spacedim> &dof,
465 template <
class VECTOR,
class DH>
498 template <
int dim,
class InVector,
class OutVector,
int spacedim>
502 const InVector &data_1,
541 template <
int dim,
int spacedim,
542 template <
int,
int>
class DH,
545 interpolate_to_different_mesh (
const DH<dim, spacedim> &dof1,
547 const DH<dim, spacedim> &dof2,
575 template <
int dim,
int spacedim,
576 template <
int,
int>
class DH,
579 interpolate_to_different_mesh (
const DH<dim, spacedim> &dof1,
581 const DH<dim, spacedim> &dof2,
599 template <
int dim,
int spacedim,
600 template <
int,
int>
class DH,
603 interpolate_to_different_mesh (
const InterGridMap<DH<dim, spacedim> > &intergridmap,
646 template <
int dim,
class VECTOR,
int spacedim>
653 const bool enforce_zero_boundary =
false,
657 const bool project_to_boundary_first =
false);
664 template <
int dim,
class VECTOR,
int spacedim>
670 const bool enforce_zero_boundary =
false,
674 const bool project_to_boundary_first =
false);
680 template <
int dim,
class VECTOR,
int spacedim>
687 const bool enforce_zero_boundary =
false,
691 const bool project_to_boundary_first =
false);
698 template <
int dim,
class VECTOR,
int spacedim>
704 const bool enforce_zero_boundary =
false,
708 const bool project_to_boundary_first =
false);
800 std::map<types::global_dof_index,double> &boundary_values,
807 template <
int dim,
int spacedim>
812 std::map<types::global_dof_index,double> &boundary_values,
832 std::map<types::global_dof_index,double> &boundary_values,
851 std::map<types::global_dof_index,double> &boundary_values,
868 std::map<types::global_dof_index,double> &boundary_values,
1082 template <
int dim,
int spacedim>
1087 std::map<types::global_dof_index,double> &boundary_values,
1088 std::vector<unsigned int> component_mapping = std::vector<unsigned int>());
1095 template <
int dim,
int spacedim>
1099 std::map<types::global_dof_index,double> &boundary_values,
1100 std::vector<unsigned int> component_mapping = std::vector<unsigned int>());
1105 template <
int dim,
int spacedim>
1110 std::map<types::global_dof_index,double> &boundary_values,
1111 std::vector<unsigned int> component_mapping = std::vector<unsigned int>());
1118 template <
int dim,
int spacedim>
1122 std::map<types::global_dof_index,double> &boundary_values,
1123 std::vector<unsigned int> component_mapping = std::vector<unsigned int>());
1188 template <
int dim,
int spacedim>
1194 std::vector<unsigned int> component_mapping = std::vector<unsigned int>());
1203 template <
int dim,
int spacedim>
1208 std::vector<unsigned int> component_mapping = std::vector<unsigned int>());
1294 const unsigned int first_vector_component,
1309 const unsigned int first_vector_component,
1384 const unsigned int first_vector_component,
1399 const unsigned int first_vector_component,
1601 template <
int dim,
template <
int,
int>
class DH,
int spacedim>
1604 const unsigned int first_vector_component,
1605 const std::set<types::boundary_id> &boundary_ids,
1617 template <
int dim,
template <
int,
int>
class DH,
int spacedim>
1620 const unsigned int first_vector_component,
1621 const std::set<types::boundary_id> &boundary_ids,
1641 template <
int dim,
int spacedim>
1653 template <
int dim,
int spacedim>
1663 template <
int dim,
int spacedim>
1674 template <
int dim,
int spacedim>
1692 template <
int dim,
int spacedim>
1703 template <
int dim,
int spacedim>
1712 template <
int dim,
int spacedim>
1728 template <
int dim,
int spacedim>
1744 template <
int dim,
int spacedim>
1757 template <
int dim,
int spacedim>
1767 template <
int dim,
int spacedim>
1784 template <
int dim,
int spacedim>
1802 template <
int dim,
int spacedim>
1808 const std::set<types::boundary_id> &boundary_indicators = std::set<types::boundary_id>());
1818 template <
int dim,
int spacedim>
1823 const std::set<types::boundary_id> &boundary_indicators = std::set<types::boundary_id>());
1831 template <
int dim,
int spacedim>
1837 const std::set<types::boundary_id> &boundary_indicators = std::set<types::boundary_id>());
1851 template <
int dim,
int spacedim>
1856 const std::set<types::boundary_id> &boundary_indicators = std::set<types::boundary_id>());
1974 template <
int dim,
class InVector,
class OutVector,
int spacedim>
1977 const InVector &fe_function,
1979 OutVector &difference,
1983 const double exponent = 2.);
1990 template <
int dim,
class InVector,
class OutVector,
int spacedim>
1992 const InVector &fe_function,
1994 OutVector &difference,
1998 const double exponent = 2.);
2003 template <
int dim,
class InVector,
class OutVector,
int spacedim>
2006 const InVector &fe_function,
2008 OutVector &difference,
2012 const double exponent = 2.);
2019 template <
int dim,
class InVector,
class OutVector,
int spacedim>
2021 const InVector &fe_function,
2023 OutVector &difference,
2027 const double exponent = 2.);
2050 template <
int dim,
class InVector,
int spacedim>
2052 const InVector &fe_function,
2079 template <
int dim,
class InVector,
int spacedim>
2082 const InVector &fe_function,
2107 template <
int dim,
class InVector,
int spacedim>
2110 const InVector &fe_function,
2122 template <
int dim,
class InVector,
int spacedim>
2125 const InVector &fe_function,
2152 template <
int dim,
class InVector,
int spacedim>
2155 const InVector &fe_function,
2166 template <
int dim,
class InVector,
int spacedim>
2169 const InVector &fe_function,
2192 template <
int dim,
class InVector,
int spacedim>
2196 const InVector &fe_function,
2208 template <
int dim,
class InVector,
int spacedim>
2212 const InVector &fe_function,
2234 template <
int dim,
class InVector,
int spacedim>
2238 const InVector &fe_function,
2249 template <
int dim,
class InVector,
int spacedim>
2253 const InVector &fe_function,
2310 template <
class VECTOR>
2312 const std::vector<bool> &p_select = std::vector<bool>());
2338 template <
int dim,
class InVector,
int spacedim>
2343 const unsigned int component);
2349 template <
int dim,
class InVector,
int spacedim>
2353 const unsigned int component);
2373 DEAL_II_NAMESPACE_CLOSE
void interpolate_boundary_values(const Mapping< DH::dimension, DH::space_dimension > &mapping, const DH &dof, const typename FunctionMap< DH::space_dimension >::type &function_map, ConstraintMatrix &constraints, const ComponentMask &component_mask_)
void project_boundary_values(const Mapping< dim, spacedim > &mapping, const DoFHandler< dim, spacedim > &dof, const typename FunctionMap< spacedim >::type &boundary_functions, const Quadrature< dim-1 > &q, ConstraintMatrix &constraints, std::vector< unsigned int > component_mapping)
std::map< types::boundary_id, const Function< dim > * > type
void compute_no_normal_flux_constraints(const DH< dim, spacedim > &dof_handler, const unsigned int first_vector_component, const std::set< types::boundary_id > &boundary_ids, ConstraintMatrix &constraints, const Mapping< dim, spacedim > &mapping)
#define DeclException0(Exception0)
void project_boundary_values_div_conforming(const DoFHandler< dim > &dof_handler, const unsigned int first_vector_component, const Function< dim > &boundary_function, const types::boundary_id boundary_component, ConstraintMatrix &constraints, const Mapping< dim > &mapping)
unsigned char boundary_id
void project_boundary_values_curl_conforming(const hp::DoFHandler< dim > &dof_handler, const unsigned int first_vector_component, const Function< dim > &boundary_function, const types::boundary_id boundary_component, ConstraintMatrix &constraints, const hp::MappingCollection< dim, dim > &mapping_collection=hp::StaticMappingQ1< dim >::mapping_collection)