On Thu, Aug 27, 2015 at 9:11 PM, Gideon Simpson <[email protected]> wrote:
> HI Barry, > > Nope, I’m not doing any grid sequencing. Clearly that makes a lot of > sense, to solve on a spatially coarse mesh for the field variables, > interpolate onto the finer mesh, and then solve again. I’m not entirely > clear on the practical implementation > SNES should do this automatically using -snes_grid_sequence <k>. If this does not work, complain. Loudly. Matt -gideon > > On Aug 27, 2015, at 10:02 PM, Barry Smith <[email protected]> wrote: > > > Gideon, > > Are you using grid sequencing? Simply solve on a coarse grid, > interpolate u1 and u2 to a once refined version of the grid and use that > plus the mu lam as initial guess for the next level. Repeat to as fine a > grid as you want. You can use DMRefine() and DMGetInterpolation() to get > the interpolation needed to interpolate from the coarse to finer mesh. > > Then and only then you can use multigrid (with or without fieldsplit) > to solve the linear problems for finer meshes. Once you have the grid > sequencing working we can help you with this. > > Barry > > On Aug 27, 2015, at 7:00 PM, Gideon Simpson <[email protected]> > wrote: > > I’m working on a problem which, morally, can be posed as a system of > coupled semi linear elliptic PDEs together with unknown nonlinear > eigenvalue parameters, loosely, of the form > > -\Delta u_1 + f(u_1, u_2) = lam * u1 - mu * du2/dx > -\Delta u_2 + g(u_1, u_2) = lam * u2 + mu * du1/dx > > Currently, I have it set up with a DMComposite with two sub da’s, one for > the parameters (lam, mu), and one for the vector field (u_1, u_2) on the > mesh. I have had success in solving this as a fully coupled system with > SNES + sparse direct solvers (MUMPS, SuperLU). > > Lately, I am finding that, when the mesh resolution gets fine enough (i.e. > 10^6-10^8 lattice points), my SNES gets stuck with the function norm = > O(10^{-4}), eventually returning reason -6 (failed line search). > > Perhaps there is another way around the above problem, but one thing I was > thinking of trying would be to get away from direct solvers, and I was > hoping to use field split for this. However, it’s a bit beyond what I’ve > seen examples for because it has 2 types of variables: scalar parameters > which appear globally in the system and vector valued field variables. Any > suggestions on how to get started? > > -gideon > > > > -- 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
