ASPECT
|
Static Public Member Functions | |
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) |
Static Public Member Functions inherited from aspect::Plugins::InterfaceBase | |
static void | declare_parameters (ParameterHandler &prm) |
Private Member Functions | |
double | get_property (const Point< dim > &p, const std::vector< double > &property) const |
Private Attributes | |
bool | initialized |
unsigned int | n_points |
double | surface_entropy |
std::vector< double > | temperatures |
std::vector< double > | pressures |
std::vector< double > | densities |
double | delta_z |
A model in which the adiabatic profile is calculated by solving the hydrostatic equations for pressure and entropy in depth. Of course the entropy along an adiabat is constant. This plugin requires the material model to provide an additional output object of type PrescribedTemperatureOutputs. It also requires that there is a compositional field named 'entropy' that represents the entropy of the material.
Definition at line 45 of file compute_entropy_profile.h.
aspect::AdiabaticConditions::ComputeEntropyProfile< dim >::ComputeEntropyProfile | ( | ) |
Constructor. Initialize variables.
|
overridevirtual |
Initialization function. Because this function is called after initializing the SimulatorAccess, all of the necessary information is available to calculate the adiabatic profile. It computes the adiabatic conditions along a vertical transect of the geometry based on the given material model and other quantities.
Reimplemented from aspect::Plugins::InterfaceBase.
|
overridevirtual |
Some plugins need to know whether the adiabatic conditions are already calculated. This is for example the case for the simple compressible material model, which uses the adiabatic temperature as reference temperature to calculate the density. For the calculation of the adiabatic conditions this functionality is simply switched off, because we are always on the reference profile. This way the plugin behaves differently at initialization time of the adiabatic conditions and during the main model run.
Implements aspect::AdiabaticConditions::Interface< dim >.
|
overridevirtual |
Return the adiabatic temperature at a given point of the domain.
Implements aspect::AdiabaticConditions::Interface< dim >.
|
overridevirtual |
Return the adiabatic pressure at a given point of the domain.
Implements aspect::AdiabaticConditions::Interface< dim >.
|
overridevirtual |
Return the reference density at a given point of the domain.
Implements aspect::AdiabaticConditions::Interface< dim >.
|
overridevirtual |
Return the derivative of the density with respect to depth at the given point p
.
Implements aspect::AdiabaticConditions::Interface< dim >.
|
static |
|
overridevirtual |
Read the parameters this class declares from the parameter file. The default implementation of this function does not read any parameters. Consequently, derived classes do not have to overload this function if they do not take any runtime parameters. On the other hand, most plugins do have run-time parameters, and they may then overload this function.
Reimplemented from aspect::Plugins::InterfaceBase.
|
private |
Internal helper function. Returns the reference property at a given point of the domain.
|
private |
Whether the adiabatic conditions are already calculated. This is important for plugins that are used by the adiabatic conditions but also depend on the adiabatic conditions. This way they can behave differently in initialization and model run.
Definition at line 109 of file compute_entropy_profile.h.
|
private |
Number of points at which we compute the adiabatic values.
Definition at line 114 of file compute_entropy_profile.h.
|
private |
Starting entropy for the profile.
Definition at line 119 of file compute_entropy_profile.h.
|
private |
Vectors of values of temperatures and pressures on a transect into depth at which we have computed them. The public member functions of this class interpolate linearly between these points.
Definition at line 126 of file compute_entropy_profile.h.
|
private |
Definition at line 127 of file compute_entropy_profile.h.
|
private |
Definition at line 128 of file compute_entropy_profile.h.
|
private |
Interval spacing between each two data points in the tables above with regard to the depth coordinate.
Definition at line 134 of file compute_entropy_profile.h.