Dear Firedrakers, Greetings from Montreal. I'm thinking about a double splitting method to solve the system (M + D + L)u = f, which as a preconditioner works out as (M + D)^{-1}M(M + L)^{-1} r, where r is a residual. In the absence of a better idea, I'll implement this through a Python preconditioner. But is there a smarter way to do this? all the best --cjc
On Mon, Apr 29, 2019 at 4:30 PM Cotter, Colin J <colin.cotter@imperial.ac.uk> wrote:
Dear Firedrakers,
Greetings from Montreal. I'm thinking about a double splitting method to solve the system
(M + D + L)u = f,
which as a preconditioner works out as
(M + D)^{-1}M(M + L)^{-1} r,
where r is a residual.
In the absence of a better idea, I'll implement this through a Python preconditioner. But is there a smarter way to do this?
Isn;t this just SOR? Matt
all the best
--cjc _______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake
-- 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://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
Hi Matt, Sorry, I should have been more clear. L and D are not lower triangular or anything, they are just matrices that are easy to invert in specific ways that are not compatible simultaneously. all the best --cjc ________________________________ From: Matthew Knepley <knepley@gmail.com> Sent: 30 April 2019 00:52:42 To: Cotter, Colin J Cc: firedrake Subject: Re: [firedrake] two splittings On Mon, Apr 29, 2019 at 4:30 PM Cotter, Colin J <colin.cotter@imperial.ac.uk<mailto:colin.cotter@imperial.ac.uk>> wrote: Dear Firedrakers, Greetings from Montreal. I'm thinking about a double splitting method to solve the system (M + D + L)u = f, which as a preconditioner works out as (M + D)^{-1}M(M + L)^{-1} r, where r is a residual. In the absence of a better idea, I'll implement this through a Python preconditioner. But is there a smarter way to do this? Isn;t this just SOR? Matt all the best --cjc _______________________________________________ firedrake mailing list firedrake@imperial.ac.uk<mailto:firedrake@imperial.ac.uk> https://mailman.ic.ac.uk/mailman/listinfo/firedrake -- 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://www.cse.buffalo.edu/~knepley/<http://www.cse.buffalo.edu/~knepley/>
On Mon, Apr 29, 2019 at 4:30 PM Cotter, Colin J <colin.cotter@imperial.ac.uk> wrote: Dear Firedrakers, Greetings from Montreal. I'm thinking about a double splitting method to solve the system
(M + D + L)u = f,
which as a preconditioner works out as
(M + D)^{-1}M(M + L)^{-1} r,
where r is a residual.
In the absence of a better idea, I'll implement this through a Python preconditioner. But is there a smarter way to do this?
I think writing a Python PC is the obvious thing to do, given that you don't have a natural algebraic splitting of M, D, and L. Lawrence
participants (3)
- 
                
                Cotter, Colin J
- 
                
                Lawrence Mitchell
- 
                
                Matthew Knepley