![]() |
ASPECT
|
Static Public Member Functions | |
static void | declare_parameters (ParameterHandler &prm) |
![]() | |
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 Attributes | |
double | tian_max_peridotite_water |
double | tian_max_gabbro_water |
double | tian_max_MORB_water |
double | tian_max_sediment_water |
bool | use_adiabatic_pressure_for_reactions |
std::vector< double > | LR_peridotite_poly_coeffs {-19.0609, 168.983, -630.032, 1281.84, -1543.14, 1111.88, -459.142, 95.4143, 1.97246} |
std::vector< double > | csat_peridotite_poly_coeffs {0.00115628, 2.42179} |
std::vector< double > | Td_peridotite_poly_coeffs {-15.4627, 94.9716, 636.603} |
std::vector< double > | LR_gabbro_poly_coeffs {-1.81745, 7.67198, -10.8507, 5.09329, 8.14519} |
std::vector< double > | csat_gabbro_poly_coeffs {-0.0176673, 0.0893044, 1.52732} |
std::vector< double > | Td_gabbro_poly_coeffs {-1.72277, 20.5898, 637.517} |
std::vector< double > | LR_MORB_poly_coeffs {-1.78177, 7.50871, -10.4840, 5.19725, 7.96365} |
std::vector< double > | csat_MORB_poly_coeffs {0.0102725, -0.115390, 0.324452, 1.41588} |
std::vector< double > | Td_MORB_poly_coeffs {-3.81280, 22.7809, 638.049} |
std::vector< double > | LR_sediment_poly_coeffs {-2.03283, 10.8186, -21.2119, 18.3351, -6.48711, 8.32459} |
std::vector< double > | csat_sediment_poly_coeffs {-0.150662, 0.301807, 1.01867} |
std::vector< double > | Td_sediment_poly_coeffs {2.83277, -24.7593, 85.9090, 524.898} |
const std::array< double, 4 > | pressure_cutoffs {{10, 26, 16, 50}} |
std::vector< std::vector< double > > | devolatilization_enthalpy_changes |
std::vector< std::vector< double > > | water_mass_fractions |
std::vector< std::vector< double > > | devolatilization_onset_temperatures |
A melt model that calculates the solubility of water according to parameterized phase diagrams for four lithologies: 1) sediment 2) mid-ocean ridge basalt (MORB) 3) gabbro 4) peridotite from Tian, 2019 https://doi.org/10.1029/2019GC008488.
These functions can be used in the calculation of reactive fluid transport of water.
Definition at line 55 of file tian2019_solubility.h.
double aspect::MaterialModel::ReactionModel::Tian2019Solubility< dim >::melt_fraction | ( | const MaterialModel::MaterialModelInputs< dim > & | in, |
const double | mass_frac_porosity, | ||
unsigned int | q | ||
) | const |
Compute the free fluid fraction that is present in the material based on the fluid content of the material and the fluid solubility for the given input conditions. in
and melt_fraction
need to have the same size.
in | Object that contains the current conditions. |
mass_frac_porosity | the mass fraction of the "porosity" composition |
q | the quadrature point index |
std::vector<double> aspect::MaterialModel::ReactionModel::Tian2019Solubility< dim >::tian_equilibrium_bound_water_content | ( | const MaterialModel::MaterialModelInputs< dim > & | in, |
unsigned int | q | ||
) | const |
Compute the maximum allowed bound water content at the input pressure and temperature conditions. This is used to determine how free water interacts with the solid phase.
in | Object that contains the current conditions. |
q | the quadrature point index |
|
static |
Declare the parameters this function takes through input files.
void aspect::MaterialModel::ReactionModel::Tian2019Solubility< dim >::parse_parameters | ( | ParameterHandler & | prm | ) |
Read the parameters from the parameter file.
|
private |
The maximum water content for each of the 4 rock types in the tian approximation method. These are important for keeping the polynomial bounded within reasonable values.
Definition at line 103 of file tian2019_solubility.h.
|
private |
Definition at line 104 of file tian2019_solubility.h.
|
private |
Definition at line 105 of file tian2019_solubility.h.
|
private |
Definition at line 106 of file tian2019_solubility.h.
|
private |
If true, the adiabatic pressure is used in the Tian 2019 solubility model. If false, the full pressure is used instead. When simulating fully coupled fluid transport, setting this to true is recommended since the compaction pressure can lead to numerical instabilities when determining reaction rates.
Definition at line 114 of file tian2019_solubility.h.
|
private |
The following coefficients are taken from a publication from Tian et al., 2019, and can be found in Table 3 (Gabbro), Table B1 (MORB), Table B2 (Sediments) and Table B3 (peridotite). LR refers to the effective enthalpy change for devolatilization reactions, csat is the saturated mass fraction of water in the solid, and Td is the onset temperature of devolatilization for water.
Definition at line 124 of file tian2019_solubility.h.
|
private |
Definition at line 125 of file tian2019_solubility.h.
|
private |
Definition at line 126 of file tian2019_solubility.h.
|
private |
Definition at line 128 of file tian2019_solubility.h.
|
private |
Definition at line 129 of file tian2019_solubility.h.
|
private |
Definition at line 130 of file tian2019_solubility.h.
|
private |
Definition at line 132 of file tian2019_solubility.h.
|
private |
Definition at line 133 of file tian2019_solubility.h.
|
private |
Definition at line 134 of file tian2019_solubility.h.
|
private |
Definition at line 136 of file tian2019_solubility.h.
|
private |
Definition at line 137 of file tian2019_solubility.h.
|
private |
Definition at line 138 of file tian2019_solubility.h.
|
private |
The polynomials breakdown above certain pressures, 10 GPa for peridotite, 26 GPa for gabbro, 16 GPa for MORB, and 50 GPa for sediment. These cutoff pressures were determined by extending the pressure range in Tian et al. (2019) and observing where the maximum allowed water contents jump towards infinite values.
Definition at line 145 of file tian2019_solubility.h.
|
private |
Definition at line 147 of file tian2019_solubility.h.
|
private |
Definition at line 151 of file tian2019_solubility.h.
|
private |
Definition at line 155 of file tian2019_solubility.h.