Skip to content

Conversation

@srivatsvyas
Copy link

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.

Copy link
Owner

@MFraters MFraters left a 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
Copy link
Owner

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?

Copy link
Author

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.

Copy link
Author

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;
Copy link
Owner

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?

Copy link
Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants