[WIP] Add isostress and Voigt-Reuss-Hill averaging to CompositeViscoPlastic #3922
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Yesterday evening, @naliboff and I discussed the possibility of implementing different averaging schemes with the CompositeViscoPlastic rheology model. The model as implemented in #3884 assumes isostrain (Voigt) averaging of material viscosities, which can result in very high viscosities.
As CompositeViscoPlastic decomposes the strains for each mechanism, isostress or Voigt-Reuss-Hill* averaging can both be implemented. The isostress averaging scheme is likely to be more efficient than isostrain, because isostrain averaging requires one stress inversion per material, whereas isostress averaging requires only one stress inversion in total.
This PR adds the option to choose between isostrain, isostress and Voigt-Reuss-Hill viscosity averaging schemes. Opened for discussion. PR #3884 should be merged before this is reviewed.
* an arithmetic average of isostress and isostrain