ASPECT
Public Member Functions | Static Public Member Functions | Private Types | Private Attributes | List of all members
aspect::InitialTemperature::SAVANIPerturbation< dim > Class Template Reference
Inheritance diagram for aspect::InitialTemperature::SAVANIPerturbation< dim >:
Inheritance graph
[legend]

Public Member Functions

 SAVANIPerturbation ()
 
void initialize () override
 
virtual double get_Vs (const Point< dim > &position) const
 
double initial_temperature (const Point< dim > &position) const override
 
void parse_parameters (ParameterHandler &prm) override
 
- Public Member Functions inherited from aspect::Plugins::InterfaceBase
virtual ~InterfaceBase ()=default
 
virtual void update ()
 
- Public Member Functions inherited from aspect::SimulatorAccess< dim >
 SimulatorAccess ()
 
 SimulatorAccess (const Simulator< dim > &simulator_object)
 
virtual ~SimulatorAccess ()=default
 
virtual void initialize_simulator (const Simulator< dim > &simulator_object)
 
const Introspection< dim > & introspection () const
 
const Simulator< dim > & get_simulator () const
 
const Parameters< dim > & get_parameters () const
 
SimulatorSignals< dim > & get_signals () const
 
MPI_Comm get_mpi_communicator () const
 
TimerOutput & get_computing_timer () const
 
const ConditionalOStream & get_pcout () const
 
double get_time () const
 
double get_timestep () const
 
double get_old_timestep () const
 
unsigned int get_timestep_number () const
 
const TimeStepping::Manager< dim > & get_timestepping_manager () const
 
unsigned int get_nonlinear_iteration () const
 
const parallel::distributed::Triangulation< dim > & get_triangulation () const
 
double get_volume () const
 
const Mapping< dim > & get_mapping () const
 
std::string get_output_directory () const
 
bool include_adiabatic_heating () const
 
bool include_latent_heat () const
 
bool include_melt_transport () const
 
int get_stokes_velocity_degree () const
 
double get_adiabatic_surface_temperature () const
 
double get_surface_pressure () const
 
bool convert_output_to_years () const
 
unsigned int get_pre_refinement_step () const
 
unsigned int n_compositional_fields () const
 
double get_end_time () const
 
void get_refinement_criteria (Vector< float > &estimated_error_per_cell) const
 
void get_artificial_viscosity (Vector< float > &viscosity_per_cell, const bool skip_interior_cells=false) const
 
void get_artificial_viscosity_composition (Vector< float > &viscosity_per_cell, const unsigned int compositional_variable) const
 
const LinearAlgebra::BlockVectorget_current_linearization_point () const
 
const LinearAlgebra::BlockVectorget_solution () const
 
const LinearAlgebra::BlockVectorget_old_solution () const
 
const LinearAlgebra::BlockVectorget_old_old_solution () const
 
const LinearAlgebra::BlockVectorget_reaction_vector () const
 
const LinearAlgebra::BlockVectorget_mesh_velocity () const
 
const DoFHandler< dim > & get_dof_handler () const
 
const FiniteElement< dim > & get_fe () const
 
const LinearAlgebra::BlockSparseMatrixget_system_matrix () const
 
const LinearAlgebra::BlockSparseMatrixget_system_preconditioner_matrix () const
 
const MaterialModel::Interface< dim > & get_material_model () const
 
const GravityModel::Interface< dim > & get_gravity_model () const
 
const InitialTopographyModel::Interface< dim > & get_initial_topography_model () const
 
const GeometryModel::Interface< dim > & get_geometry_model () const
 
const AdiabaticConditions::Interface< dim > & get_adiabatic_conditions () const
 
bool has_boundary_temperature () const
 
const BoundaryTemperature::Manager< dim > & get_boundary_temperature_manager () const
 
const BoundaryHeatFlux::Interface< dim > & get_boundary_heat_flux () const
 
bool has_boundary_composition () const
 
const BoundaryComposition::Manager< dim > & get_boundary_composition_manager () const
 
const BoundaryTraction::Manager< dim > & get_boundary_traction_manager () const
 
std::shared_ptr< const InitialTemperature::Manager< dim > > get_initial_temperature_manager_pointer () const
 
const InitialTemperature::Manager< dim > & get_initial_temperature_manager () const
 
std::shared_ptr< const InitialComposition::Manager< dim > > get_initial_composition_manager_pointer () const
 
const InitialComposition::Manager< dim > & get_initial_composition_manager () const
 
const std::set< types::boundary_id > & get_fixed_temperature_boundary_indicators () const
 
const std::set< types::boundary_id > & get_fixed_heat_flux_boundary_indicators () const
 
