Reference documentation for deal.II version 8.5.1
Classes | Public Member Functions | Private Attributes | List of all members
MappingQEulerian< dim, VectorType, spacedim >::MappingQEulerianGeneric Class Reference
Inheritance diagram for MappingQEulerian< dim, VectorType, spacedim >::MappingQEulerianGeneric:
[legend]

Classes

class  SupportQuadrature
 

Public Member Functions

 MappingQEulerianGeneric (const unsigned int degree, const MappingQEulerian< dim, VectorType, spacedim > &mapping_q_eulerian)
 
virtual std_cxx11::array< Point< spacedim >, GeometryInfo< dim >::vertices_per_cell > get_vertices (const typename Triangulation< dim, spacedim >::cell_iterator &cell) const
 
virtual std::vector< Point< spacedim > > compute_mapping_support_points (const typename Triangulation< dim, spacedim >::cell_iterator &cell) const
 
- Public Member Functions inherited from MappingQGeneric< dim, spacedim >
 MappingQGeneric (const unsigned int polynomial_degree)
 
 MappingQGeneric (const MappingQGeneric< dim, spacedim > &mapping)
 
virtual Mapping< dim, spacedim > * clone () const
 
unsigned int get_degree () const
 
virtual bool preserves_vertex_locations () const
 
virtual Point< spacedim > transform_unit_to_real_cell (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const Point< dim > &p) const
 
virtual Point< dim > transform_real_to_unit_cell (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const Point< spacedim > &p) const
 
virtual void transform (const ArrayView< const Tensor< 1, dim > > &input, const MappingType type, const typename Mapping< dim, spacedim >::InternalDataBase &internal, const ArrayView< Tensor< 1, spacedim > > &output) const
 
virtual void transform (const ArrayView< const DerivativeForm< 1, dim, spacedim > > &input, const MappingType type, const typename Mapping< dim, spacedim >::InternalDataBase &internal, const ArrayView< Tensor< 2, spacedim > > &output) const
 
virtual void transform (const ArrayView< const Tensor< 2, dim > > &input, const MappingType type, const typename Mapping< dim, spacedim >::InternalDataBase &internal, const ArrayView< Tensor< 2, spacedim > > &output) const
 
virtual void transform (const ArrayView< const DerivativeForm< 2, dim, spacedim > > &input, const MappingType type, const typename Mapping< dim, spacedim >::InternalDataBase &internal, const ArrayView< Tensor< 3, spacedim > > &output) const
 
virtual void transform (const ArrayView< const Tensor< 3, dim > > &input, const MappingType type, const typename Mapping< dim, spacedim >::InternalDataBase &internal, const ArrayView< Tensor< 3, spacedim > > &output) const
 
virtual UpdateFlags requires_update_flags (const UpdateFlags update_flags) const
 
virtual InternalDataget_data (const UpdateFlags, const Quadrature< dim > &quadrature) const
 
virtual InternalDataget_face_data (const UpdateFlags flags, const Quadrature< dim-1 > &quadrature) const
 
virtual InternalDataget_subface_data (const UpdateFlags flags, const Quadrature< dim-1 > &quadrature) const
 
virtual CellSimilarity::Similarity fill_fe_values (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const CellSimilarity::Similarity cell_similarity, const Quadrature< dim > &quadrature, const typename Mapping< dim, spacedim >::InternalDataBase &internal_data, ::internal::FEValues::MappingRelatedData< dim, spacedim > &output_data) const
 
virtual void fill_fe_face_values (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const unsigned int face_no, const Quadrature< dim-1 > &quadrature, const typename Mapping< dim, spacedim >::InternalDataBase &internal_data, ::internal::FEValues::MappingRelatedData< dim, spacedim > &output_data) const
 
virtual void fill_fe_subface_values (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const unsigned int face_no, const unsigned int subface_no, const Quadrature< dim-1 > &quadrature, const typename Mapping< dim, spacedim >::InternalDataBase &internal_data, ::internal::FEValues::MappingRelatedData< dim, spacedim > &output_data) const
 
- Public Member Functions inherited from Mapping< dim, spacedim >
virtual ~Mapping ()
 
Point< dim-1 > project_real_point_to_unit_point_on_face (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const unsigned int &face_no, const Point< spacedim > &p) const
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
 Subscriptor (Subscriptor &&)
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
Subscriptoroperator= (Subscriptor &&)
 
void subscribe (const char *identifier=0) const
 
void unsubscribe (const char *identifier=0) const
 
unsigned int n_subscriptions () const
 
void list_subscribers () const
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Private Attributes

const MappingQEulerian< dim, VectorType, spacedim > & mapping_q_eulerian
 
const SupportQuadrature support_quadrature
 
FEValues< dim, spacedim > fe_values
 
Threads::Mutex fe_values_mutex
 

Additional Inherited Members

- Static Public Member Functions inherited from Mapping< dim, spacedim >
static ::ExceptionBaseExcInvalidData ()
 
static ::ExceptionBaseExcTransformationFailed ()
 
