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 Types | |
enum | CompositionProfile { initial_composition, reference_function } |
Private Member Functions | |
double | get_property (const Point< dim > &p, const std::vector< double > &property) const |
Private Attributes | |
bool | initialized |
unsigned int | n_points |
std::vector< double > | temperatures |
std::vector< double > | pressures |
std::vector< double > | densities |
double | delta_z |
CompositionProfile | reference_composition |
std::unique_ptr< Functions::ParsedFunction< 1 > > | composition_function |
bool | use_surface_condition_function |
Functions::ParsedFunction< 1 > | surface_condition_function |
std::shared_ptr< const aspect::InitialComposition::Manager< dim > > | initial_composition_manager |
A model in which the adiabatic profile is calculated by solving the hydrostatic equations for pressure and temperature in depth. The gravity is assumed to be in depth direction and the composition is either given by the initial composition at reference points or computed as a reference depth-function. All material parameters are computed by the material model plugin. The surface conditions are either constant or changing over time as prescribed by an user-provided function.
Definition at line 46 of file compute_profile.h.
|
private |
An enum describing the different options to compute the reference profile for composition.
Enumerator | |
---|---|
initial_composition | |
reference_function |
Definition at line 150 of file compute_profile.h.
aspect::AdiabaticConditions::ComputeProfile< dim >::ComputeProfile | ( | ) |
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 |
Update function. By default does nothing, but if a time-dependent surface condition function is used, this will reinitialize the adiabatic profile with the current conditions.
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 |
Declare the parameters for the input files.
|
overridevirtual |
Read the parameters from the parameter file.
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 124 of file compute_profile.h.
|
private |
Number of points at which we compute the adiabatic values.
Definition at line 129 of file compute_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 136 of file compute_profile.h.
|
private |
Definition at line 137 of file compute_profile.h.
|
private |
Definition at line 138 of file compute_profile.h.
|
private |
Interval spacing between each two data points in the tables above with regard to the depth coordinate.
Definition at line 144 of file compute_profile.h.
|
private |
Selected option to compute the reference profile for composition.
Definition at line 159 of file compute_profile.h.
|
private |
Function object that computes the reference composition profile if the reference_composition variable is set to function.
Definition at line 165 of file compute_profile.h.
|
private |
Whether to use the surface_conditions_function to determine surface conditions, or the adiabatic_surface_temperature and surface_pressure parameters. If this is set to true the reference profile is updated every timestep.
Definition at line 173 of file compute_profile.h.
|
private |
ParsedFunction: If provided in the input file it prescribes (surface pressure(t), surface temperature(t)).
Definition at line 179 of file compute_profile.h.
|
private |
A shared pointer to the initial composition object that ensures that the current object can continue to access the initial composition object beyond the first time step.
Definition at line 187 of file compute_profile.h.