Hi everyone,

I am working on solving a nonlinear problem using FreeFEM with PETSc/SNES. The linearized system solved at each Newton step results in a matrix with a bordered block structure that looks like this:

```
Mat A = [[J, 0, jl],
[H, J, hl],
[0, q', 0]];
```

where `jl`

, `hl`

, and `q`

are `real[int]`

and `J`

and `H`

are square `Mat`

objects.

I have created functions to evaluate the residual and Jacobian associated with the block system for `SNESSolve`

, but I am unsure how to set the KSP parameters to make the fieldsplit work properly. This problem should be efficiently solved with an exact block LU factorization. I have implemented this block factorization by hand using in PETSc using only KSP objects, but I would like to â€śupgradeâ€ť to the more robust solvers within SNES.

Iâ€™ve tried the following set of parameters:

```
set(A, sparams = "-pc_type fieldsplit -pc_fieldsplit_type schur -pc_fieldsplit_detect_saddle_point -ksp_view");
```

but the solver crashes before PETSc delivers any information about the matrix. I am curious if there is an obvious parameter set that I should be using for such a problem, or if there is a helpful command I can use to ease the debugging process. I would also be interested in any examples that use bordered matrices with SNES.

Cheers,

Chris