-
Notifications
You must be signed in to change notification settings - Fork 2
better paleowattmeter #26
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
base: add_drexpp_V2
Are you sure you want to change the base?
Conversation
MFraters
left a comment
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 didn't read in detail through the new paleowat meter, but I have two small questions. can you address them?
| deriv_a_cosine_matrices[grain_i] = 0; | ||
| const double volume_fraction_grain = get_volume_fractions_grains(cpo_index,data,mineral_i,grain_i); | ||
| if (volume_fraction_grain >= threshold_GBS/n_grains && strain_energy[grain_i] > 0.0) // TODO: Change to actual grain size based on the rheology | ||
| if (volume_fraction_grain >= (threshold_GBS*1e-12) && strain_energy[grain_i] > 0.0) // TODO: Change to actual grain size based on the rheology |
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.
could you document where this number comes from?
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 number is just made up so that the threshold is relevant for d-rex ++ where even the biggest grain is smaller than that number.
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.
Also Menno, A problem I just found while going through the code again today is that the dislocation densities predicted by D-Rexpp is zero. This means that the strain energy for every grain is zero, which implies that the highlighted if condition is not satisfied, freezing the rotation. Another consequence of this is that the mean strain energy is also zero, which means that the size of the grains dont change and hence we dont see any recrystallization.
| // Different than D-Rex. Here we actually only compute the derivative and do not multiply it with the volume_fractions. We do that when we advect. | ||
| deriv_volume_fractions[grain_i] = get_volume_fraction_mineral(cpo_index,data,mineral_i) * mobility * (mean_strain_energy - strain_energy[grain_i]) * nondimensionalization_value; | ||
|
|
||
| deriv_volume_fractions[grain_i] = get_volume_fractions_grains(cpo_index,data,mineral_i,grain_i) * mobility * (mean_strain_energy - strain_energy[grain_i]) * nondimensionalization_value; |
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 are you using the grain volume here and not the mineral volume?
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.
True, I made a mistake as that does not make sense with respect to the volume fraction change defined by kaminski. I forgot that the grain size is changed while advecting, not here.
Differences from the earlier version:
Fixed the paleowattmeter
Current issues:
In drexpp - There is no recrystallization
The rotation of the CPO is slow
In the overall code, the rotation of the CPO is weaker than that of the previous code in the CPO-afterpaper-rebased branch. Im not able to pinpoint any difference between the two codes. It would be great if you could take a look.