Skip to content
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

JOSS REVIEW: clarification of support for nonlinear rheology #78

Closed
psanan opened this issue Mar 15, 2022 · 3 comments
Closed

JOSS REVIEW: clarification of support for nonlinear rheology #78

psanan opened this issue Mar 15, 2022 · 3 comments

Comments

@psanan
Copy link

psanan commented Mar 15, 2022

I think that some further clarification in the docs is necessary on how exactly strain-rate-dependent nonlinear rheology is supported, since this was the only part of my "Functionality" check that gave me trouble. The rheology section of the docs describes how the viscosity $\eta$ may depend on the strain rate $\dot \epsilon$, and the continental_rift example uses this with various (non-$1$) values of $n$ in different layers. This means that equation 1.4 is now a nonlinear function of $u$, and thus equation 2.3 is using an "old" value of $u$ to compute $\eta$. This seems to be confirmed based on looking at the source code - $\eta$ is computed at each particle location based on the strain rate there, and then then viscosity is considered to be independent of velocity during the next Stokes solve. If I'm correct in my characterization above, this should at least be noted more clearly in the documentation, since I believe that some other packages would perform a nonlinear solve to solve these nonlinear Stokes equations, for example by repeatedly fixing the viscosity based on the last value of $u$ and then re-solving the linear Stokes equations within each time step. For comparison, looking in the ASPECT manual, I see that they support both "single Stokes" and "iterated Stokes" options for their solve. I think you're doing the former, but potential users might wonder if you support the latter.

@victorsacek
Copy link
Contributor

Thank you @psanan

In fact, the details about how Mandyoc deals with the non-linear flow were not explained in the documentation. Now we added this information after the rheology section. The non-linear iterations are calculated in the function veloc_total(), starting on line 37 of the file veloc_total.cpp.

@psanan
Copy link
Author

psanan commented Mar 18, 2022

Thanks! My apologies for not examining the code or output carefully enough. I can indeed see this outer loop in veloc_total.cpp and the output when I run the continental_rift example is more clear with your new documentation.

@psanan psanan closed this as completed Mar 18, 2022
@psanan
Copy link
Author

psanan commented Mar 18, 2022

This resolves the last of my checklist items at the main review issue: openjournals/joss-reviews#4070

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

No branches or pull requests

2 participants