ASPECT
Public Member Functions | Private Attributes | List of all members
aspect::GeometryModel::Chunk< dim >::ChunkGeometry Class Reference
Inheritance diagram for aspect::GeometryModel::Chunk< dim >::ChunkGeometry:
Inheritance graph
[legend]

Public Member Functions

 ChunkGeometry ()
 
 ChunkGeometry (const ChunkGeometry &other)
 
virtual Point< dim > pull_back (const Point< dim > &space_point) const
 
virtual Point< dim > push_forward (const Point< dim > &chart_point) const
 
virtual DerivativeForm< 1, dim, dim > push_forward_gradient (const Point< dim > &chart_point) const
 
virtual void set_min_longitude (const double p1_lon)
 
- Public Member Functions inherited from ChartManifold< dim, dim >
 ChartManifold (const Tensor< 1, chartdim > &periodicity=Tensor< 1, chartdim >())
 
virtual ~ChartManifold () override=default
 
virtual Point< dim > get_intermediate_point (const Point< dim > &p1, const Point< dim > &p2, const double w) const override
 
virtual Point< dim > get_new_point (const ArrayView< const Point< dim >> &surrounding_points, const ArrayView< const double > &weights) const override
 
virtual void get_new_points (const ArrayView< const Point< dim >> &surrounding_points, const Table< 2, double > &weights, ArrayView< Point< dim >> new_points) const override
 
virtual Point< dim > push_forward (const Point< chartdim > &chart_point) const =0
 
virtual DerivativeForm< 1, chartdim, dim > push_forward_gradient (const Point< chartdim > &chart_point) const
 
virtual Tensor< 1, dim > get_tangent_vector (const Point< dim > &x1, const Point< dim > &x2) const override
 
const Tensor< 1, chartdim > & get_periodicity () const
 
- Public Member Functions inherited from Manifold< dim, spacedim >
virtual ~Manifold () override=default
 
virtual std::unique_ptr< Manifold< dim, spacedim > > clone () const=0
 
virtual Point< spacedim > get_intermediate_point (const Point< spacedim > &p1, const Point< spacedim > &p2, const double w) const
 
virtual Point< spacedim > get_new_point (const ArrayView< const Point< spacedim >> &surrounding_points, const ArrayView< const double > &weights) const
 
virtual void get_new_points (const ArrayView< const Point< spacedim >> &surrounding_points, const Table< 2, double > &weights, ArrayView< Point< spacedim >> new_points) const
 
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 > 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
 
virtual Point< spacedim > get_intermediate_point (const Point< spacedim > &p1, const Point< spacedim > &p2, const double w) const
 
virtual Point< spacedim > get_new_point (const ArrayView< const Point< spacedim >> &surrounding_points, const ArrayView< const double > &weights) const
 
virtual void get_new_points (const ArrayView< const Point< spacedim >> &surrounding_points, const Table< 2, double > &weights, ArrayView< Point< spacedim >> new_points) const
 
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 > 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 &&) noexcept
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
Subscriptoroperator= (Subscriptor &&) noexcept
 
std::enable_if< std::is_same< ConstCharStar, const char *>::value >::type subscribe (std::atomic< bool > *const validity, ConstCharStar identifier=nullptr) const
 
void subscribe (std::atomic< bool > *const validity, const char *&&identifier) const=delete
 
void unsubscribe (std::atomic< bool > *const validity, const char *identifier=nullptr) const
 
unsigned int n_subscriptions () const
 
void list_subscribers (StreamType &stream) const
 
void list_subscribers () const
 
void serialize (Archive &ar, const unsigned int version)
 

Private Attributes

double point1_lon
 

Additional Inherited Members

- Public Types inherited from Manifold< dim, spacedim >
typedef std::array< Tensor< 1, spacedim >, GeometryInfo< dim >::vertices_per_face > FaceVertexNormals
 
- 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)
 

Detailed Description

template<int dim>
class aspect::GeometryModel::Chunk< dim >::ChunkGeometry

ChunkGeometry is a class that implements the interface of ChartManifold. The function push_forward takes a point in the reference (radius,lon,lat) domain and transforms it into real space (cartesian). The inverse function pull_back reverses this operation. The push_forward_gradient provides derivatives of the reference coordinates to the real space coordinates, which are used in computing normal vectors. In set_min_longitude the minimum longitude is set, which is used to test the quadrant of returned longitudes in the pull_back function.

Definition at line 293 of file chunk.h.

Constructor & Destructor Documentation

§ ChunkGeometry() [1/2]

template<int dim>
aspect::GeometryModel::Chunk< dim >::ChunkGeometry::ChunkGeometry ( )

Constructor

§ ChunkGeometry() [2/2]

template<int dim>
aspect::GeometryModel::Chunk< dim >::ChunkGeometry::ChunkGeometry ( const ChunkGeometry other)

Copy constructor

Member Function Documentation

§ pull_back()

template<int dim>
virtual Point<dim> aspect::GeometryModel::Chunk< dim >::ChunkGeometry::pull_back ( const Point< dim > &  space_point) const
virtual

§ push_forward()

template<int dim>
virtual Point<dim> aspect::GeometryModel::Chunk< dim >::ChunkGeometry::push_forward ( const Point< dim > &  chart_point) const
virtual

§ push_forward_gradient()

template<int dim>
virtual DerivativeForm<1, dim, dim> aspect::GeometryModel::Chunk< dim >::ChunkGeometry::push_forward_gradient ( const Point< dim > &  chart_point) const
virtual

§ set_min_longitude()

template<int dim>
virtual void aspect::GeometryModel::Chunk< dim >::ChunkGeometry::set_min_longitude ( const double  p1_lon)
virtual

Member Data Documentation

§ point1_lon

template<int dim>
double aspect::GeometryModel::Chunk< dim >::ChunkGeometry::point1_lon
private

Definition at line 333 of file chunk.h.


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