← Back to team overview

dolfin team mailing list archive

Re: [Question #124031]: Symmetry-Preserving DirichletBCs

 

Question #124031 on DOLFIN changed:
https://answers.launchpad.net/dolfin/+question/124031

    Status: Open => Answered

Garth Wells proposed the following answer:
Look at SystemAssembler. It preserves any symmetries.

Garth

On 04/09/10 00:44, Peter Brune wrote:
> New question #124031 on DOLFIN:
> https://answers.launchpad.net/dolfin/+question/124031
>
> I have gotten into a problem where it's important for the symmetry of
> my operator to be preserved during the application of boundary
> conditions.  I was able to quickly write up an implementation of them
> that, when applied, made the following changes to A and b to create
> A_bc and b_bc (I still have to think about exactly what to do with
> the nonlinear x) where x_boundary is given as boundary conditions.
> the subscripts _boundary and _interior refer to the part of the
> vector or operator restricted to the boundary (both in rows and
> columns).
>
> b_bc = (b - A(x_boundary + zero_interior))_interior + x_boundary A_bc
> = A_interior + I_boundary
>
> Is there any particular reason that DOLFIN does it just by setting
> certain rows to the identity?  I'm trying to use solvers and
> preconditioners that only work on symmetric problems, so the present
> way of doing things won't work.  I asked around about this with
> respect to matrix properties and apparently the way I described above
> (or variants) is the only way you can really prove anything about.
> This includes weak application.
>
> My implementation works, but given that there is no reliable column
> access on the matrix classes it is potentially broken in parallel.
> Is there any reason why there are no facilities for column get/set in
> the matrix interface?
>

-- 
You received this question notification because you are a member of
DOLFIN Team, which is an answer contact for DOLFIN.