![]() |
ASPECT
|
Public Member Functions | |
EllipsoidalChunkGeometry () | |
EllipsoidalChunkGeometry (const EllipsoidalChunkGeometry &other) | |
void | initialize (const InitialTopographyModel::Interface< dim > *topography) |
void | set_manifold_parameters (const double para_semi_major_axis_a, const double para_eccentricity, const double para_semi_minor_axis_b, const double para_bottom_depth, const std::vector< Point< 2 >> ¶_corners) |
Point< 3 > | pull_back (const Point< 3 > &space_point) const override |
virtual Point< 2 > | pull_back (const Point< 2 > &space_point) const |
Point< 3 > | push_forward (const Point< 3 > &chart_point) const override |
Point< 3 > | pull_back_ellipsoid (const Point< 3 > &x, const double semi_major_axis_a, const double eccentricity) const |
Point< 3 > | push_forward_ellipsoid (const Point< 3 > &phi_theta_d, const double semi_major_axis_a, const double eccentricity) const |
std::unique_ptr< Manifold< dim, 3 > > | clone () const override |
Private Member Functions | |
Point< 3 > | push_forward_topography (const Point< 3 > &phi_theta_d_hat) const |
Point< 3 > | pull_back_topography (const Point< 3 > &phi_theta_d) const |
Private Attributes | |
double | semi_major_axis_a |
double | eccentricity |
double | semi_minor_axis_b |
double | bottom_depth |
std::vector< Point< 2 > > | corners |
const InitialTopographyModel::Interface< dim > * | topography |
A class which describes the manifold.
Definition at line 52 of file ellipsoidal_chunk.h.
aspect::GeometryModel::EllipsoidalChunk< dim >::EllipsoidalChunkGeometry::EllipsoidalChunkGeometry | ( | ) |
Constructor
aspect::GeometryModel::EllipsoidalChunk< dim >::EllipsoidalChunkGeometry::EllipsoidalChunkGeometry | ( | const EllipsoidalChunkGeometry & | other | ) |
Copy constructor
void aspect::GeometryModel::EllipsoidalChunk< dim >::EllipsoidalChunkGeometry::initialize | ( | const InitialTopographyModel::Interface< dim > * | topography | ) |
An initialization function necessary to make sure that the manifold has access to the topography plugins.
void aspect::GeometryModel::EllipsoidalChunk< dim >::EllipsoidalChunkGeometry::set_manifold_parameters | ( | const double | para_semi_major_axis_a, |
const double | para_eccentricity, | ||
const double | para_semi_minor_axis_b, | ||
const double | para_bottom_depth, | ||
const std::vector< Point< 2 >> & | para_corners | ||
) |
Sets several parameters for the ellipsoidal manifold object.
|
override |
The deal.ii pull back function in 3d. This function receives cartesian points x,y and z and returns spherical/ellipsoidal coordinates phi, theta and depth, also accounting for the topography.
|
virtual |
The deal.ii pull back function in 2d. This function should not be used, until the TODO in the cc file has been fixed.
|
override |
The deal.ii push forward function in 3d. This function receives spherical/ellipsoidal coordinates phi, theta and depth and returns cartesian points x,y and z, also accounting for the topography.
Point<3> aspect::GeometryModel::EllipsoidalChunk< dim >::EllipsoidalChunkGeometry::pull_back_ellipsoid | ( | const Point< 3 > & | x, |
const double | semi_major_axis_a, | ||
const double | eccentricity | ||
) | const |
This function does the actual pull back from the ellipsoid. For the equation details, please see deal.ii step 53.
Point<3> aspect::GeometryModel::EllipsoidalChunk< dim >::EllipsoidalChunkGeometry::push_forward_ellipsoid | ( | const Point< 3 > & | phi_theta_d, |
const double | semi_major_axis_a, | ||
const double | eccentricity | ||
) | const |
This function does the actual push forward to the ellipsoid. For the equation details, please see deal.ii step 53.
|
override |
Return a copy of this manifold.
|
private |
This function adds topography to the cartesian coordinates. For the equation details, please see deal.ii step 53.
|
private |
This function removes topography from the cartesian coordinates. For the equation details, please see deal.ii step 53.
|
private |
Definition at line 140 of file ellipsoidal_chunk.h.
|
private |
Definition at line 141 of file ellipsoidal_chunk.h.
|
private |
Definition at line 142 of file ellipsoidal_chunk.h.
|
private |
Definition at line 143 of file ellipsoidal_chunk.h.
|
private |
Definition at line 144 of file ellipsoidal_chunk.h.
|
private |
Definition at line 145 of file ellipsoidal_chunk.h.