16 #ifndef dealii__fe_tools_H 17 #define dealii__fe_tools_H 21 #include <deal.II/base/config.h> 22 #include <deal.II/base/subscriptor.h> 23 #include <deal.II/base/exceptions.h> 24 #include <deal.II/base/geometry_info.h> 25 #include <deal.II/base/tensor.h> 26 #include <deal.II/base/symmetric_tensor.h> 32 DEAL_II_NAMESPACE_OPEN
35 template <
typename number>
class Vector;
38 template <
int dim,
int spacedim>
class DoFHandler;
41 template <
int dim,
int spacedim>
class DoFHandler;
79 template <
int dim,
int spacedim=dim>
87 get (
const unsigned int degree)
const = 0;
121 get (
const unsigned int degree)
const;
146 template<
int dim,
int spacedim>
147 void compute_component_wise(
149 std::vector<unsigned int> &renumbering,
150 std::vector<std::vector<unsigned int> > &start_indices);
167 template<
int dim,
int spacedim>
170 std::vector<types::global_dof_index> &renumbering,
171 std::vector<types::global_dof_index> &block_data,
172 bool return_start_indices =
true);
187 template <
int dim,
typename number,
int spacedim>
204 template <
int dim,
typename number,
int spacedim>
220 template <
int dim,
typename number,
int spacedim>
229 template <
int dim,
typename number,
int spacedim>
261 template <
int dim,
int spacedim>
303 template <
int dim,
typename number,
int spacedim>
306 const bool isotropic_only =
false,
307 const double threshold = 1.e-12);
330 template <
int dim,
typename number,
int spacedim>
334 const unsigned int face_coarse,
335 const unsigned int face_fine,
336 const double threshold = 1.e-12);
365 template <
int dim,
typename number,
int spacedim>
369 const bool isotropic_only =
false);
456 template <
int dim,
int spacedim>
470 template <
int dim,
int spacedim>
503 compute_projection_from_quadrature_points(
520 template <
int dim,
int spacedim>
526 const unsigned int face,
564 template <
int dim,
int spacedim,
565 template <
int,
int>
class DoFHandlerType1,
566 template <
int,
int>
class DoFHandlerType2,
567 class InVector,
class OutVector>
569 interpolate (
const DoFHandlerType1<dim,spacedim> &dof1,
571 const DoFHandlerType2<dim,spacedim> &dof2,
590 template <
int dim,
int spacedim,
591 template <
int,
int>
class DoFHandlerType1,
592 template <
int,
int>
class DoFHandlerType2,
593 class InVector,
class OutVector>
594 void interpolate (
const DoFHandlerType1<dim,spacedim> &dof1,
596 const DoFHandlerType2<dim,spacedim> &dof2,
613 template <
int dim,
class InVector,
class OutVector,
int spacedim>
617 OutVector &u1_interpolated);
624 template <
int>
class DoFHandlerType,
625 class InVector,
class OutVector,
int spacedim>
626 void back_interpolate (
const DoFHandlerType<dim> &dof1,
629 OutVector &u1_interpolated);
643 template <
int dim,
class InVector,
class OutVector,
int spacedim>
649 OutVector &u1_interpolated);
660 template <
int dim,
class InVector,
class OutVector,
int spacedim>
664 OutVector &z1_difference);
678 template <
int dim,
class InVector,
class OutVector,
int spacedim>
684 OutVector &z1_difference);
696 template <
int dim,
class InVector,
class OutVector,
int spacedim>
760 template <
int dim,
class InVector,
class OutVector,
int spacedim>
778 template <
int dim,
class InVector,
class OutVector,
int spacedim>
813 std::vector<unsigned int> &h2l);
818 std::vector<unsigned int> &h2l);
825 std::vector<unsigned int>
836 std::vector<unsigned int> &l2h);
843 std::vector<unsigned int>
880 template <
int dim,
int spacedim>
935 template <
int dim,
int spacedim>
950 <<
"Can't re-generate a finite element from the string '" 966 <<
"The dimension " << arg1
967 <<
" in the finite element string must match " 968 <<
"the space dimension " 1000 <<
"You are using continuous elements on a grid with " 1001 <<
"hanging nodes but without providing hanging node " 1002 <<
"constraints. Use the respective function with " 1003 <<
"additional ConstraintMatrix argument(s), instead." 1018 <<
"This is a " << arg1 <<
"x" << arg2 <<
" matrix, " 1019 <<
"but should be a " << arg3 <<
"x" << arg4 <<
" matrix.");
1027 <<
"Least squares fit leaves a gap of " << arg1);
1036 << arg1 <<
" must be greater than " << arg2);
1048 return new FE(degree);
1056 DEAL_II_NAMESPACE_CLOSE
#define DeclException2(Exception2, type1, type2, outsequence)
ActiveSelector::active_cell_iterator active_cell_iterator
#define DeclException1(Exception1, type1, outsequence)
#define DeclException0(Exception0)
#define DeclException4(Exception4, type1, type2, type3, type4, outsequence)