16 #ifndef dealii__fe_poly_face_h 17 #define dealii__fe_poly_face_h 20 #include <deal.II/base/qprojector.h> 21 #include <deal.II/fe/fe.h> 24 DEAL_II_NAMESPACE_OPEN
54 template <
class PolynomialType,
int dim=PolynomialType::dimension+1,
int spacedim=dim>
90 InternalData *data =
new InternalData;
102 InternalData *data =
new InternalData;
105 const unsigned int n_q_points = quadrature.
size();
108 std::vector<double> values(0);
109 std::vector<
Tensor<1,dim-1> > grads(0);
110 std::vector<
Tensor<2,dim-1> > grad_grads(0);
111 std::vector<
Tensor<3,dim-1> > empty_vector_of_3rd_order_tensors;
112 std::vector<
Tensor<4,dim-1> > empty_vector_of_4th_order_tensors;
121 std::vector<double> (n_q_points));
122 for (
unsigned int i=0; i<n_q_points; ++i)
125 values, grads, grad_grads,
126 empty_vector_of_3rd_order_tensors,
127 empty_vector_of_4th_order_tensors);
130 data->shape_values[k][i] = values[k];
161 const ::internal::FEValues::MappingRelatedData<dim, spacedim> &mapping_data,
168 const unsigned int face_no,
172 const ::internal::FEValues::MappingRelatedData<dim, spacedim> &mapping_data,
179 const unsigned int face_no,
180 const unsigned int sub_no,
184 const ::internal::FEValues::MappingRelatedData<dim, spacedim> &mapping_data,
222 DEAL_II_NAMESPACE_CLOSE
std::vector< std::vector< double > > shape_values
const Point< dim > & point(const unsigned int i) const
virtual FiniteElement< dim, spacedim >::InternalDataBase * get_data(const UpdateFlags, const Mapping< dim, spacedim > &, const Quadrature< dim > &, ::internal::FEValues::FiniteElementRelatedData< dim, spacedim > &) const
virtual UpdateFlags requires_update_flags(const UpdateFlags update_flags) const
#define Assert(cond, exc)
Abstract base class for mapping classes.
Second derivatives of shape functions.
PolynomialType poly_space
unsigned int size() const
unsigned int get_degree() const
FiniteElement< dim, spacedim >::InternalDataBase * get_subface_data(const UpdateFlags update_flags, const Mapping< dim, spacedim > &mapping, const Quadrature< dim-1 > &quadrature, ::internal::FEValues::FiniteElementRelatedData< dim, spacedim > &output_data) const
Shape function gradients.
static ::ExceptionBase & ExcNotImplemented()
FE_PolyFace(const PolynomialType &poly_space, const FiniteElementData< dim > &fe_data, const std::vector< bool > &restriction_is_additive_flags)
const std::vector< bool > restriction_is_additive_flags
FiniteElement< dim, spacedim >::InternalDataBase * get_face_data(const UpdateFlags update_flags, const Mapping< dim, spacedim > &, const Quadrature< dim-1 > &quadrature, ::internal::FEValues::FiniteElementRelatedData< dim, spacedim > &) const