← Back to team overview

dolfin team mailing list archive

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

 

Cool.  Thanks.

Why is this a special case (under VariationalProblem) rather than the normal
way of doing things?  It should work for general operators and effectively
eliminates unnecessary unknowns from the system.

- Peter

On Fri, Sep 3, 2010 at 6:46 PM, Garth N. Wells <gnw20@xxxxxxxxx> wrote:

> 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?
>>
>>
> _______________________________________________
> Mailing list: https://launchpad.net/~dolfin<https://launchpad.net/%7Edolfin>
> Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dolfin<https://launchpad.net/%7Edolfin>
> More help   : https://help.launchpad.net/ListHelp
>

Follow ups

References