Thanks for the info.  I could probably use piecewise constants for lambda, 
so that would be fine to have it over each cell.

But I have another another function that will be piecewise linear on the 
boundary only.  And that may be a problem.  Let me send the full problem 
that I want to solve in a separate email.

- Shawn

On Thu, 16 Apr 2009, [email protected] wrote:

>
> I would also like this capability! It is  something that often shows up
> in inverse/optimal control problems.
>
> Written in FFC/UFL your first equation reads:
>
> dot(u,v)*dx - p*div(v)*dx + lmbda*dot(v,n)*ds
>
> where u, p, lmbda are trial functions.
>
> You could form one system or create a block matrix. Anyhow
> the term
>  lmbda*dot(v,n)*ds
> would lead to a matrix with a very big kernel since you are not able to
> restrict the dofs of lmbda only to the boundary.
>
> What you can currently do is to restrict the functionspace for lmbda to
> all the cells
> associated with the boundary.
>
> Using restricted functionspaces (in a simpler fashion) can be found in
> demo/function/restriction.
>
> The restriction does only work on cells for now.
>
> We could discuss Uzawa and/or block matrices for this problem but I think
> the simplest start is to create one system to begin with.
>
> Whether it makes sense that lmbda lives on the whole cell associated with
> the boundary, I don't know.
>
> Kent
>
>
>> On Thu, Apr 16, 2009 at 02:57:07PM -0400, Shawn Walker wrote:
>>> Oh really?  And then I could call a direct solver on it?  Is there a
>>> demo
>>> somewhere that shows this?
>>>
>>> I could also use an Uzawa method.  But concatenating matrices would be
>>> fine for me.
>>>
>>> - Shawn
>>
>> No, I don't expect direct solvers will work, but it should be possible
>> to use with a Krylov solver. Kent knows about this.
>>
>> When I look at it now, BlockMatrix does not inherit from any of the
>> KrylovMatrix base classes so it won't work with any of the solvers.
>> Kent has his own GMRES/CG implementation in Python which uses the
>> mult() operator provided by BlockMatrix. Maybe Kent can elaborate on
>> this (and the code)?
>>
>> Moving this to dolfin-dev.
>>
>> --
>> Anders
>> _______________________________________________
>> DOLFIN-dev mailing list
>> [email protected]
>> http://www.fenics.org/mailman/listinfo/dolfin-dev
>>
>
>
> _______________________________________________
> FFC-dev mailing list
> [email protected]
> http://www.fenics.org/mailman/listinfo/ffc-dev
>
_______________________________________________
DOLFIN-dev mailing list
[email protected]
http://www.fenics.org/mailman/listinfo/dolfin-dev

Reply via email to