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

-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
>> 
> 

Reply via email to