[petsc-users] FEM SUPG gmres
Nathan Langlet
nathan.langlet at onera.fr
Wed May 27 06:47:52 CDT 2026
Hello!
I am developing a conservative variable steady-state compressible RANS
(Spalart Allmaras) solver in FENICSX with SUPG stabilisation. My aim is
to solve 3D flows around Mach numbers of approximately 0.4 at Re~1*10^6
in duct. My boundary conditions are implemented using flux (no strong
dirichlet)
At the moment, I am using a pseudo-transient continuation (PTC)
algorithm where the Jacobian contains a time term but the residual is
stationary. I am using a snes solver with FGMRES preconditioned by ASM
+ ILU(2) (rtol = 0.1, restart = 300, modifiedgradshmidt, rcm ordering,
overlap 2, restrictive ASM, ). I solve 1 Newton iteration then modify
the CFL ... However, as my CFL increases (before and close to quadratic
convergence), I observe a marked deterioration in performance, and the
solver requires >200 iterations to reach the FGMRES’s rtol of 0.1. In
some complex cases (S shaped suct with flow separation), even 600
iterations are insufficient.
I have also noticed that some Newton iterations strangely take an
extremely long time to complete, despite a constant or similar number of
ILU iterations, and the only way I have found to fix this is to enable
diagonal scaling (and the fix). In this case, the time taken to solve
the problem is ‘logical’, and only increases as the number of iterations
in the GMRES increases. You will find an example of this phenomenon
attached (residual.txt). I’ve checked the time to compute the Jacobian
and the residual, and that’s not where the problem lies.
Do you think that Non-dimensionalization my variables could help GMRES
converge more effectively ? Because, in fact, there are significant
differences in the order of magnitude of the L2 residuals for each
equation. Is using diagonal scaling sufficient?
I would like to be able to optimise this solver to limit the number of
iterations required for the FGMRES to converge; are there any PETSc
options I haven’t considered? I have also noticed that FUN3D, for
example, solves the equations in primitive variables (rho,v,T,nu_tilde);
could this improve the convergence of the system?
Thank you for any help or ideas!
--
*Nathan Langlet*
Etudiant doctorant
Département aérodynamique, aéroélasticité, acoustique
MASH
Tél: +33 1 46 23 51 61
ONERA - The French Aerospace Lab - Centre de Meudon
8, rue des Vertugadins - 92190 MEUDON
Nous suivre sur : https://urldefense.us/v3/__http://www.onera.fr__;!!G_uCfscf7eWS!bkC4l107PhH0Zp6uaiA2DKt8EEkFE4FxLDUZgYohn57DXKF9eRRuSYFo59clw9F__bP-jB2FQAdnrE89xNQKVNyxdN9iGlSr$ <https://urldefense.us/v3/__https://www.onera.fr__;!!G_uCfscf7eWS!bkC4l107PhH0Zp6uaiA2DKt8EEkFE4FxLDUZgYohn57DXKF9eRRuSYFo59clw9F__bP-jB2FQAdnrE89xNQKVNyxdLKIVPxi$ > | Twitter
<https://urldefense.us/v3/__http://www.twitter.com/@onera_fr__;!!G_uCfscf7eWS!bkC4l107PhH0Zp6uaiA2DKt8EEkFE4FxLDUZgYohn57DXKF9eRRuSYFo59clw9F__bP-jB2FQAdnrE89xNQKVNyxdEpJ-GTq$ > | LinkedIn
<https://urldefense.us/v3/__http://www.linkedin.com/company/onera__;!!G_uCfscf7eWS!bkC4l107PhH0Zp6uaiA2DKt8EEkFE4FxLDUZgYohn57DXKF9eRRuSYFo59clw9F__bP-jB2FQAdnrE89xNQKVNyxdAQlUnQd$ > | Facebook
<https://urldefense.us/v3/__http://www.facebook.fr/thefrenchaerospacelab__;!!G_uCfscf7eWS!bkC4l107PhH0Zp6uaiA2DKt8EEkFE4FxLDUZgYohn57DXKF9eRRuSYFo59clw9F__bP-jB2FQAdnrE89xNQKVNyxdClsFfbh$ > | Instagram
<https://urldefense.us/v3/__https://www.instagram.com/onera_the_french_aerospace_lab__;!!G_uCfscf7eWS!bkC4l107PhH0Zp6uaiA2DKt8EEkFE4FxLDUZgYohn57DXKF9eRRuSYFo59clw9F__bP-jB2FQAdnrE89xNQKVNyxdPMiWupo$ >
Avertissement/disclaimer https://urldefense.us/v3/__https://www.onera.fr/en/emails-terms__;!!G_uCfscf7eWS!bkC4l107PhH0Zp6uaiA2DKt8EEkFE4FxLDUZgYohn57DXKF9eRRuSYFo59clw9F__bP-jB2FQAdnrE89xNQKVNyxdHPyvlfS$
Ce message n'appelle pas de réponse en dehors des horaires de travail ou
pendant vos congés.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20260527/2480ce36/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Y5RAdyktLDuj0vv0.png
Type: image/png
Size: 13460 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20260527/2480ce36/attachment-0001.png>
-------------- next part --------------
Iteration 11 | Résidu L2: 3.056e-02 CFL: 1.16
Résidus L2 rel: ‖ρ‖₂ = 3.827e-02, ‖ρv‖₂ = 2.127e-02, ‖ρE‖₂ = 3.056e-02, ‖ρν‖₂ = 8.434e-03
Résidus L2 abs: ‖ρ‖₂ = 1.252e-04, ‖ρv‖₂ = 1.486e-01, ‖ρE‖₂ = 3.815e+01, ‖ρν‖₂ = 1.265e-07
Temps assemblage J: 8.5449378490448
Linear ns_ solve converged due to CONVERGED_RTOL iterations 4
temps écoulé_solve: 20.20 s
------------------------------------------------------------
Iteration 12 | Résidu L2: 2.707e-02 CFL: 1.46
Résidus L2 rel: ‖ρ‖₂ = 3.389e-02, ‖ρv‖₂ = 1.820e-02, ‖ρE‖₂ = 2.707e-02, ‖ρν‖₂ = 7.252e-03
Résidus L2 abs: ‖ρ‖₂ = 1.109e-04, ‖ρv‖₂ = 1.271e-01, ‖ρE‖₂ = 3.379e+01, ‖ρν‖₂ = 1.087e-07
Temps assemblage J: 8.567534923553467
Linear ns_ solve converged due to CONVERGED_RTOL iterations 4
temps écoulé_solve: 20.33 s
------------------------------------------------------------
Iteration 13 | Résidu L2: 2.398e-02 CFL: 1.82
Résidus L2 rel: ‖ρ‖₂ = 3.000e-02, ‖ρv‖₂ = 1.567e-02, ‖ρE‖₂ = 2.398e-02, ‖ρν‖₂ = 6.346e-03
Résidus L2 abs: ‖ρ‖₂ = 9.815e-05, ‖ρv‖₂ = 1.095e-01, ‖ρE‖₂ = 2.993e+01, ‖ρν‖₂ = 9.516e-08
Temps assemblage J: 8.53394341468811
Linear ns_ solve converged due to CONVERGED_RTOL iterations 4
temps écoulé_solve: 45.62 s
------------------------------------------------------------
Iteration 14 | Résidu L2: 2.122e-02 CFL: 2.27
Résidus L2 rel: ‖ρ‖₂ = 2.652e-02, ‖ρv‖₂ = 1.357e-02, ‖ρE‖₂ = 2.122e-02, ‖ρν‖₂ = 5.785e-03
Résidus L2 abs: ‖ρ‖₂ = 8.677e-05, ‖ρv‖₂ = 9.483e-02, ‖ρE‖₂ = 2.649e+01, ‖ρν‖₂ = 8.674e-08
Temps assemblage J: 8.560238122940063
Linear ns_ solve converged due to CONVERGED_RTOL iterations 5
temps écoulé_solve: 38.83 s
------------------------------------------------------------
Iteration 15 | Résidu L2: 1.864e-02 CFL: 2.84
Résidus L2 rel: ‖ρ‖₂ = 2.328e-02, ‖ρv‖₂ = 1.181e-02, ‖ρE‖₂ = 1.864e-02, ‖ρν‖₂ = 5.521e-03
Résidus L2 abs: ‖ρ‖₂ = 7.616e-05, ‖ρv‖₂ = 8.247e-02, ‖ρE‖₂ = 2.326e+01, ‖ρν‖₂ = 8.280e-08
Temps assemblage J: 8.55243706703186
Linear ns_ solve converged due to CONVERGED_RTOL iterations 5
temps écoulé_solve: 34.65 s
------------------------------------------------------------
Iteration 16 | Résidu L2: 1.626e-02 CFL: 3.55
Résidus L2 rel: ‖ρ‖₂ = 2.030e-02, ‖ρv‖₂ = 1.030e-02, ‖ρE‖₂ = 1.626e-02, ‖ρν‖₂ = 5.436e-03
Résidus L2 abs: ‖ρ‖₂ = 6.643e-05, ‖ρv‖₂ = 7.196e-02, ‖ρE‖₂ = 2.030e+01, ‖ρν‖₂ = 8.152e-08
Temps assemblage J: 8.529710054397583
Linear ns_ solve converged due to CONVERGED_RTOL iterations 6
temps écoulé_solve: 53.96 s
More information about the petsc-users
mailing list