const std::set< types::boundary_id > & get_fixed_composition_boundary_indicators () const
 
const std::set< types::boundary_id > & get_mesh_deformation_boundary_indicators () const
 
const BoundaryVelocity::Manager< dim > & get_boundary_velocity_manager () const
 
const HeatingModel::Manager< dim > & get_heating_model_manager () const
 
const MeshRefinement::Manager< dim > & get_mesh_refinement_manager () const
 
const MeltHandler< dim > & get_melt_handler () const
 
const VolumeOfFluidHandler< dim > & get_volume_of_fluid_handler () const
 
const NewtonHandler< dim > & get_newton_handler () const
 
const MeshDeformation::MeshDeformationHandler< dim > & get_mesh_deformation_handler () const
 
const LateralAveraging< dim > & get_lateral_averaging () const
 
const AffineConstraints< double > & get_current_constraints () const
 
bool simulator_is_past_initialization () const
 
double get_pressure_scaling () const
 
bool pressure_rhs_needs_compatibility_modification () const
 
bool model_has_prescribed_stokes_solution () const
 
TableHandler & get_statistics_object () const
 
const Postprocess::Manager< dim > & get_postprocess_manager () const
 
unsigned int n_particle_managers () const
 
const Particle::Manager< dim > & get_particle_manager (const unsigned int particle_manager_index) const
 
Particle::Manager< dim > & get_particle_manager (const unsigned int particle_manager_index)
 
bool is_stokes_matrix_free ()
 
const StokesMatrixFreeHandler< dim > & get_stokes_matrix_free () const
 
RotationProperties< dim > compute_net_angular_momentum (const bool use_constant_density, const LinearAlgebra::BlockVector &solution, const bool limit_to_top_faces=false) const
 

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  VsToDensityMethod { file, constant }
 

Private Attributes

VsToDensityMethod vs_to_density_method
 
std::string data_directory
 
std::string spline_depth_file_name
 
std::string harmonics_coeffs_file_name
 
double vs_to_density_constant
 
double thermal_alpha
 
double no_perturbation_depth
 
bool zero_out_degree_0
 
bool lower_max_degree
 
unsigned int specified_max_degree
 
double reference_temperature
 
std::unique_ptr< internal::SAVANI::SphericalHarmonicsLookup > spherical_harmonics_lookup
 
std::unique_ptr< internal::SAVANI::SplineDepthsLookup > spline_depths_lookup
 
aspect::Utilities::AsciiDataProfile< dim > profile
 
unsigned int vs_to_density_index
 
bool use_material_model_thermal_alpha
 

Detailed Description

template<int dim>
class aspect::InitialTemperature::SAVANIPerturbation< dim >

A class that describes a perturbed initial temperature field for a spherical shell geometry model. The perturbation is based on the SAVANI global shear wave velocity model by Auer et al. http://n.ethz.ch/~auerl/research.html

Definition at line 53 of file SAVANI_perturbation.h.

Member Enumeration Documentation

§ VsToDensityMethod

An enum to describe which method should be chosen to scale vs to density.

Enumerator
file 
constant 

Definition at line 100 of file SAVANI_perturbation.h.

Constructor & Destructor Documentation

§ SAVANIPerturbation()

Constructor. Initialize variables.

Member Function Documentation

§ initialize()

template<int dim>
void aspect::InitialTemperature::SAVANIPerturbation< dim >::initialize ( )
overridevirtual

Initialization function. Loads the material data and sets up pointers.

Reimplemented from aspect::Plugins::InterfaceBase.

§ get_Vs()

template<int dim>
virtual double aspect::InitialTemperature::SAVANIPerturbation< dim >::get_Vs ( const Point< dim > &  position) const
virtual

Return the Vs as a function of position.

§ initial_temperature()

template<int dim>
double aspect::InitialTemperature::SAVANIPerturbation< dim >::initial_temperature ( const Point< dim > &  position) const
overridevirtual

Return the initial temperature as a function of position.

Implements aspect::InitialTemperature::Interface< dim >.

§ declare_parameters()

template<int dim>
static void aspect::InitialTemperature::SAVANIPerturbation< dim >::declare_parameters ( ParameterHandler &  prm)
static

Declare the parameters this class takes through input files.

§ parse_parameters()

template<int dim>
void aspect::InitialTemperature::SAVANIPerturbation< dim >::parse_parameters ( ParameterHandler &  prm)
overridevirtual

Read the parameters this class declares from the parameter file.

Reimplemented from aspect::Plugins::InterfaceBase.

Member Data Documentation

§ vs_to_density_method

