aspect
aspect copied to clipboard
Add CPO DRex computation
Add initial D-Rex code as close as possible to the ASPECT CPO/ D-Rex paper, but with a different random number generator. This also already include the fabric selector based on Karato 2008.
I had to think a bit about the structure to both keep the main code and unit test code reasonable. I also thought about generalizing the current 4 slip planes to n slip planes (it is an actual use case), but I think it is better to leave that for now as it should not be hard to do later.
I also added a CPO cite tag to the initialization and the references to the ASPECT CPO/D-Rex paper. Since D-Rex is a crucial part of it, I am considering also adding the 2 D-Rex papers to the list of requested citations. Is there any policy on that?
(point 2 in #3885)
Hey @tjhei, Thanks for the review! I think I have addressed all your comments. Based on some of your comments I realized that it would probably be better to do some more groundwork for the generalization from 4 slip systems to n slip systems.
@tjhei I have addressed your comments. I removed some of the repetition in the description of the enum and added some text to explain the difference between the deformation type and the deformation type selector. Can you take a look to see whether the text is more clear now?
Can you please at least add one test model that uses the new functionality. In particular there were typos in input parameters that were not caught, because no test actually uses the whole D-REX calculation together (the existing tests use the passive case without fabric evolution).
This is a bit of a problem of cutting up a pull request this much. I have tests for this which depend on other parts (need at least the postprocessor). That is why I put it as a separate point (point 9) in the tracking issue #3885. What do you think is the best way to move forward on this?
And about the typos in the input parameters, don't worry, they are also definitely in the input files of the tests ;)
(the existing tests use the passive case without fabric evolution).
There is a unit test which tests 2 different computations of the derivatives with an actual fabric (one of which I computed a analytic solution of the derivatives by hand). The adding computation of these derivatives is the core part of this pull request, since it is what the D-Rex algorithm essentially is.
@gassmoeller Thanks for the review! I have addressed all your comments. I have left the comment I thought would be good for you to read if my reply is satisfactory unresolved.