[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: adding SNESSetLinearSolve()
- To: petsc-dev@xxxxxxxxxxx
- Subject: Re: adding SNESSetLinearSolve()
- From: "Matthew Knepley" <knepley@xxxxxxxxx>
- Date: Thu, 1 Nov 2007 10:16:26 -0500
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=mFQ9Eo7QP6h7qnpcTulZCDhmg0IRjJRKIqJRuR/JFQ4=; b=SGjVYy3x96xFm0KNwaz6eiQwRSLkwRJoCls8xa3JVpGATSErVetmC5HuNvVDXsQFqwVZBxecEY0hHO+W3C0tp8YrnQjh92JdUukfjya2jov3jJrvy4BQlMNsouGXxn08Q1obbxWWpu8xopO3DsxWD5HLrTyCOMprK+Ld2Xr16qA=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=tBlwZT+YzQ6BUbNaAaj1mB4tjHENBb+cpK4figURr99lguZokDcn7KBO6QRYT5r6X4ZTzzcIt1S7TPcMxMPB+AZWMOEHS7XmAZHRLyER5L/rBiHs3YWgMLWBqc5e7et1N14ii3fSFjYkOqfCdRLfpDZnM3tJlpykElndQ8/wxbE=
- In-reply-to: <e7ba66e40711010724u5b5c1e20vba28398be4b4e921@mail.gmail.com>
- References: <e7ba66e40710291004y453e19cldd6f654d643bacfe@mail.gmail.com> <Pine.OSX.4.64.0710291214490.14706@bsmith.mcs.anl.gov> <e7ba66e40710291104v4e5c7b96k49115908dcc2957b@mail.gmail.com> <Pine.OSX.4.64.0710291308470.14706@bsmith.mcs.anl.gov> <e7ba66e40710291234j2f866f79v8588c9262e1585a0@mail.gmail.com> <Pine.OSX.4.64.0710291443100.14706@bsmith.mcs.anl.gov> <e7ba66e40710291318g261c50b9w7dfe586045906ade@mail.gmail.com> <Pine.OSX.4.64.0710291521350.14706@bsmith.mcs.anl.gov> <Pine.OSX.4.64.0710311856340.14706@bsmith.mcs.anl.gov> <e7ba66e40711010724u5b5c1e20vba28398be4b4e921@mail.gmail.com>
- Reply-to: petsc-dev@xxxxxxxxxxx
- Sender: owner-petsc-dev@xxxxxxxxxxx
Actually, making the regularization parameter independent for each
process is much more efficient. Gene Golub had a poster on this at
the last SIAM CS&E meeting.
Matt
On Nov 1, 2007 9:24 AM, Lisandro Dalcin <dalcinl@xxxxxxxxx> wrote:
> On 10/31/07, Barry Smith <bsmith@xxxxxxxxxxx> wrote:
> > Lisandro,
> > A followup to our previous discussion. It sounds to me like you
> > are "actually" solving an n+1 unknown nonlinear problem where the
> > "special" unknown is kept secret from SNES and managed somehow by the
> > application code?
>
> That's exactly the case. Furthermore, this 'special' unknown in just a
> regularization parameter who tends to zero as the nonlinear solution
> is reached. Unfortunatelly, this unknow is coupled with all other
> degree of freedom, thus generating a full dense row and a dense column
> in the Jacobian matrix. But fortunatelly, the special unknown is just
> a single scalar, thus computing the schur complement is feasible, but
> requires two linear solves with the other 'sparse' block of the
> Jacobian.
>
> > You can guess how I feel about this :-).
>
> Yes, of course. I agree that PETSc API must be consistent and clean.
> But I also feel that some time I need more features. Please remember I
> use PETSc exclusively from Python. And then is so easy to manage
> complicated application setups. But at some point I need more
> low-level support from PETSc to make it working.
>
> For example, I would love to have SNESSetPresolve/SNESSetPostSolve and
> SNESSetPreStep/SNESSetPostStep, and perhaps a
> SNESSetPreLinearSolve/SNESSetPostLinearSolve. Of course, this make the
> API grow with features that are not frecuently needed.
>
> > PETSc/SNES is suppose
> > to be good enough to allow you to feed it the ENTIRE nonlinear problem
> > in a way that would allow as efficient solution as if you "handled the
> > special unknown" specially.
>
> Even for my particular case? Can I pass-over the issue with the full
> denses rows and columns?
>
> > In particular for this problem the intended
> > solution is to use the PETSc DMComposite object via DMCompositeCreate()
> > You may want to look at this construct to see if it is suitable
> > for your friends needs. And what we need to add (note that though DMComposite
> > can be used with DMMG it does not have to be, it can be used directly
> > with a SNES also.
>
> I'll definitely take a loop ASAP.
>
> Regards,
>
> --
> Lisandro Dalcín
> ---------------
> Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
> Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
> Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
> PTLC - Güemes 3450, (3000) Santa Fe, Argentina
> Tel/Fax: +54-(0)342-451.1594
>
>
--
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