template<int dim>
VsToDensityMethod aspect::InitialTemperature::SAVANIPerturbation< dim >::vs_to_density_method
private

Currently chosen source for vs to density scaling.

Definition at line 109 of file SAVANI_perturbation.h.

§ data_directory

template<int dim>
std::string aspect::InitialTemperature::SAVANIPerturbation< dim >::data_directory
private

File directory and names

Definition at line 114 of file SAVANI_perturbation.h.

§ spline_depth_file_name

template<int dim>
std::string aspect::InitialTemperature::SAVANIPerturbation< dim >::spline_depth_file_name
private

Definition at line 115 of file SAVANI_perturbation.h.

§ harmonics_coeffs_file_name

template<int dim>
std::string aspect::InitialTemperature::SAVANIPerturbation< dim >::harmonics_coeffs_file_name
private

This parameter allows setting the input file for the SAVANI global shear-wave perturbation.

Definition at line 121 of file SAVANI_perturbation.h.

§ vs_to_density_constant

template<int dim>
double aspect::InitialTemperature::SAVANIPerturbation< dim >::vs_to_density_constant
private

The parameters below describe the perturbation of shear wave velocity into a temperatures perturbation. The first parameter is constant so far but could be made depth dependent as constraint by e.g. Forte, A.M. & Woodward, R.L., 1997. Seismic-geodynamic constraints on three- dimensional structure, vertical flow, and heat transfer in the mantle, J. Geophys. Res. 102 (B8), 17,981-17,994. The last parameter is a depth down to which heterogeneities are zeroed out.

Definition at line 134 of file SAVANI_perturbation.h.

§ thermal_alpha

template<int dim>
double aspect::InitialTemperature::SAVANIPerturbation< dim >::thermal_alpha
private

Definition at line 135 of file SAVANI_perturbation.h.

§ no_perturbation_depth

template<int dim>
double aspect::InitialTemperature::SAVANIPerturbation< dim >::no_perturbation_depth
private

Definition at line 136 of file SAVANI_perturbation.h.

§ zero_out_degree_0

template<int dim>
bool aspect::InitialTemperature::SAVANIPerturbation< dim >::zero_out_degree_0
private

This parameter allows to remove the degree 0 component of the shear wave velocity perturbation, which guarantees that average temperature at a certain depth is the background temperature.

Definition at line 143 of file SAVANI_perturbation.h.

§ lower_max_degree

template<int dim>
bool aspect::InitialTemperature::SAVANIPerturbation< dim >::lower_max_degree
private

This parameter allows to use a lower maximum degree when reading the spherical harmonic data file.

Definition at line 149 of file SAVANI_perturbation.h.

§ specified_max_degree

template<int dim>
unsigned int aspect::InitialTemperature::SAVANIPerturbation< dim >::specified_max_degree
private

The maximum degree the users specify, which is only valid when "lower_max_degree" is set to true.

Definition at line 155 of file SAVANI_perturbation.h.

§ reference_temperature

template<int dim>
double aspect::InitialTemperature::SAVANIPerturbation< dim >::reference_temperature
private

This parameter gives the reference temperature, which will be perturbed. In the compressional case the background temperature will be the adiabat.

Definition at line 162 of file SAVANI_perturbation.h.

§ spherical_harmonics_lookup

template<int dim>
std::unique_ptr<internal::SAVANI::SphericalHarmonicsLookup> aspect::InitialTemperature::SAVANIPerturbation< dim >::spherical_harmonics_lookup
private

Pointer to an object that reads and processes the spherical harmonics coefficients

Definition at line 168 of file SAVANI_perturbation.h.

§ spline_depths_lookup

template<int dim>
std::unique_ptr<internal::SAVANI::SplineDepthsLookup> aspect::InitialTemperature::SAVANIPerturbation< dim >::spline_depths_lookup
private

Pointer to an object that reads and processes the depths for the spline knot points.

Definition at line 174 of file SAVANI_perturbation.h.

§ profile

Object containing the data profile.

Definition at line 179 of file SAVANI_perturbation.h.

§ vs_to_density_index

template<int dim>
unsigned int aspect::InitialTemperature::SAVANIPerturbation< dim >::vs_to_density_index
private

The column index of the vs to density scaling in the data file

Definition at line 184 of file SAVANI_perturbation.h.

§ use_material_model_thermal_alpha

template<int dim>
bool aspect::InitialTemperature::SAVANIPerturbation< dim >::use_material_model_thermal_alpha
private

Whether to use the thermal expansion coefficient from the material model

Definition at line 189 of file SAVANI_perturbation.h.


The documentation for this class was generated from the following file: