No. The C++ Assembler does not use mesh.domains() but requires
the Form to have this data, and this is consistent with that behaviour.

There's been a lot of discussions and strong opinions on
mesh.domains(), and unless we make a joint decision that
mesh.domains() should be used consistently in dolfin internals,
I'm simply ignoring the existence of mesh.domains() everywhere.

Martin


On 3 June 2014 12:46, Joachim Berdal Haga <[email protected]> wrote:

> If the mesh contains subdomain markers (previously available via
> mesh.domains().facet_data() or somesuch), is this automatically picked up
> by ds(domain=mesh)?
>
> --
> Joachim.
>
>
> On 3 June 2014 11:41, Martin Sandve Alnæs <[email protected]> wrote:
>
>> Attaching mesh functions to the form in legacy syntax looks like this:
>>
>>     a = f*ds[facetfunction](1)
>>
>> or this:
>>
>>     dss = ds[facetfunction]
>>     b = f*dss(1) + g*dss(2)
>>
>> I would now recommend using the new syntax:
>>
>>     a = f*ds(1, subdomain_data=facetfunction)
>>
>>     dss = ds(subdomain_data=facetfunction)
>>     b = f*dss(1) + g*dss(2)
>>
>> and passing the mesh as well is a good habit:
>>
>>     dss = ds(domain=mesh, subdomain_data=facetfunction)
>>     b = f*dss(1) + g*dss(2)
>>
>> because this will work even if f is an expression that doesn't contain
>> the mesh.
>>
>> Martin
>>
>> _______________________________________________
>> fenics mailing list
>> [email protected]
>> http://fenicsproject.org/mailman/listinfo/fenics
>>
>>
>
_______________________________________________
fenics mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics

Reply via email to