-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Melt model according to Phipps Morgan 2001 #8
base: melt_visco_plastic_PM01_base
Are you sure you want to change the base?
Melt model according to Phipps Morgan 2001 #8
Conversation
const double Xls = 1. - ((1. - p_Fe_mantle) / (p_Mg_mantle - p_Fe_mantle)); | ||
|
||
// Melting occurs when delta G = 0 | ||
const double T_Fe_mantle = (Fe_delta_E + P * Fe_mantle_melting_volume + 0.5 * P * P * Fe_delta_V_prime_fusion) / Fe_mantle_melting_entropy; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This variable name is unclear.
From what follows, T_??_mantle
is equal to (T_melting_?? - T)
.
In the model implemented here, the entropy of melting is globally constant, so
(T_melting_?? - T) = T_??_mantle = dG_??_mantle / ??_mantle_melting_entropy
.
// in this simple model, the bulk composition is just one number, namely | ||
// the molar fraction of the combined iron endmembers | ||
const double bulk_composition = old_melt_composition * melt_molar_fraction + old_solid_composition * solid_molar_fraction; | ||
// Q! solid_composition is already defined above! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The solid and melt compositions need to be updated if there is melt transport (because the melt and solid can react with each other at each time step)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, it's just that in line 649 double solid_composition = ...
is already defined. I've removed it here now, but it's the same in melt_boukare; it shouldn't change anything though.
melt_out->compaction_viscosities[q] = (1.0 - porosity) * xi_0 / std::max(porosity, porosity_threshold); | ||
|
||
const double delta_temp = in.temperature[q]-this->get_adiabatic_conditions().temperature(in.position[q]); | ||
// Q! Why this particular cutoff 1e-4-1e4? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You would need to ask Juliane about this, but I suspect it's because melting sometimes led to a very large temperature dependence on the viscosity, and that was a problem for convergence.
"and reference pressure." | ||
"Units: J/kg/K."); | ||
// Holland & Powell Table 2a, b, given in [1e5 kJ/K^2/mol] (so *1e3/1e5) Q! | ||
// Q! in D2021, Table 1A, the unit is J/K2/mol instead of J/kg/K/K. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, these are molar values, rather than specific values - thermodynamics is easier in molar quantities. We convert to specific values before using the heat capacities in the heat equation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's just that the unit given for C1 in declare_parameters
of melt_boukare is J/kg/K/K and in table A1 J/K2/mol, while the values for C1 in both places are the same. Same for C2. I'll change the units here to molar.
4d6e22e
to
85217e3
Compare
85217e3
to
8ef45fd
Compare
efe991b
to
6b87092
Compare
8ef45fd
to
e87edc1
Compare
This PR adds a new material model for an olivine solid solution according to Phipps Morgan (2001). The solid solution consists of an iron (Fe) and a magnesium (Mg) endmember; both can melt to produce Fe and Mg melts.
The material model is a simplification of the Boukare material model created by J. Dannberg, R. Myhill, R. Gassmoeller and S. Cottaar.
For all pull requests:
For new features/models or changes of existing features: