16#ifndef dealii_mapping_fe_field_h
17#define dealii_mapping_fe_field_h
48 typename DoFHandlerType =
void>
53template <
int dim,
int spacedim,
typename VectorType,
typename DoFHandlerType>
59 const VectorType & euler_vector,
61 :
MappingFEField<dim, spacedim, VectorType, void>(euler_dof_handler,
68 const std::vector<VectorType> &euler_vector,
70 :
MappingFEField<dim, spacedim, VectorType, void>(euler_dof_handler,
79 :
MappingFEField<dim, spacedim, VectorType, void>(euler_dof_handler,
127template <
int dim,
int spacedim,
typename VectorType>
129 :
public Mapping<dim, spacedim>
165 const VectorType & euler_vector,
178 const std::vector<VectorType> & euler_vector,
202 virtual std::unique_ptr<Mapping<dim, spacedim>>
203 clone()
const override;
211 preserves_vertex_locations()
const override;
223 virtual boost::container::small_vector<Point<spacedim>,
235 transform_unit_to_real_cell(
305 get_component_mask()
const;
320 requires_update_flags(
const UpdateFlags update_flags)
const override;
334 class InternalData :
public Mapping<dim, spacedim>::InternalDataBase
348 shape(
const unsigned int qpoint,
const unsigned int shape_nr)
const;
354 shape(
const unsigned int qpoint,
const unsigned int shape_nr);
360 derivative(
const unsigned int qpoint,
const unsigned int shape_nr)
const;
366 derivative(
const unsigned int qpoint,
const unsigned int shape_nr);
372 second_derivative(
const unsigned int qpoint,
373 const unsigned int shape_nr)
const;
379 second_derivative(
const unsigned int qpoint,
const unsigned int shape_nr);
385 third_derivative(
const unsigned int qpoint,
386 const unsigned int shape_nr)
const;
392 third_derivative(
const unsigned int qpoint,
const unsigned int shape_nr);
398 fourth_derivative(
const unsigned int qpoint,
399 const unsigned int shape_nr)
const;
405 fourth_derivative(
const unsigned int qpoint,
const unsigned int shape_nr);
464 std::array<std::vector<Tensor<1, dim>>,
499 mutable std::vector<DerivativeForm<1, dim, spacedim>>
covariant;
519 mutable std::vector<std::vector<Tensor<1, spacedim>>>
aux;
534 virtual std::unique_ptr<typename Mapping<dim, spacedim>::InternalDataBase>
537 using Mapping<dim, spacedim>::get_face_data;
540 virtual std::unique_ptr<typename Mapping<dim, spacedim>::InternalDataBase>
545 virtual std::unique_ptr<typename Mapping<dim, spacedim>::InternalDataBase>
557 &output_data)
const override;
559 using Mapping<dim, spacedim>::fill_fe_face_values;
565 const unsigned int face_no,
569 &output_data)
const override;
573 fill_fe_subface_values(
575 const unsigned int face_no,
576 const unsigned int subface_no,
580 &output_data)
const override;
623 do_transform_unit_to_real_cell(
const InternalData &mdata)
const;
641 do_transform_real_to_unit_cell(
645 InternalData & mdata)
const;
651 update_internal_dofs(
660 compute_shapes_virtual(
695 const unsigned int n_original_q_points,
696 InternalData & data)
const;
701 const unsigned int n_original_q_points,
702 InternalData & data)
const;
706 template <
int,
int,
class,
class>
std::vector< std::vector< Tensor< 1, spacedim > > > aux
std::vector< Tensor< 1, dim > > shape_derivatives
unsigned int n_shape_functions
std::vector< Tensor< 4, dim > > shape_fourth_derivatives
std::vector< double > shape_values
std::vector< Tensor< 3, dim > > shape_third_derivatives
std::vector< Tensor< 2, dim > > shape_second_derivatives
std::vector< double > local_dof_values
std::vector< double > volume_elements
std::vector< types::global_dof_index > local_dof_indices
std::vector< DerivativeForm< 1, dim, spacedim > > covariant
std::vector< DerivativeForm< 1, dim, spacedim > > contravariant
std::vector< SmartPointer< const VectorType, MappingFEField< dim, spacedim, VectorType, void > > > euler_vector
const bool uses_level_dofs
std::vector< unsigned int > fe_to_real
const ComponentMask fe_mask
FEValues< dim, spacedim > fe_values
std::mutex fe_values_mutex
SmartPointer< const DoFHandler< dim, spacedim >, MappingFEField< dim, spacedim, VectorType, void > > euler_dof_handler
Abstract base class for mapping classes.
#define DEAL_II_DEPRECATED
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define DeclException0(Exception0)
void reference_cell(Triangulation< dim, spacedim > &tria, const ReferenceCell &reference_cell)
std::enable_if< std::is_fundamental< T >::value, std::size_t >::type memory_consumption(const T &t)
Point< 1 > transform_real_to_unit_cell(const std::array< Point< spacedim >, GeometryInfo< 1 >::vertices_per_cell > &vertices, const Point< spacedim > &p)
unsigned int get_degree(const std::vector< BarycentricPolynomial< dim > > &polys)
void transform(const InputIterator &begin_in, const InputIterator &end_in, OutputIterator out, const Predicate &predicate, const unsigned int grainsize)