ASPECT
|
Public Types | |
enum | ModifiedFlowLaws { diffusion, dislocation } |
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) |
Public Attributes | |
enum aspect::MaterialModel::Rheology::CompositionalViscosityPrefactors::ModifiedFlowLaws | modified_flow_laws |
Private Types | |
enum | ViscosityPrefactorScheme { none, hk04_olivine_hydration } |
Private Attributes | |
enum aspect::MaterialModel::Rheology::CompositionalViscosityPrefactors::ViscosityPrefactorScheme | viscosity_prefactor_scheme |
std::vector< double > | diffusion_water_fugacity_exponents |
std::vector< double > | dislocation_water_fugacity_exponents |
std::vector< double > | minimum_mass_fraction_water_for_dry_creep |
const double | A_H2O = 2.6e-5 |
const double | activation_energy_H2O = 40e3 |
const double | activation_volume_H2O = 10e-6 |
const double | molar_mass_olivine = 0.1470027 |
const double | molar_mass_H2O = 0.01801528 |
A class that handles multiplication of viscosity for a given compositional field. The multiplication factors for each composition (viscosity prefactors) are also declared, parsed, and in some cases calculated in this class.
Definition at line 42 of file compositional_viscosity_prefactors.h.
enum aspect::MaterialModel::Rheology::CompositionalViscosityPrefactors::ModifiedFlowLaws |
Enumerator | |
---|---|
diffusion | |
dislocation |
Definition at line 65 of file compositional_viscosity_prefactors.h.
|
private |
The viscosity prefactors or terms used to calculate the viscosity prefactors, which are read in from the input file by the parse_parameters() function. Users can choose between different schemes. none: no viscosity change hk04_olivine_hydration: calculate the viscosity change due to hydrogen incorporation into olivine using Hirth & Kohlstaedt 2004 10.1029/138GM06. This method requires a composition called 'bound_fluid' which tracks the wt% water in the solid, which is used to compute an atomic ratio of H/Si ppm assuming 90 mol% forsterite and 10 mol% fayalite, and finally calculates a water fugacity. The prefactor for a given compositional field is multiplied with a base_viscosity value provided by the material model, which is then returned to the material model.
Enumerator | |
---|---|
none | |
hk04_olivine_hydration |
Definition at line 97 of file compositional_viscosity_prefactors.h.
aspect::MaterialModel::Rheology::CompositionalViscosityPrefactors< dim >::CompositionalViscosityPrefactors | ( | ) |
Constructor.
|
static |
Declare the parameters this function takes through input files.
void aspect::MaterialModel::Rheology::CompositionalViscosityPrefactors< dim >::parse_parameters | ( | ParameterHandler & | prm | ) |
Read the parameters from the parameter file.
double aspect::MaterialModel::Rheology::CompositionalViscosityPrefactors< dim >::compute_viscosity | ( | const MaterialModel::MaterialModelInputs< dim > & | in, |
const double | base_viscosity, | ||
const unsigned int | composition_index, | ||
const unsigned int | q, | ||
const ModifiedFlowLaws & | modified_flow_laws | ||
) | const |
Compute the viscosity.
enum aspect::MaterialModel::Rheology::CompositionalViscosityPrefactors::ModifiedFlowLaws aspect::MaterialModel::Rheology::CompositionalViscosityPrefactors< dim >::modified_flow_laws |
|
private |
|
private |
Definition at line 104 of file compositional_viscosity_prefactors.h.
|
private |
Definition at line 105 of file compositional_viscosity_prefactors.h.
|
private |
Definition at line 106 of file compositional_viscosity_prefactors.h.
|
private |
Definition at line 109 of file compositional_viscosity_prefactors.h.
|
private |
Definition at line 110 of file compositional_viscosity_prefactors.h.
|
private |
Definition at line 111 of file compositional_viscosity_prefactors.h.
|
private |
Definition at line 116 of file compositional_viscosity_prefactors.h.
|
private |
Definition at line 117 of file compositional_viscosity_prefactors.h.