In hopes that this might be useful to others, I’m posting here an e-mail exchange I had with John Naliboff about understanding the elasticity parameter settings in the visco plastic module.
Hi John,
I finally back to working on the subduction model I started at the hackathon and I’m ready to turn on elasticity.
I’ve looked through several of the benchmarks, but I’m still confused about one thing.
With elasticity on, there are these 3 additional compositional fields, stress_xx, stress_yy and stress_xy.
I also understand that I need to set densities and viscosity parameters for these fields, so that I get the
the values for the actual compositional fields that follow to be set correctly.
What I’m not sure about is what is done with the values that are assigned to these 3 stress fields.
I see in the code that there is a ComponentMask - at first, I thought that this basically tells all the composition related steps to ignore these 3 fields?
// Store which components to exclude during volume fraction computation.
ComponentMask composition_mask(this->n_compositional_fields(), true);
However, I noticed in some of the benchmarks that you set the elastic moduli to be really big (1e50) and the viscosity to be really small (1e17)… so, that made me worried that actually these are being using in the calculation and so I need to set the values as you have, so that they don’t have any affect?
Can you help clarify this?
Thanks,
Magali
Hi Magali,
The short answer is you are correct that the material values (viscosity, density, etc) from those fields are never used in the volume fractions calculations. In some cases, I often set those values to very large (or small) numbers as a reminder that they are associated with fields that are not-used in the volume fractions calculations (i.e., makes it visually easier to see).
There are a few cases where I would use a large value (ex: 1e50 Pa) for the shear modulus of an actual rock type (used in volume fraction calculation) if the benchmark included a material that was not supposed to deform in a viscoelastic manner.
However, what this points to is that I need to do better documentation in the parameter files to make this clear. Can you send me list of parameter files where additional documentation would be helpful?
Thanks!
Cheers,
John
Hi John,
Thanks - that is super helpful.
One last question, which viscosity is in the output (postprocessing visualization)?
I ran my model once, with just viscous rheology (its diffusion creep, so nothing non-linear or yielding), and I get the viscosities
in the slab I would expect, with values up to 1e24 Pas. However, when I turn on all the elasticity things, then the maximum viscosity
in the output is around 1e21 Pa-s. I’m trying to figure out if I have a typo, or if the output is some kind of effective or apparent viscosity?
The benchmarks I was looking at are:
viscoelastic_beam_modified
viscoelastic_bending_beam
viscoelastic_plastic_shear_bands
viscoelastic_plastic_simple_shear
viscoelastic_plate_flexure
viscoelastic_stress_build-up
These were REALLY helpful, but it would be really good to note that the values for the stress terms are just place holders and aren’t actually used.
Finally - would it better if I asked these questions in the forum?
Cheers,
Magali
Hi Magali,
in the output is around 1e21 Pa-s. I’m trying to figure out if I have a typo, or if the output is some kind of effective or apparent viscosity?
Yes, the value output by ASPECT is the effective viscoelastic viscosity, which depends on the initial creep viscosity, shear modulus, and elastic time step:
Effectively, the viscoelasticity acts to reduce the total viscosity, but then add the viscoelastic stresses to the RHS of the force-balance equation.
These were REALLY helpful, but it would be really good to note that the values for the stress terms are just place holders and aren’t actually used.
Will do, this has been added to my ASPECT to do list! Also, glad the benchmarks were helpful! I am going to start working on a manual entry that summarizes all of the various non-linear rheology options in ASPECT, what benchmarks exist, etc, etc. I’ve been terrible about updating the manual, although the benchmarks and source code is well documented.
Finally - would it better if I asked these questions in the forum?
If you don’t mind doing so, I think this type of question would definitely be of benefit to the broader user group. However, always happy to answer questions directly as well. On my end, it would be great to see how your initial subduction models with elasticity go, as I will be doing similar testing next winter.
Cheers,
John