Smallest element size at each time increment

Hello,

I would like to assess the smallest mesh size at each time increment to compute automatically the CFL and satisfy the stability. It is necessary for nonlinear material with high deformation.
I make this small code to determine the smallest length but it’s limited to the initial mesh:

from dolfinx import fem, io
import ufl
from mpi4py import MPI

comm = MPI.COMM_WORLD
with io.XDMFFile(comm, "kalthoff_112m.xdmf", "r") as xdmf:
        msh = xdmf.read_mesh(name="Grid")
        cell_tags = xdmf.read_meshtags(msh, name="Grid")

cell_edge_min_ufl = ufl.geometry.MinCellEdgeLength(msh)
Ve = fem.FunctionSpace(msh, ("DG", 0))
cell_edge_min_expr = fem.Expression(cell_edge_min_ufl, Ve.element.interpolation_points())
r = fem.Function(Ve)
r.interpolate(cell_edge_min_expr)

with io.XDMFFile(msh.comm, "cell_length.xdmf", "w") as xdmf:
    xdmf.write_mesh(msh)
    xdmf.write_function(r)

Is it possible to extend it at each increment in terms of a deformed domain ?
Or might I need to rewrite a function to compute distance between two vertex in taking account the displacement during the time ?

Thank you for the advice,

Lamia