static ::ExceptionBaseExcDistortedMappedCell (Point< spacedim > arg1, double arg2, int arg3)
 
- Static Public Member Functions inherited from Subscriptor
static ::ExceptionBaseExcInUse (int arg1, char *arg2, std::string &arg3)
 
static ::ExceptionBaseExcNoSubscriber (char *arg1, char *arg2)
 
- Protected Member Functions inherited from MappingQGeneric< dim, spacedim >
Point< dim > transform_real_to_unit_cell_internal (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const Point< spacedim > &p, const Point< dim > &initial_p_unit) const
 
virtual void add_line_support_points (const typename Triangulation< dim, spacedim >::cell_iterator &cell, std::vector< Point< spacedim > > &a) const
 
virtual void add_quad_support_points (const typename Triangulation< dim, spacedim >::cell_iterator &cell, std::vector< Point< spacedim > > &a) const
 
Interface with FEValues
- Protected Attributes inherited from MappingQGeneric< dim, spacedim >
const unsigned int polynomial_degree
 
const std_cxx11::unique_ptr< FE_Q< dim > > fe_q
 
std::vector< Table< 2, double > > support_point_weights_perimeter_to_interior
 
Table< 2, double > support_point_weights_cell
 

Detailed Description

template<int dim, typename VectorType = Vector<double>, int spacedim = dim>
class MappingQEulerian< dim, VectorType, spacedim >::MappingQEulerianGeneric

A class derived from MappingQGeneric that provides the generic mapping with support points on boundary objects so that the corresponding Q3 mapping ends up being C1.

Definition at line 182 of file mapping_q_eulerian.h.

Constructor & Destructor Documentation

◆ MappingQEulerianGeneric()

template<int dim, class VectorType , int spacedim>
MappingQEulerian< dim, VectorType, spacedim >::MappingQEulerianGeneric::MappingQEulerianGeneric ( const unsigned int  degree,
const MappingQEulerian< dim, VectorType, spacedim > &  mapping_q_eulerian 
)

Constructor.

Definition at line 44 of file mapping_q_eulerian.cc.

Member Function Documentation

◆ get_vertices()

template<int dim, class VectorType , int spacedim>
std_cxx11::array< Point< spacedim >, GeometryInfo< dim >::vertices_per_cell > MappingQEulerian< dim, VectorType, spacedim >::MappingQEulerianGeneric::get_vertices ( const typename Triangulation< dim, spacedim >::cell_iterator &  cell) const
virtual

Return the mapped vertices of the cell. For the current class, this function does not use the support points from the geometry of the current cell but instead evaluates an externally given displacement field in addition to the geometry of the cell.

Reimplemented from Mapping< dim, spacedim >.

Definition at line 169 of file mapping_q_eulerian.cc.

◆ compute_mapping_support_points()

template<int dim, class VectorType , int spacedim>
std::vector< Point< spacedim > > MappingQEulerian< dim, VectorType, spacedim >::MappingQEulerianGeneric::compute_mapping_support_points ( const typename Triangulation< dim, spacedim >::cell_iterator &  cell) const
virtual

Compute the positions of the support points in the current configuration. See the documentation of MappingQGeneric::compute_mapping_support_points() for more information.

Reimplemented from MappingQGeneric< dim, spacedim >.

Definition at line 180 of file mapping_q_eulerian.cc.

Member Data Documentation

◆ mapping_q_eulerian

template<int dim, typename VectorType = Vector<double>, int spacedim = dim>
const MappingQEulerian<dim,VectorType,spacedim>& MappingQEulerian< dim, VectorType, spacedim >::MappingQEulerianGeneric::mapping_q_eulerian
private

Reference to the surrounding object off of which we live.

Definition at line 215 of file mapping_q_eulerian.h.

◆ support_quadrature

template<int dim, typename VectorType = Vector<double>, int spacedim = dim>
const SupportQuadrature MappingQEulerian< dim, VectorType, spacedim >::MappingQEulerianGeneric::support_quadrature
private

A member variable holding the quadrature points in the right order.

Definition at line 237 of file mapping_q_eulerian.h.

◆ fe_values

template<int dim, typename VectorType = Vector<double>, int spacedim = dim>
FEValues<dim,spacedim> MappingQEulerian< dim, VectorType, spacedim >::MappingQEulerianGeneric::fe_values
mutableprivate

FEValues object used to query the the given finite element field at the support points in the reference configuration.

The variable is marked as mutable since we have to call FEValues::reinit from compute_mapping_support_points, a function that is 'const'.

Definition at line 247 of file mapping_q_eulerian.h.

◆ fe_values_mutex

template<int dim, typename VectorType = Vector<double>, int spacedim = dim>
Threads::Mutex MappingQEulerian< dim, VectorType, spacedim >::MappingQEulerianGeneric::fe_values_mutex
mutableprivate

A variable to guard access to the fe_values variable.

Definition at line 252 of file mapping_q_eulerian.h.


The documentation for this class was generated from the following files: