ASPECT
|
Static Public Member Functions | |
static void | declare_parameters (ParameterHandler &prm) |
Static Public Member Functions inherited from aspect::Plugins::InterfaceBase | |
static void | declare_parameters (ParameterHandler &prm) |
Static Public Member Functions inherited from aspect::SimulatorAccess< dim > | |
static void | get_composition_values_at_q_point (const std::vector< std::vector< double >> &composition_values, const unsigned int q, std::vector< double > &composition_values_at_q_point) |
Private Types | |
enum | SamplingScheme { map, fibonacci_spiral, list_of_points } |
Private Member Functions | |
void | set_last_output_time (const double current_time) |
Private Attributes | |
double | output_interval |
double | last_output_time |
unsigned int | maximum_timesteps_between_outputs |
unsigned int | last_output_timestep |
unsigned int | output_file_number |
double | end_time |
unsigned int | precision |
unsigned int | quadrature_degree_increase |
unsigned int | n_points_spiral |
unsigned int | n_points_radius |
unsigned int | n_points_longitude |
unsigned int | n_points_latitude |
double | minimum_radius |
double | maximum_radius |
double | minimum_colongitude |
double | maximum_colongitude |
double | minimum_colatitude |
double | maximum_colatitude |
double | reference_density |
enum aspect::Postprocess::GravityPointValues::SamplingScheme | sampling_scheme |
std::vector< double > | radius_list |
std::vector< double > | longitude_list |
std::vector< double > | latitude_list |
double | model_outer_radius |
double | model_inner_radius |
std::vector< std::array< double, dim > > | satellite_positions_spherical |
std::vector< Point< dim > > | satellite_positions_cartesian |
A postprocessor that computes gravity, gravity anomalies, gravity potential and gravity gradients for a set of points (e.g. satellites) in or above the model surface for a user-defined range of latitudes, longitudes and radius, or a list of point coordinates. Spherical coordinates in the output file are radius, colatitude and colongitude. Gravity is here based on the density distribution from the material model (and non adiabatic). This means that the density may come directly from an ascii file. This postprocessor also computes theoretical gravity and its derivatives, which corresponds to the analytical solution of gravity in the same geometry but filled with a reference density. The reference density is also used to determine the density difference for computing gravity anomalies. Thus one must carefully evaluate the meaning of the gravity anomaly output, because the solution may not reflect the actual gravity anomaly (due to differences in the assumed reference density). One way to guarantee correct gravity anomalies is to subtract the gravity of a certain point from the average gravity on the map. Another way is to directly use density anomalies for this postprocessor. The average- minimum- and maximum gravity acceleration and potential are written into the statistics file.
Definition at line 57 of file gravity_point_values.h.
|
private |
Specify the sampling scheme determining if gravity calculation is performed.
Enumerator | |
---|---|
map | |
fibonacci_spiral | |
list_of_points |
Definition at line 246 of file gravity_point_values.h.
aspect::Postprocess::GravityPointValues< dim >::GravityPointValues | ( | ) |
Constructor.
|
overridevirtual |
Initialization function. This function is called once at the beginning of the program after parse_parameters() is run and after the SimulatorAccess (if applicable) is initialized.
The default implementation of this function does nothing, but plugins that derive from this class (via the Interface
classes of their respective plugin systems) may overload it if they want something to happen upon startup of the Simulator object to which the plugin contributes.
Reimplemented from aspect::Plugins::InterfaceBase.
|
overridevirtual |
Specify the creation of output_gravity.txt.
Implements aspect::Postprocess::Interface< dim >.
|
static |
Declare the parameters this class takes through input files.
|
overridevirtual |
Read the parameters this class declares from the parameter file.
Reimplemented from aspect::Plugins::InterfaceBase.
void aspect::Postprocess::GravityPointValues< dim >::serialize | ( | Archive & | ar, |
const unsigned int | version | ||
) |
Serialize the contents of this class as far as they are not read from input parameter files.
|
overridevirtual |
Save the state of this object.
Reimplemented from aspect::Postprocess::Interface< dim >.
|
overridevirtual |
Restore the state of the object.
Reimplemented from aspect::Postprocess::Interface< dim >.
|
private |
Set the time output was supposed to be written. In the simplest case, this is the previous last output time plus the interval, but in general we'd like to ensure that it is the largest supposed output time, which is smaller than the current time, to avoid falling behind with last_output_time and having to catch up once the time step becomes larger. This is done after every output.
|
private |
Interval between the generation of gravity output.
Definition at line 109 of file gravity_point_values.h.
|
private |
A time (in seconds) at which the last graphical output was supposed to be produced. Used to check for the next necessary output time.
Definition at line 115 of file gravity_point_values.h.
|
private |
Maximum number of steps between the generation of gravity output.
Definition at line 120 of file gravity_point_values.h.
|
private |
Timestep at which the last gravity output was produced Used to check for the next necessary output time.
Definition at line 126 of file gravity_point_values.h.
|
private |
Consecutively counted number indicating the how-manyth time we will create output the next time we get to it.
Definition at line 132 of file gravity_point_values.h.
|
private |
end_time is taken from parameter file. It is used to tell the postprocessor to write gravity output at the end time.
Definition at line 138 of file gravity_point_values.h.
|
private |
Set the precision of the gravity acceleration, potential and gradients in the gravity output and statistics file.
Definition at line 154 of file gravity_point_values.h.
|
private |
Quadrature degree increase over the velocity element degree may be required when gravity is calculated near the surface or inside the model. An increase in the quadrature element adds accuracy to the gravity solution from noise due to the model grid.
Definition at line 162 of file gravity_point_values.h.
|
private |
Parameter for the fibonacci spiral sampling scheme:
Definition at line 167 of file gravity_point_values.h.
|
private |
Parameter for the map and fibonacci spiral sampling scheme: Gravity may be calculated for a sets of points along the radius (e.g. depth profile) between a minimum and maximum radius. Number of points along the radius is specified with n_points_radius.
Definition at line 175 of file gravity_point_values.h.
|
private |
Parameter for the map sampling scheme: Gravity may be calculated for a sets of points along the longitude (e.g. satellite mapping) between a minimum and maximum longitude. Number of points along the longitude is specified with n_points_longitude.
Definition at line 183 of file gravity_point_values.h.
|
private |
Parameter for the map sampling scheme: Gravity may be calculated for a sets of points along the latitude (e.g. satellite mapping) between a minimum and maximum latitude. Number of points along the latitude is specified with n_points_latitude.
Definition at line 191 of file gravity_point_values.h.
|
private |
Parameter for the map and fibonacci spiral sampling scheme: Prescribe a minimum radius for a sampling coverage at a specific height. May be set in- or outside the model domain.
Definition at line 198 of file gravity_point_values.h.
|
private |
Parameter for the map and fibonacci spiral sampling scheme: Maximum radius for the radius range. May be set in- or outside the model domain. No need to specify maximum_radius if n_points_radius is 1.
Definition at line 206 of file gravity_point_values.h.
|
private |
Parameter for the map sampling scheme: Minimum longitude for longitude range.
Definition at line 212 of file gravity_point_values.h.
|
private |
Parameter for the map sampling scheme: Maximum longitude for the longitude range. No need to specify maximum_longitude if n_points_longitude is 1.
Definition at line 219 of file gravity_point_values.h.
|
private |
Parameter for the map sampling scheme: Minimum latitude for the latitude range.
Definition at line 225 of file gravity_point_values.h.
|
private |
Parameter for the map sampling scheme: Maximum latitude for the latitude range. No need to specify maximum_latitude if n_points_latitude is 1.
Definition at line 232 of file gravity_point_values.h.
|
private |
A reference density is required for two purposes: 1) benchmark the gravity postprocessor with computing analytically gravity acceleration and gradients in the domain filled with a constant density. 2) calculate the density difference of the density given by the material model and a constant density, in order to compute gravity anomalies.
Definition at line 241 of file gravity_point_values.h.
|
private |
|
private |
Parameter for the list of points sampling scheme: List of radius coordinates for the list of points sampling scheme. Must follow the same order as the lists of longitude and latitude.
Definition at line 258 of file gravity_point_values.h.
|
private |
Parameter for the list of points sampling scheme: List of longitude coordinates for the list of points sampling scheme. Must follow the same order as the lists of radius and latitude.
Definition at line 265 of file gravity_point_values.h.
|
private |
Parameter for the list of points sampling scheme: List of latitude coordinates for the list of points sampling scheme. Must follow the same order as the lists of longitude and longitude.
Definition at line 272 of file gravity_point_values.h.
|
private |
Definition at line 277 of file gravity_point_values.h.
|
private |
Definition at line 278 of file gravity_point_values.h.
|
private |
The positions of all satellite positions in spherical and Cartesian coordinate systems.
Definition at line 284 of file gravity_point_values.h.
|
private |
Definition at line 285 of file gravity_point_values.h.