Reference documentation for deal.II version 9.1.1
|
#include <deal.II/grid/manifold_lib.h>
Public Member Functions | |
TorusManifold (const double R, const double r) | |
virtual std::unique_ptr< Manifold< dim, 3 > > | clone () const override |
virtual Point< 3 > | pull_back (const Point< 3 > &p) const override |
virtual Point< 3 > | push_forward (const Point< 3 > &chart_point) const override |
virtual DerivativeForm< 1, 3, 3 > | push_forward_gradient (const Point< 3 > &chart_point) const override |
Public Member Functions inherited from ChartManifold< dim, 3, 3 > | |
ChartManifold (const Tensor< 1, chartdim > &periodicity=Tensor< 1, chartdim >()) | |
virtual | ~ChartManifold () override=default |
virtual Point< spacedim > | get_intermediate_point (const Point< spacedim > &p1, const Point< spacedim > &p2, const double w) const override |
virtual Point< spacedim > | get_new_point (const ArrayView< const Point< spacedim >> &surrounding_points, const ArrayView< const double > &weights) const override |
virtual void | get_new_points (const ArrayView< const Point< spacedim >> &surrounding_points, const Table< 2, double > &weights, ArrayView< Point< spacedim >> new_points) const override |
virtual Point< chartdim > | pull_back (const Point< spacedim > &space_point) const=0 |
virtual Point< spacedim > | push_forward (const Point< chartdim > &chart_point) const=0 |
virtual DerivativeForm< 1, chartdim, spacedim > | push_forward_gradient (const Point< chartdim > &chart_point) const |
virtual Tensor< 1, spacedim > | get_tangent_vector (const Point< spacedim > &x1, const Point< spacedim > &x2) const override |
const Tensor< 1, chartdim > & | get_periodicity () const |
Public Member Functions inherited from Manifold< dim, spacedim > | |
virtual | ~Manifold () override=default |
virtual Point< spacedim > | project_to_manifold (const ArrayView< const 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 &&) noexcept | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
Subscriptor & | operator= (Subscriptor &&) noexcept |
void | subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const |
void | unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const |
unsigned int | n_subscriptions () const |
template<typename StreamType > | |
void | list_subscribers (StreamType &stream) const |
void | list_subscribers () const |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Additional Inherited Members | |
Public Types inherited from Manifold< dim, spacedim > | |
using | FaceVertexNormals = std::array< Tensor< 1, spacedim >, GeometryInfo< dim >::vertices_per_face > |
Static Public Member Functions inherited from Subscriptor | |
static ::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) |
static ::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string arg2) |
Manifold description for the surface of a Torus in three dimensions. The Torus is assumed to be in the x-z plane. The reference coordinate system is given by the angle \(phi\) around the y axis, the angle \(theta\) around the centerline of the torus, and the distance to the centerline \(w\) (between 0 and 1).
This class was developed to be used in conjunction with GridGenerator::torus.
Definition at line 759 of file manifold_lib.h.
TorusManifold< dim >::TorusManifold | ( | const double | R, |
const double | r | ||
) |
Constructor. Specify the radius of the centerline R
and the radius of the torus itself (r
). The variables have the same meaning as the parameters in GridGenerator::torus().
Definition at line 1502 of file manifold_lib.cc.
|
overridevirtual |
Make a clone of this Manifold object.
Implements Manifold< dim, spacedim >.
Definition at line 1517 of file manifold_lib.cc.
|
overridevirtual |
Pull back operation.
Definition at line 1471 of file manifold_lib.cc.
|
overridevirtual |
Push forward operation.
Definition at line 1488 of file manifold_lib.cc.
|
overridevirtual |
Gradient.
Definition at line 1526 of file manifold_lib.cc.