Question about strain rate calculation

Hello,

I am currently working with ASPECT v2.4 and trying to verify the strain rate output in solution.pvd using ParaView.

Specifically, I took the strain rate tensor components (0–8; xx, xy, xz, yx, yy, yz, zx, zy, zz) and computed the strain rate magnitude following the manual. I used the tensor inner product (incompressible material):

When I compared this with ASPECT’s built-in strain_rate output, I noticed that there is about a factor of sqrt(2) difference.

In some documents, the strain rate magnitude is instead recorded as

image

So my questions are:

  1. Is it correct that ASPECT’s strain_rate output corresponds to this latter definition (i.e., differs by a factor of sqrt(2) compared to the Frobenius norm?

  2. In regions with strong strain rate contrasts (for example, where the background is ~1e-15 s⁻¹ and the local values drop to ~1e-16 s⁻¹), I observe absolute differences between the computed J2 strain rate and ASPECT’s output on the order of 1e-16 s⁻¹. Is this level of discrepancy expected due to numerical precision or postprocessing?

Thank you very much for clarifying.

Best regards,
Kyeongjun.

@kjun825 There is no consensus in the literature how to define the (scalar) strain rate as a function of the strain rate tensor – both of the formulas you show are used in various papers. As a consequence, it is indeed always useful to make sure you know what is being used in which context.

When you say “Aspect’s strain_rate output”, I assume that you are talking about the strain rate visualization postprocessor. For this, the specific documentation of what it outputs is perhaps slightly difficult to find, but if you scroll down to “strain rate” from this link Postprocess — ASPECT 3.1.0-pre, you see that it matches the former equation you show (without the 0.5).

As for your second question, I’m not entirely sure I understand what you are asking. What exactly is it you are comparing? What is the “computed J2 strain rate”?

Best

W.

Thank you for your reply.
By “Aspect’s strain_rate output,” I indeed meant the strain rate from the visualization postprocessor, as you mentioned. I also checked the manual and confirmed that it is defined using the formula without the factor of 0.5.

The reason I asked is that when I calculate the strain rate (via √tensor double contraction) from the visualization postprocessor’s strain rate tensor, there is a difference by a factor of 1/√2 compared to the visualization postprocessor’s strain rate.

The J2 strain rate refers to the form of strain rate where a factor of 1/√2 is applied to the tensor double contraction.

As you pointed out, since both definitions are widely used, I will make sure to double-check and use them appropriately depending on the context.

Thanks again for your kind answer.