fenics team mailing list archive
-
fenics team
-
Mailing list archive
-
Message #01399
Announcing cbc.block
Today seems like a good day to announce the cbc.block project -- Block
operators for DOLFIN (in Python). Some of you attended my presentation
earlier this year and know this work already (although it is now in a
much better state). For everyone else, a short description:
- Block operators may be defined from standard DOLFIN matrices and vectors
A = assemble(...); B = assemble(...); # etc
AA = block_mat([[A,B], [C,D]])
- Preconditioners, inverses, and inner solvers are supported
AAprec = AA.scheme('gauss-seidel', inverse=ML)
- A good selection of iterative solvers
AAinv = SymmLQ(AA, precond=AAprec)
x = AAinv*b
- Matrix algebra is supported both through composition of operators...
S = C*ILU(A)*B-D
Spre = ConjGrad(S)
...and through explicit matrix calculation via PyTrilinos
S = C*InvDiag(A)*B-D
Spre = ML(collapse(S))
- And lots of demos! Have a look: http://launchpad.net/cbc.block
(I will be on holiday the next weeks and may be slow to answer questions.)
--
-j.
Follow ups