Keywords introduced by TrioCFD that extend the Solveur_implicite_base family. See Keywords derived from solveur_implicite_base for the base-class documentation and the canonical keyword list.
adhoc_jfnk
Hand-rolled (matrix-free) Newton-Krylov GMRES non-linear solver for the Cahn-Hilliard phase-field equation, used when PETSc is not available.
Parameters:
- seuil_residu (type: float) Relative convergence threshold of the residual.
- dimension_espace_de_krylov (type: int) Dimension of the GMRES Krylov space.
- nb_iterations (type: int) Maximum number of GMRES iterations.
- residu_min (type: float) Minimum (absolute) convergence threshold of the residual.
- residu_max (type: float) Maximum (absolute) convergence threshold of the residual.
implicit_steady
this is the implicit solver using a dual time step. Remark: this solver can be used only with the Implicit_Euler_Steady_Scheme time scheme.
Parameters:
- [seuil_convergence_implicite] (type: float) Convergence criteria.
- [nb_corrections_max] (type: int) Maximum number of corrections performed by the PISO algorithm to achieve the projection of the velocity field. The algorithm may perform less corrections then nb_corrections_max if the accuracy of the projection is sufficient. (By default nb_corrections_max is set to 21).
- [seuil_convergence_solveur] (type: float) value of the convergence criteria for the resolution of the implicit system build by solving several times per time step the Navier_Stokes equation and the scalar equations if any. This value MUST be used when a coupling between problems is considered (should be set to a value typically of 0.1 or 0.01).
- [seuil_generation_solveur] (type: float) Option to create a GMRES solver and use vrel as the convergence threshold (implicit linear system Ax=B will be solved if residual error ||Ax-B|| is lesser than vrel).
- [seuil_verification_solveur] (type: float) Option to check if residual error ||Ax-B|| is lesser than vrel after the implicit linear system Ax=B has been solved.
- [seuil_test_preliminaire_solveur] (type: float) Option to decide if the implicit linear system Ax=B should be solved by checking if the residual error ||Ax-B|| is bigger than vrel.
- [solveur] (type: solveur_sys_base) Method (different from the default one, Gmres with diagonal preconditioning) to solve the linear system.
- [no_qdm] (type: flag) Keyword to not solve qdm equation (and turbulence models of these equation).
- [nb_it_max] (type: int) Keyword to set the maximum iterations number for the Gmres.
- [controle_residu] (type: flag) Keyword of Boolean type (by default 0). If set to 1, the convergence occurs if the residu suddenly increases.
snes_jfnk
Matrix-free Newton-Krylov (JFNK) non-linear solver built on the PETSc SNES framework, used by the Cahn-Hilliard phase-field time schemes.
Parameters:
- absolute_tol (type: float) Absolute residual tolerance of the Newton iterations.
- relative_tol (type: float) Relative residual tolerance of the Newton iterations.
- stagn_tol (type: float) Stagnation (step-size) tolerance of the Newton iterations.
- max_it_newton (type: int) Maximum number of Newton iterations.
- max_it_gmres (type: int) Maximum number of GMRES iterations of the inner linear solve.
- dimension_espace_de_krylov (type: int) Dimension (restart) of the GMRES Krylov space.
- matrix_free_erel (type: float) Relative step used to build the matrix-free finite-difference Jacobian.
- matrix_free_umin (type: float) Minimum step used to build the matrix-free finite-difference Jacobian.
solveur_non_lineaire
Base class for the matrix-free Newton-Krylov (JFNK) non-linear solvers used by the Cahn- Hilliard phase-field schemes. Declared here in TrioCFD pending an upstream // XD annotation on the TRUST Solveur_non_lineaire class.