[petsc-users] Scalable Solver for Incompressible Flow

Jed Brown jed at jedbrown.org
Mon May 8 08:45:51 CDT 2023


Sebastian Blauth <sebastian.blauth at itwm.fraunhofer.de> writes:

> Hello everyone,
>
> I wanted to briefly follow up on my question (see my last reply).
> Does anyone know / have an idea why the LSC preconditioner in PETSc does 
> not seem to scale well with the problem size (the outer fgmres solver I 
> am using nearly scale nearly linearly with the problem size in my example).

The implementation was tested on heterogeneous Stokes problems from geodynamics, and perhaps not on NS (or not with the discretization you're using).

https://doi.org/10.1016/j.pepi.2008.07.036

There is a comment about not having plumbing to provide a mass matrix. A few lines earlier there is code using PetscObjectQuery, and that same pattern could be applied for the mass matrix. If you're on a roughly uniform mesh, including the mass scaling will probably have little effect, but it could have a big impact in the presence of highly anistropic elements or a broad range of scales.

I don't think LSC has gotten a lot of use since everyone I know who tried it has been sort of disappointed relative to other methods (e.g., inverse viscosity scaled mass matrix for heterogeneous Stokes, PCD for moderate Re Navier-Stokes). Of course there are no steady solutions to high Re so you either have a turbulence model or are time stepping. I'm not aware of work with LSC with turbulence models, and when time stepping, you have enough mass matrix that cheaper preconditioners are good enough. That said, it would be a great contribution to support this scaling.

> I have also already tried using -ksp_diagonal_scale but the results are 
> identical.

That's expected, and likely to mess up some MG implementations so I wouldn't recommend it.


More information about the petsc-users mailing list