Difference of Dot() and ()*()

Hi,
I’m still pretty new at Fenics and i want to solve a coupled field problem. I’m using large deformations and I was looking to some examples in the documentation. I found this: 9. Hyperelasticity — FEniCS Project

The right Cauchy-Green tensor C is given by: C = F.T * F
However, i thought that you have to use
C = dot(F.T, F), because it’s the dot-product C_{KL} = F_{Km} F_{mL}.

I need to use the dot- and inner-product very often, so i would like to know, if there is any difference between these two formulations dot() and ()*().

Thanks in advance!

See for instance:
https://fenics.readthedocs.io/projects/ufl/en/latest/manual/form_language.html#dot
And Confused about use of multiplication symbol (*) in some UFL examples - FEniCS Q&A

2 Likes

Hey Dokken,

thank you for your quick response.
I have a further question, even if it’s not about the mentioned topic:

In the example of hyperelasticity, the deformation gradient is given by: F = I + grad(u)

I thought, that grad(u) is defined as u_i,j; but in my opinion, it should be like that : F_{iJ} = I_{iJ} + \frac{\partial u_i}{\partial X_J}. So it should be the derivation of the displacement with respect to the reference configuration.
So the question is: If I use large displacements, is the gradient defined with respect to the reference configuration?
\nabla( \, ) = \frac{\partial (\,)}{\partial X_J}

Thank you!

The grad operator differentiates with respect to the physical coordinates of the mesh. Everything in the hyperelasticity demo is mathematically consistent with the mesh being defined in the reference configuration. I think your source of confusion may be coming from the fact that much of the problem-independent API and UFL documentation uses a lower-case “x” for mesh coordinates, e.g., defining dx as the integration measure over the mesh, or using x as a generic coordinate in Expressions. However, the physical interpretation of that coordinate in a specific application depends on how you define your variational forms.

3 Likes

Hey kamensky,

thank you very much for your detailed explanation. It helped me alot.
I’m just a little bit confused right now, because I try to compute a coupled field problem and it does not converge. And at the moment I have absolutely no idea what the mistake is. But thanks a lot!