Reference documentation for deal.II version 8.5.1
|
#include <deal.II/grid/manifold_lib.h>
Public Member Functions | |
CylindricalManifold (const unsigned int axis=0, const double tolerance=1e-10) | |
CylindricalManifold (const Point< spacedim > &direction, const Point< spacedim > &point_on_axis, const double tolerance=1e-10) | |
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 |
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 void | add_new_points (const std::vector< Point< spacedim > > &surrounding_points, const Table< 2, double > &weights, std::vector< Point< spacedim > > &new_points) 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 > | get_tangent_vector (const Point< spacedim > &x1, const Point< spacedim > &x2) 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) |
Protected Attributes | |
const Point< spacedim > | direction |
const Point< spacedim > | point_on_axis |
Private Attributes | |
FlatManifold< dim, spacedim > | flat_manifold |
double | tolerance |
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) |
Cylindrical Manifold description. In three dimensions, points are transformed using a cylindrical coordinate system along the x-
, y-
or z
-axis (when using the first constructor of this class), or an arbitrarily oriented cylinder described by the direction of its axis and a point located on the axis.
This class was developed to be used in conjunction with the cylinder
or cylinder_shell
functions of GridGenerator. This function will throw an exception whenever spacedim is not equal to three.
Definition at line 272 of file manifold_lib.h.
CylindricalManifold< dim, spacedim >::CylindricalManifold | ( | const unsigned int | axis = 0 , |
const double | tolerance = 1e-10 |
||
) |
Constructor. Using default values for the constructor arguments yields a cylinder along the x-axis (axis=0
). Choose axis=1
or axis=2
for a tube along the y- or z-axis, respectively. The tolerance value is used to determine if a point is on the axis.
Definition at line 300 of file manifold_lib.cc.
CylindricalManifold< dim, spacedim >::CylindricalManifold | ( | const Point< spacedim > & | direction, |
const Point< spacedim > & | point_on_axis, | ||
const double | tolerance = 1e-10 |
||
) |
Constructor. If constructed with this constructor, the manifold described is a cylinder with an axis that points in direction direction and goes through the given point_on_axis. The direction may be arbitrarily scaled, and the given point may be any point on the axis. The tolerance value is used to determine if a point is on the axis.
Definition at line 311 of file manifold_lib.cc.
|
virtual |
Compute new points on the CylindricalManifold. See the documentation of the base class for a detailed description of what this function does.
Reimplemented from Manifold< dim, spacedim >.
Definition at line 327 of file manifold_lib.cc.
|
virtual |
Compute new points on the CylindricalManifold. See the documentation of the base class for a detailed description of what this function does.
Reimplemented from Manifold< dim, spacedim >.
Definition at line 337 of file manifold_lib.cc.
|
protected |
The direction vector of the axis.
Definition at line 314 of file manifold_lib.h.
|
protected |
An arbitrary point on the axis.
Definition at line 319 of file manifold_lib.h.
|
private |
Helper FlatManifold to compute tentative midpoints.
Definition at line 325 of file manifold_lib.h.
|
private |
Relative tolerance to measure zero distances.
Definition at line 330 of file manifold_lib.h.