Reference documentation for deal.II version 8.4.2
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
 
 DeclException0 (ExcInvalidData)
 
 DeclExceptionMsg (ExcTransformationFailed, "Computing the mapping between a real space point and a point in reference " "space failed, typically because the given point lies outside the cell " "where the inverse mapping is not unique.")
 
 DeclException3 (ExcDistortedMappedCell, Point< spacedim >, double, int,<< "The image of the mapping applied to cell with center ["<< arg1<< "] is distorted. The cell geometry or the "<< "mapping are invalid, giving a non-positive volume "<< "fraction of "<< arg2<< " in quadrature point "<< arg3<< ".")
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
void subscribe (const char *identifier=0) const
 
void unsubscribe (const char *identifier=0) const
 
unsigned int n_subscriptions () const
 
void list_subscribers () const
 
 DeclException3 (ExcInUse, int, char *, std::string &,<< "Object of class "<< arg2<< " is still used by "<< arg1<< " other objects."<< "\"<< "(Additional information: "<< arg3<< ")\"<< "See the entry in the Frequently Asked Questions of "<< "deal.II (linked to from http://www.dealii.org/) for "<< "a lot more information on what this error means and "<< "how to fix programs in which it happens.")
 
 DeclException2 (ExcNoSubscriber, char *, char *,<< "No subscriber with identifier <"<< arg2<< "> subscribes to this object of class "<< arg1<< ". Consequently, it cannot be unsubscribed.")
 
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

- 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
 
Table< 2, double > support_point_weights_on_quad
 
Table< 2, double > support_point_weights_on_hex
 

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 183 of file mapping_q_eulerian.h.

Constructor & Destructor Documentation

§ MappingQEulerianGeneric()

template<int dim, typename VectorType = Vector<double>, int spacedim = dim>
MappingQEulerian< dim, EulerVectorType, spacedim >::MappingQEulerianGeneric::MappingQEulerianGeneric ( const unsigned int  degree,
const MappingQEulerian< dim, VectorType, spacedim > &  mapping_q_eulerian 
)

Constructor.

Definition at line 39 of file mapping_q_eulerian.cc.

Member Function Documentation

§ get_vertices()

template<int dim, class EulerVectorType , int spacedim>
std_cxx11::array< Point< spacedim >, GeometryInfo< dim >::vertices_per_cell > MappingQEulerian< dim, EulerVectorType, 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 164 of file mapping_q_eulerian.cc.

§ compute_mapping_support_points()

template<int dim, class EulerVectorType , int spacedim>
std::vector< Point< spacedim > > MappingQEulerian< dim, EulerVectorType, 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 175 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 216 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 238 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 248 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 253 of file mapping_q_eulerian.h.


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