Thanks Adam and Matt, Matt, can I get away with just using PCFIELDSPLIT? Or do I need the SNESFIELDSPLIT? Though it looks like the block Gauss-Seidel is only implemented in serial ( https://urldefense.us/v3/__https://petsc.org/main/manual/ksp/*block-jacobi-and-overlapping-additive-schwarz-preconditioners__;Iw!!G_uCfscf7eWS!fCLvWkRLjtRlx5jckypIplIxnk7AjY_owXIPyfK59pJPLsB9d6F_GYPmQ5koBgIZp7GpV37w_YXjt2j63gEg01pqR7FKTe-u$ )
On a more theoretical note, I have the impression that the convergence failures of the Newton-Raphson method for this kind of problem is ultimately due to a lack of a diagonally dominant Jacobian. I have not found any reference so I might be wrong. Best, Miguel On Sat, Jul 6, 2024 at 3:33 PM Matthew Knepley <knep...@gmail.com> wrote: > On Fri, Jul 5, 2024 at 3:29 AM Miguel Angel Salazar de Troya < > miguel.sala...@corintis.com> wrote: > >> Hello, I have the Navier-Stokes equation coupled with a >> convection-diffusion equation for the temperature. It is a two-way coupling >> because the viscosity depends on the temperature. One way to solve this is >> with some kind of fixed point iteration >> ZjQcmQRYFpfptBannerStart >> This Message Is From an External Sender >> This message came from outside your organization. >> >> ZjQcmQRYFpfptBannerEnd >> Hello, >> >> I have the Navier-Stokes equation coupled with a convection-diffusion >> equation for the temperature. It is a two-way coupling because the >> viscosity depends on the temperature. One way to solve this is with some >> kind of fixed point iteration scheme, where I solve each equation >> separately in a loop until I see convergence. I am aware this is not >> possible directly at the SNES level. Is there something that one can do >> using PCFIELDSPLIT? I would like to assemble my fully coupled system and >> play with the solver options to get some kind of fixed-point iteration >> scheme. I would like to avoid having to build two separate SNES solvers, >> one per equation. Any reference on techniques to solve this type of coupled >> system is welcome. >> > > Hi Miguel, > > I have a branch > > > https://urldefense.us/v3/__https://gitlab.com/petsc/petsc/-/tree/knepley/feature-snes-fieldsplit?ref_type=heads__;!!G_uCfscf7eWS!fCLvWkRLjtRlx5jckypIplIxnk7AjY_owXIPyfK59pJPLsB9d6F_GYPmQ5koBgIZp7GpV37w_YXjt2j63gEg01pqR6cHYMfY$ > > > that will allow you to do exactly what you want to do. However, there are > caveats. In order to have SNES do this, it needs a way to selectively > reassemble subproblems. I assume you are using Firedrake, so this will not > work. I would definitely be willing to work with those guys to get > this going, introducing callbacks, just as we did on the FieldSplit case. > > Thanks, > > Matt > > >> Best, >> Miguel >> > > > -- > What most experimenters take for granted before they begin their > experiments is infinitely more interesting than any results to which their > experiments lead. > -- Norbert Wiener > > https://urldefense.us/v3/__https://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!fCLvWkRLjtRlx5jckypIplIxnk7AjY_owXIPyfK59pJPLsB9d6F_GYPmQ5koBgIZp7GpV37w_YXjt2j63gEg01pqRzG84SwL$ > > <https://urldefense.us/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!fCLvWkRLjtRlx5jckypIplIxnk7AjY_owXIPyfK59pJPLsB9d6F_GYPmQ5koBgIZp7GpV37w_YXjt2j63gEg01pqR_B7W9Os$ > > >