geodynamics / aspect

A parallel, extensible finite element code to simulate convection in both 2D and 3D models.
https://aspect.geodynamics.org/
Other
217 stars 232 forks source link

Clarify pressure scaling more carefully in manual #676

Open gassmoeller opened 8 years ago

gassmoeller commented 8 years ago

In particular make clear that a change of the reference viscosity changes the pressure scaling as well.

bangerth commented 8 years ago

Maybe also mention this in the material model member function documentation.

bangerth commented 6 years ago

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.

gassmoeller commented 6 years ago

@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.

bangerth commented 6 years ago

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.

jdannberg commented 6 years ago

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).

bangerth commented 6 years ago

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.

jdannberg commented 6 years ago

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.

bangerth commented 6 years ago

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?

jdannberg commented 6 years ago

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.

bangerth commented 6 years ago

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.

naliboff commented 6 years ago

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.

bangerth commented 6 years ago

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.

naliboff commented 6 years ago

Sorry for the confusion, I should have been more explicit -> by duplicating code I meant duplicating documentation. This comment should have gone in #2236.

naliboff commented 6 years ago

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?

bangerth commented 6 years ago

I don't know. But you have to come up with a single scalar scaling factor.

gassmoeller commented 6 years ago

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.

bangerth commented 6 years ago

Yes, correct. I meant it has to be a single value in every time step, but it can change over time of course.