← Back to team overview

dolfin team mailing list archive

Re: [HG DOLFIN] Revert to old assembly in LinearPDE due to bug in symmetric assembly.

 

>
>
> kent-and@xxxxxxxxx wrote:
>>> kent-and@xxxxxxxxx wrote:
>>>>> One or more new changesets pushed to the primary dolfin repository.
>>>>> A short summary of the last three changesets is included below.
>>>>>
>>>>> changeset:   4730:6548c25c33352492c9279c035509a139caab323b
>>>>> tag:         tip
>>>>> user:        "Garth N. Wells <gnw20@xxxxxxxxx>"
>>>>> date:        Tue Sep 09 13:08:58 2008 +0100
>>>>> files:       dolfin/fem/Assembler.cpp dolfin/pde/LinearPDE.cpp
>>>>> description:
>>>>> Revert to old assembly in LinearPDE due to bug in symmetric assembly.
>>>>>
>>>>> There is a problem with exterior facets in the symmetric assembly.
>>>>> The
>>>>> code needs to be broken up to make debugging easier.
>>>>>
>>>> Agree that it should be broken up. But it will take some effort.
>>>> Do you have an example where the bug is apparent ?
>>>>
>>> I was using a RT0 element (not one of the demos).  It should be
>>> reproducible by adding a non-zero Dirichlet bc (given be a Function) to
>>> the mixed-poisson demo.
>>>
>>> I had a quick look, but I couldn't find the problem, so I thought it
>>> better to wait until the code is broken up.
>>>
>>> Garth
>>>
>>
>> Strange, I see no reason for this not to work.
>> (since the code involving only cell integrals is pretty clean, but ...)
>>
>> Anyway, I noticed that with my setup, CG is used. CG can not be used
>> in this case since the problem is not positive. Did you use CG ?
>
> No, I used an LU solver. I first noticed the problem when the LU solvers
> return a message that the system was singular. I only looked at the
> computation of the RHS vector which was zero when it  shouldn't have been.

Ok, and I guess the system is singular unless you have a mix of essential
and natural
bc.  But the rhs should not be zero.

>
> The application of bcs on external is within the loop over all cells.
> Shouldn't it be within a loop over all boundary cells?

In the present code I only run over each cell once. After the computations
of the various integrals is performed, the BC is enforced.


Kent



Follow ups

References