Does the syntax Grad(U) exist in FEnics

3 months ago by
Hi there,

I am trying to compute deformation with respect to reference coordinates. I have found Grad(U) in some of the links while search on internet.

Can anyone please clarify if the syntax Grad(U) exists ? i mean can i compute F = I+Grad(U) directly using FEnics ?
Where U represents the reference coordinates

Community: FEniCS Project

3 Answers

3 months ago by
Hi sarah,

fenics solves a differential equation in space x, the physical meaning of this x depends on your formulation. For elastostatics, if the differential equation is the divergence of Cauchy stress then the physical meaning of x is the current configuration. If the differential equation is the divergence of Piola (or nominal) stress, then u[i].dx(j) means Grad(u) such that Grad means a derivative in the space representing the reference configuration.

Best, Emek
3 months ago by
You can use
dim = 3
I = identity(dim)
F = I + nabla_grad(u)​

Notice the nabla_ prefix in front ofgrad. This gives the correct index ordering, cf. the red box in this chapter of the tutorial.

For this definition of the deformation gradient to be correct, however,u  has to be the displacement and not the reference coordinates.

3 months ago by
K D  
I'm fairly new to FENICS, so I can't answer the question directly.  However, an easy way to do this may be to use "composition of mappings" from continuum mechanics (essentially the chain rule).  The grad operator in FENICS gives you the gradient with respect to $x$, and then you can map from there to your reference configuration using a further deformation gradient tensor by treating $x$ as an intermediate configuration.  I.e., : $F = Fe . Fp$, where $F$ is what you want, $F_e$ is the operation computed by FENICS, and $Fp$ is the mapping from $x$ to your preferred reference configuration.
Please login to add an answer/comment or follow this question.

Similar posts:
Search »