-
Notifications
You must be signed in to change notification settings - Fork 238
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
RM; pass solid pressure to density #2999
RM; pass solid pressure to density #2999
Conversation
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.
Looks reasonable. 👍
double const p_FR = -chi_S_L * p_cap_ip; | ||
// p_SR | ||
variables[static_cast<int>(MPL::Variable::solid_grain_pressure)] = | ||
p_FR - (sigma_eff + sigma_sw).dot(identity2) / (3 * (1 - phi)); |
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.
p_FR - (sigma_eff + sigma_sw).dot(identity2) / (3 * (1 - phi)); | |
p_FR - std::max(0.0, (sigma_eff + sigma_sw).dot(identity2) / (3 * (1 - phi))); |
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.
or
std::max(0.0, p_FR - (sigma_eff + sigma_sw).dot(identity2) / (3 * (1 - phi)));
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.
why? At least the transformation you suggest is not equivalent to the original code, so an explanation would be helpful.
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.
I do know what it is exactly the density model. If the density model describes the density change only under pressure, or compression, and no change in extension, all three principle stresses must be negative. If it is not the case, your implementation is roughly good, which means we do not care compressed or extended in directions but with a dominated status.
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 density model in the ctest is exponential one describing the change in both directions, compression and extension.
<name>density</name> | ||
<type>Constant</type> | ||
<value>1</value> | ||
<type>Exponential</type> | ||
<reference_value>1</reference_value> | ||
<exponent> | ||
<variable_name>solid_grain_pressure</variable_name> | ||
<reference_condition>0</reference_condition> | ||
<!-- beta_SR = (1 - alpha)/K_S. K_S = E/(3(1-2 nu)) --> | ||
<!-- K_S = 1/(3*(1-2*0.3)) = 5/6. --> | ||
<!-- beta_SR = (1 - 11/12)/K_S = 0.1 --> | ||
<factor>0.1</factor> | ||
</exponent> |
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.
@wenqing the used density model.
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.
I see.
Used by exponential solid density.
Observable through the dry density solid and dry density pellet. Effect is visible for mechanical compression and desaturation.
OpenGeoSys development has been moved to GitLab. |
Followup of #2996
Required for solid pressure dependent density.