ASPECT
|
Public Member Functions | |
SphericalManifoldWithTopography (const InitialTopographyModel::Interface< dim > &topography, const double inner_radius, const double outer_radius) | |
SphericalManifoldWithTopography (const SphericalManifoldWithTopography< dim > &)=default | |
virtual std::unique_ptr< Manifold< dim, dim > > | clone () const override |
Point< dim > | push_forward_from_sphere (const Point< dim > &p) const |
Point< dim > | pull_back_to_sphere (const Point< dim > &p) const |
virtual Point< dim > | get_intermediate_point (const Point< dim > &p1, const Point< dim > &p2, const double w) const override |
virtual Tensor< 1, dim > | get_tangent_vector (const Point< dim > &x1, const Point< dim > &x2) const override |
virtual Tensor< 1, dim > | normal_vector (const typename Triangulation< dim, dim >::face_iterator &face, const Point< dim > &p) const override |
virtual void | get_normals_at_vertices (const typename Triangulation< dim, dim >::face_iterator &face, typename Manifold< dim, dim >::FaceVertexNormals &face_vertex_normals) 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 > | get_new_point (const ArrayView< const Point< dim >> &vertices, const ArrayView< const double > &weights) const override |
Public Member Functions inherited from aspect::SphericalManifold< dim > | |
SphericalManifold (const Point< dim > center=Point< dim >()) | |
Private Member Functions | |
double | topography_for_point (const Point< dim > &x_y_z) const |
Private Attributes | |
const InitialTopographyModel::Interface< dim > * | topo |
const double | R0 |
const double | R1 |
Additional Inherited Members | |
Public Attributes inherited from aspect::SphericalManifold< dim > | |
const Point< dim > | center |
A description of a manifold that describes a spherical shell with overlaid topography.
Definition at line 41 of file spherical_shell.h.
aspect::GeometryModel::internal::SphericalManifoldWithTopography< dim >::SphericalManifoldWithTopography | ( | const InitialTopographyModel::Interface< dim > & | topography, |
const double | inner_radius, | ||
const double | outer_radius | ||
) |
Constructor.
|
default |
Copy constructor.
|
overridevirtual |
Make a clone of this Manifold object.
Reimplemented from aspect::SphericalManifold< dim >.
Point<dim> aspect::GeometryModel::internal::SphericalManifoldWithTopography< dim >::push_forward_from_sphere | ( | const Point< dim > & | p | ) | const |
Given a point in the undeformed spherical geometry, push it forward to the corresponding point in the sphere with surface topography.
Point<dim> aspect::GeometryModel::internal::SphericalManifoldWithTopography< dim >::pull_back_to_sphere | ( | const Point< dim > & | p | ) | const |
Given a point in the deformed spherical geometry with topography, pull it back to the corresponding point in the undeformed sphere.
|
overridevirtual |
Given any two points in space, first project them on the surface of a sphere with unit radius, then connect them with a geodesic and find the intermediate point, and finally rescale the final radius so that the resulting one is the convex combination of the starting radii.
Reimplemented from aspect::SphericalManifold< dim >.
|
overridevirtual |
Compute the derivative of the get_intermediate_point() function with parameter w equal to zero.
Reimplemented from aspect::SphericalManifold< dim >.
|
overridevirtual |
Reimplemented from aspect::SphericalManifold< dim >.
|
overridevirtual |
Compute the normal vectors to the boundary at each vertex.
Reimplemented from aspect::SphericalManifold< dim >.
|
overridevirtual |
Compute a new set of points that interpolate between the given points surrounding_points
. weights
is a table with as many columns as surrounding_points.size()
. The number of rows in weights
must match the length of new_points
.
This function is optimized to perform on a collection of new points, by collecting operations that are not dependent on the weights outside of the loop over all new points.
The implementation does not allow for surrounding_points
and new_points
to point to the same array, so make sure to pass different objects into the function.
Reimplemented from aspect::SphericalManifold< dim >.
|
overridevirtual |
Return a point on the spherical manifold which is intermediate with respect to the surrounding points.
Reimplemented from aspect::SphericalManifold< dim >.
|
private |
Return the topography of the surface directly above the point given by the coordinates stored in the argument.
|
private |
A pointer to the topography model.
Definition at line 145 of file spherical_shell.h.
|
private |
Inner and outer radii of the spherical shell.
Definition at line 150 of file spherical_shell.h.
|
private |
Definition at line 150 of file spherical_shell.h.