Hi,
I am using legacy FEniCS to solve a non-linear elastodynamics PDE.
- The temporal integration scheme is the generalized-alpha method (inspired from Time-integration of elastodynamics equation — Numerical tours of continuum mechanics using FEniCS master documentation).
- At first, I used a newton non linear solver with low tolerances to test the code quickly (newton_solver absolute_tolerance=10⁻², relative_tolerance=10⁻³) and tested the impact of the timestep on the solution:
- I first used a large timestep (e.g. 0.01) and get a satisfying solution till a moment when it crashed (before the end of the simulation) since the solver does not converge anymore.
- I then tryed to decrease the timestep value (e.g. 2.10⁻², 10⁻³, 2.10⁻⁴) , thinking the deformation would become more stable and the results more precise (less error), but instead, the results of the deformation proved to be more unstable and much less precise.
- Then, I changed to tolerances of the newton solver to absolute_tolerance=10⁻⁸, relative_tolerance=10⁻⁷ as suggested in and it deformation seems to become again satisfying at some point, when decreasing the timestep.
Here are my questions:
- Is this issue of decreasing deformation precision with dt → 0 well known? Is that due to the newton solver tolerances? Or are there other ways to resolve it?
- Generally speaking, how to determine the optimal timestep with FEniCS in case of implicit temporal scheme?
Many thanks in advance,
Anne