← Back to team overview

fenics team mailing list archive

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