Dear users,

Following a suggestion from Matthew Knepley I’ve been trying to apply 
fieldsplit/gamg for my set of PDEs but I’m still encountering issues despite 
various tests. pc_gamg simply won’t start.
Note that direct solvers always yield the correct, physical result.
Removing the fieldsplit to focus on the gamg bit and trying to solve the linear 
system on a modest size problem still gives, with

'-ksp_monitor -ksp_rtol 1.0e-10 -ksp_gmres_restart 300 -ksp_type gmres -pc_type 
gamg'

[3]PETSC ERROR: --------------------- Error Message 
--------------------------------------------------------------
[3]PETSC ERROR: Petsc has generated inconsistent data
[3]PETSC ERROR: Have un-symmetric graph (apparently). Use 
'-(null)pc_gamg_sym_graph true' to symetrize the graph or 
'-(null)pc_gamg_threshold -1' if the matrix is structurally symmetric.

And since then, after adding '-pc_gamg_sym_graph true' I have been getting
[0]PETSC ERROR: --------------------- Error Message 
--------------------------------------------------------------
[0]PETSC ERROR: Petsc has generated inconsistent data
[0]PETSC ERROR: Eigen estimator failed: DIVERGED_NANORINF at iteration

-ksp_chebyshev_esteig_noisy 0/1 does not change anything

Knowing that Chebyshev eigen estimator needs a positive spectrum I tried 
‘-mg_levels_ksp_type gmres’ but iterations would just go on endlessly.

It seems that I have indeed eigenvalues of rather high magnitude in the 
spectrum of my operator without being able to determine the reason.
The eigenvectors look like small artifacts at the wall-inflow or wall-outflow 
corners with zero anywhere else but I do not know how to interpret this.
Equations are time-harmonic linearized Navier-Stokes to which a forcing is 
applied, there’s no time-marching.

Matrix is formed with a MPIAIJ type. The formulation is incompressible, in 
complex arithmetic and the 2D physical domain is mapped to a logically 
rectangular, regular collocated grid with a high-order finite difference method.
I determine the ownership of the rows/degrees of freedom of the matrix with 
PetscSplitOwnership and I’m not using DMDA.

The Fortran application code is memory-leak free and has undergone a strict 
verification/validation procedure for different variations of the PDEs.

If there’s any problem with the matrix what could help for the diagnostic? At 
this point I’m running out of ideas so I would really appreciate additional 
suggestions and discussions.

Thanks for your continued support,


Thibaut

Reply via email to