Anders Logg wrote:
> On Mon, Nov 03, 2008 at 02:44:41PM +0000, Garth N. Wells wrote:
>>
>> Anders Logg wrote:
>>> On Mon, Nov 03, 2008 at 01:04:26PM +0000, Garth N. Wells wrote:
>>>> DOLFIN wrote:
>>>>> One or more new changesets pushed to the primary dolfin repository.
>>>>> A short summary of the last three changesets is included below.
>>>>>
>>>>> changeset:   5080:89eb83718857c7d9dbee0003a50983e28533243e
>>>>> tag:         tip
>>>>> parent:      5079:34987a77383c6b8a37a9c73d40ba4dc38115ca97
>>>>> parent:      5078:1182f3401713488f72e0bc52f8031530bf192bd9
>>>>> user:        Anders Logg <[EMAIL PROTECTED]>
>>>>> date:        Mon Nov 03 13:57:42 2008 +0100
>>>>> files:       dolfin/fem/DirichletBC.cpp
>>>>> description:
>>>>> merge
>>>>>
>>>> Beat me to it.
>>>>
>>>> I'm running into an issue with DirichletBC and mixed elements because 
>>>> BoundaryCondition, from which DirichletBC inherits, creates a new 
>>>> FunctionSpace which messes up tests for equivalence and breaks the 
>>>> sharing of function spaces paradigm.
>>>>
>>>> Is there a problem if we remove SubDomain from the argument list for 
>>>> DirichletBC and just pass the corerct FunctionSpace? One can easily 
>>>> extract the necessary sub element FunctionSpace and send it to 
>>>> DirihcletBC. To me this is more intuitive.
>>>>
>>>> Garth
>>> We then need to find a nice way for users to extract the "sub space".
>>> Calling extract_sub_space, getting a pointer and then handling the
>>> deletion of that pointer won't look very nice.
>>>
>> Agree. So we remove the SubSystem argument to DirichletBC?
> 
> Yes.
> 

Done. Nice to delete almost half the constructors from three classes.

Now I actually understand how DirichletBC works. The new design has made 
what happens in a number of areas much clearer to me.

Garth

>>> How about replacing the SubSystem class with a new class SubSpace
>>> which works just like SubSystem but it also inherits from
>>> FunctionSpace:
>>>
>>>   SubSpace Vu(V, 0);
>>>   SubSpace Vp(V, 1);
>>>
>> Looks ok. I'm inclined to keep the name SubSystem because what we're 
>> extracting are not really subspaces.
>>
>> Garth
> 
> I also thought about that, but came to the conclusion that in some
> sense it is in fact a subspace. For example, for 2D Stokes Vu above
> will be the subspace of all function which have a zero third component
> (although the third component is not written out).
> 
> We could possibly name it SubSystemSpace.
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> DOLFIN-dev mailing list
> [email protected]
> http://www.fenics.org/mailman/listinfo/dolfin-dev
_______________________________________________
DOLFIN-dev mailing list
[email protected]
http://www.fenics.org/mailman/listinfo/dolfin-dev

Reply via email to