Geoffrey Irving <[email protected]> writes:

> On Wed, Jan 29, 2014 at 12:00 PM, Jed Brown <[email protected]> wrote:
>> Local vectors are supposed to be just that: local. VecViewing a local vector 
>> and expecting it to be parallel is perverse.  So we need a real interface.
>>
>> Placing 1.0 on the diagonal (and don't assemble into those rows and columns) 
>> is the common way to deal with Dirichlet boundary nodes. See ex48 for one 
>> example. I have written about this in a few places; I can find the more 
>> complete description when I have a keyboard.
>
> I'll look forward to the improved interface.  For better or worse, I'd
> like to be able to view simulations in the near future, so it looks
> like I have to go with Matt's perverse but working version now.

Okay.  Matt (and others), how would you like to signify when a Vec is a
member of a homogeneous versus inhomogeneous space?  When I did this in
Dohp, I interposed a global "closure" of the Vec and put the Dirichlet
value cache in there.  (That cache would be 0 for homogeneous vectors.)
As I mentioned, I'm now of the opinion that juggling these different Vec
representations to get more pure math isn't really worth it.

Instead, I use the approach described here.

http://scicomp.stackexchange.com/a/3300/119

This can handle messy boundary conditions like slip and phase change,
which don't make sense to remove in the way DMPlex currently operates.


If people want to keep enforcing boundary conditions by removing those
degrees of freedom, we need to add the concept of inhomogeneous and
homogeneous spaces.

Attachment: pgpyiz6JTcIrr.pgp
Description: PGP signature

Reply via email to