Theory question about linear viscoelasticity in Numerical Tours

Hello!

I am working with the linear elasticity demo https://comet-fenics.readthedocs.io/en/latest/demo/viscoelasticity/linear_viscoelasticity.html

What exactly is going on in these lines of code:

incremental_potential = strain_energy(u, epsv)*dx \
                        + dt*dissipation_potential((epsv-epsv_old)/dt)*dx \
                        - Traction*u[1]*ds(1)
F = derivative(incremental_potential, w, w_)
form = replace(F, {w: dw})

I am trying to map this onto Equations 5, 6, and 7 of Lahellec and Suquet (2008), https://hal.archives-ouvertes.fr/hal-00214209/document, which I think is where this formulation was proposed (?).

Is it correct that the second and third lines of code, above, implement the infimum (i.e., LS08 Equation 6)?

Thanks!

Brad

Hi,
more or less yes. Solving F==0 corresponds to the first-order optimality condition of the variational principle consisting in minimizing the incremental potential. However, contrary to what s written in Lahellec and Suquet, here minimization is performed both on u and epsv : minimization wrt epsv yields indeed (6) but minimization wrt to u solves the balance equation with the stress/strain relation (7).

form is then used to extract the bilinear and linear parts of the corresponding linear variational problem

Hope this helps

3 Likes

This helps a lot. I have a followup question, too. @bleyerj, looking at your publication list it seems like this might be an area that you would be able to comment on.

Background. I asked about the incremental potential function because I’d like to modify the viscoelasticity demo to describe a viscoelastic Euler beam. Before starting out, I didn’t realize that FEniCS doesn’t have (I think?) any type of H^2 element fully implemented. Hence why the FEniCS biharmonic demo uses a C/DG approach.

So my question is, is there a straightforward way to implement the DG penalty terms from the biharmonic demo into the incremental potential approach?

Indeed, FEniCS does not have such elements available.
A possible remedy is to use a Timoshenko model (see for instance these demos https://comet-fenics.readthedocs.io/en/latest/demo/beam_buckling/beam_buckling.html and https://comet-fenics.readthedocs.io/en/latest/demo/beams_3D/beams_3D.html) and maybe assuming viscoelasticity only on the normal stress part of the behaviour, the shear behaviour remaining elastic if this is OK for you.
Or indeed as you mention use a DG approach, but then I am not so sure about what would be the corresponding formulation in a viscoelastic setting.
Basically, the DG approach amounts to add rotational springs with some large stiffness scaling with 1/mesh_size. Do you need to have such springs behave as viscoelastic, that I cannot tell you precisely. I think you should have less trouble with the Timoshenko model approach…

1 Like