HalfHyperShellBoundary< dim > Class Template Reference
[Boundary description for triangulations]

Inheritance diagram for HalfHyperShellBoundary< dim >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 HalfHyperShellBoundary (const Point< dim > &center=Point< dim >(), const double inner_radius=-1, const double outer_radius=-1)
virtual Point< dim > get_new_point_on_line (const typename Triangulation< dim >::line_iterator &line) const
virtual Point< dim > get_new_point_on_quad (const typename Triangulation< dim >::quad_iterator &quad) const
virtual void get_intermediate_points_on_line (const typename Triangulation< dim >::line_iterator &line, std::vector< Point< dim > > &points) const
virtual void get_intermediate_points_on_quad (const typename Triangulation< dim >::quad_iterator &quad, std::vector< Point< dim > > &points) const
virtual void get_normals_at_vertices (const typename Triangulation< dim >::face_iterator &face, typename Boundary< dim >::FaceVertexNormals &face_vertex_normals) const

Private Attributes

const double inner_radius
const double outer_radius

Detailed Description

template<int dim>
class HalfHyperShellBoundary< dim >

Variant of HyperShellBoundary which denotes a half hyper shell where the first coordinate is restricted to the range $x>=0$ (or $x>=center(0)$). In two dimensions, this equals the right half arc, in three space dimensions it is a half shell. This class might be useful for computations with rotational symmetry, where one dimension is the radius from the axis of rotation.

Author:
Wolfgang Bangerth, 2000, 2009

Constructor & Destructor Documentation

template<int dim>
HalfHyperShellBoundary< dim >::HalfHyperShellBoundary ( const Point< dim > &  center = Point< dim >(),
const double  inner_radius = -1,
const double  outer_radius = -1 
)

Constructor. The center of the spheres defaults to the origin.

If the radii are not specified, the class tries to infer them from the location of points on the boundary. This works in 2d, but not in 3d. As a consequence, in 3d these radii must be given.


Member Function Documentation

template<int dim>
virtual Point<dim> HalfHyperShellBoundary< dim >::get_new_point_on_line ( const typename Triangulation< dim >::line_iterator &  line  )  const [virtual]

Construct a new point on a line.

template<int dim>
virtual Point<dim> HalfHyperShellBoundary< dim >::get_new_point_on_quad ( const typename Triangulation< dim >::quad_iterator &  quad  )  const [virtual]

Construct a new point on a quad.

template<int dim>
virtual void HalfHyperShellBoundary< dim >::get_intermediate_points_on_line ( const typename Triangulation< dim >::line_iterator &  line,
std::vector< Point< dim > > &  points 
) const [virtual]

Refer to the general documentation of this class and the documentation of the base class.

Calls get_intermediate_points_between_points.

template<int dim>
virtual void HalfHyperShellBoundary< dim >::get_intermediate_points_on_quad ( const typename Triangulation< dim >::quad_iterator &  quad,
std::vector< Point< dim > > &  points 
) const [virtual]

Refer to the general documentation of this class and the documentation of the base class.

Only implemented for dim=3 and for points.size()==1.

template<int dim>
virtual void HalfHyperShellBoundary< dim >::get_normals_at_vertices ( const typename Triangulation< dim >::face_iterator &  face,
typename Boundary< dim >::FaceVertexNormals face_vertex_normals 
) const [virtual]

Compute the normals to the boundary at the vertices of the given face.

Refer to the general documentation of this class and the documentation of the base class.


Member Data Documentation

template<int dim>
const double HalfHyperShellBoundary< dim >::inner_radius [private]

Inner and outer radii of the shell.

template<int dim>
const double HalfHyperShellBoundary< dim >::outer_radius [private]

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

deal.II documentation generated on Mon Nov 23 22:57:50 2009 by doxygen 1.6.1