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
