Reference documentation for deal.II version 8.5.1
|
#include <deal.II/grid/composition_manifold.h>
Public Member Functions | |
CompositionManifold (const ChartManifold< dim1, intermediate_dim, chartdim > &F, const ChartManifold< dim2, spacedim, intermediate_dim > &G) | |
virtual Point< chartdim > | pull_back (const Point< spacedim > &space_point) const |
virtual Point< spacedim > | push_forward (const Point< chartdim > &chart_point) const |
virtual DerivativeForm< 1, chartdim, spacedim > | push_forward_gradient (const Point< chartdim > &chart_point) const |
Public Member Functions inherited from ChartManifold< dim, spacedim, chartdim > | |
ChartManifold (const Tensor< 1, chartdim > &periodicity=Tensor< 1, chartdim >()) | |
virtual | ~ChartManifold () |
virtual Point< spacedim > | get_new_point (const Quadrature< spacedim > &quad) const 1 |
virtual Point< spacedim > | get_new_point (const std::vector< Point< spacedim > > &surrounding_points, const std::vector< double > &weights) const |
virtual void | add_new_points (const std::vector< Point< spacedim > > &surrounding_points, const Table< 2, double > &weights, std::vector< Point< spacedim > > &new_points) const |
virtual Tensor< 1, spacedim > | get_tangent_vector (const Point< spacedim > &x1, const Point< spacedim > &x2) const |
const Tensor< 1, chartdim > & | get_periodicity () const |
Public Member Functions inherited from Manifold< dim, spacedim > | |
virtual | ~Manifold () |
virtual Point< spacedim > | get_intermediate_point (const Point< spacedim > &p1, const Point< spacedim > &p2, const double w) const |
virtual Point< spacedim > | project_to_manifold (const std::vector< Point< spacedim > > &surrounding_points, const Point< spacedim > &candidate) const |
virtual Point< spacedim > | get_new_point_on_line (const typename Triangulation< dim, spacedim >::line_iterator &line) const |
virtual Point< spacedim > | get_new_point_on_quad (const typename Triangulation< dim, spacedim >::quad_iterator &quad) const |
virtual Point< spacedim > | get_new_point_on_hex (const typename Triangulation< dim, spacedim >::hex_iterator &hex) const |
Point< spacedim > | get_new_point_on_face (const typename Triangulation< dim, spacedim >::face_iterator &face) const |
Point< spacedim > | get_new_point_on_cell (const typename Triangulation< dim, spacedim >::cell_iterator &cell) const |
virtual Tensor< 1, spacedim > | normal_vector (const typename Triangulation< dim, spacedim >::face_iterator &face, const Point< spacedim > &p) const |
virtual void | get_normals_at_vertices (const typename Triangulation< dim, spacedim >::face_iterator &face, FaceVertexNormals &face_vertex_normals) const |
Public Member Functions inherited from Subscriptor | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
Subscriptor (Subscriptor &&) | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
Subscriptor & | operator= (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 | |
SmartPointer< const ChartManifold< dim1, intermediate_dim, chartdim >, CompositionManifold< dim, spacedim, chartdim, dim1, dim2, intermediate_dim > > | F |
SmartPointer< const ChartManifold< dim2, spacedim, intermediate_dim >, CompositionManifold< dim, spacedim, chartdim, dim1, dim2, intermediate_dim > > | G |
Additional Inherited Members | |
Public Types inherited from Manifold< dim, spacedim > | |
typedef Tensor< 1, spacedim > | FaceVertexNormals[GeometryInfo< dim >::vertices_per_face] |
Static Public Member Functions inherited from Subscriptor | |
static ::ExceptionBase & | ExcInUse (int arg1, char *arg2, std::string &arg3) |
static ::ExceptionBase & | ExcNoSubscriber (char *arg1, char *arg2) |
CompositionManifold. Take two ChartManifold objects, and make their composition. The CompositionManifold object is a ChartManifold going from the chart of the first ChartManifold to the embedding space of the second ChartManifold. If the first ChartManifold is periodic, so is the resulting ChartManifold, with the same periodicity. Periodicity on the second ChartManifold is not allowed, and the constructor will throw an axception if the second Manifold is periodic.
This class only works for dim <= chartdim <= intermediate_spacedim <= spacedim. If you try to instantiate anything different, an Exception will be thrown in one of the ChartManifold classes that violates this condition.
Given the ChartManifold F and the ChartManifold G, this class represents the composition of G after F.
The template parameters have the following meaning:
dim | The dimension of the resulting ChartManifold |
spacedim | The space dimension of the resulting ChartManifold |
chartdim | The chart dimension of the resulting ChartManifold |
intermediate_dim | The space dimension of the first ChartManifold |
dim1 | The dimension of the first ChartManifold, which coincides also with the chart dimension of the second ChartManifold |
dim2 | The dimension of the second ChartManifold |
Definition at line 68 of file composition_manifold.h.
CompositionManifold< dim, spacedim, chartdim, intermediate_dim, dim1, dim2 >::CompositionManifold | ( | const ChartManifold< dim1, intermediate_dim, chartdim > & | F, |
const ChartManifold< dim2, spacedim, intermediate_dim > & | G | ||
) |
Construct the composition of the two given manifolds.
Definition at line 125 of file composition_manifold.h.
|
virtual |
Pull back the given point in spacedim to the Euclidean chartdim dimensional space. This function calls the pull_back() function of G, and then the pull_back() function of F.
Implements ChartManifold< dim, spacedim, chartdim >.
Definition at line 142 of file composition_manifold.h.
|
virtual |
Push forward the chartdim dimensional point to a spacedim Euclidean point. The function calls first the push_forward() of F, and then the push_foward() of G.
Implements ChartManifold< dim, spacedim, chartdim >.
Definition at line 152 of file composition_manifold.h.
|
virtual |
Return the derivative of the composition of G after F.
Reimplemented from ChartManifold< dim, spacedim, chartdim >.
Definition at line 162 of file composition_manifold.h.
|
private |
The first ChartManifold.
Definition at line 109 of file composition_manifold.h.
|
private |
The second ChartManifold.
Definition at line 116 of file composition_manifold.h.