Open gassmoeller opened 8 years ago
Maybe also mention this in the material model member function documentation.
I can't find where we actually discuss the pressure scaling in the manual. @gassmoeller -- do you recall?
The only place that I can see is where we define the "Reference viscosity" parameter. I'll have a patch for that in a minute.
@jdannberg @naliboff, @ludovicJnnt, and I just had a discussion about pressure scaling and reference viscosities in mantle convection vs lithosphere dynamics models and we would like to have a discussion about this at the hackathon to find out if there is a more consistent way to compute these values.
We could just use a cheap method to compute some reference viscosity, e.g., by evaluating the viscosity at some representative sample of cells and choosing the harmonic average.
In principle, yes, but the other point that was unclear to us was if the scaling relation and the length scale we use for the pressure scaling that you determined for mantle convection in the Kronbichler 2012 paper is also relevant for lithosphere deformation (because of the very different rheology), or if the length scale should be different for those models (and how best to test this).
Good question too. Do you have an example of what these length scales would be in the two cases?
The length scale we use does not have to be exact. It is principally used to make sure the two equations have the same physical units and approximately the same magnitude of numbers. If you're off by a factor of 10 or 100, nothing terrible will likely happen. If you're off by a factor of 1e6, that's a bigger problem.
In mantle convection, I would say typical length scales of features can be 100 km, whereas in lithosphere models, features can be on the scale of 1 km.
But we were also wondering if the dynamic pressures in lithosphere models could become much larger than for mantle convection, and if that's important for the computation of the initial residual we use to determine convergence of the linear solver. We noticed that in some 3d models with large viscosity jumps, changing the reference viscosity by just one or two orders of magnitude would sometimes drastically influence the iteration count and convergence of the linear solver.
On 05/23/2018 12:27 PM, Juliane Dannberg wrote:
But we were also wondering if the dynamic pressures in lithosphere models could become much larger than for mantle convection, and if that's important for the computation of the initial residual we use to determine convergence of the linear solver. We noticed that in some 3d models with large viscosity jumps, changing the reference viscosity by just one or two orders of magnitude would sometimes drastically influence the iteration count and convergence of the linear solver.
Hm, that's an interesting observation. I don't have intuition to tell what that could be cause by. I would have expected this to be the case not only for the first iteration, but all. Do you have an idea why this may be only the case for the first time step?
Sorry, I didn't explain that right. It's probably the case for all time steps/iterations, it's just that some of the tests we did happened to have just one time step.
I see.
In the absence of any intuition, we may just have to try out whether the scaling is correct as is for lithospheric model, or whether it needs to be adjusted. I just don't know.
Throwing out an idea: Would it make sense to move this parameter into the Solver parameters
subsection? The parameter is directed related to the linear solver and this would avoid duplicating code in the material models.
I think of it as more of a question of what equation we solve :-)
But let me come back to the idea of computing a reference viscosity automatically? Do you think that's realistic? For strain rate dependent viscosities, we may be off in the first time step because we don't have a strain rate yet. But I suspect that computing the reference viscosity based on a zero strain rate is actually not dissimilar to what most people would prescribe in their models anyway.
Sorry for the confusion, I should have been more explicit -> by duplicating code I meant duplicating documentation. This comment should have gone in #2236.
In strain-rate dependent models, there is usually a parameter for a 'background' strain-rate (in invariant form) that is given to the material on the first non-linear iteration of the initial time step. In a model driven by velocity-conditions, one should be able to predict a fairly reasonable value.
However, this does not account for the fact that the viscosity distribution in the model often evolves significantly with time as deformation localizes, migrates, etc. While the globally averaged viscosity may not change, the maximum/minimum values and length-scales over which these variations occur may change significantly. Is only the globally averaged value important or do these viscosity variations with time also matter?
I don't know. But you have to come up with a single scalar scaling factor.
I like the idea of automatically computing a somehow (e.g. logarithmically) averaged viscosity as reference viscosity. That removes a lot of potential for confusion if reference viscosity and real viscosity differ a lot. @naliboff: If we are concerned about the time evolution we could as well do this at every timestep. At the moment we just allow a constant value, but I do not see a reason we could not adjust this every timestep.
Yes, correct. I meant it has to be a single value in every time step, but it can change over time of course.
In particular make clear that a change of the reference viscosity changes the pressure scaling as well.