Reference documentation for deal.II version 8.4.2
Public Member Functions | Protected Attributes | Private Attributes | List of all members
CylindricalManifold< dim, spacedim > Class Template Reference

#include <deal.II/grid/manifold_lib.h>

Inheritance diagram for CylindricalManifold< dim, spacedim >:
[legend]

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
 
- Public Member Functions inherited from Manifold< dim, spacedim >
virtual ~Manifold ()
 
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
 
- 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)
 

Protected Attributes

const Point< spacedim > direction
 
const Point< spacedim > point_on_axis
 

Private Attributes

FlatManifold< dim, spacedim > flat_manifold
 
double tolerance
 

Detailed Description

template<int dim, int spacedim = dim>
class CylindricalManifold< dim, spacedim >

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.

Author
Luca Heltai, 2014

Definition at line 127 of file manifold_lib.h.

Constructor & Destructor Documentation

§ CylindricalManifold() [1/2]

template<int dim, int spacedim>
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 139 of file manifold_lib.cc.

§ CylindricalManifold() [2/2]

template<int dim, int spacedim>
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 150 of file manifold_lib.cc.

Member Function Documentation

§ get_new_point()

template<int dim, int spacedim>
Point< spacedim > CylindricalManifold< dim, spacedim >::get_new_point ( const Quadrature< spacedim > &  quad) const
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 166 of file manifold_lib.cc.

Member Data Documentation

§ direction

template<int dim, int spacedim = dim>
const Point<spacedim> CylindricalManifold< dim, spacedim >::direction
protected

The direction vector of the axis.

Definition at line 161 of file manifold_lib.h.

§ point_on_axis

template<int dim, int spacedim = dim>
const Point<spacedim> CylindricalManifold< dim, spacedim >::point_on_axis
protected

An arbitrary point on the axis.

Definition at line 166 of file manifold_lib.h.

§ flat_manifold

template<int dim, int spacedim = dim>
FlatManifold<dim,spacedim> CylindricalManifold< dim, spacedim >::flat_manifold
private

Helper FlatManifold to compute tentative midpoints.

Definition at line 172 of file manifold_lib.h.

§ tolerance

template<int dim, int spacedim = dim>
double CylindricalManifold< dim, spacedim >::tolerance
private

Relative tolerance to measure zero distances.

Definition at line 177 of file manifold_lib.h.


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