21 #ifndef _aspect_material_reaction_model_melt_tian2019_solubility_h
22 #define _aspect_material_reaction_model_melt_tian2019_solubility_h
33 namespace MaterialModel
37 namespace ReactionModel
70 const double mass_frac_porosity,
71 unsigned int q)
const;
81 unsigned int q)
const;
137 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};
138 std::vector<double> csat_peridotite_poly_coeffs {0.00115628, 2.42179};
139 std::vector<double> Td_peridotite_poly_coeffs {-15.4627, 94.9716, 636.603};
141 std::vector<double> LR_gabbro_poly_coeffs {-1.81745, 7.67198, -10.8507, 5.09329, 8.14519};
142 std::vector<double> csat_gabbro_poly_coeffs {-0.0176673, 0.0893044, 1.52732};
143 std::vector<double> Td_gabbro_poly_coeffs {-1.72277, 20.5898, 637.517};
145 std::vector<double> LR_MORB_poly_coeffs {-1.78177, 7.50871, -10.4840, 5.19725, 7.96365};
146 std::vector<double> csat_MORB_poly_coeffs {0.0102725, -0.115390, 0.324452, 1.41588};
147 std::vector<double> Td_MORB_poly_coeffs {-3.81280, 22.7809, 638.049};
149 std::vector<double> LR_sediment_poly_coeffs {-2.03283, 10.8186, -21.2119, 18.3351, -6.48711, 8.32459};
150 std::vector<double> csat_sediment_poly_coeffs {-0.150662, 0.301807, 1.01867};
151 std::vector<double> Td_sediment_poly_coeffs {2.83277, -24.7593, 85.9090, 524.898};
158 const std::array<double,4 > pressure_cutoffs {{10, 26, 16, 50}};
160 std::vector<std::vector<double>> devolatilization_enthalpy_changes {LR_peridotite_poly_coeffs, LR_gabbro_poly_coeffs, \
161 LR_MORB_poly_coeffs, LR_sediment_poly_coeffs
164 std::vector<std::vector<double>> water_mass_fractions {csat_peridotite_poly_coeffs, csat_gabbro_poly_coeffs, \
165 csat_MORB_poly_coeffs, csat_sediment_poly_coeffs
168 std::vector<std::vector<double>> devolatilization_onset_temperatures {Td_peridotite_poly_coeffs, Td_gabbro_poly_coeffs, \
169 Td_MORB_poly_coeffs, Td_sediment_poly_coeffs
double melt_fraction(const MaterialModel::MaterialModelInputs< dim > &in, const double mass_frac_porosity, unsigned int q) const
double tian_max_peridotite_water
double tian_max_gabbro_water
bool use_adiabatic_pressure_for_reactions
double tian_max_MORB_water
void parse_parameters(ParameterHandler &prm)
double tian_max_sediment_water
static void declare_parameters(ParameterHandler &prm)
std::vector< double > tian_equilibrium_bound_water_content(const MaterialModel::MaterialModelInputs< dim > &in, unsigned int q) const