ASPECT
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
aspect::MaterialModel::Lookup::MaterialLookup Class Reference
Inheritance diagram for aspect::MaterialModel::Lookup::MaterialLookup:
Inheritance graph
[legend]

Public Member Functions

double specific_heat (double temperature, double pressure) const
 
double density (double temperature, double pressure) const
 
double thermal_expansivity (const double temperature, const double pressure) const
 
double seismic_Vp (const double temperature, const double pressure) const
 
double seismic_Vs (const double temperature, const double pressure) const
 
double enthalpy (const double temperature, const double pressure) const
 
double dHdT (const double temperature, const double pressure) const
 
double dHdp (const double temperature, const double pressure) const
 
std::array< std::pair< double, unsigned int >, 2 > enthalpy_derivatives (const std::vector< double > &temperatures, const std::vector< double > &pressures, const unsigned int n_substeps=1) const
 
double dRhodp (const double temperature, const double pressure) const
 
std::array< double, 2 > get_pT_steps () const
 

Protected Member Functions

double value (const double temperature, const double pressure, const Table< 2, double > &values, const bool interpol) const
 
double get_nT (const double temperature) const
 
double get_np (const double pressure) const
 

Protected Attributes

::Table< 2, double > density_values
 
::Table< 2, double > thermal_expansivity_values
 
::Table< 2, double > specific_heat_values
 
::Table< 2, double > vp_values
 
::Table< 2, double > vs_values
 
::Table< 2, double > enthalpy_values
 
double delta_press
 
double min_press
 
double max_press
 
double delta_temp
 
double min_temp
 
double max_temp
 
unsigned int n_temperature
 
unsigned int n_pressure
 
bool interpolation
 

Detailed Description

A base class that can be used to look up material data from an external data source (e.g. a table in a file). The class consists of data members and functions to access this data, but it does not contain the functions to read this data, which has to be implemented in a derived class.

Definition at line 72 of file grain_size.h.

Member Function Documentation

§ specific_heat()

double aspect::MaterialModel::Lookup::MaterialLookup::specific_heat ( double  temperature,
double  pressure 
) const

§ density()

double aspect::MaterialModel::Lookup::MaterialLookup::density ( double  temperature,
double  pressure 
) const

§ thermal_expansivity()

double aspect::MaterialModel::Lookup::MaterialLookup::thermal_expansivity ( const double  temperature,
const double  pressure 
) const

§ seismic_Vp()

double aspect::MaterialModel::Lookup::MaterialLookup::seismic_Vp ( const double  temperature,
const double  pressure 
) const

§ seismic_Vs()

double aspect::MaterialModel::Lookup::MaterialLookup::seismic_Vs ( const double  temperature,
const double  pressure 
) const

§ enthalpy()

double aspect::MaterialModel::Lookup::MaterialLookup::enthalpy ( const double  temperature,
const double  pressure 
) const

§ dHdT()

double aspect::MaterialModel::Lookup::MaterialLookup::dHdT ( const double  temperature,
const double  pressure 
) const

Computes the derivative of enthalpy for temperature, using the resolution of the read-in table to compute a finite-difference approximation of the derivative.

§ dHdp()

double aspect::MaterialModel::Lookup::MaterialLookup::dHdp ( const double  temperature,
const double  pressure 
) const

Computes the derivative of enthalpy for pressure, using the resolution of the read-in table to compute a finite-difference approximation of the derivative.

§ enthalpy_derivatives()

std::array<std::pair<double, unsigned int>,2> aspect::MaterialModel::Lookup::MaterialLookup::enthalpy_derivatives ( const std::vector< double > &  temperatures,
const std::vector< double > &  pressures,
const unsigned int  n_substeps = 1 
) const

Compute the enthalpy derivatives for temperature and pressure given a set of temperature and pressure points, which will be used as support points for the finite difference scheme. This is useful to not 'miss' phase transitions that are not resolved in the dHdT and dHdp functions. The third argument represents the number of substeps taken to compute this average. A number larger than one means the temperature-pressure range that is spanned by the first two input arguments is seperated into n_substeps equally spaced pressure-temperature steps, the derivatives are computed for each substep and then averaged.

§ dRhodp()

double aspect::MaterialModel::Lookup::MaterialLookup::dRhodp ( const double  temperature,
const double  pressure 
) const

§ get_pT_steps()

std::array<double,2> aspect::MaterialModel::Lookup::MaterialLookup::get_pT_steps ( ) const

Returns the size of the data tables in pressure (first entry) and temperature (second entry) dimensions.

§ value()

double aspect::MaterialModel::Lookup::MaterialLookup::value ( const double  temperature,
const double  pressure,
const Table< 2, double > &  values,
const bool  interpol 
) const
protected

Access that data value of the property that is stored in table values at pressure pressure and temperature temperature. interpol controls whether to perform linear interpolation between the closest data points, or simply use the closest point value.

§ get_nT()

double aspect::MaterialModel::Lookup::MaterialLookup::get_nT ( const double  temperature) const
protected

Find the position in a data table given a temperature.

§ get_np()

double aspect::MaterialModel::Lookup::MaterialLookup::get_np ( const double  pressure) const
protected

Find the position in a data table given a pressure.

Member Data Documentation

§ density_values

::Table<2,double> aspect::MaterialModel::Lookup::MaterialLookup::density_values
protected

Definition at line 170 of file grain_size.h.

§ thermal_expansivity_values

::Table<2,double> aspect::MaterialModel::Lookup::MaterialLookup::thermal_expansivity_values
protected

Definition at line 171 of file grain_size.h.

§ specific_heat_values

::Table<2,double> aspect::MaterialModel::Lookup::MaterialLookup::specific_heat_values
protected

Definition at line 172 of file grain_size.h.

§ vp_values

::Table<2,double> aspect::MaterialModel::Lookup::MaterialLookup::vp_values
protected

Definition at line 173 of file grain_size.h.

§ vs_values

::Table<2,double> aspect::MaterialModel::Lookup::MaterialLookup::vs_values
protected

Definition at line 174 of file grain_size.h.

§ enthalpy_values

::Table<2,double> aspect::MaterialModel::Lookup::MaterialLookup::enthalpy_values
protected

Definition at line 175 of file grain_size.h.

§ delta_press

double aspect::MaterialModel::Lookup::MaterialLookup::delta_press
protected

Definition at line 177 of file grain_size.h.

§ min_press

double aspect::MaterialModel::Lookup::MaterialLookup::min_press
protected

Definition at line 178 of file grain_size.h.

§ max_press

double aspect::MaterialModel::Lookup::MaterialLookup::max_press
protected

Definition at line 179 of file grain_size.h.

§ delta_temp

double aspect::MaterialModel::Lookup::MaterialLookup::delta_temp
protected

Definition at line 180 of file grain_size.h.

§ min_temp

double aspect::MaterialModel::Lookup::MaterialLookup::min_temp
protected

Definition at line 181 of file grain_size.h.

§ max_temp

double aspect::MaterialModel::Lookup::MaterialLookup::max_temp
protected

Definition at line 182 of file grain_size.h.

§ n_temperature

unsigned int aspect::MaterialModel::Lookup::MaterialLookup::n_temperature
protected

Definition at line 183 of file grain_size.h.

§ n_pressure

unsigned int aspect::MaterialModel::Lookup::MaterialLookup::n_pressure
protected

Definition at line 184 of file grain_size.h.

§ interpolation

bool aspect::MaterialModel::Lookup::MaterialLookup::interpolation
protected

Definition at line 185 of file grain_size.h.


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